Эпичный фейл - самые запоминающиеся случаи фейлов в моей карьере

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

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

  • @VanyaQA
    @VanyaQA 3 года назад +20

    У тебя реально талант рассказывать на камеру, спасибо тебе большое за видео и за историю!

    • @programisli
      @programisli  3 года назад +5

      Рассказывать реальные истории о том, что было в моем опыте мне проще всего

    • @VanyaQA
      @VanyaQA 3 года назад +1

      @@programisli это понятно, просто я за многими слежу ;) у тебя действительно очень круто получается

    • @Kiriyaki65548
      @Kiriyaki65548 3 года назад +1

      @@VanyaQA Поддерживаю. Однозначно

  • @Георгий-с9д
    @Георгий-с9д 2 года назад +2

    300 лайк был мой:)
    Твои книги, особенно по ООП Delphi, очень помогли мне, когда учился в унике. Ты 😎🔥

  • @igor87z
    @igor87z 3 года назад +8

    Маленькая история с прошлой работы. Делали свертку финансовой(платежи, списания и тд) информации базе - переносили в отдельную, не связанную с продакшаном. Старые данные перенесли, осталось почистить таблички и тут человек, который это делал, перепутал в sql-запросе знак: вместо "=" и удалил все новые данные, включая текущий день. В 6 утра делался бекап - большую часть оттуда вытащили,- а вот с 6 и до момента очистки пришлось вручную по логам собирать, благо немного было.

  • @sh.r.zaripov
    @sh.r.zaripov 3 года назад +2

    Михаил, по вашим книгам начинал изучать программирование в нулевых (я их честно покупал в магазине), рад возможности сказать спасибо не только рублём)

  • @GrandpaTin
    @GrandpaTin 3 года назад +7

    у нас годами тянулась неуловимая проблема с тем, что пользователи иногда могли видеть чужие входящие. мы выпускали отладочные билды с доп логированием, пытались фиксить абсолютно все, трясли с админов клиента схему их сети, где какие сервера, как это все настроено, провели кучу брейнштормов. проблема оказалась в балансировщике ARR. под нагрузкой просто подменялись куки и ответ приходил от чужого запроса. больше мы не используем ARR :D

  • @TheDavBag
    @TheDavBag 3 года назад +2

    Миша, от души! на шарпах не прогаю, но с npe и сложным легаси - прям в сердечко

  • @roppor2194
    @roppor2194 3 года назад +7

    Когда Ты имеешь квалификацию, и можешь поделиться полезными продуктами с другими, проведя тесты, не стыдно за деньги рекламировать решения, которые помогут в работе. В общем Я за такую рекламу, а не то что сейчас показывают по телевизору, на большинстве сайтов, и каналах ютуб.

  • @mao3193
    @mao3193 3 года назад +2

    Хе-хе... Не не не, лучше останусь в уютном game dev, чем идти в такой нервный энтерпрайз

  • @John_Noble
    @John_Noble 3 года назад +1

    хорошие примеры из практики

  • @qualcommatheros6502
    @qualcommatheros6502 3 года назад +3

    В фильме "Социальная сеть" Джесси Айзенберг отлично сыграл, но Марк явно не такой, в фильме он показан как принципиальный человек, а в реальности далек от персонажа.

  • @maksk5017
    @maksk5017 3 года назад +5

    Можешь снять видео про try catch, exceptions, error handling? Просто в видео упомянулось про это, хотелось бы послушать.

    • @programisli
      @programisli  3 года назад +5

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

    • @maksk5017
      @maksk5017 3 года назад

      @@programisli Спасибо)

  • @ДенисК-р6я
    @ДенисК-р6я 3 года назад +4

    Завалить сервер facebook, вот это эпичный фейл. Интересно, что было с админами и программистами, которые завалили социальную сеть

  • @pafnuteus
    @pafnuteus 3 года назад +2

    try except... вырвалось у Михаила... Delphi невозможно забыть)

    • @programisli
      @programisli  3 года назад

      Хотя уже много лет прошло

  • @cleverscript
    @cleverscript Год назад

    Было дело, приложение писал с онлайн оплатами через SberAPI, в логи ответов писал в папку публичную, на тестовом шлюзе была отладка, потом переключил на боевой шлюз на продакшн, а логи забыл закрыть\отключить)) Но вовремя заметил, закрыл логи через .htaccess и убрал из них конфиденциальные данные. Да это страшно)))

  • @АрсланГаджиев-ж5ж
    @АрсланГаджиев-ж5ж 3 года назад +1

    Здравствуйте. У вас отличные ролики . Скажите пожалуйста какой Линукс ставит актуальный в 2021 году для обучения и применения для разработки в python и DevOps ????
    Ещё вопрос стою перед выбором покупки MacBook Pro 16 (2019) i7 16/1tb или air m1 13 16/1tb цена на Авито оба устройства 130-140тр , какой взять для полноценной разработки python & devops и полноценной работы на Linux ??
    Просто я правильно понимаю что установка Linux спомощью виртуальной машины на макбук не является полноценной операционной системой Linux, а всего лишь урезанная его версия и полноценно программировать на нём не получиться????

    • @programisli
      @programisli  3 года назад

      Раньше в работе больше сталкивался с centos, но теперь смотрю все больше u Ubuntu ставят не только на десктопы, но и сервера. Мне Ubuntu всегда нравился

    • @programisli
      @programisli  3 года назад

      А зачем тебе Linux на. Mac? macOS - сертифицированный Linux, в нем есть такая же командная строка, можно также использовать Python и devops

  • @alexdolgov4855
    @alexdolgov4855 3 года назад +4

    Интересный фэйл - парень в названии процедуры postgres указал с вместо c. Тоесть с на кириллице вместо латиницы. Заметили за день до выкатки на прод. Час гадали почему процедура не найдена, хотя имя один в один правильное

    • @programisli
      @programisli  3 года назад +3

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

    • @evorioss
      @evorioss 3 года назад

      Было такое же: в названии роли доступа к одному из методов контроллера была русская С вместо C. Метод был недоступен, хотя у разработчика локально работало, потому что он и локально умудрился завести роль с русской С.

    • @lonchakovav
      @lonchakovav 3 года назад

      Автоматизируем аптеку, приехал наш инженер, инженер Сбербанка, развернули свое ПО, тестируем - безнал не работает. Подключается удаленно второй наш инженер. Втроем (!) несколько минут бегаем по настройкам - везде все правильно, а работать не хочет. И тут взгляд цепляется за название папки с ПО Сбера "cs552", а по негласному стандарту всегда было "sc552". Это сочетание стало настолько привычным, что глаз замылился.

  • @NecroRomnt
    @NecroRomnt 3 года назад +1

    try-catch можно использовать для обработки disposable. Using это же псевдоним для try finally {dispose}, но это решение не должно быть повсеместным, оно больше для особых решений.

    • @programisli
      @programisli  3 года назад +1

      Наоборот, using должен быть повсеместным потому, что он именно для закрытия disposible. Если ты используешь try catch, то помимо проблем ты еще и глушишь исключительные ситуации или вынужден будешь их перезапускать заново вот так:
      try {
      }
      catch {
      Dispoise()
      throw // перезапуск исключительной ситуауции
      }
      Если ты используешь using, то перезапускать exception не нужно

    • @NecroRomnt
      @NecroRomnt 3 года назад

      @@programisli finally, насколько я помню выполняется в любом случае после завершения блока try-catch. Но да, этой штукой нужно пользоваться только крепко подумав, предпочтительнее использовать using

  • @kabukijoe99
    @kabukijoe99 3 года назад +1

    добрый день, Вы написали книгу "биюлия C#"?

    • @programisli
      @programisli  3 года назад +1

      Было такое

    • @kabukijoe99
      @kabukijoe99 3 года назад +1

      @@programisli Книга супер, все понятно. для меня как для самоучки все доходчиво.

  • @SignedChar
    @SignedChar 3 года назад +3

    Еще веселые баги бывают с ненаписанным await перед асинхронным методом

  • @maflend2762
    @maflend2762 3 года назад +3

    Интересное видео:). Вот ты часто говоришь о написании запросов к бд и тут у меня возник вопрос: часто ли в проектах вы используете entity framework, или работаете с бд через sql запросы?

    • @programisli
      @programisli  3 года назад +3

      Всегда использовали SQL, сейчас я впервые работаю в компании, где используют Entity Framework

  • @NetImperia
    @NetImperia 3 года назад +5

    По поводу моего фейла. До сих пор стыдно. Клиент был очень хороший. Поэтому не стал ругаться. Или чего подобное. Но было очень неприятно. Мы для проекта клиента делали обновление. Что-то вроде системы, где за каждый поиск платятся деньги. И мы подключали новую услугу к имеющемуся проекту. Всё сделали, протестировали на отдельном сервере. Всё работало. Перенесли в прод. И только через месяц заметили, что почему-то за месяц 0 денег сняло с клиентов…
    Оказалось. Мы просто тупо забыли расскоментировать снятие денег…, и никто не заметил этого. Буквально все это пропустили. Клиент потерял деньги за месяц работы сервиса… Стыдно. Так как комментировал этот код я.

    • @programisli
      @programisli  3 года назад +1

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

    • @programisli
      @programisli  3 года назад +2

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

    • @NetImperia
      @NetImperia 3 года назад

      @@programisli Это было очень давно. Но с этим клиентом работаем до сих пор. Конечно такое я уже давно не делаю :) Но такой опыт в своё время очень серьезно заставил задуматься.

    • @SuperGta4man
      @SuperGta4man 3 года назад

      Странно, что клиент сам не стал проверять новый функционал. Мне кажется, что в первую очередь это в его интересах, чтобы фича работала. Особенно когда дело касается денег.
      Ещё вариант самим провести демо клиенту, обычно на таких встречах становятся заметны подобные проблемы (и не только) 😉

  • @alko4188
    @alko4188 3 года назад +3

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

    • @programisli
      @programisli  3 года назад +2

      Подобные продукты всегда используют такую ценовую политику, потому что она обычно гибкая и не от продешевить, а от сделать скидку. Если придет MS и скажется - закупаем 10000 лицензий сразу на 5 лет, давайте обсуждать и компания начнет обсуждать условия поставки.
      А если ты придешь к MS и скажешь, закупаю 10000 лицензий на 10 лет, какой ты ответ получишь? Идите на фиг, у нас вот ценник стоит.

    • @alko4188
      @alko4188 3 года назад +1

      @@programisli к примеру ?
      у нормальных вендоров всегда есть лицензии на небольшие и средние команды с явным ценником. и интерпрайз без цены, но с указанием, звоните, договоримся.

  • @glebkolobov
    @glebkolobov 3 года назад +1

    Про первую историю о кашбацке:
    А тогда не было интеграционных тестов? Не были получены настоящие данные?

    • @programisli
      @programisli  3 года назад +2

      Во время тестов никто настоящие данные не присылает. Банк высылает тестовые данные из своей тестовой базы, которые содержали маленькие цифры и не вызвали подозрения

  • @SignedChar
    @SignedChar 3 года назад +3

    Я только ЗА такие кешбеки! 😁

    • @programisli
      @programisli  3 года назад +1

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

    • @Сергей-г4о3н
      @Сергей-г4о3н 3 года назад

      @@programisli Тот кто составлял ТЗ. Ты как программист сделал, согласно заданию. Тут ближе QA мог пропустить. если не на реальном сервисе проверяет

  • @NetImperia
    @NetImperia 3 года назад +1

    Про null exception. Конечно, надо всё проверять. Вот только, когда тебе говорят: нам нужно завтра запускаться... И надо срочно доделать то-то и то-то и времени совсем нет на раздумья. Тут уже не про проверки думаешь. А как успеть... В таком аврале даже юнит тесты нет времени написать...

    • @programisli
      @programisli  3 года назад +1

      Вот когда в аврале и некогда нормально тестировать код, вот тогда как раз и можно использовать анализаторы, чтобы они находили проблемы

  • @Thisamma72
    @Thisamma72 3 года назад +1

    А что там за история с шифровальщиком в Торонто? Что после этого дела общественный транспорт приостановился! Вот на днях.

    • @programisli
      @programisli  3 года назад

      Не слышал о такой, чтобы транспорт встал.

  • @Kiriyaki65548
    @Kiriyaki65548 3 года назад +1

    Привет. Я хз куда писать про эту тему. Напишу сюда. Что там за поползновения, типа "A.I." заменят программистов... уже написано им кучу кода. Шо за хрень?

    • @programisli
      @programisli  3 года назад

      Я пока не волнуюсь на эту тему. Программисты пока ещё нужны

  • @itCODE
    @itCODE 3 года назад +2

    Второй)
    Всем хорошего просмотра)

  • @IgorGallemar
    @IgorGallemar 3 года назад +2

    Первый!!!

  • @Сергей-г4о3н
    @Сергей-г4о3н 3 года назад +1

    Второй!!!)