Задать вопрос
  • Как сделать выборку из БД делая объединение с разными таблицами в зависимости от значения поля?

    k1lex
    @k1lex
    Программист торг. сети. C# (WPF, WinForms), T-SQL
    Я думаю суть будет понятна - соединяем таблицы left join-ом и если значение в первом случае NULL то берем другое значение. Если типов сообщений будет больше чем 2, используйте оператор coalesce

    select 
    [ id пользователя]
     ISNULL(U.ID, system.id] as [ID сообщения]
     from tbl_notice  N
    left join user  U ON  U.ID=N.[id сообщения] and type="user"
    left join Systems  S ON  S.ID=N.[id сообщения] and type="System"


    P.S. Поздно увидел что вопрос для MYSQL, но для MS SQL работать будет точно.
    Ответ написан
    Комментировать
  • Теория алгоритмов. С чего начать и какой язык выбрать?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Теория алгоритмов работает и вовсе с абстрактными машинами Поста и Тьюринга, ЯП для нее не нужен.

    Выбор языка означает выбор способа реализации алгоритмов. Языки с богатым рантаймом и управляемым кодом позволяют достигнуть высокой эффективности программиста по скорости реализации алгоритмов. Однако, их использование способствует написанию громоздкого, требовательного к ресурсам кода.

    Языки, близкие к железу, вроде C и С++ наоборот, позволяют реализовывать алгоритмы, максимально задействуя аппаратные возможности платформы. Такой программист менее эффективен (выдает меньше реализованных задач в единицу времени), зато его код эффективен, и может задействовать все возможности железа.

    Написание кода на C и C++ предъявляет больше требований к программисту и качеству его работы, заставляет учитывать больше мелочей и больше дисциплинирует. В этом смысле, такие языки лучше подходят в качестве учебных.
    Ответ написан
    Комментировать
  • Как сделать скриншот окна ввода пароля в Windows 7?

    RusTech
    @RusTech
    Скриньте фуллскрин виртуальной машины или приглашение RDP
    Ответ написан
    Комментировать
  • Цикл с таймаутом ровно в 1 секунду?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Ваш вопрос можно приводить в качестве наглядного пособия на тему "Как именно вылазит боком кривая архитектура системы" :) Основная проблема в том, что интеграция компонент через storage есть зло, рано или поздно (чаще - рано) заставляющее разработчика выполнять стойку на ушах. Так что, если есть такая возможность, постарайтесь устранить зло в корне, т.е. найти способ узнавать об изменениях, ну, или хотя бы о самом факте, до того, а не после. Тогда не придется ничего опрашивать в цикле, а только реагировать на изменения. А это уже - половина проблемы!

    Если возможности нет, а делать все равно надо, сначала смитритесь с тем, что Вы никогда на PHP не добьетесь ровненько 86400 вызовов в сутки каждую секунду, если только не поставите ядро реального времени / не напишете соответствующий код на С и т.д. и т.п. Особенно, если storage крутится на том же процессоре в той же ОС, и количесво данных в нем будет со временем увеличиваться. Но это почти наверняка и не нужно, а нужно проанализировать задачу и понять, что на самом деле критично и какие отклонения от идеала возможны без ущерба для функциональности.

    "Примерно 0.03с" само по себе еще не о чем не говорит. Это всегда или в случае, если изменений нет, или если они небольшого объема? А если 90% данных обновились? Это - раз. Два: если изменения обнаружены, сколько может занять их обработка (в худшем случае)?.. И, наконец, три: если уже наступила "следующая секунда", а мы все еще не закончили обработку прошлых изменений, возникает целый ряд вопросов. Имеет ли в этом случае вообще смысл проверять новые изменения (сможем ли мы их осмысленно обработать, если найдем)? Если да, понадобится как минимум 2 потока. Если нет, насколько критично пропустить эту секунду? А сколько еще можно пропустить без ущерба для функционала? Предположим, это не критично, и мы уже пропустили секунду (или несколько), что нам важнее: чтоб следующая проверка выполнилась как можно ближе к границе "следующей секунды", или как можно быстрее? И т.д. и т.п.

    Не зная ответов на эти и подобные вопросы, невозможно предложить "правильное" решение. Но в качестве сферического коня в вакууме можно посоветовать бесконечный цикл, в котором выполняется проверка, реакция на найденные изменения, после чего вычисляется время до следующей проверки, на которое выполняется sleep().
    Ответ написан
    Комментировать
  • Почему при перенаправлении в файл вывод обрезан?

    BuriK666
    @BuriK666
    Компьютерный псих
    Может у вас что-то идет в stderr?
    > file 2>&1
    Ответ написан
    2 комментария
  • Не стартует cron на FreeBSD 10.1. Что делать?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    А если запустить с отладочной информацией но без отладчика -- падает?
    В этой вашей BSD есть core-дампы? Если есть -- пусть сгенерирует, загрузите его в gdb и посмотрите.
    Ответ написан
    6 комментариев
  • Указатели на память в стеке?

    gbg
    @gbg Куратор тега C++
    Любые ответы на любые вопросы
    Итак. В присваивании у нас участвует "string" - это константа. Она отправляется компилятором в область данных программы - это зависит от платформы, куда конкретно. Так что на стеке оказывается сам указатель cStr, который указывает куда-то, куда компилятор засунул ваши буковки.

    По второму вопросу (какого черта вы засунули два вопроса в один?) - компилятор - не дурак, он взял два одинаковых набора символов "str", понял, что они одинаковые, и не стал плодить дубляки - в a и b попадает один указатель, потому как компилятор не стал сохранять в программе две идентичные строки.
    Ответ написан
    7 комментариев
  • Как отключить установку служб без уведомления?

    Jump
    @Jump Куратор тега Windows
    Системный администратор со стажем.
    Запретите пользователю установку программ в политиках безопасности.
    Собственно для пользователей она и так отключена, только администратором разрешено ставить.
    Ответ написан
    Комментировать
  • Суть виртуальной машины Java?

    ruFelix
    @ruFelix
    Предсказание будущего по руке, таро, кофе.
    Ну смотрите процессор компьютера понимает опкоды, для разных процессоров свои опкоды, x86 , AMD64, ARM и т.д.

    Компилируемыми языками называют те, что в итоге компиляции дают код исполняемый на конкретном процессоре. Простую программку без проблем можно компилировать под разные процессоры, но скомпилированную под один нельзя запустить на другом.

    Интерпретируемые языки поступают иначе, они имеют в своём составе интерпретатор, который транслирует код программы в опкоды процессора. Соответственно реализовав один раз интерпретатор по разные платформы мы получаем кроссплатформенный язык.

    Виртуальня машина java это тоже интерпретатор по сути, но ему на вход идёт не сама java программа, а её трансформированный вариант, т.е. уже проверенный и более удобный для VM.

    Да вы всё правильно поняли, без JVM программа на java не запуститься не где. Замечу что например в симкарте вашего телефона есть процессор на котором запущена JVM и софт который на ней исполняется, это я к тому, что кроссплатформенность у java действительно широка.
    Ответ написан
    Комментировать
  • Какое программное обеспечение использовать чтобы нарисовать схему подключения?

    sm1ly
    @sm1ly
    beardman
    dia-installer.de
    кросплатформенно
    Ответ написан
    Комментировать
  • Как стать программистом в банке?

    sim3x
    @sim3x
    У тебя неправильное мнение про банки и программеров в них - ты не будешь писать софт - ты будешь хелпдеском-прокладкой между пользователем и аутсорсером, который на самом деле пишет софт

    Есть исключения, но они также выделяют разработку в отдельный бизнесс

    ПС в банках не платят больше
    Ответ написан
    Комментировать
  • Почему не устанавливается ни одна Windows на нетбук?

    Frankenstine
    @Frankenstine
    Сисадмин
    Возможно память битая.
    Memtest86 в помощь.
    Ответ написан
    4 комментария
  • Чему перед ЕГЭ учиться?

    @huk6639
    Русскому языку, математике и двум предметам на выбор. На данном этапе только их
    Ответ написан
    Комментировать
  • Чему перед ЕГЭ учиться?

    sabramovskikh
    @sabramovskikh
    Ничего не пробуй. Сдавай ЕГЭ, поступай в ВУЗ на прогера, там то ты и будешь учить что скажут)
    Ответ написан
    Комментировать
  • Почему компьютер стал медленней работать после перехода с Win 7 32bit на Win 7 64bit?

    @kalapanga
    Новая память может и не битая, но отличающаяся по параметрам от имевшейся. Это теоретически может сказаться. Судя по тексту Вы к 2Гб добавили ещё 4. Попробуйте оставить в компе только новую память (надеюсь она у Вас одним или одинаковыми модулями).
    Диск проверьте, может ему поплохело, и по совпадению сейчас проявилось?
    Все ли драйвера под новой системой установились, посмотрите в диспетчере - не осталось ли неизвестных устройств?
    Настройки БИОС не меняли? Можно на всякий случай сбросить в дефолтные.
    Ответ написан
  • Чем отличается кластер от фермы?

    У обоих терминов нет строгих границ применения. Фермой обычно называют подмножество независимых, но взаимозаменяемых серверов, выполняющих одинаковые роли, по которым распределяется нагрузка, т.е. ферма это результат ярко выраженного горизонтального масштабирования. В high load приложении может быть несколько разных ферм, каждая из которых специализируются на какой-то одной задаче. Кластером в параллельных вычислениях называют группу машин состоящих из одинаковых узлов (с одинаковым оборудованием) обладающих одинаковой производительностью (в отличии от грида, который строится из разномастных узлов). Кластером в enterprise-сетях обычно называют группу машин с общим (или синхронизованным) хранилищем данным и общей конфигурацией кластера, которые функционируют как единая вычислительная структура для enterprise-софта поддерживающего кластеризацию, такую кластеризацию в некоторых ситуациях можно отнести к вертикальному масштабированию, а не к горизонтальному. Но в более общем смысле кластер и ферма могут быть использованы как синонимы.
    P.S. в общем - миллион муравьев, строящих один муравейник - это ферма. Три лошади запряженных в одну упряжку - это кластер.
    Ответ написан
    4 комментария
  • Скрыть MX запись?

    POS_troi
    @POS_troi
    СадоМазо Админ, флудер, троль.
    Конечно можно, просто удаляете запись из DNS и всё, правда от почты толку не будет тогда но что поделаешь, стандарты такие стандартные :)

    Можно конечно использовать релей и с него уже пересылать почту на яндекс но всё это костыли и идиотизм .
    Ответ написан
    Комментировать
  • Как рассчитать время выполнения программы?

    @vilgeforce
    Раздолбай и программист
    Никак не рассчитать, пока у вас не будет ОС жесткого реального времени. Ни винда ни линух не гарантируют вам никакого времени выполнения, следовательно все расчеты не имеют смысла.
    Ответ написан
    Комментировать
  • Как написать bat файл (нужна небольшая логика)?

    @Zolg
    убрать из начала второй строки start
    либо использовать start /wait
    Ответ написан
    1 комментарий