10.9K subscribers
331 photos
17 videos
15 files
714 links
Архитектура | Программирование | Профессиональное развитие

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

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

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

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

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

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

Так или иначе, процесс идет, очевидно - если вы все еще надеетесь, что все образуется и гугл снова станет доступен как и прежде, то вам стоит внимательно вглядеться в графики и понять - нет, не образуется.
🤡144👍48🤔7😢5👎4💩21🤬1
Перенёс загрузку архивов стримов в облачную инфраструктуру.

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

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

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

Для подобных задач схема «плати только за то, что используешь» намного выгоднее, чем аренда ВМ.
👍38🔥6💩2🤮1
В TypeScript 5.6 появилась более осознаная обработка всегда истинных выражений.

if (/0x[0-9a-f]/) {

}

Здесь забыли .test() после регулярки, но теперь это не проблема.

if (x => 0) {

}

Здесь перепутали >= и стрелочную функцию =>

function isValid(value: string | number, options: any, strictness: "strict" | "loose") { 

if (strictness === "loose") {
value = +value } return value < options.max ?? 100;
}

Здесь будет вот такой порядок: (value < options.max) ?? 100

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

error: This kind of expression is always truthy.
👍34🤡3211
🔋 пошел подзарядить батарейки

Возьму себе немного 12648430 = c0ffee
Please open Telegram to view this post
VIEW IN TELEGRAM
🤡27😁9🔥42🤯2🫡2
Недавно мы с Кириллом Мокевниным решили окончательно запутать людей на тему SOLID и вот что из этого получилось

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

Upd. Набираем 300 - 💡и делаем ещё один выпуск с Кириллом?
Please open Telegram to view this post
VIEW IN TELEGRAM
247🔥11👍644💩3🙈21
ВНИМАНИЕ ‼️ С этого дня запускаем практику докладов для участников сообщества!

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

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

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

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

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

Стрим пройдет на ютуб канале
👍16🔥44💩1
Движение малыми шагами: как достичь цели без выгорания

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Этот метод может быть полезен для тех, кто хочет достичь своих целей, но боится выгорания или не знает, с чего начать.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍96🔥30873💯3🤮2👌211
У компании Kinescope самая "дружественная" поддержка из всех что я видел.

Сам сервис работает примерно так же - "как только так сразу". Отсюда вопрос, какие варианты для self-hosted видео есть?
😁82👍9🔥6🤡3👀2🥰1🤝1
В субботу планируем поговорить про устройство компилятора, в гостях будет архитектор из PVS-Studio.

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

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

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

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

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

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

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

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

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

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

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

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

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


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

SOER | PRO | Boosty
🔥68👍126431🤮1💯1
ACID vs BASE

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

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

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

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

💡оркестрация и хореаграфия - это не всегда про микросервисы, оркестратор - это любой внешний "управленец", который решает как обрабатывать транзакцию. Причем это может быть - скрипт, человек, обоработчик события и т.д.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30🤔4🤮2🤪21
В субботу три джентльмена соберутся, чтобы обсудить преимущества ангуляра над всеми фреймворками мира. Приходите и вы, будет интересно.
😁44🔥209🤮742
У нас пополнение в Соер.Клубе теперь наше сообщество усилено экспертом по Ангуляру - Иваном Черняковым. Вы могли вчера видеть его на моем стриме. 💪💪💪
👍323
Простые модели не работают.

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

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

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

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

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

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

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

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

Поэтому я всем, кто готов слушать и слышать, доношу простые истины, которые вомногом все знают, но почему-то игнорируют: важно вкладывать силы в саморазвитие, двигаться вперед малыми шагами, сохранять ритм и направление развития, избегать выгорания, формировать адекватное окружение и т.д. Такая модель существенно сложнее, но и результат у нее гораздо лучше. 💡💡💡
Please open Telegram to view this post
VIEW IN TELEGRAM
👍88165👌53🤔3💩1
В следующем году я планирую открыть исходники NarisApp для всеобщего доступа, чтобы любой желающий мог при желании принять участие, либо просто посмотреть как у нас все устроено.

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

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

UPD. Делать логин не обязательно, публичные материалы можно смотреть на вкладке Структура, щелкая по значкам в конце каждого пункта.
🔥67👍149🤔2😇2👎1
Это неудобно, это надо убрать

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

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

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

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

Ищем баланс. Но "крестик" придётся убрать, конечно.
🤔22👍15🤡21
Начинаю прием заявок на "Золотой SoER 2024"

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

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

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

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

Первая тройка победителей получит так же приглашение в Соер.Клуб
👍25🤮22🤡7🌚653🔥2