S0ER
Архитектура | Программирование | Профессиональное развитие Соер.Клуб - https://t.me/soer_live По всем вопросам писать на @soerdev
Больше📈 Аналитический обзор Telegram-канала S0ER
Канал S0ER (@softwareengineervlog) языкового сегмента Русский является активным участником. Сейчас сообщество объединяет 10 453 подписчиков, занимая 11 381 место в категории Технологии и приложения и 60 858 место в регионе Россия.
📊 Показатели аудитории и динамика
С момента создания невідомо проект демонстрирует стремительный рост, собрав аудиторию из 10 453 подписчиков.
Согласно последним данным от 28 августа, 2026, канал показывает стабильную активность. За последние 30 дней изменение числа участников составило -12, а за последние 24 часа — -1, при этом общий охват остаётся высоким.
- Статус верификации: Не верифицирован
- Уровень вовлечённости (ER): Средний показатель вовлечённости аудитории составляет 48.15%. В первые 24 часа после публикации контент обычно набирает N/A% реакций от общего числа подписчиков.
- Охват публикаций: В среднем каждый пост получает 0 просмотров. В течение первых суток публикация набирает 0 просмотров.
- Реакции и взаимодействия: Аудитория активно поддерживает контент: среднее количество реакций на один пост — 0.
- Тематические интересы: Контент сосредоточен на ключевых темах, таких как rbp, архитектура, callme, mov, указатель.
📝 Описание и контентная политика
Автор описывает ресурс как площадку для выражения субъективного мнения:
“Архитектура | Программирование | Профессиональное развитие
Соер.Клуб - https://t.me/soer_live
По всем вопросам писать на @soerdev”
Благодаря высокой частоте обновлений (последние данные получены 29 августа, 2026) канал поддерживает актуальность и высокий уровень охвата публикаций. Аналитика показывает, что аудитория активно взаимодействует с контентом, что делает его важной точкой влияния в категории Технологии и приложения.
что думаете по поводу предстоящего релиза snapdragon x elite, будущего арм vs х86, и кто будет лидировать на рынке не-apple arm процессоров?
Как относитесь к переходу многих технологий - Redis, как недавний пример, на двойное лицензирование, вместо лицензии, которая соответствовала open source?Для меня здесь несколько моментов: 1. Для создания хорошего софта нужны деньги и компании всегда будут искать варианты монетизации своих продуктов. Это нормально. 2. Переупаковка софта с открытым кодом с целью дальнейшей продажи - часто встречаются на рынке и то что Redis хочет ограничить такую возможность - это нормально. 3. Не нормально то, что теперь людям надо дважды думать, что они могут делать с кодом от Redis, а чего нет. Это дополнительная сложность, которая может быть ложкой дёгтя в бочке мёда. Хотя ядро, вроде, осталось под BSD лицензией, но все равно не все прозрачно и понятно. В целом рынок становится все сложнее, компаниям хочется зарабатывать и развиваться, так что как говорится се ля ви.
some_string указан как string, а не Email :
type Email = string;
function auth(login:Email) {}
const some_string:string = "some_string";
auth(some_string); // ok
Тип string структурно идентичен типу Email , поэтому ошибки нет.
Номинативные типы работают по-другому - они совместимы только при явном использовании. К сожалению, встроенной поддержки таких типов в typescript нет, но есть хак, который называют брендированием. Его суть заключается в том, что мы добавляем к типу уникальное свойство:
type Email = string & { _: 'Email' };
Теперь тип Email будет структурно не совместим с типом string. Мы получим ошибку компиляции:
type Email = string & { _: 'Email' };
function auth(login:Email) {}
const some_string:string = "some_string";
auth(some_string); // Argument of type 'string' is not assignable to parameter of type 'Email'.
Чтобы код заработал, нам придется явно указывать, что переменная имеет тип Email:
const some_string = "some_string" as Email;
Или добавить проверку в наш код, которая также будет выводить нужный нам тип:
function isEmail(value:string): value is Email {
const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
return emailRegex.test(value);
}
Для удобства создания брендированных типов можно воспользоваться дежнериком:
type Brand<B extends string, T> = T & { readonly _: B }
Пример использования:
type Email = Brand<'Email', string>;