S0ER
前往频道在 Telegram
Архитектура | Программирование | Профессиональное развитие Соер.Клуб - https://t.me/soer_live По всем вопросам писать на @soerdev
显示更多📈 Telegram 频道 S0ER 的分析概览
频道 S0ER (@softwareengineervlog) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 10 455 名订阅者,在 技术与应用 类别中位列第 11 378,并在 俄罗斯 地区排名第 60 831 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 10 455 名订阅者。
根据 26 八月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -9,过去 24 小时变化为 0,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 28.39%。内容发布后 24 小时内通常能获得 N/A% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 2 968 次浏览,首日通常累积 0 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 80。
- 主题关注点: 内容集中在 rbp, архитектура, callme, mov, указатель 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Архитектура | Программирование | Профессиональное развитие
Соер.Клуб - https://t.me/soer_live
По всем вопросам писать на @soerdev”
凭借高频更新(最新数据采集于 27 八月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
10 455
订阅者
无数据24 小时
无数据7 天
-930 天
帖子存档
10 455
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 455
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 455
Repost from N/a
Сделал мастеркласс по версионированию документов в SPA
В этой задаче мы разберемся, как спроектировать свой подход к версионированию документов в проекте и как это помогает решать следующие проблемы:
👉 множественная обработка одних и тех же данных (например, мы редактируем документ с мобильного и десктопа), нужно понять, какие данные в каком порядке были изменены;
👉двойная загрузка данных на клиенте и, как следствие, потеря несохраненных изменений;
👉ошибки синхронизации стейта (кто раньше, кто позже).
В качестве примера взят механизм создания документов, которые используются в NarisApp.
Посмотреть воркшоп на платформе. так же можно посмотреть видео с описанием проблемы.
10 455
Repost from SOERDEV | развитие инженеров-программистов
Для подписчиков soer.pro (уровень stream и выше) создал группу 👥"Фанзона" в телеграм ✈️, чтобы туда попасть:
💡Подключить на Платформе свой телеграм аккаунт https://platform.soer.pro/#!/pages/account/profile
💡Добавить группу "Фанзона" https://platform.soer.pro/#!/pages/overview/groups
💡Перейти по ссылке на Telegram
Бонусы фанзоны:
- ранний доступ к видео S0ER.Talks (я сейчас пишу по 2-3 видео в неделю, а публикую раз в неделю, чтобы не ждать, можно смотреть в фанзоне)
- контент план ближайших видео и стримов
- субботние стримы (все кто хочет принять участие в стриме или предложить тему, а так же иметь доступ к записи стримов, которые не сохранены на ютубе)
- Обмен опытом (все кому нужны небольшие советы могут задать их в фанзоне и участники подскажут)
- неизданные видео
- планирование встреч по городам
В целом эта группа для тех кому нравится мой контент и не хочется ждать его выхода.
10 455
Repost from SOERDEV | развитие инженеров-программистов
Важно! Я хочу ещё раз предостеречь своих подписчиков, в сети появились фейковые материалы в мой адрес:
- каналы от моего имени (Внимание! у одного из каналов скопировано отображаемое имя и аватарка с S0ER.live)
- комментарии форварднутые из фейковых каналов, а так же скриншоты этих сообщений
- аудиозаписи сделанные с использованием нейронок (дипфейки)
- вероятно есть и фейковые фото.
У меня есть только два канала где я пишу, активность в телеграм на других ресурсах я практически не веду. Обязательно проверяйте реальный userId, в том числе на похожее написание.
Я не могу ничего с этим поделать, надеюсь, что если не отвечать, то пройдёт само собой. В чем цель я пока не очень понимаю, выглядит как дурацкая шутка, почти все материалы так или иначе появляются в одном месте.
10 455
Repost from SOERDEV | развитие инженеров-программистов
Важно! Я хочу ещё раз предостеречь своих подписчиков, в сети появились фейковые материалы в мой адрес:
- каналы от моего имени (Внимание! у одного из каналов скопировано отображаемое имя и аватарка с S0ER.live)
- комментарии форварднутые из фейковых каналов, а так же скриншоты этих сообщений
- аудиозаписи сделанные с использованием нейронок (дипфейки)
- вероятно есть и фейковые фото.
У меня есть только два канала где я пищу, активность в телеграм на других ресурсах я практически не веду. Обязательно проверяйте реальный userId, в том числе на похожее написание.
Я не могу ничего с этим поделать, надеюсь, что если не отвечать, то пройдёт само собой. В чем цель я пока не очень понимаю, выглядит как дурацкая шутка, почти все материалы так или иначе появляются в одном месте.
10 455
Repost from Деплой | Ваня Ботанов
Про критику, конфликты и российское IT / В офисе S0ER
Финальное интервью этого года - откровенный разговор с Соером.
В конце ноября Соер приехал в Москву, мы записали живое интервью и поговорили в нем на все злободневные темы, которыми он жил весь этот год.
Мы разобрали почему он перестал делать контент на ютубе, почему и зачем собирается пойти в обучение, зачем он влез в конфликты, как они на него повлияли и как он реагирует на критику. А еще поговорили про технологический суверенитет и куда мы все идем в нашем с вами IT в России.
Получилось почти два часа насыщенного разговора. Принесли вам прямо под ёлочку.
С Наступающим! Спасибо, что вы с нами.
Смотрим! | 📱YouTube | 📱VK | 💙RuTube |
10 455
В воскресенье 10:00 по Мск, проведем стрим с победителями "Золотой Соер 2024", поговорим про личные каналы, сложности поиска идей для контента, сложности производства контента, а так же ответим на вопросы из чата.
Приходите будет интересно!
10 455
Repost from SOERDEV | развитие инженеров-программистов
Почему люди боятся совершать действия?
Легко дать совет: «Сходи на 10 собеседований», «Предложи начальнику внедрить новую фичу», «Возьми на себя дополнительную активность», «Реши 30 задач на литкоде» и т. д. Такие вещи постоянно советуют со всех сторон. Почему эти советы не такие простые, как кажутся? Давайте размышлять.
👉 Проблема: «Наш мозг ленив».
Сталкиваюсь с тем, что люди всегда находят причину, почему совершить то или иное действие — это бессмысленное телодвижение. Мол, все равно ничего не получится, это не мое и тому подобные штуки.
Много читал и слушал материала на эту тему, насколько я понял, проблема в том, что наш мозг суперзатратная (с позиции энергии) штука, и если хвататься за все подряд, то энергии может не хватить на что-то важное.
Поэтому энергию надо экономить, а это значит «лениться» выгодно, чтобы сохранить силы.
👉 Проблема: «Нам страшно».
Мы так устроены, что страх перед потерей у нас гораздо сильнее, чем радость от приобретения. Человек предпочтет ничего не делать, если при этом гарантированно ничего не потеряет.
Под потерями, как правило, понимается время и деньги. Если речь заходит о деньгах, то всё — стоп машина, никуда не едем.
Другая потеря — это репутация, которая сводится к мысли «А что обо мне подумают люди?». Спойлер: как правило, люди либо ничего не подумают, либо подумают, что ты дурак, независимо от твоего действия или бездействия.
👉 Проблема: «Избыток информации».
Первые две проблемы, как правило, парализуют волю, а вот третья проблема заставляет кипеть мозг. Даже если человек решил что-то сделать, то возникает момент «А с чего начать?», и тут целый ворох информации обрушивается со всех сторон.
Даже простая задача — «сходить на собеседование», порождает кучу вопросов: «Куда?», «Как подготовиться?», «Почему не зовут?», «Что, если провалю?» и т. д. Поэтому оказывается, что простые советы на деле не имеют простых, понятных планов действия.
👑 Что делать?
Для меня эффективна стратегия «маленьких шагов», я уже много раз говорил, что такой подход решает приведенные проблемы:
💪 Решение проблемы «Мозг ленив»: мозг не воспринимает «маленький шаг» как что-то опасное или энергозатратное.
💪 Решение проблемаы«Нам страшно»: при маленьком шаге и потери воспринимаются не так опасно.
💪 Решение проблемы «Ворох информации»: чем проще действие, которое нужно совершить, тем понятнее, что нужно делать.
Итоговое решение в том, чтобы декомпозировать задачу на более простые шаги, которые не требуют больших усилий. Но при этом важно совершать небольшие шаги регулярно.
Здесь поможет планирование и фиксация успехов — заведите календарь, где отмечайте дни, когда вы что-то сделали для достижения цели, и планируйте, что вы будете делать на следующей неделе.
Со временем привычка совершать небольшие действия приведет к аккумулированию результата. И вы удивитесь, на что способны.
10 455
Челлендж: 🤣🤣🤣 Расскажи бабушке про статанализ
Скоро Новый год, время подарков и несерьезных челленджей.
Задача простая: в комментариях к этому посту максимально простым языком напишите что такое статанлиз, так чтобы даже бабушка поняла (можно в шуточной форме).
Кто соберет больше всего положительных реакций под комментарием получит приз - книгу «60 антипаттернов для С++ программиста» автор Андрей Карпов - сооснователь копании PVS-Studio.
Книга будет полезна новичкам, кто хочет глубже изучить C++ и понять почему некоторые вещи делать вредно. А самое ценное - в книге опсано еще и "почему" вредно!
Чтобы вы прониклись всей важностью момента, книгу нельзя купить в магазине, это ограниченный тираж, который расходится только между своими!
P.S. Итоги подведем на стриме в выходные! Торопитесь, времени мало!
SOER | PRO | Boosty
10 455
