Профиль пользователя заблокирован сроком с 20 сентября 2021 г. и навсегда по причине: систематические нарушения правил сервиса
  • Как оценивать сроки?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Если вы знакомы с проектом и разобрали что за баг, то оценить время на его устранение не проблема.
    Если вы не знаете что это за баг, то это еще не баг а production issue, и происходит его investigation до того момента, пока вы не придумаете временный workaround, чтобы пользователи могли работать, потом вы найдете root issue, заведете баг и уже тогда оцените время на его исправление.

    В общем для любого senior разработчика эти вопросы должны быть понятны и ясны. Менеджер не программист и не должен им быть, но разработка крупного продукта должна каким-то образом регламентироваться. Иначе зачем платить программисту зарплату, если он не знает год он будет устранять баг или день? Как тот, кто платит вам деньги, сможет понять а хватит ли у него денег, чтобы вы ему продукт вообще написали, если оценить длительность работы нельзя?

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

    Agile в этом плане удобен не только тем, что можно накидать себе задач на 2-3 недели и их решать, а тем, что каждые 2-3 недели можно посмотреть назад, и понять насколько хорошо ты оценил свои естимейты, и нужно ли в следующем спринте увеличивать или наоборот уменьшать время. И так каждый спринт - смотришь и улучшаешь навыки планирования и эффективность работы.
    Ответ написан
    10 комментариев
  • SOLID.LSP + ООП.Полиморфизм = противоречиe?

    @Mercury13
    Программист на «си с крестами» и не только
    LSP предписывает наследникам сохранять поведение (контракт) базового класса.

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

    Например, интерфейс Stream позволяет мультиплексированные потоки (то есть потоки, где мы не можем считать записанное, чтение и запись идёт по разным каналам и никак не связаны друг с другом — например, COM-порты), а какой-нибудь BufferedStream ограничивается только потоками, где мы пишем в какую-нибудь цепочку байтов (например, файл), и читаем из неё же, без мультиплексирования.
    Ответ написан
    2 комментария
  • Как блокируется поток?

    @nictrace
    1. php выполняется не сам по себе, а через веб-сервер, например апач
    2. апач содержит несколько воркеров, каждый из которых поддерживает фиксированное количество потоков (например, 100)
    3. ваш долгий скрипт будет заставлять ваш броузер вращать ожидалкой, но это не помешает работе остальных клиентов
    4. если вы запустите долгий скрипт в паре тысяч окон - можно заДДОСить сервер, так как у него кончатся свободные потоки.
    5. если сервер оборудован защитой от атак - он просто забанит назойливый IP адрес, чтобы не упасть
    Ответ написан
    Комментировать
  • Сколько нужно отработать в компании?

    Moskus
    @Moskus
    Проблема с такой логикой в том, что на собеседованиях руководители и кадровики врут. И вот начинает человек работать, а потом, постепенно, выясняется, что в компании всё совсем не так, как ему пели, чтобы его нанять. Где-то через полгода он окончательно успевает в этом убедиться и разослать резюме.
    А тут вы такой сообразительный, посмотрели на даты, да и в помойку такое резюме. Конечно, ваше право - поступать как угодно глупо при отборе, но если максимально глупое поведение не входит в ваши планы, можно, как минимум, поинтересоваться причиной столь быстрой смены работы до собеседования.
    Ответ написан
    2 комментария
  • Игровые движки и 3Д моделирование?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    1) Unity - отличный вариант. Хорошее соотношение возможностей движка и простоты изучения. Несомненный лидер в геймдеве. Шедевр по современным меркам движков.
    2) Unreal Engine - отличный вариант. Но только если вы опытный программист С++, да ещё и точно знаете, что хотите от игры, и вам нужно больше свободы и специфических возможностей, чем предлагает Unity.
    3) CryEngine - довольно плохой вариант из-за низкой гибкости. Как говорится, что ни делай на CryEngine, всё Crysis выходит.

    Какую лучше выбрать программу для 3D моделирования для движков?

    А это нарушение п.3.7 правил данного сервиса, потому что отдельный вопрос. Но всё же отвечу. Программы для 3D моделирования примерно одинаковы. Совместимость с движками везде хорошая. Я бы выделил 3dsmax, также blender выделяется бесплатностью (но не какими-то супер фичами). Но всё же возможности примерно одинаковые, потому лучше использовать ту программу, к которой уже привыкли, или выбрать по другим (любым) соображениям. Основные - это Blender, Maya, 3ds Max.
    Ответ написан
    Комментировать
  • Что производительнее при разработке web api?

    inoise
    @inoise
    Solution Architect, AWS Certified, Serverless
    Про производительность: Разница в языках по сравнению с тем какой код будет написан незначительная. Куда важнее кто и как пишет код. При масштабировании эта грань вообще стирается

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

    @McBernar
    Точки, запятые?
    Два цикла, конечно, не нужно. Есть поиск в массиве, есть has в мапах.
    Ответ написан
    Комментировать
  • Насколько правильно такое написание кода?

    @ShamanHead
    Слишком императивно.У js есть функции для работы с массивами, и для поиска элемента в массиве тоже.IndexOf
    Ответ написан
    Комментировать
  • Насколько правильно такое написание кода?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    Ответ написан
    Комментировать
  • Как вы ориентируетесь в чужом коде?

    HeadOnFire
    @HeadOnFire
    PHP, Laravel & WordPress Evangelist
    Сначала поверхностно пробегаешься по тому, что можно назвать lifecycle чтобы понять что за чем идет. Это дает базовое понимание внутреннего устройства. Дальше читаешь код и комментарии (если они есть), документацию (если она есть). Переходишь между методами/функциями/классами, запускаешь через отладчик c остановкой в нужных точках, чтобы увидеть состояние приложения на нужный момент. Степень болезненности и геморройности данного процесса сильно зависит от качества архитектуры и качества кода в целом.
    Ответ написан
    Комментировать
  • Как вы ориентируетесь в чужом коде?

    GavriKos
    @GavriKos
    Крайне редко надо ориентироваться во всем коде. А для оринетирования в рамках грамотно поставленной таски (т.е. которая абсолютно декомпозирована) достаточно чуть чуть посидеть с отладчиком, чтобы найти концы.

    Конечно реализация может не вписываться в архитектуру, но это потом можно и нужно отрефакторить.

    Если вам вдруг ставят цель "разберись в чужом коде" - требуйте объяснения зачем это нужно и что потом делать будете.
    Ответ написан
    3 комментария
  • Какие языки программирования лучше всего оплачиваются в России, США и Европе?

    @mamontm
    Оплачиваются не языки программирование.

    Оплачивается умение ими пользоваться.

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

    о наблюдениям сервиса «Мой круг» в России последние пару лет по зарплатам лидируют...

    Вы неверно интерпретируйте данные.

    Просто ряд языков чаще используется в недорогих простых проектах. Что не отменяет их же использование в дорогих проектах. Но искажает понятие "средняя зарплата".

    Плюс недорогих проектов всегда намного больше. Что еще более искажает понятие "средняя зарплата".

    Ну то есть математически-формально всё так как описано в обзоре зарплат.

    Но вас же интересует, поди, сколько лично вы будете зарабатывать, если смените язык?
    А ваш заработок связан вовсе не с языком - а с тем, что вы в этом случае будете и с другим работодателем работать и опыта постепенно набераетесь.

    Причём если Scala и Elixir два года назад по зарплатам опережали прочие языки с сильным отрывом и за последние годы выросли по зарплате несильно, то Go и Objective-C за эти же два года совершили сильный отрыв от остальных языков и догнали Scala и Elixir

    Все упомянутые нельзя назвать распространенными на простых (то бишь на дешевых) проектах.

    P.S.:
    Узнаю типичный страх начинающего новичка (и типичное заблуждения уже начавшего новичка, который уже успел разочароваться в том, что ему не предлагают сходу 100 500 миллионов баков в месяц, как об этом все трубят) -

    "Я выучу не тот язык и карьера будет погублена"
    "Я выучу тот язык и карьера пойдет вверх".

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

    Важно ваше умение программировать. А это понимание/знание - алгоритмов, парадигм, концепций, паттернов.

    Эти вещи из языка в язык повторяются.
    Трудно выучить только первый.

    Сменить язык программисту с опытом - не сложно.
    Ответ написан
    8 комментариев
  • Как правильно коммитить?

    delphinpro
    @delphinpro
    frontend developer
    Делаем временную ветку temp1 и пушим туда все что угодно.
    Потом, когда закончим пилить фичу, переключаемся обратно на master или dev и делаем
    git merge --squash temp1
    Все изменения перекочуют в master/dev, но не будут закоммичены.
    Теперь можно делать обычный коммит с описанием фичи, все будет в одном коммите.
    После всего удаляем временную ветку с ключом --force

    Временную ветку лучше назвать как-то более понятно, чем temp1, если работаете не одна. feat-super-puper.
    Ответ написан
    3 комментария
  • Что происходит при вводе в git команды HEAD?

    @lorc
    Все гитовые команды начинаются со слова git - git add, git commit, git log, git push.

    В контексте гита, HEAD - это алиас на текущий коммит. Т.е. это вообще не команда. Можно например написать git show HEAD - увидеть текущий коммит.

    Но в вашей системе кроме гита есть много других команд (программ). Одна из них и называется HEAD. Так совпало.
    Ответ написан
    1 комментарий
  • OCZ Vector 180 умер?

    ScriptKiddo
    @ScriptKiddo
    Если данные критичные - лучше отдать в сервис по восстановлению данных. У них, скорее всего шансов побольше будет

    Пример процесса восстановления данных с SSD на вашем контроллере.
    Ответ написан
    3 комментария
  • Что делать если увольняют с работы(IT компания. Скорее всего по статье за несоответствие занимаемой должности)?

    php666
    @php666
    PHP-макака
    Пригласили работать в компанию Web-программистом. Разрабатывать сайты на WordPress, Joomla, Bitrix, Yii.
    не программистом, а чернорабочим по клепанию говносайтов - низшая форма деятельности в IT.

    я проработал чуть более месяца и почему то не устроил работодателя по срокам
    ты плохой раб, да.

    Что делать если увольняют с работы
    Уволиться. Желательно, послав их всех в известном направлении, высказав все, что думаешь. Открыть сайты с отзывами о работодателях и написать о них отзывы, что бы другие к ним не ходили работать.

    Потом открыть эту статью и прочитать от корки до корки.
    Ответ написан
    7 комментариев
  • Какую БД и механизмы использовать для работы с разных устройств?

    @shevalera
    Странно, что у тебя вопрос про БД, а не про архитектуру.
    Какая архитектура будет?
    Ответ написан
    Комментировать
  • Правда ли, что сейчас так сложно найти работу?

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

    2) Когда ты уже специалист на более менее востребованном стеке, то работы много. И главная задача состоит в том, чтобы выбрать место, которое тебе будет максимально комфортным.
    Ответ написан
    Комментировать
  • Почему разработка на Java под Android считается "нативной", а на том же Dart нет?

    Beshere
    @Beshere
    Разработчик
    Dart - это замена Java Script. А Java - это Java, ей на замену Kotlin придумали.
    Ответ написан
    2 комментария
  • Размазанная картинка iframe, но почему?

    rockfeeler
    @rockfeeler
    Фронтендер, дизайнер, верстальщик-перфекционист
    Короче. Проблема в том, что труба воспринимает display: none как нулевые высоту и ширину, поэтому дает постеру самое плохое качество (пиксели эти самые). В сети нашлись варианты как сделать кастомный постер хорошего качества через youtube api. Но я нашел способ проще. Вместо того, чтобы долго рассказывать, просто покажу:



    Единственный минус: в контент табов больше ничего кроме видео не впихнешь, так как страницы размечены под 16 на 9.

    UPD: Тут подумал, а что если при загрузке страницы вкладки будут обе активные (т.е. видны и видео загрузится), и только по docready ты будешь ненужные прятать скриптом? Это должно сработать.

    UPD2: Проверил, работает.
    Ответ написан
    Комментировать