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

    @Vitsliputsli
    При условии, что product_id всегда имеет не более одного типа property_id:
    SELECT `product_id` 
    FROM `product_properties_values`
    WHERE (`property_id`=1 AND `value`=2) OR (`property_id`=3 AND `value`=3)
    GROUP BY product_id
    HAVING count(*) = 2

    , и при условии, что я угадал то, что вы хотите.
    Ответ написан
    2 комментария
  • Программист должен помнить или понимать?

    @Vitsliputsli
    Я понимаю что нужно запомнить как допустим пишется слово "while" или "for" в Python
    Но мне нужно заучивать функции из модулей ?

    Не заучивайте синтаксис, оставьте память для важных вещей, синтаксис всегда можно подсмотреть. Вы должны знать что есть циклы и ветвления, но как они пишутся в конкретном языке вы запомните после многократного использования или незапомните, если не так уж и нужно. Запоминайте действительно важные вещи, которые нельзя посмотреть, к примеру, что ошибки нужно обрабатывать через выбрасывание исключений и их обработку, а уже далее спросить как, можно и у Гугла. Исходите из того, что все уже реализовано до нас и достаточно правильно написать запрос Гуглу. Это не отменяет чтение документации, но ее нужно изучать, а не зубрить.
    Ответ написан
    Комментировать
  • В чем хранить большие ID-шники: в VARCHAR или в BIGINT?

    @Vitsliputsli
    Varchar. Лучше, конечно, int, но раз вопрос возник, то varchar. Используйте int тогда, когда можете применить к ним арифметические операции, суррогатный ключ тоже подходит. С натуральными ключами следует быть осторожным, т.е. лучше заранее предусмотреть, что в ключе из 5-10 цифр вдруг появятся символы или ведущие нули.
    Ответ написан
    Комментировать
  • POST для получения данных?

    @Vitsliputsli
    Насколько плохо использовать POST для получения данных и в боди передавать параметры?

    Филдинг, когда описывал архитектуру REST, ни слова говорил о методах http. С другой стороны, методы http настолько обобщены, что говорить о каком-то "правильном" использовании не приходится, но тем не менее, для получения более привычно использовать GET. Используя POST вы рискуете вызвать непонимание людей, которые будут поддерживать этот код. Но зачем?
    Ответ написан
    4 комментария
  • Меня уволили. Что мне думать?

    @Vitsliputsli
    Увольнение это обычное дело, не преувеличивайте его значение. "непродуктивно работаешь" - это хрень, а не причина, при нормальном руководителе, вы бы знали причину, а не гадали. Вы правильно заметили, что руководитель обязан был заранее обговорить с вами, что не получается, что он ожидает от вас, и как этого можно добиться. К сожалению, некомпетентность руководителей это повсеместная проблема. Я не думаю, что вы сможете что-то выяснить у них, тем более после увольнения, но если есть желание попробуйте, за спрос не бьют. А причины могут быть совсем с вами и не связаны...
    Позанимайтесь самокопанием некоторое время, а затем назовите их всех козлами и идите дальше. За время самокопания быть может найдете моменты, которые следует подкорректировать. Но только если они явные, в противном случае вы скорее всего их выдумали.
    Обязательно спросят почему ушли, постарайтесь сказать что-то представляющее вас в хорошем свете, но недалёкое от истины. В этом вопросе универсального хорошего совета нет.
    На собеседования идите, как вернётся нормальный настрой, но затягивать тоже нельзя. То что вы не сработались с кем-то не делает вас конфликтным или нежелательным работником. Мысли что вы сделали не так от вас не отстанут, но в жизни это не самое выносящее мозг испытание.
    Ответ написан
    1 комментарий
  • Запускать каждый понедельник 2 раза в месяц?

    @Vitsliputsli
    Запускать каждый понедельник, в строке запуска проверять неделю и выполнять только по нечётным.
    Ответ написан
  • Боюсь идти на работу. Было ли на вышей практике что брали джуна, а он не справлялся? сразу увольняют?

    @Vitsliputsli
    Страх что пройду собес, а потом, на реальных задачах начну тупить и просто не смогу решить поставленные задачи..
    Были ли у вас такие джуны? через сколько увольняли?

    Такая ситуация возможна, но это ошибка руководителя, а не работника. Если собеседование пройдено успешно, значит квалификация и навыки устраивают. Если далее работник не справляется с реальными задачами, значит плохо обеспечили вход.
    По возможности ищите работу, где есть старшие товарищи, без их помощи изучать сложно. На реальных проектах обучение идёт гораздо быстрее. В начале обязательно будете тупить, это нормально из-за большого потока информации, причем для любого нового работника.
    Больше отдыхайте, невыспавшимуся и уставшему тупняки гарантированы.
    Не бойтесь увольнения, это нормально, не значит, что нужно вводить в привычку, но страшного в этом ничего нет.
    Ответ написан
    Комментировать
  • Упрощение стека проекта?

    @Vitsliputsli
    От фреймворка требуется только читать данные из rest Elasticsearch, читать/писать в SQL через rest и рендерить страницы на стороне сервера ssr.

    Вам не нужен фреймворк.

    Фремворк поможет не быть зависимым от разработчика, сейчас эра фреймворков, и разработчики почти все фреймворк ориентированы (даже если он и не нужен)

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

    @Vitsliputsli
    Очень странный способ соединения...
    Если бы это была выборка, то можно было бы построить индекс по функции (если СУБД позволяет), а для соединения - делайте денормализацию.
    Ответ написан
  • Как отладить запрос к Postgresql?

    @Vitsliputsli
    Постройте индекс btree для research_uuid.
    Ответ написан
    Комментировать
  • Нормально ли для программиста быть трудоголиком, любить рутину, иногда быть уставшим и тупить от этого?

    @Vitsliputsli
    могу неделями почти не спать и работать, при этом выдавать вроде бы продуктивность, но делать все на редкость тупо.


    Когда вы не спите, ваш мозг перестает работать нормально и способен только на тупую работу. Именно поэтому он выдает поощрения, когда вы позволяете ему этим заниматься.
    Как решить эти проблемы?

    Больше отдыхать.
    Ответ написан
    Комментировать
  • Что такое модель в ООП в веб?

    @Vitsliputsli
    Контроллер, представление, модель - это элементы MVC, к ООП отношения не имеют.
    Контроллер получает от пользователя запрос в определенном виде (запрос браузера, обращение к API, команда, все это разные группы контроллеров). Распарсив запрос передает его в модель для обработки.
    Модель содержит бизнес-логику, т.е. по-сути то, что должно делать ваше приложение, без привязки к способам обращения пользователей и способам вывода. Возможно будут вызываться модели работающие с БД, а может и не будут, это неважно, не превозносите БД как сверхсущность, это обычный инструмент, один из множества.
    Далее модель передает подготовленные для вывода данные в контроллер (в классической MVC сразу в представление), и контроллер передает их в нужное представление.
    Вот и все, простая схема, которая позволит отделить мух от котлет, создавать API, видоизменять вывод, не трогая основную логику. А работа с БД, совсем другой вопрос.
    Ответ написан
    Комментировать
  • Как задать путь через GET-параметр в API Yii2?

    @Vitsliputsli
    Вы хотите странного. Не нравится pretty url, не используйте его, в оригинальном виде контроллер/экшен задаются параметром в адресе. Но зачем изобретать свой роутинг при использовании фреймворка?
    И, обычно, когда говорят о rest, подразумевают одну из моделей Ричардсона, т.е. использование http-методов, в данном случае post или put.
    Ответ написан
  • Что нужно сделать эникею с опытом чтобы за 4 месяца стать безопасником или админом?

    @Vitsliputsli
    И как бы все правильно написали в ответах. Но я каких только не видел безопасников, и по образованию, и по навыкам, поэтому некий флер и образ элитарности сформированный ответами вызывает усмешку. Просто, как и в любой профессии раздолбаев предостаточно.
    Но автору все равно не стоит надеяться. Лучше сходите на собеседования и большинство вопросов отпадет, там и узнаете, чего вы стоите и на что можно рассчитывать. И лучшее, что вы можете сделать сейчас - это почитать, как составлять резюме и вести себя на интервью.
    Ответ написан
    Комментировать
  • Почему GET запрос быстрее POST?

    @Vitsliputsli
    А какова разница? В цифрах.
    Post обычно подразумевает отправку данных в теле, а get в адресе. В принципе на размер запроса это не особо влияло бы, но обычно данные шлют в формате form-data, и используют громадные разделители, поэтому запрос в лёгкую может вырасти раза в 2 по сравнению с get. Второй момент, на другой стороне это все нужно ещё распарсить. Но, конечно, совсем не обязательно данные передавать как form-data.
    Т.е. теоретически - да, post медленней, практически - не думаю, что эта разница сколько-нибудь существенна. И как правильно заметили, адрес не предназначен для передачи конфиденциальных данных, т.к. попадает в логи.
    Ответ написан
  • Как лучше работать с базой данных?

    @Vitsliputsli
    В общем случае, работайте с БД, как с БД, надо писать - пишите, надо читать - читайте. Все остальное, это оптимизация под конкретные проседания производительности, и применять их нужно тогда, когда таковые имеются, т.к. любая оптимизация не бесплатна, всегда чем-то жертвуешь.
    Ответ написан
    Комментировать
  • Можно ли с помощью функции exit() выйти не из всего скрипта, а из условияч которое выполняется в данный момент. Если нет, то как это сделать?

    @Vitsliputsli
    Перепишите ваши условия так, чтобы не требовалось их прерывать на полпути. То что вы хотите очень сильно ухудшает читаемость, поэтому оператор goto крайне не рекомендуют к использованию, а это тоже самое.
    Ответ написан
    Комментировать
  • Где можно найти нормальную документацию по использованию ВебСокет в yii2?

    @Vitsliputsli
    Ratchet
    Ответ написан
    Комментировать
  • Как узнать есть ли буквы в строке?

    @Vitsliputsli
    Если нет нужды писать эксепшен для не float в запросе, тогда преобразуйте так:
    $var = (float)strtr($input, ',', '.');
    Если нужно, то конвертните обратно в string и сравните.
    Имхо, это нагляднее и очевиднее, чем регулярка.
    Ответ написан
    Комментировать
  • Как вы разделяете задачи фронта и бэка на проекте?

    @Vitsliputsli
    Если у вас "четкое" разделение на фронт и бэк, значит, по сути у вас 2 технических проекта, взаимодействующих между собой. И у них не может быть одной и той же задачи, т.к. делают они разное.
    Судя по остальному тексту, вы не декомпозируете задачи, отсюда и такие вопросы. Тогда, у вас 2 варианта, начать декомпозировать задачи на отдельные подзадачи, где будет отдельный исполнитель, можно прикинуть трудозатраты, указывать зависимости и т.п. К тому же, в redmine из коробки можно строить древовидную структуру задач. Тогда у вас появится хоть какой-то контроль и вы сможете планировать. Либо не заморачиваться, т.к. 1 или 2 задачи на ситуацию не повлияют, и пусть разработчики сами делят задачи и планируют.
    Ответ написан