Ошибка Программиста, которая стоила 100 000 долларов

Поделиться
HTML-код
  • Опубликовано: 23 янв 2025

Комментарии • 54

  • @Deniseich
    @Deniseich 2 дня назад +7

    В 2002 году мы делали игру в британской компании которая имела филиал в беларуси. Один из наших моделлеров просто добавил логотип одного из кафе находящихся на легендарном Route 66 в америке. В игре мы ехали по Route 66 и ну логично было вставить что-то оттуда. Подумаешь какое-то кафе.. а оказалось что оно тоже настолько легендарное что нас вздрючили за это и компания заплатила те же 100 тысяч долларов тому кафе. Помню зарплаты у нас были по 300 долларов :) и это были оч хорошие зарплаты. В минске обычный работник на заводе или в магазине получал вроде 100 долларов, типа такая средняя хорошая зарплата была.

  • @andreikasmovich6878
    @andreikasmovich6878 2 дня назад +9

    Спасибо, что делитесь факапами.

  • @Shyrpa-1
    @Shyrpa-1 2 дня назад +4

    я как-то раз нашел ошибку, из-за которой пользователям начислялись на внутриигровой баланс лишние деньги, я чекнул по транзакциям, оказалось этому багу было уже несколько месяцев и успело начислиться примерно на 1млн долларов, это кончено не прямая потеря в один момент и не факт, что эти деньги как-то были переведены в реальные, но какая то часть денег была потеряна

  • @scrupypuppy4912
    @scrupypuppy4912 2 дня назад +3

    Я понимаю, у всех бывают залеты, но синьор тем и отличается от джуна, что он сто раз перепроверит, убедится, что все отработает как задумано, подготовит откат изменений на случай если что-то пойдет не так. А деплоить что-то на прод на авось. Ну тогда можно джуна нанять. Он за меньшие деньги будет те же факапы совершать.Наверное, Михаил был в запаре, не хватило времени/сил. Бывает.
    Тут же еще проблема, что к одним клиентам попали данные других клиентов, насколько я понял. А это уже утечка информации.

  • @onermaster
    @onermaster 2 дня назад

    Очень круто, что так просто рассказываете о свем косяке и относитесь к этому здраво, спасибо. Я не думаю, что вы это случайно, не осознано сделали, если честно, ну и что.. да, все устали от успешного успеха)
    Я люблю косяки, проблемы, трудности и стал так мыслить всего 1.5 года назад, когда мой маленький мирок рухнул. Мои косяки в проде лишь на мне и людей пользующихся моими прогами мало, сотнями, потому все проще и ругать меня не кому)))

  • @vano20230
    @vano20230 День назад

    Да, отдельное спасибо что делитесь такими историями!
    А то все только и рассказывают какие они вумные- вумные , а про поучительные факапы - молчок)))

  • @TheDustyChannel3334
    @TheDustyChannel3334 День назад +1

    Уважение таким тестировщикам

  • @gkenjutsu
    @gkenjutsu День назад +1

    Вначале интеграционной рекламы услышал стартаперы, как стендаперы

  • @evgeniisharaborin8071
    @evgeniisharaborin8071 2 дня назад +3

    Спасибо, что поделились своими факапами. Это жизнь все ошибаются, интересно было бы как начальство отреагировало на это? Лишило премии, дали выговор или пожурило?

  • @blademan-5
    @blademan-5 2 дня назад +1

    Спасибо, что поделился! Интересный кейс 🤔

  • @АндрейЛарионов-ж3э

    Работаю на linux. И как-то была запара, вернувшись с обеда у меня несколько задач, которые нужно было выполнить в оставшееся рабочее время. Некоторые задачи имели длительные автоматические процессы(что-то загрузить, заархвировать и т.п.). Так что я делал несколько разлчных задач одновременно. Одной из задач оказаось развёртывание и тестирование нейросети. Но т.к. одновреенно выполнялос несколько задач, нейросеть случайно была развёрнута на продаакшн сервере одного из проектов, от чего этот продакшн сервер тоже устал и решил не просыпаться.
    В ближайшие 30 минут пришлось арендовать новый сервер с большими параметрами и бэкапать со старого всё. Ещё минут 10 ушло на поднятие проекта и выпиливание нейронки.
    Проблема возникла из-за невнимательности и перегруза задачами. В какой-то момент вместо локальной консоли я начал вводить команды в консоль сервера.

  • @websystema
    @websystema 2 дня назад +1

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

  • @YacobMonar
    @YacobMonar 2 дня назад +2

    Если бы только в sqlalchemy был метод execute в который можно было бы передать сырой запрос и параметры... Эх... плохая алхимия)))))

  • @denisstepanenko3037
    @denisstepanenko3037 2 дня назад +1

    Можно скопировать прод базу на UAT и прогнать скрипт анонимизации - заменить чуствительную информацию (ФИО, e-mail) на тестовые данные

  • @DmitriiSapronov
    @DmitriiSapronov 2 дня назад +1

    Вот работаешь ты в компании где куча бюрократии. Что бы сделать релиз нужно кучу аппрувов, тестов и прочего. И если ты новичок, то воспринимаешь это как нечто плохое, не зная что именно такие ошибки и привели к бюрократии и сложным процессам релиза. Сейчас, после 10+ лет разработки, мне намного комфортнее работать с бюрократией, чем в стартапах с процессами типа из рабочего мака в прод релизить напрямую. Ну просто потому что я понимаю почему необходимо в какой то момент усложнять процессы, ставя барьеры для ошибок. Нанимать manual и automation QA, нанимать отдельных релиз инженеров, которые следят что бы релиз содержал только то что нужно и разрабы знают что делать если что то пойдёт не так. И кстати бюрократия не повод делать релизы раз в полгода. Вот я работал на работодателя у которого была мощная бюрократия, но при этом релизы раз в 2 недели очень большого монолита.

  • @andrewmoon181
    @andrewmoon181 2 дня назад +1

    Не экономьте на написании тест кейсов. Да, это стоит несколько часов разработки, но может сэкономить сотни тысяч.

  • @tv-bv8pc
    @tv-bv8pc 2 дня назад +1

    Прогнал бы рекламную вставку через нейронку, чтобы выправить звук, с эхом слушать неприятно :(

  • @nikandfor
    @nikandfor 22 часа назад

    Я, когда пользовался алхимией, все, что сложнее одного селекта, писал на обычном sql через raw запрос. Даже если не накосячишь, читаемость такой лишней обертки сильно хуже.

  • @RomanTchekashov
    @RomanTchekashov День назад

    Конореечный деплой вам нужен и фича флаги, чтобы выкатить первоначально изменения на 5% пользователей, посмотреть, что все хорошо, а потом выкатывать на остальных. + мониторить нужно это все. Насчет данных, а нельзя создать фейковые данные и проверить на них?

  • @djcvhw
    @djcvhw 2 дня назад +1

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

  • @КонстантинСавин-к2я

    О отправка email ненужным адресатам, такое ощущение что через это проходил каждый 😂, сам так отправлял и не 1 раз, го каждый раз причины отправки были разные.

  • @aberenda
    @aberenda 2 дня назад

    А почему не было ни одного слова про тесты? Как будто проблема именно в тестах, если бы тесты были бы, то такой проблемы бы не было (я про нормальные тесты, а не про тест в котором один документ, один пользователь и один email)
    Так же выглядит так что Миша не так хорошо знаком с SQLAlchemy и говорит про нее не очень хорошо
    Используя SQLAlchemy можно:
    - запрос передать как строку и выполнить его (плохой вариант, но вариант)
    - если написал запрос и лень писать тесты и вдобавок плохо знаком с инструментом (SQLAlchemy) - можно включить дебаг логи и посмотреть какой запрос выполнился (как я понял проблем с SQL у Миши нет и он бы сразу увидел ошибку)

  • @АнтонВоронов-ы9ц
    @АнтонВоронов-ы9ц 2 дня назад

    8:00 Довольно смело рассказывать о таком случае в своей жизни.

  • @migos1053
    @migos1053 2 дня назад +4

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

  • @klirmio21
    @klirmio21 2 дня назад +2

    из 10 минутного видео почти 3 минуты реклама

  • @antonioalejos1221
    @antonioalejos1221 2 дня назад

    1. У облачних провайдеров же есть Billing Alerts + можно дополнительно настроить мониторинг на cost surges
    2. А что мешает нагрузить dev среду псевдоданными, по виду похожими на prod? Объём данных слишком большой?

  • @gonry2557
    @gonry2557 2 дня назад +2

    Так вызывал бы отдельным SQL без ORM, SQLAlchemy позволяет это сделать

    • @onermaster
      @onermaster 2 дня назад

      Тоже подумал об этом, отдельный файл скриптик асинхронный, нафих эти орм вообще..

    • @tapgame_answer
      @tapgame_answer День назад

      @@onermaster если вся кодовая база на орм, то без нее сложно разобраться что там вообще на уровне базы) + если миграция изменит данные, то в скрипт не подтягивает эти правки

    • @onermaster
      @onermaster День назад

      А в чем сложность понять, в файле models описаны все таблицы.. Про миграции не спорю - замкнутый круг.

  • @ivkamgivkamg6361
    @ivkamgivkamg6361 2 дня назад +6

    Миша разучился писать заголовки - надо было написать "которая стоила 100 МИЛЛИАРДОВ долларов". А так даже слушать не стал.

    • @ihord4344
      @ihord4344 2 дня назад

      Ну и зачем ты здесь в комментах такой токсичный нужен? Иди мути классные видосы с хорошими заголовками

  • @bohdans.1479
    @bohdans.1479 День назад

    А в ошибке ли проблема? Почему не юзать профайлер? А ну да, нада ж "быстро")

  • @Яго-ж2в
    @Яго-ж2в 2 дня назад +6

    А теперь все кто топит за то, что ИИ заменит бекЭндеров.
    Попробуйте заставить ИИ выполнить это задание и при выполнении учесть все нюансы архитектуры 😂😂
    Рыгнёт ваш ИИ😅😅

    • @SoaDD
      @SoaDD 2 дня назад

      Это пока что

    • @alexchto
      @alexchto 2 дня назад +1

      Он уже заменил. Пишет тесты, документацию, делает ревью, находит ошибки. Код тоже пишет кусочками, главное правильно подавать. Разработка на много быстрее идет с меньшим количеством людей, чем могло бы

  • @katetometr
    @katetometr 2 дня назад

    А в чем проблема данные с прода залить на стейдж? Юзера и чуств информация обезличиваются, и беспредель в условиях, близких к реальным

  • @narada314
    @narada314 2 дня назад +1

    Like your freeBSD label

  • @matyev-hcuabg
    @matyev-hcuabg 2 дня назад

    Баг на 100к это ещё не много. Я видал ошибки на 300к, и больше

    • @hitman8924
      @hitman8924 2 дня назад

      А рассказать можешь? А он может

  • @artemnaumov3577
    @artemnaumov3577 День назад

    жестко)

  • @Dik131WZD
    @Dik131WZD 12 минут назад

    О,twenty one pilots

  • @scrupypuppy4912
    @scrupypuppy4912 2 дня назад

    Это у вас такой туман за окном?

  • @AlehPanasiuk
    @AlehPanasiuk 2 дня назад

    а тесты????? юнит, интеграционные, е2е

    • @Яго-ж2в
      @Яго-ж2в 2 дня назад +2

      Скорее всего кантора экономит бабло😊 если бы был отдельный, отдел тестирования, вряд ли такое бы могло произойти.
      Человек, который со стороны тестирует код, всегда найдет больше недочётов, чем тот кто этот код писал.

  • @stunislove190
    @stunislove190 День назад

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

  • @kuradiraisksnowman
    @kuradiraisksnowman 2 дня назад +1

    Откуда появилась мода говорить СИкуэл, если по факту читается как ЭСКУЭЛ! ЭСКУЭЛ правильно!
    А что касается темы видоса - обычно за такую оплошность увольняют сразу!

    • @vano20230
      @vano20230 День назад

      Кто там кого за такое увольняет?
      Очень часто говорят сиквел, вместо SQL.
      Это жаргонизм.
      Так же говорят стринга вместо стринг,
      Пальзак вместо пользователь да ещё много чего...