Чему я научился за 30 лет работы программистом

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

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

  • @titanovsky
    @titanovsky Год назад +9

    Ох, спасибо, Михаил. У меня опыта в программирований недавно стукнуло 3 года. И мне нравится тейк про то, что нужно осознанно подходить к задаче, и прежде чем что-то выбрать или начать производство - понять, а что это такое и нужно ли оно? Не идти просто так за всеми. Такой же подход в каком-то из подкастов говорил Соер, ну он собственно и топит за осмысленную разработку, когда ты понимаешь, что делаешь.

    • @programisli
      @programisli  Год назад +4

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

  • @MigelMora30
    @MigelMora30 Год назад +5

    Благодарю, интересно. Записывайте еще, если не трудно.

  • @igorkirichenko3715
    @igorkirichenko3715 Год назад +2

    Много новых терминов узнал, спасибо за рассказ)

  • @antonlogunov7773
    @antonlogunov7773 Год назад +4

    Спасибо за свои программысли, очень помогают увидеть вещи под другим углом)

  • @avva3802
    @avva3802 Год назад +16

    Спасибо, личный опыт это драгоценно. Спасибо и Божьих благословений Вам и Вашим близким.

  • @master8920
    @master8920 Год назад +1

    Интересная история ❤

  • @otakoi69
    @otakoi69 Год назад +1

    Начала изучать программирование с месяц назад, 90% терминов в видео не поняла от слова совсем, но уловила ваш посыл, спасибо)

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

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

  • @JleHb4iK
    @JleHb4iK Год назад +1

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

  • @RustamHelloWorld
    @RustamHelloWorld Год назад +24

    Некоторых в настоящее время при слове "монолит" просто вводит ступор и ты в их глазах становишься самым непонимающим айтишником на самом низу эволюции) Мне нередко приходилось встречать такую реакцию людей на собеседованиях и на местах работы. Более свойственно это молодым людям, которые привыкли гнаться за модой и модными течениями, пытаясь все в мире перевести на эти новые рельсы, это лишь показывает их малый опыт в мире IT. Я встречал сеньоров, которые становились сеньорами в 23, и мидлов которым было под или за 50, при этом они работали в одной конторе, и имели за плечами разницу в опыте измеряющуюся в десятках лет) Первые просто угодили своей конторе, а вторые работали в соответствии с совсем другой философией) Все относительно как говорится.
    Хорошо что я посмотрел это видео, так как в нем именно это еще раз подтверждается и я теперь не буду себя чувствовать неуверенно при разговорах о монолите и его праву на существование в современном мире.

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

      Новые рельсы это хорошо, если они производительные

    • @НикН-о7о
      @НикН-о7о Год назад +2

      А ещё git не нужен, даёшь папочки с датой)

    • @RustamHelloWorld
      @RustamHelloWorld Год назад +1

      ​@@НикН-о7о ага шутник, пока вы пытаетесь рефакторить, везде пихая DI, выбирая лучшую структуру проекта, постоянно переделывая ее, делаете избыточные реализации типа закладывая код под масштабируемость в будущем, которая никогда скорее всего на проекте не наступит, тратя кучу времени и делая проект дороже, мы уже давно запиливаем процесс и запускаем его в прод.

    • @rerurkful
      @rerurkful Год назад +1

      @@НикН-о7о не, ну не))

    • @rerurkful
      @rerurkful Год назад +1

      Ну фиг знает. Монолит монолиту рознь. Иногда очень классно раскидать распределение задач по разным ПК. Да и машиабируемость, да и вообще допиливать легче. Это на мой взгляд

  • @mytyan92
    @mytyan92 Год назад +3

    Как хорошо, что попал на Ваш канал. Спасибо большое за творчество! Засмотрелся, подписался! Интересные мылси, хорошо поставленная речь! Очень интересно послушать матерого кодера)))

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

      Спасибо

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

      @@programisli я только начинаю изучать язык программирования, и решил я изучать питон, не знаю на сколько правильный выбор, но полагаю, что для новичка именно этот язык программирования отличный порог вхождения в тему. Так вот вопрос! Что именно необходимо минимально знать и Как правильно реализовать полученные знания для того что бы устроиться в компанию?

  • @nikolay_afanasev
    @nikolay_afanasev Год назад +1

    Отличный выпуск, спасибо! =)

  • @РоманФСмирнов
    @РоманФСмирнов 2 месяца назад +1

    Не следовать мейнстриму - прекрасный совет. В целом, я его подчерпнул много лет назад из эссе «Побеждая посредственность» Пола Грэма
    И могу и на своём опыте подтвердить, что это классная стратегия.

  • @ValkRover
    @ValkRover Год назад +1

    Красиво!

  • @fromnsk
    @fromnsk Год назад +3

    Чему я научился за 25 лет программирования - красиво делай, красиво будет

  • @vd3598
    @vd3598 Год назад +6

    Много написал. Считайте это выплеском боли человека, который работает на ужасном монолите и уже не в состоянии это терпеть =) С технической точки зрения и в идеальном мире не могу поспорить. Но в реальности мне кажется есть больше аспектов, чем только то, что монолит может выдерживать те же нагрузки. Я встречал однажды такой монолит, который сам с собой общался через внешнюю очередь и просто разные модули этого одного монолита подхватывали нагрузку, когда могли. Код - по сути монолит, но можно скейлить количеством задеплоенных инстансов почти, как в микросервисах, имея при этом более простую инфраструктуру. Главная проблема вылезает, когда растет команда. В такой команде получается, что каждый может вроде отвечать за какую то свою зону, но доступ имеет ко все кодовой базе. Даже если представить, что в изначальной версии мы имели идеальную архитектуру, что вряд ли, со временем начинается каша. На каждого девелопера сверху давят менеджеры по срокам и начинается срезание углов - где-то надо было использовать готовый код, но что-то не срослось и сделал запрос в общую базу в своем модуле, где-то не понял замысел архитектора и добавил свой код в не совсем верный модуль, следующий разработчик посмотрел на это и решил, что так и надо и пошло поехало. Через N лет получаем что-то невероятное мягко говоря =) Кроме того, чаще всего монолит - это одна общая база и все это ползет в нее тоже. У меня опыт, конечно, не гигантский, но я работал и на нескольких монолитах и на микросервисных проектах. Все монолиты, что я видел, были просто ужасающими. Сейчас уже пол года работаю над довольно крупным монолитом, команда опытная, сеньоры и архитекторы сохранились на проекте еще почти со времен его зарождения, код стандарты, код ревью довольно жесткие и аппрувить могут только несколько избранных. Но это не помогает. Во певых, даже эти избранные вообще ничего не помнят про большую часть проекта. Что в целом не удивительно, когда отвечаешь за все сразу. Проект превратился в полное месиво, где нет никаких разделений ответственности, все что угодно может происходить где угодно. Я так за эти пол года и не понял изначальной идеи архитектора, за слоями костылей этого уже не разглядеть. База данных - вообще кошмар. Под сотню схем, сколько таблиц вообще один господь бог знает. Есть много таблиц дубликатов или чего-то в стиле payments, payments1, payments_depricated и тд. В таблицах сотни полей, большая часть из которых пустые и никто не знает, зачем они нужны и нужны ли вообще. Делать релейшены между таблицами никто и не помышляет уже давно. Данные, которые вроде должны бы храниться где-то рядом, могут быть разбросаны по разным схемам в рандомном порядке. Микросервисная архитектура, что я видел тоже была не идеальной. Но она хотя бы устанавливает более четкие границы между зонами ответственности, которые нарушить очень сложно. Над разными зонами могут работать разные команды, что снижает объем того, что необходимо знать разработчику на своих участках. Сервисы сильно проще для понимания. По мне, если не иметь какую-то идеальную команду, где все дисциплинированы, одинаково хорошо разбираются в технологии и при этом еще и не меняются, то монолит будет эффективнее в разработке. У тебя все под рукой, ни с кем договариваться не надо. Берешь и делаешь. Но все упирается в команду, как по мне. Люди не идеальные, они меняются, знания теряются, а область ответственности растет. И вместе с этим растет сложность добавления новых фич. Микросервисы в начале сложнее. Дополнительные сложности с инфраструктурой, общением между командами и.т.д. Но эта сложность со временем растет предсказуемо и не так сильно. В то время, как сложность работы с монолитом в начале меньше, но со временем ускоряется все больше, пока компания не помрет в один момент. Мне кажется идеальный вариант начинать с монолита, который изначально планируется, под разбиение на сервисы в момент, когда сложности этих двух подходов пересекутся. И последний аспект, уже более относящийся к самому девелоперу. Возьмем девелопера, который проработал на монолите в котором из стека всего и есть, что C# и SqlServer. Кому он будет нужен на рынке, если его вдруг уволят или компания умрет? Это же просто конец карьеры, если только не найти точно такую же компанию.

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

      хорошо написал, видел подобное...

    • @paxbritanica5217
      @paxbritanica5217 Год назад +1

      В своей практике поступаем так, MVP-версию (прототип) делаем как монолит, чтобы примерно сделать демо основных замыслов. Если поддерживается дальнейшая разработка, тогда проектируется более детальная архитектура с разбивкой на сервисы и выбором стэка.
      Чтобы избавиться от старого кода, ненужных таблиц обычно делается новая ветка проекта, в которую переходят только актуальные модули и таблицы данных.

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

      Послать все наХ в таком случае 😂 И переформулироваться в другую специальность 😂

  • @andreilebedev6722
    @andreilebedev6722 Год назад +2

    Забавно. Задавали ли я вопрос Why? Не часто, но задавал. Обычно ответом было - потому что так. И все. Я исхожу из одной простой мысли данной мне моим первым и наверно одним из лучших в моей жизни начальником еще в советском НИИ - лучшее враг хорошего. Ничего не надо улучшать, если оно и так работает. Я нажимаю кнопки с 1986 года, хотя и не все это время подряд. В 1992-94 работал дальнобойщиком, потом настраивал пневматические системы. Веселое время было, но в 1997 все же вернулся в программизм и уже в 1999 получил работу в США. Так что что в программизме самое важное, вопрос наверно открытый. На мой взгляд после примерно того же 30 летнего опыта (хотя с алголом я познакомился еще в школе в далеком 1979 году) ответ достаточно прост, хотя и другой - чем меньше ты нажимаешь кнопок, тем лучше для тебя и твоего продукта.

  • @laskabosco6810
    @laskabosco6810 Год назад +2

    Как я понял. Надо делать удобно и в зависимости от требования:)

  • @rvmzes3531
    @rvmzes3531 Год назад +14

    Мне 18 и я хочу стать программистом. Люблю посмотреть такие видео , очень мотивируют к продвижению в этой сфере 😁

    • @Edvard-Aliev
      @Edvard-Aliev Год назад

      У автора видео много хороших книг по C# у самого есть почти все книги Миши 😊

  • @ivmerk
    @ivmerk Год назад +25

    Выходить из vim….)))

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

      Научился, но это не самое важное из того, что я узнал

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

      @@programisli очень некрасиво поступаете, вас просят совета, а вы просто "забили болт", проигнорив . Надеюсь вам это все вернется и люди будут к вам также относиться

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

      Юмор для юниоров:)

  • @ukatai
    @ukatai Год назад +1

    Сделайте, пожалуйста, выпуск "Куда уходят умирать программисты за 50". Есть куча роликов, как стать джуниор программистом, а вот ничего про то, как/куда продолжить быть программистом.
    Опыт в программировании 20+, бэк на java, застоявшийся мидл, никак не сдвинуться дальше. На своём месте работаю качественно. Работал в монолитах, умею в микросервисы. Освоить новое - не проблема. Но, наверное, гореть только работой уже не готов, когда днем и ночью только код, курсы, постоянные флешмобы "лучшей версии себя". Всё-таки семья, хобби, ложиться костьми не хочется. Возраст - сорокет с хвостом. Оглядываюсь по сторонам - практически не вижу своих ровесников рядом. Куда они уходят умирать, с какой скалы сбрасываются? Знаю, некоторые перешли в аналитиков. Кто-то - в админов/девопсов. Кто-то в бухгалтерию(раньше был тренд). Кто-то в архитекторов или в административную работу, управление. В чём причина этого, боятся, что год-3-5 и мозг сдаст, не смогут конкурировать с молодняком на равных? Как вы видите возможный путь? Есть ли вариант переквалифицироваться в датасайнс или еще во что-то смежное интересное перспективное(понятно, что это нифига не просто, тут скорее речь о возможном рывке в 2-3 года).
    Понятно, что в Канаде/США и России этот путь - он разный, но всё же. Спасибо.

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

      Если нравится дата сайнс, то можно переквалифицироваться. В Канаде много программистов в возрасте, которые продолжают писать код. Я сам не знаю, куда деваться после 50

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

      ​@@programisli, а никуда и не надо !
      Надо быть профессионалом в своем деле . Глупо расти 30 лет и потом куда то уходить. Вы же профи ! А профи всегда нужны везде .
      Главное физ.форму держать .

  • @IliaK-w6m
    @IliaK-w6m Год назад +2

    Михаил, большое спасибо за видео и личный опыт!
    Хотелось бы также услышать Ваше мнение насчет ChatGPT и страшилок, что скоро developers, technical support engineers, QA engineers могут быть заменены искусственным интеллектом. Спасибо

  • @maratiakupov4730
    @maratiakupov4730 2 месяца назад +1

    Когда зашла речь про главный вопрос Why, сразу всплыло, что в Татарстане, часто заменяют "почему" на "зачем")) Смысл причинности или цели и для меня стал компромиссом...
    А что вы вкладываете в Why - желание узнать цель или причину?)

    • @programisli
      @programisli  2 месяца назад

      И то и другое очень важны

  • @jaloliddinhaqnazarov
    @jaloliddinhaqnazarov Год назад +1

    Здраствуете Михаил можно вопрос стоит ли изучат Xamarin для мобильной разработка

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

      Можно, но он не сильно популярен. Я бы лучше Flutter изучал

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

      ​@@programisli, а почему не Kotlin?!
      И могли бы вообще видео снять про ваше мнение про Kotlin?! Спасибо

  • @MrCter
    @MrCter Год назад +2

    ещё один хороший навык: умение спрашивать: а почему нет? особенно когда в команду приходит новенький и модный мальчик и спрашивает:
    а почему вы это делаете на монолите, а не на микросервисах?
    или а почему вы используете TFS, а не модный сейчас git. В ответ спросить его: а объясни почему по-твоему мы должны переходить на эту технологию? Пусть объяснит. А самому внимательно послушать.
    Кстати, вопросы почему? и зачем?: они принципиально отличаются друг от друга. И в английском тоже их часто путают:
    Why - meaning: what caused this?
    And:
    what for - meaning: what will be the outcome or the result if you do this?

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

    Согласен с автором. Мне лично тоже запомнился случай, когда мой начальник снаряжал сервачок в какой-то технологический цех еще на 2000 винде и тамошний начальник айти завел речь, что надо бы автоматические обновления, антивирусы подрубить, на что начальник так же ответил: нафига? Сервак стоит, собирает свои данные с датчиков, в него никто не лезет, и так и будет работать годами. Поставь автообновления и начнется: то то не так, то это не так, здесь перезагрузитесь, здесь переустановите.
    А потом довелось немного коснуться японского айти, там вообще могут работать на доисторическом или самопальном софте и не париться как у нас: ах ох, надо срочно обновляться!

  • @dmitriyobidin6049
    @dmitriyobidin6049 Год назад +2

    То, с чего следует начинать всем - монолит, его хватит условным 80% по принципу Парето, а на время выхода на IPO хватит всем.
    Золотая середина - это SOA, но не микросервисы.
    Микросервисы - это удел единиц, но это модно, поэтому они везде.

  • @Serebriakov9
    @Serebriakov9 Год назад +3

    Очень неудобно поправлять, но не flash mode, а flash mob (толпа).

    • @programisli
      @programisli  Год назад +1

      Без проблем, я нормально отношусь к таким вещам. Во время записи просто забыл вообще как называются такие. Даже флеш мобом это не назовешь, кажется есть другой термин

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

    попробуйте открыть для себя "serverless" патерн, вместо монолитов и микросервисов.

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

      Это не универсальная таблетка

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

      @@programisli SOA architectures преполагает "стабильную топалогию", т.е. лукавицу по любому нужно делать.
      ну что-бы два раза не вставать, зачем париться только с "фанкшен (или домэйн) лайером", если можно и "процесс лайер" переложить на функции?

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

    ссылку на интервью так и не разместили)

  • @MrTshape
    @MrTshape Год назад +4

    У монолитной и майкросёрвис архитектуры есть у обоих свои преимущества и недостатки, как вы и сказали. Майкросёрвисы можно можно более точечно скэйлить. Монолит же можно скэйлить только полностью. Всё решает use case а не хайп

    • @user-hz1yc6cw6k
      @user-hz1yc6cw6k Год назад

      Нет. Монолит это больше маркетинговое название, придуманное для того, чтобы продать тебе микросервисы в облаке. А правильно говорить N-tier архитектура. В ней могут быть и сервера баз данных, и сервера для бизнес логики, и сервера для веба. Можно выделять отдельные небольшие приложения для специфических задач на отдельные сервера, и, в общем делать все что угодно, и все это прекрасно скейлить. До того, как облачные провайдеры начали впаривать микросервисы, проблем с масштабированием по частям никогда и не было. Например, у Microsoft в Azure до сих пор доступна инфраструктура Azure Cloud Services из домикросервисной эры, в которой сервера объединяются в так называемые роли и эти роли могут автоматически скейлиться. Там ты просто настраивал выкладку билда на стейдж и все, не нужно было никаких девопсов, YAML, ничего - ты просто писал код и не парился о том, сколько серверов нужно для какой части проекта. Поэтому не сказал бы, что в классической архитектуре прям уж нельзя масштабировать отдельные части, там для этого очень много возможностей, которые зачастую были даже удобнее докера и микросервисов. Другое дело, что чем меньше у тебя частей, тем меньше накладных расходов на их взаимодействие, поэтому в простых проектах для лучшей производительности обычно все кроме базы данных держали в одном приложении и скейлили все разом по серверам, а не по уровням.

  • @Erik-wq3cr
    @Erik-wq3cr Год назад

    Спасибо за видео! Интересно, у монолитного Stackoverflow компиляция тоже занимает весь день?🤔

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

      Не думаю. У меня Sony электронный магазин на горячую занимал не более минуты. Даже полная компиляция с нуля не более 5

  • @alexanatem7218
    @alexanatem7218 Год назад +1

    А мы с коллегами второй месяц уже Apache nifi в кубер пытается запихнуть, а что поделать, а что поделать, никакого монолита))

  • @aleksandrdemidov6058
    @aleksandrdemidov6058 Год назад +2

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

    • @programisli
      @programisli  Год назад +1

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

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

      @@programisli это как в том анекдоте - "ну и вы то-же говорите" ) ... я на прошлой работе видел такой монолитище, что я даже не представляю как микросервисы ему помогут ) ... хотя менеджеры только об этом и говорили, но ни один не взял на себя ответственность начать его "резать"

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

      И правильно делали. Микросервисы - инструмент для решения проблемы организации работы программистов. Это зона ответственности менеджмента

  • @Max-nr1bv
    @Max-nr1bv Год назад +2

    Очень крутое видео! Можете рассказать любопытному фронтендеру возможна ли такая нагрузка при которой понадобятся микросервисы или это нужно только для организационных вопросов в больших командах?

    • @programisli
      @programisli  Год назад +2

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

  • @MrCter
    @MrCter Год назад +1

    Относительно cloud vs 'on premises'. Есть такой зверь: Azure on premises
    Он спасет мир :-)

  • @-.._._..-
    @-.._._..- Год назад +1

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

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

      Актуальный стек конечно важно. И обновлять стек с целью быть на коне - это хорошая причина "почему" это стоит сделать

  • @baofusan2669
    @baofusan2669 Год назад +3

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

    • @programisli
      @programisli  Год назад +2

      Целое видео пока не готов записать, я еще думаю над этим. Если коротко, то пока не заменят.

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

      @@programisli в целом согласен и ответ знаю, но просто жду ваш ролик маэстро, как будет время и желание естественно

    • @первый-я4ю
      @первый-я4ю Год назад

      да уделали но вопрос кому это нужно и ответ авторитарной системе которая стремится подчинить себе все и вся но это объять не объятное парадокс? да! но на этом и стоит движение вперед

  • @sinjoi7445
    @sinjoi7445 Год назад +1

    Привет. Посмотрел произношение build на американском англ. и на британском - оно одинаковое. Я думаю, что это дикция конкретного человека была - 'булд'

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

      Это как русский - как произносят слова в городах и деревнях, это разные вещи. Так что здесь британец был явно со специфичным акцентом

  • @pu0081
    @pu0081 Год назад +2

    Привет. Услышал много раз слово монолит. Это о чём?

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

      Ты не знаешь, что такое монолит?

    • @pu0081
      @pu0081 Год назад +1

      @@programisli ааа, все про это знают, а я нет, как же так! Погуглил специально, чтобы понять терминологию. На самом деле именно монолиты я и собираю на Delphi. Как пример, использую встроенное средство для работы с базами. И 100% кода собирается при компиляции. На данном этапе я собираю порой в рамках 1 приложения сразу несколько EXE-шников, для чего написал отдельное приложение-инструментарий, ибо батники и скрипты на msbuild оказались костылями, управлять которыми неудобно

    • @pu0081
      @pu0081 Год назад +1

      Добавлю, навык формулировать и задавать правильные вопросы полезен не только в dev

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

      Я просто не понял твоего изначального коммента, что ты именно ввиду. Если ты делаешь десктопные приложения в Delphi то это не монолит и не микросервисы, это просто десктопные. Ты можешь вызывать различные сервисы как WebAPI.

    • @pu0081
      @pu0081 Год назад +1

      @@programisli Речь идёт о терминологии. Чтобы к ней выработать отношение, хорошо бы всем прояснить, о чём речь. Я сталкиваюсь иногда с тем, что термины, применяемые блогерами, с ходу не были известны, а по мере вникания оказывается, что таким ты уже лет 100 как пользуешься и есть свой опыт, которым можно делиться. Чтобы использовать микросервисы в чистом виде, это должна быть обособленная задача, к использованию которой могут быть причасны несколько разных или несколько экземпляров приложений. Другая сторона медали. Как только решаемая задача усложняется, скорее всего выделение её в отдельный микросервис также усложняется. Поэтому и заинтересовал эфир, ведь чужой опыт он иногда дополняет собственный. И так как я с микросервисами знаком минимально, но выделяются среди множества задач экосистемы те, что по логике могут быть обособлены в отдельное решение, мне тема интересна. Я подошёл к решению, когда часть функционала приложения я выделяю в отдельное небольшое приложение, и оно разбирает команды, полученные по TCP/IP и в командной строке. Я называю такие микро-приложения ассистентами. Причина их появления в том, что когда требуется выполнить несколько действий, связанных с основной темой приложения, нет необходимости запускать его полностью, с интерфейсом, достаточно запустить в режиме - инициализируй состояние готовности, предварительная подготовка данных, подключения разные, отработай несколько команд и закрыв всё, прописав в логи, заверши работу. И на время выполнения этого движения некий набор межпрограммных взаимодействий будет недоступен, своего рода "критическая сессия". Но это, как я понимаю не совсем микросервисы. Вопрос в буквальном определении терминов. Скорее всего, дальше я буду двигаться в сторону, процесс приложения висит, всё инициализировано и готово, получил-отработал команды, и дальше себе "вишу" ) Если это называть микро-сервисом, то да, использование таких решений у меня назрело, так как подготовка к выполнению порой сравнима по времени с выполнением, и когда через батник или послав пакет команд я запускаю кучу раз на выполнение это микро-приложение, происходит многократная инициализация и это бессмысленно и по факту просто как потеря времени. Но я вышел из этого, было несколько случаев, когда я передавал именно большой пакет команд, то есть не несколько вызовов а сценарий, 5 команд, если условие, то следующие, иначе другой набор, и сценарии решают задачу того, чтобы 100 раз не проделывать инициализацию. Если сценарии возможны, сейчас я использую сценарии. Но в чистом виде, как микросервис, я планирую таковой, ибо есть задача, растянутая во времени в том смысле, что некоторые действия над информационным объектом нельзя спланировать как сценарий, это как хаотически возникшие потребности. Я о задаче техподдержки, когда доступ к состоянию некоторой задачи требуется по принципу - ну как я проверю, как там сейчас дела, а есть ли ошибки, а как проц и память нагружены, а если в задаче давно открытые базы и сложные индексы не используются, что если я позакрываю. И хорошо бы тиражирование и перенос на новый клон работающего приложения проделывать автоматом. Думаю над этим, и послушал лекцию про докер, как бы, двигаюсь в ту сторону. Вот такой мой опыт. Послушать опыт человека, книгу которого я читал, для меня честь. Если надумаешь делать видео про практику использования докера, без воды, а конкретно, задача, вот сценарий, вот так это получается, то прими мой голос в поддержку. Спасибо за интересные видео

  • @alfonsoharassment8224
    @alfonsoharassment8224 2 месяца назад +1

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

  • @ВераРадаева-ы7ф
    @ВераРадаева-ы7ф Год назад

    Добрый день! А где можно посмотреть что за сайт на бусти?

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

    Что такое трафик?

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

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

  • @paxbritanica5217
    @paxbritanica5217 Год назад +1

    Стоит ли 45 летним программистам переезжать в Канаду?

    • @programisli
      @programisli  Год назад +1

      Я думаю, что будет сложно, но можно.

  • @Юрчик-л8у
    @Юрчик-л8у Год назад +1

    Учу с#, и докер кажется пока сложно. Но все таки придётся учить его

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

      Скорей всего, он полезен и с монолитами и микросервисами

    • @Юрчик-л8у
      @Юрчик-л8у Год назад

      @@programisli это как с гитхабом, вначале думал все сложно да и зачем он мне сейчас 😁

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

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

  • @fanfromzp
    @fanfromzp Год назад +1

    Спасибо за интересную информацию. Но насчет микросервисов: оптимизация работы конечного продукта может быть не всегда является окончательной целью. Если проект ОЧЕНЬ динамично развивается и на нем сидит с пол тысячи сотрудников, то прогонять, к примеру, через CI\CD работу каждого сотрудника может значительно замедлить общий процесс, тк dev окружение не всегда такое "щедрое", как prod)) А замедление процесса на таких объемах может конвертироваться в солидные финансовые потери. Возможно для Netflix с их штатом в 15000 этот переход решил какие-то проблемы в бизнес процессах. У стека, я смотрю, около 200 сотрудников. Что скажете если посмотреть на эти програмысли с такой точки зрения?)

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

      200 сотрудников не значит, что 200 программистов. Там много тостеров, админов, инженеров, программисты могут работать над разными вещами. Поэтому монолит для них работает. Я не знаю, сколько из сотрудников Netflix программисты. Но если даже 1000, то тут ясно, почему они выбрали микросервисы. Да и проект у них шире, так что я уверен, что у них микросервисы оправданы

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

      @@programisli цифры по сотрудникам приведены только для объемного сравнения. Понятно, что доля программистов будет совершенно другая, но в процентном соотношении этих двух компаний все равно можно увидеть разницу в штате. Но основная мысль моего комментария "тире" вопроса именно в том, что не всегда решающим аргументом может быть 100% техническая составляющая. Иногда это может быть завязано на оптимизации внутренних бизнес процессов, которые напрямую влияют на финансы бизнеса. Так ли это?

  • @ДмитрийСитников-ш2х

    Крутой дядька) Сам фронтом интересуюсь. Но когда смотрю про бэк ребят, то понимаю какие они лютые) И, наверное, понимаю, почему ребята из бэка не считают фронтменов за прогеров)

    • @programisli
      @programisli  Год назад +1

      А я не знаю, почему фронтов не считают за программистов. React и Angular достаточно серьезные фреймворки

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

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

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

      @@ShoxaKardashian 🤣🤣🤣🤣

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

      @@programisli а extjs как? есть спрос?

    • @VasyaFF
      @VasyaFF Год назад +1

      Я ангулярщик. Было два проекта, в которых главным был джавист. Джавист выбрал Ануляр для фронта. Но только потому, что Ангуляр внешне похож на джаву. Он говорит, как надо делать (исходя из своих джавистых скиллов), но получается не очень. Но виноват - я. Вот так. Будьте бдительны! Фроненд - это не только div+div+div+display:flex;

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

    Привет, что думаешь о гос службе в IT? Я имею в виду фсб или кгб какое-нибудь. Как считаешь стоит ли начитать свою карьеру там? Будет ли это хорошим опытом? Да и вообще общее мнение интересно насчет этого.

    • @programisli
      @programisli  Год назад +1

      Я там не работал. В ФСБ наверно не стал бы, думаю там есть потом ограничения на выезд из страны, а я люблю путешествовать. Если ограничений нет, то ... сложно сказать, не задумывался об этом

  • @31danmaster31
    @31danmaster31 Год назад +1

    20 мин про то, что научился задавать вопрос why.

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

      Ну я в начале предупреждал, что будет долго, с историями, почему я люблю спрашивать почему

  • @ВиталийАнаньев-е3з

    Почему я не увидел это видео два года назад когда начал изучать бэк)

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

    Помогите пожалуйста мужу устроиться на работу, он программист C#, проработал 15 лет в компании, уволили, ищет работу, но пока отказы, у нас ребёнок инвалид, работать я не могу, муж один кормилец в семье, а у нас ещё кредиты, помогите пожалуйста, может быть кто нибудь сможет помочь, ему удаленка нужна 🙏

  • @АлексейТ-з3ь
    @АлексейТ-з3ь Год назад +3

    Профи фигни не посоветует: думай что и зачем делаешь и не забывай про бабки))

  • @user-lv3hn6uz4e
    @user-lv3hn6uz4e Год назад +1

    Жизненно, особенно когда твой сервис и так является Микросервисом в большой системе, а вас заставляют распиливать ещё на 100 разных сервисов его) это не всегда нужно
    Это как с базами, иногда нужна и денормализация

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

      Когда интересно нужна денормализация?)

  • @БулатГарифуллин-м5д

    Я в шоке что вы уже 30 лет работаете) Вы выглядите на 35, надеюсь не с 5 лет работаете))

  • @rerurkful
    @rerurkful Год назад +2

    У меня пермоментое состояние того, что ты только подумал что, чему то научился. А потом понимаешь что ничего не знаешь

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

    Как понять, что ты стал програмистом?

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

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

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

      @@programisli спасибо

  • @benzed1618
    @benzed1618 Год назад +2

    OOOOOooooooooooooo
    двигаца вперёд быстрее
    ПОчему Зачем

  • @MrDarthat
    @MrDarthat Год назад +2

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

  • @yarbersheer8559
    @yarbersheer8559 Год назад +1

    За 30 лет работы программистом научился быть ДевОпсом)

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

      И им тоже, говорил про это здесь DevOps глазами программиста - как я познакомился с DevOps
      ruclips.net/video/_N1jNu7dDrM/видео.html

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

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

  • @Yegoros
    @Yegoros Год назад +1

    Прямо задел за живое. Мы распиливаем свою срм на отдельные части и связываем микросервисами. Наняли кучу девелоперов, тестировщиков, аналитиков, ушли в клауд. Но блин новые девелоперы ничего не знают про нашу систему. Куча созвонов, митингов. Обычная ситуация когда у девелопера в день 2 часа митингов. В таком режиме полтора года. В результате юзеры по-прежнему используют старую репортинговую систему вместо новой потому что с новой куча проблем. А у нашей старой дев команды кроме обычного добавления фич в систему прибавилось куча дополнительной работы с интеграцией.

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

      До слез знакомая история

  • @ВячеславПолыгалов-р9э

    Миша, детей твоих давно не видно... Покажи хоть как-нибудь!

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

      На неИТшном канале они появляются часто m.ruclips.net/channel/UC3VuryIjs0xXFu2vlbdbP0Q

  • @IgorGallemar
    @IgorGallemar Год назад +2

    Первый!!!

  • @Ignat99Ignatov
    @Ignat99Ignatov Год назад +1

    Если вы задаете вопрос зачем это вам и честно не можете на него ответить, то это значит что вы выгорели и уже физически не тянете конкуренцию с молодыми и тупыми, которые такие вопросы не задают. Они знают ответ. Затем чтоб получить вашу зарплату вместо вас.

  • @АртёмИгорьевич-ы6п

    Второй после если вести счёт

  • @n.zelinskiy9510
    @n.zelinskiy9510 Год назад +1

    А с кофе прикольно получилось то!) Буква "Р" такая картавая, акцент американский будто))

  • @alexandrl2677
    @alexandrl2677 Год назад +2

    Это оно? ruclips.net/video/nZX13dVxnJw/видео.html

    • @programisli
      @programisli  Год назад +1

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

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

      @@programisli просто картинки из видео, там тоже были)

    • @programisli
      @programisli  Год назад +1

      Картинки взял уже из этого видео, потому что не нашел то, которое смотрел в декабре

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

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

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

      Почему монолиты дорого масштабировать?

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

      @@programisli потому что часто нужно отскейлить отдельный кусочек, бывает даже сотнями инстансов, если делать 100 копий монолиотов то это по ресурсам серверов накладно(Дорого). Еще надо помнить что ошибка в монолите приводит к краху всего приложения, в то время как в микросервисах упадет лишь один сервис (и то его один инстанс)

    • @user-hz1yc6cw6k
      @user-hz1yc6cw6k Год назад

      @@kl45gp Почитайте на досуге как устроен веб сервер, может перестанете говорить глупости.

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

      ⁠@@kl45gpможно отрубать все ненужные кеши и роутить на определенные машины определенные урлы. По ресурсам будет как микросервисы, а чаще даже лучше

  • @ВиталийЛомоносов-и5ъ

    Послушал 9 минут. Ничего не понял.

  • @AlekseiScorpion
    @AlekseiScorpion Год назад +2

    А зачем 30 лет работать программистом?

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

      Мне нравится код писать. Я сейчас менеджер, но продолжаю для себя писать что-то

  • @Testtsettest
    @Testtsettest Год назад +1

    Микросервисы решают проблему менеджмента. Поэтому толковые книжки об этом сразу начинаются с Conway’s law.
    Если монолит не соответствует орг-структуре, то начинаются проблемы с временем доставки фичей до пользователя.
    Да, есть технические преимущества, но они менее значительны. При желании можно хорошую архитектуру сделать с монолитом и десятком сервисов вокруг. Но если у вас 40 команд работают изолированно с разной скоростью, вас это не спасёт.
    А вот если 20 программистов в пяти командах, то нафиг это не надо. У них просто на тулинг времени не будет и они вечно будут заняты проблемами интеграции своих сервисов.

  • @baofusan2669
    @baofusan2669 Год назад +1

    Программировать? Лол

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

    Удивительный канал, программист с опытом вместо того чтоб работать собирает донаты со зрителей. Успешный успех?
    Докер это отстой, они используют виртуал бокс а в них имиджи из говна и палок слеплены. Лучше Фотон ОС и ВМваре.

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

      У меня есть работа. Это же донаты, не хочешь, не участвую, всё добровольно

  • @qualcommatheros6502
    @qualcommatheros6502 Год назад +1

    А почему Миша записывает это видео?

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

      Чтобы вы задавали самый важный вопрос - почему! :)

  • @onyx5018
    @onyx5018 Год назад +1

    Надоели микросервисы. Из-за этого хайпа столько ресурсов уходит.