S0ER
前往频道在 Telegram
Архитектура | Программирование | Профессиональное развитие Соер.Клуб - https://t.me/soer_live По всем вопросам писать на @soerdev
显示更多📈 Telegram 频道 S0ER 的分析概览
频道 S0ER (@softwareengineervlog) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 10 545 名订阅者,在 技术与应用 类别中位列第 11 759,并在 俄罗斯 地区排名第 62 220 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 10 545 名订阅者。
根据 09 六月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -23,过去 24 小时变化为 -2,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 25.22%。内容发布后 24 小时内通常能获得 N/A% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 2 660 次浏览,首日通常累积 0 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 131。
- 主题关注点: 内容集中在 rbp, архитектура, callme, mov, указатель 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Архитектура | Программирование | Профессиональное развитие
Соер.Клуб - https://t.me/soer_live
По всем вопросам писать на @soerdev”
凭借高频更新(最新数据采集于 10 六月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
10 545
订阅者
-224 小时
-127 天
-2330 天
帖子存档
10 546
Repost from Соер.Клуб | начался курс по микросервисам
Что за «база», которая нужна в IT?
Что такое эта ваша «база»? Все знают, что она нужна, но проблема в том, что никто не может толком сказать, о какой такой «базе» идет речь.
Профессионалы под базой понимают не набор знаний, который можно чекнуть вопросами по типу «Скажи, сколько битов в одном байте?», а способность человека усваивать новые навыки при развитии в IT.
База — это набор навыков, которые позволяют человеку декомпозировать задачи, искать алгоритмическое решение, уметь планировать ресурсы и правильно распределять нагрузку. Условные «тренажеры» для формирования базы — это книги, «коммерческая» практика, обмен опытом с коллегами и прочие вопросы. Но есть нюанс: сами по себе книги не являются этой самой базой, а только инструментом!
Давайте на примере.
Вы наверняка слышали фразу, мол, если хочешь вкатиться в IT, то тебе нужна БАЗА, которую лучше постигать с ментором, и прочие бла-бла-бла. Помните этот идиотский пример про «спортзал» и тренера? Типа «хочешь идеальное тело, то тебе будет проще его получить с тренером». Подвох тут в том, что идеальное тело не достигается исключительно правильным подходом к нужным тренажерам под присмотром тренера.
Любой, кто хоть раз ставил перед собой задачу получить идеальное тело, знает, что существует огромное количество нюансов: гормоны, возраст, метаболизм, генетика, режим дня и т. д. И кроме всего этого еще есть годы упорного труда. Хороший тренер помогает не только составить программу тренировок, но и отправляет сдать анализы, посмотреть гармоны, скорректировать режим дня. И базой в спортзале обладает не тот, кто знает кучу умных слов, а тот, кто имеет натренированное тело. База — это результат труда и длительного воздействия на организм с помощью упражнений. Натренированный спортсмен может выполнять нужное количество повторений нужных упражнений, сведя риск травмы к минимуму. Человек без спортивной базы просто получит травму.
С мозгом всё ровно так же: база — это проработанный мозг, который, как и тело, требует тренировки для формирования необходимых связей между нейронами. Тренировать мозг так же обязательно, как качать тело. В нужный момент тренировка помогает концентрироваться и решать сложные задачи, и получать прочие бонусы, связанные с вполне практическими аспектами работы. Именно на эту базу легко ложатся новые алгоритмы, новые знания, новые подходы.
Если у специалиста нет базовой подготовки, то он будет вечным почемучкой, который создает кучу головной боли коллегам и не приносит особой пользы. В итоге при первой возможности его сольют за счет сокращения. Когда я говорю про базу, я лишь в очень малой части имею в виду знания (по сути, знания устаревают очень быстро). Куда важнее те навыки и ментальные способности, которые приобретает человек, работая над своим разумом.
Когда вам в очередной раз начнут впаривать про спортзал и волшебных менторов, задайте вопрос: «Что я буду УМЕТЬ после твоей помощи, какие НАВЫКИ ты поможешь сформировать, чтобы дальше я шел своим путем без постоянной необходимости возвращаться к тебе при каждом новом задании на работе?» Удивитесь, но вам расскажут про спортзал и тренажеры, про «чек-листы с правильными ответами» и ни слова про умения и навыки. Потому что никаких умений и навыков вам давать не планируют. Так работает современный бизнес: сначала вам скажут «пройдешь собес, и все завертится», а потом «подпишут» на помощь при прохождении испытательного срока.
Еще раз запомните: база — это навыки и опыт, которые помогают сформировать ваш главный инструмент как инженера — ваш мозг!
10 546
Repost from Соер.Клуб | начался курс по микросервисам
Вышло видео "Архитектура веб-приложения для облачного решения"
Давно хочу рассказать о том, как можно мигрировать приложение в облако, сделать обзор на разные облачные инструменты и показать как можно управлять ресурсами в зависимости от нагрузки.
Первый шаг к реализации этой идеи сделан, на канале появилось вводное видео в котором я рассказал:
👑 как будет строиться архитектура NarisApp в облаке
👑 какие ресурсы понадобятся
👑 какие проблемы заметны уже сейчас
Видео доступно на всех площадках: 👀YouTube | 👀VK | 📹RuTube
10 546
Repost from Соер.Клуб | начался курс по микросервисам
Пластичность психики
Норман Дойдж в своей книге "Пластичность мозга" раскрывает вопросы, связанные с пластичностью психики. В норме у здорового человека психика находится в состоянии равновесия благодаря своей способности адаптироваться к изменениям.
В жизни постоянно происходят различные неприятные события, как мелкие, так и значительные. Пластичность психики позволяет человеку переключать внимание, адаптироваться к новым условиям и справляться даже с трудными ситуациями.
Однако иногда психика становится ригидной (негибкой). В таком состоянии человек вместо того, чтобы адаптироваться и переживать проблемы, начинает зацикливаться на них. Это приводит к концентрации на негативных моментах, даже если они произошли давно. В результате человек может долго переживать из-за мелких обид или неудач.
Если вовремя не обратиться к специалисту, такое состояние может привести к неврозам, бессоннице и другим психологическим трудностям.
Как развить психическую гибкость?
Вот несколько советов, которые помогут сохранить и развить пластичность психики:
👑 Осознайте свои ценности и жизненные приоритеты. Понимание того, что для вас действительно важно, поможет сосредоточиться на главном.
👑 Четко определите свои стратегические цели. Это позволит вам двигаться вперед, не отвлекаясь на второстепенное.
👑 Поймите, как ваши ценности связаны с вашими целями. Это поможет отфильтровать лишнее и сосредоточиться на том, что действительно имеет значение.
👑 Работайте над тем, что важно именно для вас. Не стоит принимать чужие ценности и цели как свои собственные.
👑 Старайтесь реагировать проактивно, а не реактивно. Проактивность помогает сохранять контроль над ситуацией и не поддаваться эмоциям.
👑 Помните, что никто не идеален. Вы не обязаны оправдывать чужие ожидания — важно оставаться верным себе.
Если интересно продолжить обсуждение книги, то подключайтесь в группу Книжник на soer.pro
10 546
Repost from N/a
История успеха: NPM — как небольшой проект стал основой экосистемы JavaScript
Сегодня поговорим о NPM (Node Package Manager) — одном из самых важных инструментов в мире JavaScript. Это не просто менеджер пакетов, а целая экосистема, которая изменила способ разработки программного обеспечения. Давайте разберемся, как NPM стал таким успешным.
Начало: 2009 год
В 2009 году Райан Дал (Ryan Dahl) представил миру Node.js — среду выполнения JavaScript на стороне сервера. Node.js быстро набрал популярность благодаря своей асинхронной модели и высокой производительности. Однако разработчикам не хватало удобного способа делиться кодом и управлять зависимостями.
Именно тогда на сцену вышел NPM. Его создал Айзек Шлютер (Isaac Z. Schlueter) в 2010 году. Изначально NPM задумывался как простой инструмент для установки и управления пакетами в Node.js. Первая версия NPM была выпущена в январе 2010 года, и уже через несколько месяцев она стала стандартом для работы с пакетами в Node.js.
Рост экосистемы
NPM быстро стал популярным благодаря своей простоте и удобству. Вот несколько ключевых факторов, которые способствовали его успеху:
Простота использования
NPM предоставил разработчикам простой интерфейс командной строки для установки пакетов. Например, чтобы установить пакет, достаточно было выполнить команду:
npm install package-name
Централизованный реестр пакетов
NPM создал централизованный реестр пакетов, где разработчики могли публиковать свои библиотеки и находить нужные инструменты. Это сделало процесс обмена кодом быстрым и удобным.
Поддержка зависимостей
NPM автоматически управлял зависимостями между пакетами, что значительно упрощало разработку. Файл package.json стал стандартом для описания проекта и его зависимостей.
Расцвет: 2014–2016 годы
К 2014 году NPM стал неотъемлемой частью экосистемы JavaScript. Количество пакетов в реестре росло экспоненциально.
Рост числа пакетов
В 2014 году в реестре NPM было около 100 000 пакетов. К 2016 году их количество превысило 350 000.
NPM Inc.
В 2014 году Айзек Шлютер основал компанию NPM Inc., чтобы коммерциализировать проект. Компания начала предлагать платные услуги, такие как приватные репозитории и инструменты для корпоративных клиентов.
Интеграция с другими инструментами
NPM стал интегрироваться с популярными инструментами, такими как Webpack, Babel и React, что сделало его еще более востребованным.
Кризис и восстановление
В 2016 году NPM столкнулся с серьезным кризисом. Один из разработчиков удалил свой пакет left-pad, что привело к сбою в работе тысяч проектов. Этот инцидент показал уязвимость экосистемы, зависимой от небольших пакетов.
Однако NPM быстро отреагировал на ситуацию:
Была введена политика, запрещающая удаление пакетов, которые используются другими проектами.
Команда NPM начала активно работать над улучшением стабильности и безопасности реестра.
NPM сегодня
Сегодня NPM — это огромная экосистема, которая включает:
Более 2 миллионов пакетов в реестре.
Десятки миллионов разработчиков по всему миру.
Интеграцию с современными инструментами, такими как Yarn и pnpm.
В 2020 году компания GitHub (принадлежащая Microsoft) приобрела NPM Inc. Это событие укрепило позиции NPM как стандарта для управления пакетами в JavaScript.
Причины успеха NPM:
- Простота и удобство
NPM сделал процесс управления пакетами настолько простым, что даже новички могли легко его использовать.
- Сильное сообщество
Открытость и поддержка сообщества стали ключевыми факторами роста.
- Адаптивность
NPM смог пережить кризисы и адаптироваться к меняющимся требованиям разработчиков.
- Коммерциализация
Создание NPM Inc. позволило проекту развиваться и предлагать новые функции для корпоративных клиентов.
Заключение
NPM — это не просто инструмент, а целая экосистема, которая изменила мир разработки. Его история успеха показывает, как OpenSource-проект может стать стандартом индустрии и вдохновить миллионы разработчиков по всему миру.10 546
Repost from N/a
Низкий уровень: как выглядят вызовы функций по указателю на ASM
В языках высокого уровня, таких как C или C++, часто используются указатели на функции. Это позволяет динамически выбирать, какую функцию вызвать в runtime. Но как это выглядит на уровне ассемблера? Давайте разберемся.
Для начала рассмотрим простой пример на C, где используется указатель на функцию:
int callme() {
return 1;
}
void main() {
int (*func_ptr)() = callme;
func_ptr();
}
Здесь мы создаем указатель на функцию func_ptr, который указывает на функцию callme, и затем вызываем функцию через этот указатель.
Как это выглядит в ассемблере?
Используем Compiler Explorer, чтобы преобразовать этот код в ассемблер. Вот что получилось:
callme:
push rbp
mov rbp, rsp
mov eax, 1
pop rbp
ret
main:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], OFFSET FLAT:callme
mov rax, QWORD PTR [rbp-8]
call rax
nop
leave
ret
Что здесь происходит?
Создание указателя на функцию:
В функции main мы видим, что адрес функции callme сохраняется в памяти по адресу [rbp-8]:
mov QWORD PTR [rbp-8], OFFSET FLAT:callme
Здесь OFFSET FLAT:callme — это адрес функции callme в памяти.
Загрузка указателя в регистр:
Затем этот адрес загружается в регистр rax:
mov rax, QWORD PTR [rbp-8]
Вызов функции по указателю:
После этого происходит вызов функции через регистр rax:
call rax
Инструкция call использует значение в регистре rax как адрес функции, на которую нужно перейти.
Пролог и эпилог
Как и в случае с обычным вызовом функции, здесь также присутствуют пролог и эпилог:
Пролог:
push rbp
mov rbp,
rsp sub rsp, 16
Здесь сохраняется значение rbp, устанавливается новый кадр стека и выделяется место для локальных переменных.
Эпилог:
leave ret
Здесь восстанавливается значение rbp и выполняется возврат из функции.
Пример с массивом в функции
Давайте добавим массив в функцию callme и посмотрим, как это повлияет на ассемблерный код:
int callme() {
char a[128];
return 1;
}
В ассемблере это будет выглядеть так:
callme:
push rbp
mov rbp, rsp
sub rsp, 8 ; <-- обратите внимание, тут сработала Red Zone
mov eax, 1
leave
ret
Здесь видно, что в прологе добавилась инструкция sub rsp, 128, которая выделяет место на стеке для массива a[128].
Вывод
Сегодня мы узнали, как вызов функций по указателю выглядит на уровне ассемблера.
Основные моменты:
Указатель на функцию — это просто адрес функции в памяти.
Вызов функции по указателю осуществляется через регистр, в котором хранится адрес функции.
Пролог и эпилог присутствуют как при обычном вызове функции, так и при вызове через указатель.
Таким образом, даже такие высокоуровневые конструкции, как указатели на функции, имеют свое прямое отражение в ассемблерном коде.10 546
Repost from N/a
Низкий уровень: как выглядят вызовы функций по указателю на ASM
В языках высокого уровня, таких как C или C++, часто используются указатели на функции. Это позволяет динамически выбирать, какую функцию вызвать в runtime. Но как это выглядит на уровне ассемблера? Давайте разберемся.
Для начала рассмотрим простой пример на C, где используется указатель на функцию:
int callme() {
return 1;
}
void main() {
int (*func_ptr)() = callme;
func_ptr();
}
Здесь мы создаем указатель на функцию func_ptr, который указывает на функцию callme, и затем вызываем функцию через этот указатель.
Как это выглядит в ассемблере?
Используем Compiler Explorer, чтобы преобразовать этот код в ассемблер. Вот что получилось:
callme:
push rbp
mov rbp, rsp
mov eax, 1
pop rbp
ret
main:
push rbp
mov rbp, rsp
sub rsp, 16
mov QWORD PTR [rbp-8], OFFSET FLAT:callme
mov rax, QWORD PTR [rbp-8]
call rax
nop
leave
ret
Что здесь происходит?
Создание указателя на функцию:
В функции main мы видим, что адрес функции callme сохраняется в памяти по адресу [rbp-8]:
mov QWORD PTR [rbp-8], OFFSET FLAT:callme
Здесь OFFSET FLAT:callme — это адрес функции callme в памяти.
Загрузка указателя в регистр:
Затем этот адрес загружается в регистр rax:
mov rax, QWORD PTR [rbp-8]
Вызов функции по указателю:
После этого происходит вызов функции через регистр rax:
call rax
Инструкция call использует значение в регистре rax как адрес функции, на которую нужно перейти.
Пролог и эпилог
Как и в случае с обычным вызовом функции, здесь также присутствуют пролог и эпилог:
Пролог:
push rbp
mov rbp,
rsp sub rsp, 16
Здесь сохраняется значение rbp, устанавливается новый кадр стека и выделяется место для локальных переменных.
Эпилог:
leave ret
Здесь восстанавливается значение rbp и выполняется возврат из функции.
Пример с массивом в функции
Давайте добавим массив в функцию callme и посмотрим, как это повлияет на ассемблерный код:
int callme() {
char a[128];
return 1;
}
В ассемблере это будет выглядеть так:
callme:
push rbp
mov rbp, rsp
sub rsp, 128
mov eax, 1
leave
ret
Здесь видно, что в прологе добавилась инструкция sub rsp, 128, которая выделяет место на стеке для массива a[128].
Вывод
Сегодня мы узнали, как вызов функций по указателю выглядит на уровне ассемблера.
Основные моменты:
Указатель на функцию — это просто адрес функции в памяти.
Вызов функции по указателю осуществляется через регистр, в котором хранится адрес функции.
Пролог и эпилог присутствуют как при обычном вызове функции, так и при вызове через указатель.
Таким образом, даже такие высокоуровневые конструкции, как указатели на функции, имеют свое прямое отражение в ассемблерном коде.10 546
Repost from N/a
Сделал мастеркласс по версионированию документов в SPA
В этой задаче мы разберемся, как спроектировать свой подход к версионированию документов в проекте и как это помогает решать следующие проблемы:
👉 множественная обработка одних и тех же данных (например, мы редактируем документ с мобильного и десктопа), нужно понять, какие данные в каком порядке были изменены;
👉двойная загрузка данных на клиенте и, как следствие, потеря несохраненных изменений;
👉ошибки синхронизации стейта (кто раньше, кто позже).
В качестве примера взят механизм создания документов, которые используются в NarisApp.
Посмотреть воркшоп на платформе. так же можно посмотреть видео с описанием проблемы.
10 546
Repost from Соер.Клуб | начался курс по микросервисам
Для подписчиков soer.pro (уровень stream и выше) создал группу 👥"Фанзона" в телеграм ✈️, чтобы туда попасть:
💡Подключить на Платформе свой телеграм аккаунт https://platform.soer.pro/#!/pages/account/profile
💡Добавить группу "Фанзона" https://platform.soer.pro/#!/pages/overview/groups
💡Перейти по ссылке на Telegram
Бонусы фанзоны:
- ранний доступ к видео S0ER.Talks (я сейчас пишу по 2-3 видео в неделю, а публикую раз в неделю, чтобы не ждать, можно смотреть в фанзоне)
- контент план ближайших видео и стримов
- субботние стримы (все кто хочет принять участие в стриме или предложить тему, а так же иметь доступ к записи стримов, которые не сохранены на ютубе)
- Обмен опытом (все кому нужны небольшие советы могут задать их в фанзоне и участники подскажут)
- неизданные видео
- планирование встреч по городам
В целом эта группа для тех кому нравится мой контент и не хочется ждать его выхода.
10 546
Repost from Соер.Клуб | начался курс по микросервисам
Важно! Я хочу ещё раз предостеречь своих подписчиков, в сети появились фейковые материалы в мой адрес:
- каналы от моего имени (Внимание! у одного из каналов скопировано отображаемое имя и аватарка с S0ER.live)
- комментарии форварднутые из фейковых каналов, а так же скриншоты этих сообщений
- аудиозаписи сделанные с использованием нейронок (дипфейки)
- вероятно есть и фейковые фото.
У меня есть только два канала где я пишу, активность в телеграм на других ресурсах я практически не веду. Обязательно проверяйте реальный userId, в том числе на похожее написание.
Я не могу ничего с этим поделать, надеюсь, что если не отвечать, то пройдёт само собой. В чем цель я пока не очень понимаю, выглядит как дурацкая шутка, почти все материалы так или иначе появляются в одном месте.
10 546
Repost from Соер.Клуб | начался курс по микросервисам
Важно! Я хочу ещё раз предостеречь своих подписчиков, в сети появились фейковые материалы в мой адрес:
- каналы от моего имени (Внимание! у одного из каналов скопировано отображаемое имя и аватарка с S0ER.live)
- комментарии форварднутые из фейковых каналов, а так же скриншоты этих сообщений
- аудиозаписи сделанные с использованием нейронок (дипфейки)
- вероятно есть и фейковые фото.
У меня есть только два канала где я пищу, активность в телеграм на других ресурсах я практически не веду. Обязательно проверяйте реальный userId, в том числе на похожее написание.
Я не могу ничего с этим поделать, надеюсь, что если не отвечать, то пройдёт само собой. В чем цель я пока не очень понимаю, выглядит как дурацкая шутка, почти все материалы так или иначе появляются в одном месте.
10 546
Repost from Деплой | Ваня Ботанов
Про критику, конфликты и российское IT / В офисе S0ER
Финальное интервью этого года - откровенный разговор с Соером.
В конце ноября Соер приехал в Москву, мы записали живое интервью и поговорили в нем на все злободневные темы, которыми он жил весь этот год.
Мы разобрали почему он перестал делать контент на ютубе, почему и зачем собирается пойти в обучение, зачем он влез в конфликты, как они на него повлияли и как он реагирует на критику. А еще поговорили про технологический суверенитет и куда мы все идем в нашем с вами IT в России.
Получилось почти два часа насыщенного разговора. Принесли вам прямо под ёлочку.
С Наступающим! Спасибо, что вы с нами.
Смотрим! | 📱YouTube | 📱VK | 💙RuTube |
现已上线!2025 年 Telegram 研究 — 年度关键洞察 
