• Принадлежность к определенному множеству - и не к какому другому [sql]

    @ComodoHacker
    Начнем с понимания того, что X это множество множеств, а Y это множество элементов. Поэтому, сравнивать можно (и нужно) Y и элементы X, либо элементы Y и «элементы элементов» X.

    Дальше, обозначим элемент X как x. То, что x является подмножеством Y, на SQL можно выразить так

    not exists (
        select 1
          from x left join Y on x.id = Y.id
         where Y.id is null
    )
    

    Дальше, возвращаясь к вашей задаче, нужно уточнить, как у вас хранится множество X. Например, если в одной таблице X (set_id, element_id), то можно соединить ее с Y внешним соединением, как выше, а затем отфильтровать множества, не полностью содержащиеся в Y. Для этого хорошо подойдут аналитические функции, если ваша СУБД их поддерживает в должном объеме. Опять требуется уточнение.
    Ответ написан
    3 комментария
  • Циклы или рекурсия?

    @sergei-grigorev
    Все зависит от задачки. Порою достаточно простого цикла, с ним и работать проще и нет проблем со стеком. Еще, лучше все таки в цикле решать задачи, где результат следующего полностью зависит от результата предыдущего (например, факториал).

    При других задачках (например, обход вложенных каталогов), когда при этом у каждого имеется ряд своих отдельных переменных (например, количество файлов в данном каталоге), или асинхронных потоков, то поддерживать легче будет рекурсию. Да и рекурсия в данном случае будет удобнее, потому что обход одного каталога совсем не зависит от результатов обхода другого соседнего каталога, и они могут работать параллельно, независимо друг от друга. А затем в конце просто объединяют все свои результаты.

    Еще рекурсия будет эффективна, если рекурсивная функция кешируемая, например, она запоминает результат и при следующем запросе просто возвращается кешированный вариант.
    Ответ написан
    2 комментария
  • Изучать программирование для работы или для универа?

    Age1mar
    @Age1mar
    DevOps a little
    Не для работы, и не для универа. В 1ю очередь - для себя.
    В студенческие годы не просто взять себя в руки и серьёзно изучать материал, но по прошествии времени понимаешь что не зря корпел над учёбой :-)
    И да, после 1го хорошо изученного языка - другие не проблема.
    Ответ написан
    Комментировать
  • Почему символ 8, в десятичной системе счисления это 56, а не 8?

    Zoominger
    @Zoominger
    System Integrator
    Цифры в которых информация храниться, и символы цифр – эти штуки может по разному как-то называются?

    Подключив марсианское чтение мыслей, могу предположить, что вы имеете в виду "код символа в ASCII" или любой другой кодировке.
    Нет, они не обязаны совпадать.
    А "система счисления" - это другое вообще. "8", в данном случае, просто символ.
    Ответ написан
  • Обязательно ли кодить на Java в IDE?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Конечно же не обязательно! Я начинал программировать в mymacs ( сильно урезанный порт emacs года 1995-го). Кв нем нем, кроме скобок ничего не было, интернета тоже не было. Явы тоже не было. Потом появился линукс и «нормальный» emacs. Но небыло списка функций, потом появилась утилита ctags. Потом классная IDE code wariot с подсветкой синтаксиса, шаблонами и прочей херью, ускоряя процесс разработки на порядок. Потом появлась ява, и снова emacs. И вот компания ibm выложила в суровый модемный интернет eclipse, который я качал примерно неделю. Появился рефакторинг, Переход по классам, функциям, автоматическая документация, подстановка функций и методов и т.д.
    И конечно же я могу вернуться к монохромному зеленому монитору, старому редактору, командной строке с make. Но, черт возьми, нахрена тогда эти 30 лет эволюции?!
    Ответ написан
    2 комментария
  • Обязательно ли кодить на Java в IDE?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Нет, не обязательно. Хватит и редактора типа "Блокнот" или vi.
    Ответ написан
    Комментировать
  • Объясните в чем тут проблема?

    sergiks
    @sergiks Куратор тега JavaScript
    ♬♬
    Пользуйтесь консолью – это бесплатно, спортивно, современно!
    console.log(this); // window
    В вашем коде this не принимает значение кнопки, а наследует его из внешнего кода. В данном случае, глобального, поэтому this === window

    Вероятно, вы ожидали, что this будет нажатой кнопкой. Так бы работало без стрелочной функции, если по-старинке передавали function(evt) {}
    Ответ написан
    Комментировать
  • Изучать программирование для работы или для универа?

    Zoominger
    @Zoominger
    System Integrator
    Да, стоит.
    Изучение одного языка серьёзно облегчит изучение другого, потому что даёт понятие о базовых, языконезависимых конструкциях.
    Ответ написан
    Комментировать
  • Как вы планируете свой рабочий день, чтобы не выгорать?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Интенсивной работы в день 5-6 часов максимум. Больше - только на ограниченное время, с обязательной компенсацией отдыхом. В офисе 9-18 работают в целом так же, кулер, поболтать, что-то обсудить 10 раз в день, почитать статьи. По моим личным ощущениям на удаленке работа интенсивнее, даже с учетом меньшего количества часов. Поэтому работаю по часам и на ставке больше чем в офисе на 8 часовом рабочем дне.
    Пробовал помодоро - не зашло.
    Бывает что накапливается и какие-то дни работа вообще не идет - даю себе отдохнуть, могу поработать часа два-три.
    Что-то новое изучаю иногда в формате перерывов - поработал - почитал. Так как график и учет времени гибкий, это не считается рабочим временем, и совесть не мучает. Могу посередине дня отдохнуть пару часов если совсем не идет, или сходить прогуляться или еще что.
    Свои проекты сначала пилил "по вечерам и выходным", особенно когда работал 9-18 потом понял что так не пойдет, на долгий срок это провальный подход, поэтому сейчас больше работаю как часть рабочего времени. Уменьшаю основную работу (при этом естественно уменьшается доход).

    Самое главное - правильно оценить свои силы и исходя из этого решать сколько куда их потратить. Может у вас сил хватит и на работу и на проекты и на хобби и еще перед сном почитать - без проблем, делайте все это. А если их не хватает даже на 8 часовой рабочий день - стоит это признать и не пытаться себя нагрузить сверх меры, получите новый срыв. Или отказаться от чего-то или искать другие способы кроме как "работать больше". Тут главное быть честным с собой и не "добавлять себе очки".

    В целом выгорание не зависит от объема работы - объем работы влияет на усталость, на выгорание влияет нервное напряжение и оно может быть и при 2 часах работы в день а может и не быть при 10.
    Если у вас реально начинается истощение - то определитесь это усталость или выгорание, если усталость - то организовать рабочее время и контролировать нагрузку, может даже в ущерб доходу, свое состояние очень важно.
    Если выгорание - то надо искать причины, если их не устранить - то ничего не поможет.

    Если вы уже один раз проходили через все это - ищите общее, анализируйте и поймите что вы сейчас делаете так же как и тогда и что надо поменять.
    Ответ написан
    2 комментария