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

    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 комментариев
  • Как создать сайт типа пикабу?

    samodum
    @samodum
    Какой вопрос - такой и ответ
    Ребят, пользуясь случаем хочу спросить, как мне сделать сайт типа Авито. Ну или Яндекс.Маркет - не особо важно.
    Главное, чтобы денег заработать.
    Какую мне библиотеку скачать для этого?
    Ответ написан
    2 комментария
  • Как поступить с неприятным заказчиком?

    Stalker_RED
    @Stalker_RED
    Потратьте 20 минут, напишите вежливое письмо типа "уважаемый ФИО, т.к. вы два года не оплачивали хостинг, сайт был отключен и удален хостером. Работы по его восстановлению будут стоить столько-то. А услуги по доработке будут оплачиваться отдельно, в зависимости от объема работ".

    И цену поставьте такую, которая сможет компенсировать ваши душевные страдания:)
    Ответ написан
    Комментировать
  • Насколько адекватно требовать домашнего развития от разработчиков?

    php666
    @php666
    PHP-макака
    Насколько это правильная практика
    конечно это правильно! Раб должен работать на износ. А когда он выдохнется - его заменят очередным любителем "саморазвития", который через лет 10 тоже неминуемо сгорит.

    и еще. саморазвитие - это миф, навязанный вам самими работодателями. то, что вы называете саморазвитием - это прямой путь к выгоранию. вы не станете миллионером, особенно живя в РФ, если выучите все технологии (а вы их никогда не выучите). но превратитесь в существо без личной жизни, в гика. оно вам надо, ребята? почитайте хотя бы эту статью, там хорошо описана вся эта бесполезная кабала - https://ebanoe.it/2017/04/02/wasted-life-in-it/
    Ответ написан
    Комментировать
  • Насколько адекватно требовать домашнего развития от разработчиков?

    @majstar_Zubr
    C++, C#, gamedev
    Это вполне адекватно, потому что в таком случае работодатель преследует лишь одну цель - помочь вам как можно скорее найти другое место работы.
    Ответ написан
    1 комментарий
  • Как отправить post/get запрос через несколько секунд после открытия страницы?

    @Anvi-Vt
    web developer
    Что нужно добавить в index.html / index.php
    ?


    Попробуйте вставить js код
    Ответ написан
    1 комментарий
  • Кинула веб-студия, агентский договор?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg

    Что можно сделать в такой ситуации?

    Принять во внимание, не допускать подобное в дальнейшем. Выпить пивка, пожарить мяса, посмотреть на закат, поднять руку вверх, махнуть и сказать "да ну и ... с ним".
    Ответ написан
    1 комментарий
  • Как защитить Rest API от использования третьими лицами?

    bro-dev
    @bro-dev
    Проблема скорее всего не в том что левые люди будут использовать, а в злоупотреблении, но тоже самое можно делать и прямо из вашей проги, так что лучшее решение сделать публичное апи но внести количественные и частотные ограничения.
    Ответ написан
    Комментировать
  • Как узнать какое приложение показывает всплывающую рекламу?

    @Runis
    Узнать можно, если нажать на всплывшую рекламу и удерживать, пока не появится окно "Сведенья о приложении", жмёте туда и увидите что за приложение спамит, советую удалить его.
    Ответ написан
    Комментировать
  • Как устроиться junior android разработчиком?

    opium
    @opium
    Просто люблю качественно работать
    Этот год вы получили создавая свои приложения и размещая их в Гугл плее
    Ответ написан
    3 комментария
  • 2 компа с одинаковым MAC адресом в одной сети?

    vvpoloskin
    @vvpoloskin Куратор тега Компьютерные сети
    Инженер связи
    Не знаю, что такое NAC, но в таблице коммутации на свиче будет постоянный flapping - один мак адрес будет прыгать с порта на порт (если vlan один и тот же). Между компьютерами с одинаковыми маками связности не будет, однако с третьего компьютера с отличным MAC-адресом пакеты будут рандомно прилетать то до одного компьютера, то до другого, в обратную сторону пакеты будут уходить.

    Такая ситуация (авария) часто встречается на сетях операторов ШПД в больших L2-сегментах, только не в таком примитивном случае.
    Ответ написан
    Комментировать
  • Правда ли что программистам навязывают определенные мысли?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    1)обязательно надо знать математику алгоритмы и тд(даже если это не используется)

    Если хочется выйти за рамки дешевой рабочей силы - да.

    2)надо работать бесплатно на первых порах

    Зависит от навыков самообразования. Кто-то уже в школе делает деньги, а кому то и после университета сложно найти работу.

    3)создавать open source проекты бесплатно чтобы показать всем свой код

    Скорее нет

    4)всегда думать о работе даже по выходным и тд

    Если хочется выйти за рамки дешевой рабочей силы - ДА.

    UPD:
    Реальность такова, что если вы хотите выйти за рамки дешевой рабочей силы - у вас ровно 2 способа это сделать:
    а) вы можете основать собственное дело
    b) вы можете в чужом деле вырасти из человека который пишет код, в партнера который решает проблемы бизнеса ( что в конечном счете эквивалентно предыдущему пункту)

    И то и другое подразумевает что вы перестаете разделять свою жизнь и работу.
    Вы, это и есть то дело, которым Вы занимаетесь. 24/7/365.
    И это к слову сказать справедливо для практически любой сферы, не только IT.
    Ответ написан
    11 комментариев
  • Чем отличается динамическая библиотека от статической?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Подразумевается, что динамическая библиотека - уже есть в системе, и при запуске вашей программы библиотеку не нужно копировать вместе с вашей программой - необходимая (или совместимая) версия библиотеки уже будет доступна в системе.

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

    Adamos
    @Adamos
    4. Вынос всех функций, зависящих от железа, в динамические библиотеки.
    При старте определяется железо и подключаются нужные либы.
    Особенно актуально, если железо включено не постоянно или может измениться по ходу работы.
    Ответ написан
    Комментировать
  • Почему в программировании столько математики?

    saboteur_kiev
    @saboteur_kiev Куратор тега Программирование
    software engineer
    Копирование файлика на уровне ОС - элементарная математика (байты перенести из одного места в другое), все числа целые, адресация простейшая.

    Программирование контроллера, который будет копировать данные - высшая математика, ибо нужен контроль целостности данных (алгоритмы хеширования или банальных контрольных сумм), алгоритмы коррекции ошибок, шифрование.

    Программирование передачи данных по сети - плюс ко всему прочему шифрование, протоколы передачи данных, асинхронная передача.

    Программирование в 2д или 3д - геометрия разного порядка. Вычисление стандартных вещей - можно ли пройти из точки А в точку Б и можно ли увидеть из точки А точку Б, а также как это отрисовать с минимальными ресурсами - ужас.

    Ну и далее. Простое приложение для какого-нить IOS которое выводит "привет вася" - это одно. А Shazam, который анализирует акустическую запись, разбирает ее на части, выполняет сравнение с учетом искажений - тут вам нужна не только хорошая математика, но и еще неплохо в этих сигналах разбираться, понимать как они хранятся в компе (как преобразуется аналог в цифру, с какими потерями, и что с ними делать) и так далее.

    В общем алгоритмы, алгоритмы, алгоритмы.
    Как говорил Ломоносов, математику следует учить только за то, что она приводит ум в порядок.
    Ответ написан
    2 комментария
  • Как составить план обучения Python/Django?

    orlov0562
    @orlov0562
    I'm cool!
    1) книжки-книжками, но советую выделить основные задачи в вакансии и реализовать то, что требуется. Например написать блог + petstore. И во время разработки познакомиться со всем что требуется, для конкретно этих проектов.

    2) Linux, просто поставь основной системой и пользуйся. Все что надо придет само через месяц.

    3) на требования вакансий забей, подавайся если в тексте есть python/django, ходи на собеседования и анализируй то, как они проходили. Если те кто будут тебя собеседовать адекватные люди, то вполне понимают что джуниор на то и джуниор, что находится в процессе поиска знаний и наставников. Если это не так, то не стоит там работать и тебе с ними не по пути.

    Все остальное изучишь по мере выполнения задач на новой работе.

    Если подытожить: делай пару простых проектов, изучи поверхностно какие техники в них использованы и иди ищи работу, а не зазубривай книжки.

    P.S. Это касается не только питона, но и любого другого яп или технологии с приставкой "джуниор"
    Ответ написан
    3 комментария
  • Как использовать блокчейн технологии в своих проектах?

    longclaps
    @longclaps
    Чаще всего эту технологию используют для хвастовства.
    Понты колотят.
    Ответ написан
    6 комментариев
  • Как использовать блокчейн технологии в своих проектах?

    DmitriyEntelis
    @DmitriyEntelis
    Думаю за деньги
    Список проектов где реально есть смысл использовать блокчейн сильно ограничен.
    По сути это децентрализированная база данных, в которой узлы не доверяют друг-другу + есть история операций.

    Соответственно реальные способы применения - те, где эти особенности реально нужны:
    - p2p финансы
    - логи безопасности, выборы, итд итп

    95% проектов которые сейчас пытаются делать что-то про блокчейн - просто используют этот buzzword для большего хайпа.
    Ответ написан
    4 комментария
  • Как перестать кодить и начать программировать?

    BuriK666
    @BuriK666
    Компьютерный псих
    Если ваш старый код, для вас выглядит ужасно, то значит вы развиваетесь. Бейте тревогу когда начнете "идеально" писать.
    Ответ написан
    11 комментариев