S0ER @softwareengineervlog Channel on Telegram

S0ER

@softwareengineervlog


Архитектура | Программирование | Профессиональное развитие

Live канал - https://t.me/soer_live

SOER CLUB - https://soer.pro или https://boosty.to/s0er

Бусты - https://t.me/boost/softwareengineervlog

Software Engineer Vlog (Russian)

Software Engineer Vlog - это канал, который предназначен для всех, кто интересуется архитектурой, программированием и профессиональным развитием. Здесь вы найдете полезные советы, обзоры инструментов и технологий, а также информацию о текущих трендах в мире разработки программного обеспечения. Наш Live канал предлагает интересные стримы и обсуждения с экспертами, а SOER CLUB предлагает дополнительные ресурсы для обучения и развития навыков. Присоединяйтесь к нашему сообществу, чтобы быть в курсе последних новостей и событий из мира IT! Бусты доступны на нашем канале, чтобы помочь вам быстрее достичь своих профессиональных целей. Присоединяйтесь к нам прямо сейчас и начинайте свой путь в мире разработки ПО!

S0ER

23 Jan, 09:38


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

👀YouTube |👀 VK | 📹RuTube

S0ER

20 Jan, 10:37


Очередное видео на канале S0ER Talks, на этот раз поговорим про софтскилы и так ли они важны. Ищите на всех основных площадках страны:
👀 YouTube | 👀 VK | 📹RuTube

S0ER

17 Jan, 04:07


Вы не просили, но я выпустил очередной разговорный ролик для канала S0ER Talks
YouTube | VK | RuTube

S0ER

30 Dec, 10:18


Важно! Я хочу ещё раз предостеречь своих подписчиков, в сети появились фейковые материалы в мой адрес:
- каналы от моего имени (Внимание! у одного из каналов скопировано отображаемое имя и аватарка с S0ER.live)
- комментарии форварднутые из фейковых каналов, а так же скриншоты этих сообщений
- аудиозаписи сделанные с использованием нейронок (дипфейки)
- вероятно есть и фейковые фото.

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

Я не могу ничего с этим поделать, надеюсь, что если не отвечать, то пройдёт само собой. В чем цель я пока не очень понимаю, выглядит как дурацкая шутка, почти все материалы так или иначе появляются в одном месте.

S0ER

29 Dec, 14:42


Про критику, конфликты и российское IT / В офисе S0ER

Финальное интервью этого года - откровенный разговор с Соером.

В конце ноября Соер приехал в Москву, мы записали живое интервью и поговорили в нем на все злободневные темы, которыми он жил весь этот год.

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

Получилось почти два часа насыщенного разговора. Принесли вам прямо под ёлочку.
С Наступающим! Спасибо, что вы с нами.

Смотрим! | 📱YouTube | 📱VK | 💙RuTube |

S0ER

29 Dec, 06:44


https://youtube.com/live/hid8wohkdNQ?feature=share

S0ER

27 Dec, 09:22


В воскресенье 10:00 по Мск, проведем стрим с победителями "Золотой Соер 2024", поговорим про личные каналы, сложности поиска идей для контента, сложности производства контента, а так же ответим на вопросы из чата.
Приходите будет интересно!

S0ER

22 Dec, 07:18


https://youtube.com/live/Y-XD8H_3k7Y?feature=share

S0ER

20 Dec, 00:30


Почему люди боятся совершать действия?

Легко дать совет: «Сходи на 10 собеседований», «Предложи начальнику внедрить новую фичу», «Возьми на себя дополнительную активность», «Реши 30 задач на литкоде» и т. д. Такие вещи постоянно советуют со всех сторон. Почему эти советы не такие простые, как кажутся? Давайте размышлять.

👉 Проблема: «Наш мозг ленив».

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

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

Поэтому энергию надо экономить, а это значит «лениться» выгодно, чтобы сохранить силы.

👉 Проблема: «Нам страшно».

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

Под потерями, как правило, понимается время и деньги. Если речь заходит о деньгах, то всё — стоп машина, никуда не едем.

Другая потеря — это репутация, которая сводится к мысли «А что обо мне подумают люди?». Спойлер: как правило, люди либо ничего не подумают, либо подумают, что ты дурак, независимо от твоего действия или бездействия.

👉 Проблема: «Избыток информации».

Первые две проблемы, как правило, парализуют волю, а вот третья проблема заставляет кипеть мозг. Даже если человек решил что-то сделать, то возникает момент «А с чего начать?», и тут целый ворох информации обрушивается со всех сторон.

Даже простая задача — «сходить на собеседование», порождает кучу вопросов: «Куда?», «Как подготовиться?», «Почему не зовут?», «Что, если провалю?» и т. д. Поэтому оказывается, что простые советы на деле не имеют простых, понятных планов действия.

👑 Что делать?

Для меня эффективна стратегия «маленьких шагов», я уже много раз говорил, что такой подход решает приведенные проблемы:

💪 Решение проблемы «Мозг ленив»: мозг не воспринимает «маленький шаг» как что-то опасное или энергозатратное.
💪 Решение проблемаы«Нам страшно»: при маленьком шаге и потери воспринимаются не так опасно.
💪 Решение проблемы «Ворох информации»: чем проще действие, которое нужно совершить, тем понятнее, что нужно делать.

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

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

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

S0ER

19 Dec, 07:24


Челлендж: 🤣🤣🤣 Расскажи бабушке про статанализ

Скоро Новый год, время подарков и несерьезных челленджей.

Задача простая: в комментариях к этому посту максимально простым языком напишите что такое статанлиз, так чтобы даже бабушка поняла (можно в шуточной форме).

Кто соберет больше всего положительных реакций под комментарием получит приз - книгу «60 антипаттернов для С++ программиста» автор Андрей Карпов - сооснователь копании PVS-Studio.

Книга будет полезна новичкам, кто хочет глубже изучить C++ и понять почему некоторые вещи делать вредно. А самое ценное - в книге опсано еще и "почему" вредно!

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

P.S. Итоги подведем на стриме в выходные! Торопитесь, времени мало!

SOER | PRO | Boosty

S0ER

19 Dec, 04:52


Новогодний стрим с участниками Соер.Клуба

В Воскресенье 10:00 Мск (22.12.2024) пройдет новогодний стрим, в программе:

- Подводим итоги года
- Обсуждаем что ждет АйТи в 2025
- Подводим итоги конкурса Золотой Соер 2024
- Общение с чатом

Приходите и проведите время с пользой!

SOER | PRO | Boosty

S0ER

18 Dec, 14:19


Читать книги до конца или все же откладывать если не идет?

У меня бывают ситуации, когда начал читать какую-то книгу и она "не идет", скучно, непонятно или просто бесполезно. В такие моменты начинается борьба внутреннего лентяя и перфекционизма.

За редким исключением побеждает перфекционизм, он упорно твердит: "если начал читать книгу, то надо читать до конца".

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

Полезно продолжение чтения по следующим признакам:

👑 Сложный материал

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

- Если глава даётся с большим трудом, но дело двигается, то это полезное чтение и бросать его нельзя.

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

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

👑 Устаревший материал

Если я вижу, что книга морально устарела, но проблем с пониманием нет, то продолжаю читать. Это позволяет оценить ретроспективу и понять направление прогресса.

👑 поверхностное изложение

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

👑 много историй из жизни

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

👑 пересказ документации

Если книга просто повторяет документацию, то читать её смысла нет, это чуть ли не единственный случай, когда я отсекаю книгу сразу.

👑 справочный материал

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


👑 остальные случаи

Обычно книги читать интересно, потому что ощущаю пользу от чтения. Люблю размышлять как можно применить знания из книги, отмечаю важные моменты, пытаюсь после прочтения главы пересказать и отметить главное.

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

S0ER

16 Dec, 03:47


До Нового года остается две недели, пора подводить итоги.

На удивление, в этом году есть много достижений, которыми я горжусь.

👑 NarisApp

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

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

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

👑 Соер.Клуб

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

Очень горжусь, что с некоторыми ребятами и девчатами знаком лично, вы крутые!

👑 Подкасты

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

- Сделали отличный видос с Лешей Диджитилизируй, который оказался суперламповым человеком, и мы очень интересно пообщались не только в кадре, но и за кадром. Было очень приятно!

- Вышел подкаст по SOLID с Кириллом Мокевниным, видео за два месяца вышло в ТОП-3 подкастов на канале Кирилла.

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

- Записали подкаст с Ваней Ботановым, и это самый сложный подкаст года, который еще предстоит осмыслить.

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

Приятно, что видео с моим участием стабильно собирают просмотры и привлекают внимание аудитории.

👑 Встреча с подписчиками

В этом году я дважды встретился с подписчиками, один раз в Сочи, другой в Москве. Ребята поделились кучей интересных историй, так я узнал, что мои архитектурные видео кому-то помогли научиться собираться требования, кому-то продвинуться по карьере, а кто-то стал делать архитектуру на проекте, где работает.

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

Это были продуктивные встречи с очень умными и грамотными соерами.

👑 Стримы в телеграм и ютубе

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

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

👑 SOER.PRO

Аудитория soer.pro выросла с примерно 4000 участников до более чем 6000, это говорит о большом интересе к архитектурным аспектам разработки, для меня важно в следующем году оправдать ожидания ребят и выдать отличный контент на soer.pro.

👑 Конференции

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

Хочу отметить, что я никому не отказываю в помощи и возможности пообщаться, на конференции ко мне обращались разные люди и я со всеми общался открыто, без агрессии и попыток задеть! Всегда рад конструктивному разговору.

👀📹👀 А теперь важная новость!

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

S0ER

15 Dec, 16:17


Форматирование голосование не очень удачное, поэтому ссылки и доп. инфа:

https://t.me/ivanchikovitclub/23
https://t.me/UniArchitect/90
https://t.me/scripthoundme/661
https://mikevetkin.t.me/49
https://t.me/devfm/514
https://t.me/frontend_fiesta/24

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

Вот ссылка на оригинальный пост с описанием конкурса - https://t.me/softwareengineervlog/2247

S0ER

12 Dec, 11:10


🎙 Выживут ТОЛЬКО инженеры! ft. S0ER

С Евгением мы пересеклись на конференции в Москве и решили записать подкаст. В формате легких дебатов про образование, публичную деятельность и взгляды на IT.

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

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

Студию предоставили Василий и Иван с Деплоя. Спасибо им!

В итоге получился ламповый диалог про насущные проблемы с рынка с разных взглядов. Приятного просмотра!

Смотреть на Youtube

Кто не забывает про реакции под постом — тот очень классный читатель и зритель, лови сердечко 🫶 Это очень важно и мне приятно!

S0ER

03 Dec, 12:39


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

Пригласили Бориса Кладова — руководителя отдела
разработки «Маршрутизация магистральных перевозок». Откровенно поговорили о том, как справляться с хайлоадом, и поделились негласными правилами запуска успешных релизов даже в самый горячий период.

Кратко о том, что в подкасте:
подходы к работе с высоконагруженными критичными сервисами и сложной бизнес-логикой;
правила релиза в Ozon;
гайд, что делать, если всё-таки произошёл фейл.

Смотрите до конца — там лайфхак по покупке новогодних подарков🎁

смотреть https://go.kotelov.com/youtube_release
👀смотреть без vpn https://go.kotelov.com/vk_release
📹 смотреть без vpn https://go.kotelov.com/rutube_release

🎙 слушать https://go.kotelov.com/mave_release

Реклама. ООО "Флашелс" edir 2VtzqxWEDSp

S0ER

02 Dec, 04:44


Про казуальную стратегию развития

Многим непонятно, чем стратегия профессионального роста отличается от казуальной стратегии. Слово «казуальный» означает «случайный». Т. е. казуальная стратегия — это когда вы выстраиваете систему целей, а достижение этих целей в значительной степени зависит от случая.

Здесь можно возразить, что в жизни любого человека важную роль играет случай. Разве это не делает любую стратегию казуальной? Ответ — нет.

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

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

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

высокая вероятность провала;

вероятность провала увеличивается со временем (т. е. один раз повезло, а другой уже нет);

низкие результаты в случае успеха.

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

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

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

🔴 прямо заявляется, что идея работает недолго;

🔴 результаты использования стратегии завышаются (иначе нельзя нивилировать предыдущий пункт);

🔴 негативные исходы скрываются, позитивные «выпячиваются» (для этого вместо статистики приводятся частные случаи успеха);

🔴 ответственность за неудачу возлагается на самого участника;

🔴 осуществляется призыв к общему групповому поведению (это позволяет немного увеличить шансы на положительный исход);

🔴 происходит селекция «положительных» кейсов (так как в группе всегда есть те, кому повезло больше, то их успехи выдаются за норму).

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

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

S0ER

30 Nov, 03:00


Казуальный или карьерный рост?

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

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

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

Тут нужно отметить, что если у вас не растет профессиональная составляющая, а ставка исключительно на удачу и активность, то со временем вы доходите до точки выгорания, и доходы уже не только не растут, а падают.

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

S0ER

29 Nov, 01:18


S0ER: врачи и знахари в IT, архитектура через практику, образование и инфоцыганство

YouTube | VK | RuTube | Дзен | Платформа

0:00 Вступление
1:06 Золотой S0ER 2023
2:25 Каналу S0ER — 8 лет
5:50 Страшное слово «инфоцыган»
8:37 ВУЗовское образование VS курсы
12:05 Врачи и знахари в ИТ
15:02 Математика как инструмент развития системного мышления
20:35 Польза ВУЗовской базы
27:15 «Я уже в 7 лет знал, что буду программистом»
31:55 «В институте делал лабы за деньги»
33:15 Интернет появился в 1997м
39:50 С 2000-го фрилансил, изучал вирусы, хакал игры
43:40 Фриланс на Perl и PHP
45:15 Зарабатывал по 2к долларов на фрилансе
47:49 Затем писал биллинг на С
49:40 Зарабатывал в SAPE на спамных ссылках
51:55 Пришёл работать в 2006м в ЦБ РФ
56:54 «Какую хочешь должность и ЗП — называй и хантим тебя»
58:55 «Я хочу быть тем, кого зовут решать сложные проблемы»
1:10:30 Ушёл заниматься фронтендом
1:17:20 Допускаешь, что уйдёшь с работы и будешь делать образование?
1:24:05 Биржа, Forex, крипта
1:33:06 «Деньги меня очень слабо мотивируют»
1:38:44 Все ли придут к вопросам архитектуры ПО?
1:55:04 «Делаю все пет-проекты в виме»
1:57:00 Manjaro на KDE и fish shell
2:04:00 «DDD — хайповая тема, она не лишена смысла»
2:08:06 «Я не евангелист, а просто человек, который пытается это использовать на практике»
2:10:25 «Чистая архитектура» Мартина, «DDD» Хононова, «Совершенный код» Макконнелла
2:14:10 Почему DDD, чистая архитектура и тд — так плохо пояснены и формализованы?
2:28:40 «Архитектурная космонавтика — это плохо»
2:30:25 Документирование архитектуры
2:35:50 «Прочёл? Попробуй реализовать, это даст понимание идеи»
2:40:05 Финалим

S0ER

22 Nov, 19:49


Огромная благодарность всем кто пришёл, я ещё раз убедился, что соеры классные и умные ребята. 💡

S0ER

22 Nov, 16:14


Если что идём на второй этаж

S0ER

19 Nov, 11:38


Пара слов зачем еду в Москву, 23 ноября в Москве будет первая софтовая конференция для айтишников – Soft Weekend. Ее делает Андрей Смирнов, это известный амбассадор софт скиллов!

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

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

S0ER

18 Nov, 14:56


В пятницу 22 ноября планирую встречу в Москве. Если вы хотите прийти, то пишите на @soerdev.

S0ER

14 Nov, 09:16


Начинаю прием заявок на "Золотой SoER 2024"

Кто может принять участие: авторы каналов на Рутубе, ВК, Ютубе и Телеграм.

Требование к участникам: публикация технического контента по АйТи

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

В конце будут выбраны участники для итогового гослования, которое пройдет 15 декабря. Отбиратся будут каналы которые соберут больше всего реакций.

Первая тройка победителей получит так же приглашение в Соер.Клуб

S0ER

13 Nov, 11:00


Это неудобно, это надо убрать

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

По крайней мере это так с позиции архитектуры, но UX не подчиняется законам архитектуры, он подчиняется законам "прекрасного", поэтому, несмотря на вполне себе логичное поведение с позиции внутренней архитектуры приложения, нефункциональные элементы нужно убирать из интерфейса программы.

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

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

Ищем баланс. Но "крестик" придётся убрать, конечно.

S0ER

13 Nov, 09:51


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

С помощью платформы я планирую помогать новичкам и готовить для них задачи с набором видео-лекций по архитектуре. Я подготовил первый материал Интенсив. Введение в архитектуру для разработчика

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

UPD. Делать логин не обязательно, публичные материалы можно смотреть на вкладке Структура, щелкая по значкам в конце каждого пункта.

S0ER

10 Nov, 02:54


Простые модели не работают.

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

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

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

Простой пример: «не жри на ночь и похудеешь», модель простая, понятная, но нерабочая. Усугубляет положение тот факт, что первоначально можно получить быстрый результат, и кажется, что выбор сделан правильно. Но на дистанции оказывается, что сохранить вес не удается, а первоначальный успех не прогрессирует. Нужно усложнять модель и корректировать питание, активность и другие важные аспекты ЗОЖ.

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

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

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

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

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

S0ER

10 Nov, 02:04


У нас пополнение в Соер.Клубе теперь наше сообщество усилено экспертом по Ангуляру - Иваном Черняковым. Вы могли вчера видеть его на моем стриме. 💪💪💪

S0ER

09 Nov, 07:06


https://youtube.com/live/asp61-JNsnc?feature=share

S0ER

06 Nov, 00:46


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

S0ER

26 Oct, 07:15


https://youtube.com/live/_KJ0bvnssuc?feature=share

S0ER

23 Oct, 02:08


ACID vs BASE

Вчера в NarisApp разбирали разницу между ACID и BASE транзакциями, что я понял по результату:

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

💡 ORM скрывая часть логики работы с СУБД может не помогать, а мешать правильному восприятию запросов. Например, TypeORM реализуя Soft Delete сама подставляет null вместо удаленного пользователя, что логично, но используя мягкое удаление мы рассчитываем всегда получать данные пользователя, просто с пометкой Delete. Отсюда возникает недопонимание и ошибки.

💡привычка работать с ACID вырабатывает страх "несогласованности" с ним бороться сложнее всего. С этим нужно работать.

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

S0ER

21 Oct, 11:40


В субботу планируем поговорить про устройство компилятора, в гостях будет архитектор из PVS-Studio.

Тезисы для разговора:

1) Что вообще делает компилятор (в общих чертах);

2) Парсинг. Как работает, какие разновидности бывают;

3) Неоднозначности в грамматике. Как с ними бороться;

4) Почему мы хотим идти только вперед и никогда не откатываться и почему это нереально;

5) Про плюсы и их "прекрасную" грамматику. Most vexing parse;

6) Как разбираться с ошибками в коде, если нам подсунули некомпилируемое;

7) Семантика и как мы вообще понимаем, что эти слова в коде значат;

8) Перегрузки функций;

9) Шаблоны в плюсах. Почему это круто, но при этом больно;

10) Как считать выражения во время компиляции;

11) Оптимизации;

12) Почему undefined behaviour - не баг, а фича (это про плюсы и сишечку в основном).


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

SOER | PRO | Boosty

S0ER

19 Oct, 07:01


https://youtube.com/live/0yigA7BS2jE?feature=share

S0ER

18 Oct, 09:11


У компании Kinescope самая "дружественная" поддержка из всех что я видел.

Сам сервис работает примерно так же - "как только так сразу". Отсюда вопрос, какие варианты для self-hosted видео есть?

S0ER

06 Oct, 02:06


Движение малыми шагами: как достичь цели без выгорания

Мне нравится подход, при котором достижение целей происходит не рывками, а постепенно, день за днём. Такой метод позволяет избежать выгорания и сохранить интерес к своему делу.

👑 Вместо того чтобы потратить много сил и времени на обучение один раз, лучше делать это регулярно, понемногу продвигаясь вперёд. Главное — превратить обучение в часть повседневной жизни.

Этот подход напоминает посещение тренажёрного зала: только регулярные и систематические занятия могут привести к желаемому результату.

Пример из жизни

У меня есть стратегическая цель — создать образовательную программу по архитектуре. Я зафиксировал эту цель и разбил её на ряд задач. Затем я начал постепенно двигаться вперёд, развивая несколько направлений:

Создание и развитие платформы (так появилась NarisApp).

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

Подготовка практических материалов (так появились воркшопы).

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

И вот спустя долгое время я вышел на финишную прямую. Вчера я начал первый стрим из серии, которая в итоге должна содержать набор роликов по всем темам. Вся серия будет доступна через программы саморазвития на soer.pro.

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

«Движение малыми шагами» помогает:

🔥Избежать выгорания.

🍀 Сохранить интерес к своему делу.

💲 Достичь цели без рывков.

☕️ Совмещать обучение с личной жизнью и работой.

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

S0ER

02 Oct, 12:25


ВНИМАНИЕ ‼️ С этого дня запускаем практику докладов для участников сообщества!

Будем тренировать твои софт навыки выступлений, Лицеист! А в ходе подготовки доклада ещё и углубишься в теме и прокачаешь также хардскилы.

▪️Что для этого нужно?
Просто подготовить тему для выступления и скинуть в предложку (ссылка есть в чате лицеистов)

❗️Пробный вариант запускаем уже в этот четверг (03.10!) в 19:00

Алишер выступит с докладом на тему:
▪️ALONE IN THE DARK или слепое кодирование. Связывание уровня подписки на Boosty с уровнями подписки на образовательной платформе в условиях отсутствия публичного API от boosty.to

Приходи, возьми для себя опыт и записывайся следующим.

Стрим пройдет на ютуб канале

S0ER

27 Sep, 00:38


Недавно мы с Кириллом Мокевниным решили окончательно запутать людей на тему SOLID и вот что из этого получилось

P.s. И главное помните, что DIP и DI - это разные принципы.

Upd. Набираем 300 - 💡и делаем ещё один выпуск с Кириллом?

S0ER

26 Sep, 11:50


🔋 пошел подзарядить батарейки

Возьму себе немного 12648430 = c0ffee

S0ER

25 Sep, 04:05


Перенёс загрузку архивов стримов в облачную инфраструктуру.

Для получения стрима нужна ссылка с ключом/подписью.

Ссылку выдаёт функция после проверки JWT токена.

Сейчас для этой задачи у меня работает отдельная виртуальная машина. Это потому что стримы занимают много места и приходится брать ВМ ради диска. В облаке место в ObjectStorage стоит очень дёшево (почти в 10 раз дешевле, чем виртуальная машина).

Для подобных задач схема «плати только за то, что используешь» намного выгоднее, чем аренда ВМ.

S0ER

21 Sep, 03:20


Два интересных графика на подумать. Первый это трафик Gmail, который с начала 2024 года начал резко падать. Падает понятно почему - люди отказываются от этого сервиса. Но почему только с начала 2024 года?

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

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

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

S0ER

19 Sep, 02:06


Что нужно знать про Docker контейнеры

📍 Контейнеры. Поддержка контейнеров сделана на уровне ядра Linux. Идея состоит в том, чтобы создать изолированные контейнеры, которые не могут обращаться друг к другу и имеют свой пул выделенных ресурсов. При этом все контейнеры работают с общим ядром.

📍 В windows, macos и т.д. для поддержки контейнеров создают легковесные виртуальные машины Linux

📍 По умолчанию контейнеры не содержат никаких файлов, в них можно делать только вызовы ядра.

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

📦 Docker - это инфраструктура управления контейнером.

📦 для добавления файлов используется понятие "образ" (image)

📦 образ содержит наборы файлов - библиотеки, исполняемые файлы и т.д.

📦 популярные образы содержат необходимые файлы для запуска разных приложений, например: mysql, linux-alpine, nodejs и т.д.💡

#знания #архитектура

SOER | PRO | Boosty

S0ER

14 Sep, 09:04


Сегодня на стриме был гость - Андрей Kobezzza, поговорили про важность базы для программистов.

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


https://www.youtube.com/live/LJpS4_aFQek

S0ER

09 Sep, 05:00


Низкий уровень: как выглядят функции на ASM

Процессор умеет выполнять лишь простые машинные команды, как же тогда работают функции и классы языков высокого уровня?

Чтобы разобраться будем использовать Compiler Explorer который позволяет преобразовать конструкции высокого уровня в их представление на низком уровне (Assembler).

Начать предлагаю с того, что посмотреть какой код будет сгенерирован компилятором для следующего листинга:


int callme() {
return 1;
}

void main() {
callme();
}


в командной строке это можно сделать с помощью команды

gcc -g -o output.s -masm=intel -fno-verbose-asm -S -fdiagnostics-color=always example.c


но Compiler Expolrer делает это за нас, в результате получен следующий код:

callme:
push rbp
mov rbp, rsp
mov eax, 1
pop rbp
ret
main:
push rbp
mov rbp, rsp
mov eax, 0
call callme
nop
pop rbp
ret

Мы видим, что:

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

для вызова функции используется специальная инструкция call

для возврата из функции используется специальная инструкция ret

чтобы вернуть значение из функции используется регистр eax - mov eax,1
в функции есть специальные части "пролог" и "эпилог"

Что такое "Пролог"

Это часть функции которая сохраняет текущие значения регистров, чтобы восстановить их при возврате из функции.


push rbp; инструкция push сохраняет в стеке значение rbp

mov rbp, rsp; копирует значение регистра указателя вершины стека (открытие кадра стека)

sub rsp, xx; выделяем память под локальные переменные

1. rbp используется для адресации локальных переменных, должен быть сохранен в стеке;
2. rsp используется для указания на вершину стека

Что такое "эпилог"

Этр код, который закрывает кадр стека и восстанавливаем значние rpb
mov rsp, rbp
pop rbp
ret


Red zone

Вероятно вы заметили, что у нас в прологе нет инструкции sub rsp, xx, все дело в том, что у процессоров есть оптимизация, которая называется red zone, в данном случае - область размером 128 байт которая находится за пределами RSP и не должна изменяться обработчиками сигналов и прерываний.

В качестве индивидуального задания можете попробовать добавить char a[128]; в код функции callme и посмотреть что будет.


Вывод:
Сегодня мы узнали, что функции высокого уровня на уровне ассемблера размещаются в теле программы и доступ к ним осуществляется путем перехода по адресу, где находится соответствующая функция.

Часто узнать функции в коде на ассемблере можно по следующим признакам:

для вызова функций используются инструкции call, ret

без оптимизаций компилятор добавит специальные куски кода "пролог" и "эпилог"

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

#asm #знания

SOER | PRO | Boosty

S0ER

05 Sep, 06:00


Операционные и аналитические данные

Вся разработка строится на обработке данных, данные бывают разные - изображения, тексты, сигналы и т.д., можно по-разному классифицировать данные, объединять их в группы, разделять по разным принципам. Но в контексте данной заметки нам важно разделить данные на "операционные данные" и "аналитические данные". Именно так они делятся с позиции бизнеса.

Операционные данные

Это бизнес-данные, которые отражают текущее состояние бизнеса. Эти данные постоянно меняются и их нужно поддерживать в корректном состоянии.

Целостность достигается за счет использования транзакций, функциональность реализуется с помощью OLTP (online transaction processing).

Основная проблема операционных данных - изменчивость. Чтобы гарантировать целостность используют либо ACID, либо BASE подходы.

Обычно для операционных данных реализуется стандартный CRUD интерфейс.

Передача данных во внешние источники делается через REST, GraphQL, event-driven подходы и т.д.

Аналитические данные

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

Эти данные не изменяются во времени, только накапливаются и аггрегируются, поэтому нет нужды обеспечивать целостность. Для обработки используются OLAP (online analytical processing) системы.

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

Для хранения используются DataLake (централизованный подход), DataMesh (децентрлизованный подход)

#знания #статья

SOER | PRO | Boosty

S0ER

04 Sep, 14:01


Пополнил папку участников Соер.Клуба, добавил Андрея - автор канала Kobezzza.

Мне нравится, что в клубе собираются крутые соеры, у которых многому можно научиться. Пока не было ни одного отказа от приглашения в клуб. Это для меня многое значит, спасибо ребятам, что делаете свое сложное дело по развитию АйТи.

S0ER

02 Sep, 09:33


Чему учит DataMesh архитектура

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

Тренд №1 Децентрализация

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

Тренд №2 API-интерфейсы

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

Тренд №3 Владельцы и потребители - это домены

Идея в том, чтобы разделить владение данными на уровне доменов, где владельцы данных отвечают за предоставление API к своим данным, при этом они могут быть потребителями данных других доменов (да и в своем домене они могут вести себя и как владельцы, и как потребители)

Размытая грань между потреблением и владением - это очень мощный инструмент децентрализации.

Тренд №4 Федеративное управление

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

Вывод

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

По сути весь веб стал работать как большая DataMesh архитектура - есть децентрализованные сервисы (домены), есть продуманные API, есть владельцы данных. Если сравнить микросервисную архитектуру и DataMesh? Разница только в том, что микросервисы - для проектных OLTP решений, а DataMesh - для аналитических данных OLAP систем, но принципы (читай "тренды") одинаковые.

SOER | PRO | Boosty

S0ER

13 Aug, 08:54


🗑️ Как работает сборщик мусора: наглядная иллюстрация для разработчика

👉 Источник

#инфографика

S0ER

10 Aug, 08:00


Ну все я на месте. Сижу напротив бара

S0ER

10 Aug, 03:33


Стоит ли учить [framework name]?

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

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

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