Задать вопрос
  • Может кто помочь с SQL DQL?

    1) Маппинг Доктрины - для больших проектов плохая вещь, ибо работает не всегда правильно. Поэтому лучше работать с композитными ключами.

    2) @ORM\GeneratedValue() - вот это тоже не лучшая практика, потом замучаешься шардировать проект и менять схему таблицы. Обычно проекты на Symfony - это не бложики (но это так на будущее)

    3) В общем, все выглядит примерно так:

    В репозитории родительского класса пишем метод, который выглядит как-то так. Там же пишем Joint к тому классу, что тебе нужно - делаем маппинг и через where / andWhere добавляем нужные тебе условия выборки. Это пример на innerJoin, на leftJoin будет выглядеть также, просто метод другой.

    public function GetUsers(int $offset = 0, int $limit = 1000): array
        {
            $users = $this->createQueryBuilder('a')
                ->select('a.email')
                ->join(Secret::class, 's', Join::WITH, 'a.site = s.siteId')
                ->where('s.active = :active')
                ->setParameter('active', 1)
                ->setFirstResult($offset)
                ->setMaxResults($limit)
                ->getQuery()
                ->getScalarResult();
    
            return $users;
        }
    Ответ написан
  • Как бороться со стрессом на работе?

    Облегчение обычно приходит после 5-6 месяцев работы. Особенно, если ты в хороших отношениях с тим-лидом и на твою работу уже как-то опирается бизнес. Также достаточно полезно бывает открыть свое резюме и получить пару предложений о работе (чтобы держать в голове, что ты интересен и полезен).

    Как побеждать стресс на работе:

    1) Читайте код ваших коллег. Порой очень успокаивает, что ты видишь какой-то корявый код от другого сотрудника, знаешь, что ему платят 120к + и хвалят за "качество" работы.

    2) Завести себе девушку или кота (лучше кота). Они добавляют мотивации, ведь ты знаешь, ради чего ты каждый день идешь на работу.

    3) Забить на "субстандарты" при разработке. Обычно в каждой фирме есть список того, как должен выглядеть и работать твой код. И если его весь писать, то можно повеситься. Поэтому нужно понять, за что тебя будут трахать и разворачивать на ревью, а что пройдет и так.

    4) Составить себе список знаний, которые тебе нужны, чтобы тебя повысили, перевели на приоритетные задачи, либо получил работы мечты.
    Ответ написан
  • Недавно начал изучить django. Нужен совет по разработке мини проекта. Т.е. что использовать и т.п?

    1) Запускаешь PyCharm
    2) Начинаешь делать проект
    3.1) Появляются какие-то вопросы по конкретным местам - читаешь, спрашиваешь, двигаешься дальше (переделывать какие-то места в первом проекте - не страшно).
    3.2) Понимаешь, что не тянешь - идешь в другую сферу. Тоже вполне вариант.

    ---

    Выбор у тебя особо не большой. Пока вопрос звучит так: "А что быстрее камаз или белаз".
    Ответ написан
    Комментировать
  • На чём писать back-end платформы с видео?

    Неверный вопрос.
    Неверные требования.
    Неверное понимание проекта.

    1) Ваша сейчас единственная задача - это дать ответ на три вопроса:

    - какие деньги вы готовы потратить на этот проект.
    - какие деньги вы готовы потратить на продвижение проекта.
    - какую главную функциональность вы хотите получить.

    2) После этого идете в фирму, которая занимается разработкой и обсуждаете то, как сделать проект. Какую технологию они для него выбирают, и какие деньги они попросят для его расширения.

    3) Стабильная и быстрая работа платформы не зависимо от количества пользователей - глупая постановка требований. Ибо очевидно, что если платформа держит 1000 юзеров в сутки, то с увеличением до 200к юзеров, появятся новые требования к железу, архитектуре и подходах к разработке.

    4) Но, если быть честным, вы похоже на типичного "бизнесмена", который думает, что запилит какой-то сайт с курсами, и к нему начнут валить 10к людей в день, хотя по факту будет 5-10 человека.

    Я видел много успешных проектов с хорошим маркетингом и отделом продаж, на говно-стеке, который постепенно рефакторили и переводили на новый стек с ростом команды. И видел много провальных проектов на "крутой" технологии без денег и юзеров.

    Бизнесмен должен думать о деньгах, а не о том, почему .net хуже или лучше, php.
    Ответ написан
    Комментировать
  • Как эффективно выучить технологии для backend'a?

    Нужно понимать, что от новичка (да даже откровенно говоря и от профи), знание вот этого всего не требуется. Поэтому условно делает свой новостной сайт на symfony + html+css+js + БД. Как его доделали, можно идти уже устраиваться на работу.
    Ответ написан
    4 комментария
  • Как запустить проект (django+html) с гитхаба?

    Такое ощущение, что какой-то недогуру вывалил часть своего курса по Django и люди вообще без опыта программирования и понимания, что такое Django, побежали запускать проекты на Djnago (уже 5 вопрос за 2 недели такого типа)..

    1) Открываем вот этот ролик - https://www.youtube.com/watch?v=IZqBTPmxoew. Смотрим его, повторяем все за автором, понимаем, что и как работает визуально, и что за что отвечает.

    2) Открываем документацию и постепенно расширяем проект.

    Библиотека Django...
    Файл manage.py компилироваться (причем, что питон интерпритируемый язык, а не компириуемый)...

    Нужно понимать, что Django - это кастом, и тут далеко не все так просто.
    Ответ написан
    2 комментария
  • Как отобразить изображения на продакшине Django?

    1) Пишутся ли руты на медиа-картинки в базу?
    2) Каким способом выводятся картинки в шаблон?
    3) Это VPS или Шаред Хостинг?
    Ответ написан
  • Нужно ли использовать Symfony forms?

    Обычно работает так:

    1) Фронт - это отдельное какое-то js-фреймворк, который отдает Rest запрос

    2) Контроллер на уровне DTO с помощью ParamConverter и Валидаций принимает значения, либо дает отбивку фронту.

    3) Значение уходит в сервис, где идет какая-то логика и возвращается ответ через какой-то json=нормалайзер.

    ___

    P.s. привыкай к тому, что в больших проектах на Symfony вообще не юзается вот это все:

    * @ORM\ManyToOne(targetEntity="App\Entity\City", inversedBy="districts")
    * @ORM\JoinColumn(nullable=false)

    Доктриновские связи работают не всегда адекватно и быстро, поэтому обычно делают составной ключ на 2-3 колонки и зависимости вытягиваются из репозиторией отдельным запросом.
    Ответ написан
  • Что делать, когда умеешь программировать, но нет идей?

    Я обычно отталкиваюсь не от "идеи" крутой штуки, а от проекта, где я смогу заработать деньги. Это очень сильно сужает список возможных проектов, и сильно ограничивает способ реализации проекта. Если я вижу, хоть какое-то место, где потенциально могут быть деньги, а существующие проекты - сделаны плохо, я начинают это делать.

    Чтобы это увидеть, надо либо иметь широкий кругозор, либо заниматься целенаправленным ресерчем. Так, например, я один раз прочитал 2 учебника по дендрологии, чтобы понять, почему никто не делает проекты из этой области.
    Ответ написан
    Комментировать
  • Сделать карьеру на PHP: Symphony vs Zend?

    1) Zend умер - работа на нем еще есть, но это либо системы, которые переписывают на Symfony, либо системы, которые уже нет смысла переписывать на Symfony и их просто поддерживают. В любом случае вкладывать время в него сейчас уже не стоит.

    2) Symfony - живее всех живых. Но нужно понимать, что Symfony юзается сейчас в самых "больших и тяжелых" проектах на PHP (поэтому число вакансий на него относительно небольшое, ибо больших проектов само по себе не так много). С точки зрения найти работу и лутать бабло на уровне Java разработчика - изи, если есть мозги. Постоянно лутать на нем фриланс заказы...я бы сказал, что Laravel в этом плане как-то чаще видишь.

    3) На Java фриланса нет (если мы говорим про бизнес-бек, а не андроид разработку).

    P.s. YII фреймворк кстати тоже сейчас не очень себя чувствует. Готовят новую версию, которая сломает обратную совместимость с прошлыми и версиями, и с большой вероятностью, это окончательно добьет его.

    P.s.s. Если нужен PHP и нужен именно фреймворк, то выбор сейчас Symfony (для больших проектов) vs Laravel (для стартап проектов).

    P.s.s.s. Я в свое время писал проекты на Django и немного на Java Spring, когда увидел Symfony, прямо как в домашние тапочки в него вошел - все было знакомо и понятно.
    Ответ написан
    4 комментария
  • Как называются разработчики, которые пишут не качественный код, но делают продукты?

    Как правило у разработчика нет задумки написать говно-код, поэтому он его пишет, когда:
    1. у него недостаточная квалификация.
    2. на него идет давление от менеджера, что заставляет его принимать более простые и примитивные решения (что чаще всего ведет к ошибкам в проектировании решения).
    3. у него нет требования писать "лаконично и вдумчиво", когда, например, программист пишет свой проект (который поддерживать будет только он сам), и у него задача выпустить продукт и пощупать его, а не "вкладываться" в архитектуру.


    Из всего этого критичен только первый пункт. Во всех остальных либо не нужно, либо ошибка менеджмента.
    Ответ написан
    Комментировать
  • Если делать проект на Symfony и Vue.js, то где рекомендуется хранить фронтент?

    1) Бекенд-симфони. Вообще ничего не делает для фронта.
    2) Отдельный проект на Фронт (Vue)
    3) Обмен идет по ресту, верификация через токены (которые генерятся фронтом и верифицируются беком).

    Обычно фронт лежит на основном домене, а бек сидит на чем-то api.domain.com
    Ответ написан
    3 комментария
  • Если цель свалить в другую страну и там работать программистом, нужен ли диплом для визы?

    1) Человек, который орет "хочу свалить в другую страну" - малолетний дебил, который не определился с тем, что ему нужно в жизни.
    2) Таких малолетних дебилов куча. Открываешь какой-то ролик "айти-мигранта" из какого-нибудь вьетнами, чили - сидит порет какую-то херню. И даже сам себе ответить не может, зачем и для чего он туда поехал.
    __

    Грамотный подход:

    1) Выбираем 1-3 страны, которые ты считаешь перспективными.
    2) Изучаем требования к кандидатам.
    3) Изучаем методы миграции.
    4) Принимаешь решение по конкретной стране - есть смысл, нет смысла итд.
    5) Начинаешь вкладывать время, силы, деньги, чтобы пролезть в горлышко миграции.
    6) Получаешь то, что ты хотел (либо понимаешь, что прямой дороги пока нет, и надо как-то обходами действовать).
    7) Радуешься жизни, либо понимаешь, что как-то не очень-то и хорошо получилось.
    Ответ написан
    1 комментарий
  • Почему PHP теряет популярность?

    Объясняю:

    1) Небольшая фирма, небольшой проект, никогда не сможет конкурировать за "рабочие руки" с такими гигантами, как mail.ru/yandex/сбертех/альфа-лаборатория и прочие. А значит разрабатывать проект на Java, который еще не приносит деньги - глупейшая ошибка менеджмента. Ибо вы просто не найдете руки, либо они будут стоить очень много. По этой же причине не стоит выбирать для проектов .net (хотя там в общем ситуация в плане рук получше).

    2) Выбирать для проекта, который еще не приносит денег, что-то типа python/ruby - глупо. Ибо найти хороших программистов на этот язык сложно (и они будут стоять больших денег).

    Ну тут стоит понимать, что это реалии рынки СНГ и Европы. Исторически сложилось, что язык для новичков в СНГ и Европе был PHP (поэтому так много проектов на php), в США - это Ruby(Python), а, например, в Австралии - это Python.

    В итоге: небольшие капиталисты в СНГ(Европе) - выбирают php, это дает много работы на PHP, предложение толкает людей учить PHP, что уже в свою очередь толкает создателей PHP его улучшать.

    __

    Нужно понимать, что PHP де-факто дешевый язык для старта бизнеса (конечно, есть условный symfony, где программисты получают на уровне Java-разработчиков, но это уже нюансы). А бизнес всегда стартаует, и всегда на это идет большой спрос.

    Язык будет жить, пока не придумают что-то более подходящее, что будет прямо в разы увеличивать эффективность работы. Но пока этого нет, и даже сложно сказать, что это может быть.

    __

    Количество вакансий уменьшается по простой причине. Готовые облачные решения типа (shopify/wix) + возможность заменить на старте сайт на социальную сеть, дают снижение спроса.
    Ответ написан
    1 комментарий
  • Какие есть десктопные программы для управления веб-проектами?

    Я поставил себе локально youtrack - бесплатен
    Ответ написан
    Комментировать
  • Легко ли найти работу на удалёнку devops инженером?

    Удаленка для девопсов есть. У нас в компании, например, все админы работают на удаленке, но найти людей очень сложно. И проблема для региональных сотрудников не в деньгах, а в уровне компетенции. Нужно, чтобы человек физически знал железо, знал работу с конфигами, секрьюности и прочем стафе. В итоге, лучшие кандидаты, это те, кто приходит из офисов каких-то крупных региональных компаний или банков.

    Тут получается очень забавная ситуация. Если это девопс из Москвы, то там 200+ со старта. За меньгие деньги, вообще люди не будут с тобой разговаривать за нужные знания. Если это региональные девопсы, то 99% отсеивается из-за того, что они имеют недостаточную компетенцию (был еще неплохой админ, бывший военный, с какого-то спутникового центра из Хабаровского края). Другими словами, если ваша работа была в том, чтобы тянуть провода, эникееть и вводить в дело новых сотрудников - то шансы крайне малы.

    Хотя нужно признать, что время от времени на удаленку нанимаются "менее жесткие админы", чтобы ввести поддержку (Мониторить сервера, править по горячему какие-то ошибки, писать конфигурации для тестовых машин и прочее).
    Ответ написан
    1 комментарий
  • Имеет ли смысл начать изучение Symfony если более-менее знаком с Laravel?

    1) Если мы не говорим про работу на буржуев с magento/wordpress за долларовые ставки, то все самые высокие зарплаты именно на Symfony. Поэтому, если хочешь делать самые сложные, крутые и значимые проекты на php, и получать за это нормальные деньги (сравнимо с энтерпрайзом на java) - то надо.
    2) Доки там весьма "обзорные". Есть еще книги "один год с симфони и прочие вещи", но это новичку читать смысла нет. Я когда пришел на боевой проект symfony у меня было "Воу, а что оказывается можно вот так делать". "Воу, а что оказывается можно вот так прокинуть". И прочее.
    3) Базовую книгу по паттернам программирования (которая на Java), надо прочитать вообще каждому программисту, который лезет в симфони. Не факт, что ты будешь это использовать, но ты хоть будешь понимать, почему именно так.
    Ответ написан
    Комментировать
  • Почему не происходит вход через login() Django?

    1) Стандартный механизм Django не подтягивает данные без рефреша страницы.
    2) Я писал схему, когда я сохранял текущую страницу юзера в переменную, при логине (в случае успеха - пересылал в json ответ) - делал принудительный рефрешь страницы на ту страницу, что до этого сохранил.
    3) После чего, получал авторизационного юзера и все нужные мне поля.
    Ответ написан
  • Как вы улучшаете "скорость" работы компьютера?

    У меня старый комп, уровня

    AMD FX-6300, обычный хард (которому уже лет 5), но 24 гига оперативы. Утром просыпаюсь, включаяю комп, включаю все проги и кофеек делать. К моменту, как прихожу, уже все висит в оперативке и "летает".
    Ответ написан
    Комментировать
  • Как установить сайт на Django в панели ISPmanager?

    1) Через админку и апач - никак. Все ручками из консоли по хардкору.
    2) Вот моя старая инструкция, как я поднимал Django (она скорее всего уже неактуальная, и в ней есть проблемы с безопасностью, но чтобы ты понимал, что к чему). - https://habr.com/ru/post/277653/
    3) На Digital Ocean есть неплохие туториалы, как ставить все.

    Ещё вопрос. Похоже придется выбирать между gunucorn и wsgi. Что лучше подойдет в данном случае. Есть маленький опыт с wsgi.

    Без разницы, в свое время на конференции относительно хайлоада, ребята из mail.ru говорили, что вообще не чувствуют разницу и используют то, что было исторически у них (у них и первый и второй на проде есть)
    Ответ написан
    Комментировать