Задать вопрос
  • Как максимально четко и уверенно рассказать про ООП?

    anton_reut
    @anton_reut
    Начинающий веб-разработчик
    В этом и проблема что всем рассказывают про ООП используя "эти три принципа" хотя суть в другом - в том что ооп это программирование Обьектами которые обмениваются сообщениями и используют друг друга для выполнения задач. И только после этого людям надо рассказывать про "эти три принципа"!

    Что бы объяснить суть чего либо нужно ответить на 3 вопроса:
    - Что он делает?
    - Как он это делает?
    - Для чего это нужно?
    Ответ написан
    2 комментария
  • Java и PHP хороший союз?

    Adamos
    @Adamos
    У бэкенда должно быть API, которое можно дергать запросами из любого языка и из любой системы.
    Если оно есть - с любым клиентом будет "хороший союз".
    Если нет - выкиньте и перепишите.
    Ответ написан
    Комментировать
  • Боюсь идти на работу. Было ли на вышей практике что брали джуна, а он не справлялся? сразу увольняют?

    @dimoff66
    Кратко о себе: Я есть
    Идите на зарплату поменьше, там меньше требований и меньше напряжения, а как освоитесь и увидите, что тупите не только вы но и 70% коллектива от миддла до сеньора, попросите прибавки.
    Ответ написан
    1 комментарий
  • Можно ли как то ускорить копирование более 13 тысяч записей из одной БД в другую на yii2?

    @ar2rsoft
    PHP-developer
    Не использовать AR, вставлять/обновлять пачками
    Ответ написан
    Комментировать
  • Ошибка php не работает сингелтон, как исправить?

    php666
    @php666
    PHP-макака
    класс для БД не должен быть одиночкой
    Ответ написан
    Комментировать
  • Столбец удален, но не удален, как удалить столбец?

    Melkij
    @Melkij
    PostgreSQL DBA
    Мой хрустальный шар совершенно верно показал.
    Когда вы делаете add column columnname text - вы получаете NULL во всей этой колонке. Разумеется сразу после этого вы поставить NOT NULL не можете никак. Любая строка нарушает это ограничение и база отказывается ставить NOT NULL.
    Когда вы делаете add column columnname text NOT NULL - чтож, это может сработать в одном случае - у вас пустая таблица. Тогда ни одна строка не нарушает NOT NULL ограничение, у вас просто 0 строк. Если хоть одна строка есть - это невозможно. Вы просите default NULL и одновременно NOT NULL - так не бывает. В сообщении об ошибке говорится именно о добавляемой в этот момент колонке, не о какой-то другой существовавшей ранее.

    Вы должны указать какой-то не NULL default если хотите поставить NOT NULL на создаваемое поле. Либо очистить таблицу.
    Либо создать без NOT NULL, заполнить поле, потом уже делать NOT NULL.

    В postgresql действительно колонка не удаляется никогда. Но это деталь реализации и к сути вашего вопроса отношения не имеет.
    Ответ написан
    2 комментария
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    я замечаю что гораздо лучше всё усваиваю когда делаю всё с нуля

    Поверьте - так у всех.

    Но вы обратили внимание, что в школе вам рассказывали про опыты Галилея, а не дали два шарика и не сказали - разберитесь какой из них падает быстрее?

    Представьте что вы велосипедите долго-долго и разобрались с авторизацией и загрузкой файлов вдоль и поперек, а потом все же сталкиваетесь с каким-нибудь фреймворком и смотрите, а там загрузка сделана так же как у вас и вы бы могли не тратить год, на то чтобы дойти до этого, а просто сразу посмотреть. Смотрите на авторизацию и думаете - "о, а чо так тоже можно было?"

    Объем знаний слишком велик чтобы полсностью сгенерировать его самостоятельно. Best practice много и ко всем сразу сам не придешь. Чему-то учиться придется.
    Поэтому наилучшая схема чуть-чуть повелосипедить. Изучить пару фреймворков. Попробовать опять повелосипедить. Изучить еще один, а там, может быть, присоединиться к разработке какого-то..
    Ответ написан
    Комментировать
  • Полезно ли долго (и вообще) «велосипедить» в программировании?

    sim3x
    @sim3x
    Полезно редко, но глубоко велосипедить (переписать фреймворк, апи, сортировку, драйвер,...)
    Для себя
    Ответ написан
    Комментировать
  • Нужно ли комментировать код?

    DevMan
    @DevMan
    как минимум комменты помогают автоматическому дополнению кода и линтерам.
    плюс, по ним можно автоматически строить документацию.

    комменты ради комментов - никому не уперлись.
    Ответ написан
    Комментировать
  • Как перестать говнокодить и принимать неверные архитектурные решения?

    miraage
    @miraage
    Старый прогер
    как писать поддерживаемый код?

    Если уж очень коротко, то соблюдать SOLID/GRASP. Мне понравился твит одного из авторов React Router:
    https://twitter.com/mjackson/status/1171524189850701825

    Most common mistake software developers make: putting stuff in the wrong place. Coupling responsibilities and concepts that should be kept separate.
    For me, this is 95% of software development. Just figuring out *where* things belong.


    Что гуглить, что учить?

    Фундаментальные знания, вроде вышеупомянутых SOLID/GRASP, паттерны (не только классические паттерны, но и вообще, общеизвестные решения определённых задач), базовые структуры данных. Фреймворки/библиотеки всегда будут приходить/уходить, что-то будет забываться. А фундаментальные знания всегда актуальны.

    Может литературу какую почитать посоветуете?

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

    Можно ли себя называть миддлом, если твой код говно?

    Не пытайтесь себя оценить. В каждой компании свои понятия миддла. А если кто-то 35 лет на лиспе кодил, а потом прыгнет на Angular - кто он, джун или сеньор?
    И, да, все мы в какой-то степени пишем говнокод. Если кто-то Вам доказывает, что он пишет супер чистый код - не слушайте.

    И ответ на главный вопрос.
    Как перестать говнокодить и принимать неверные архитектурные решения?

    Это невозможно. Все проекты, которые чуток сложнее CRUD-ов, рано или поздно обрастают говнокодом. Никто не пишет идеальный код. Код должен работать и решать проблемы бизнеса.
    Ответ написан
    6 комментариев
  • Узко vs Широконаправленный разработчик?

    Adamos
    @Adamos
    Узконаправленный разработчик - это человек, который досконально знает нюансы своей ниши и имеет кучу опыта в тех вопросах, которые в них возникают.
    Широконаправленный разработчик - это человек, который попробовал многое и успешно воплотил проекты в нескольких разных нишах.
    А тот, кто пролеживал бока, листая Танненбаума и Дейкстру - это вообще не разработчик, и нанимать его никто не будет по той простой причине, что опыта у него нет, и оплачивать время, пока он будет его набирать, набивая свои нубские шишки, никто не разбежался.

    Книги - это прекрасно. Но в разработчиках ценят не умение проходить тестирование, а реальный опыт и приобретенные навыки. Даже если идиоты-эйчары организуют наем поперек этой логики.
    Ответ написан
    Комментировать
  • Как настроить xdebug и phpstorm?

    @green_goo
    Есть виртуальная машина(дебиан 10) с IP 192.168.0.5

    На своей машине(opensuse 15 с IP 192.168.0.4)

    Значит и в xdebug.remote_host надо указывать адрес 192.168.0.4
    А лучше не указывать remote_host, а включить xdebug.remote_connect_back
    Ответ написан
    2 комментария
  • Насколько важен программисту рейтинг вуза?

    @raiboon
    У меня такое мнение.

    Если у вас или вашей семьи есть возможность попасть учиться в топовый ВУЗ, то это безусловно и без отговорок необходимо делать.

    Если они вам не по знаниям или не по карману, а армия не для вас, то поступайте в лучшее, что вам доступно.

    Если вам в армию не идти и вы выбираете между несколькими говеными провинциальными вузами, то не надо. Лучше идите работать, набираться опыта, но поступайте на любую заочку.
    Ответ написан
    Комментировать
  • Можно ли изучить Linux играя?

    @Zzzz9
    Мне нравится чумовая игруха iptables, чем больше народу тем интересней, одного закрыл, другого тормознул, чтобы черточка в iftop не доходила до конца(т.е. канал забит полностью) и с каждым уровнем можно ужимать канал интернета, я уже дошел до 2Мбит/с.
    Ответ написан
    1 комментарий
  • С чего начать путь product owner'а?

    NYMEZIDE
    @NYMEZIDE
    резюме - ivanfilatov.ru
    DP6DgNK.png
    вот пример, что нужно уметь, знать, понимать - Какие функции вообще он должен выполнять.
    Ответ написан
    4 комментария
  • Как избежать параллельных запросов MySql?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    По-моему, это не вопрос, а очередная влажная фантазия.
    Один и тот же юзер не в состоянии создавать "параллельные запросы".
    Тут скорее логика хромает. Зачем-то сделано удаление записи, дальше идёт какое-то анонимное голосование(?!). почему-то можно ставить плюсы несколько раз.

    Удалите этот вопрос и вместо этого спросите, как сделать голосование нормально. В общем случае все делается 1 запросом.
    Ответ написан
    5 комментариев
  • Как лучше всего делать тестовые задания?

    0xD34F
    @0xD34F
    нормален ли такой подход?

    Да. Нет. Не знаю. Что за детсадовские вопросы? Уточните у рекрутера, какой вариант предпочтительней.
    Ответ написан
    Комментировать
  • Как сделать бонус каждую минуту?

    @oleg_ods
    Добавить в базу время начала начисления бонуса и при запросе значения бонуса вычислять разницу в минутах между текущим временем и временем начала начисления.
    Ответ написан
    2 комментария
  • Ошибка в скрипте, почему главная страница грузится 15 секунд?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    боожечки, нежто тяжко расставить 5 таймеров и посмотреть сколько времени что выполняется? 2 минуты работы.
    Ответ написан
    Комментировать