Прогер
Программирование и айти Сотрудничество: @bogdan_lapenko Пригласительный линк: @umnyiprogrammist Ресурс в перечне: https://tinyurl.com/umnyiprg Биржа: https://telega.in/c/+IohX2XS6sOhhZDRi ЗАЯВКИ ПРИНИМАЮТСЯ МОМЕНТАЛЬНО
Показати більше📈 Аналітичний огляд Telegram-каналу Прогер
Канал Прогер у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 93 168 підписників, посідаючи 1 378 місце в категорії Технології та додатки та 6 031 місце у регіоні Росія.
📊 Показники аудиторії та динаміка
З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 93 168 підписників.
За останніми даними від 21 червня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -1 516, а за останні 24 години на -56, загальне охоплення залишається високим.
- Статус верифікації: Не верифікований
- Рівень залученості (ER): Середній показник залученості аудиторії становить 12.89%. Протягом перших 24 годин після публікації контент зазвичай збирає 5.78% реакцій від загальної кількості підписників.
- Охоплення публікацій: В середньому кожен допис отримує 12 008 переглядів. Протягом першої доби публікація в середньому набирає 5 384 переглядів.
- Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 72.
- Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як github, rust, microsoft, linux, c++.
📝 Опис та контентна політика
Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
“Программирование и айти
Сотрудничество: @bogdan_lapenko
Пригласительный линк: @umnyiprogrammist
Ресурс в перечне: https://tinyurl.com/umnyiprg
Биржа: https://telega.in/c/+IohX2XS6sOhhZDRi
ЗАЯВКИ ПРИНИМАЮТСЯ МОМЕНТАЛЬНО”
Завдяки високій частоті оновлень (останні дані отримано 22 червня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.
NTPPool.org — это проект, который в представлении не нуждается, тем не менее, для тех, кто никогда о нём не слышал — во многом благодаря ему все ваши компьютеры, смартфоны, серверы и прочие гаджеты имеют точное время
Из-за ошибки, допущенной при разработке обновления прошивки для умных колонок «Яндекс Станция», образовалась аномально высокая загрузка на NTP-серверы (Network Time Protocol) в российском сегменте интернета — эти ресурсы используются для синхронизации времени. Компания обнаружила ошибку далеко не сразу, но перечислила меры, которые не допустят её повторения
В середине октября один из добровольцев, который организовал NTP-сервер на своём домашнем маршрутизаторе, обнаружил, что канал устройства забит запросами. Обновление прошивки и перезагрузка проблемы не решили, но она исчезла после отключения NTP. Далее выяснилось, что с середины октября прекратили работу 120 из 140 российских NTP-серверов. Доброволец призвал сообщество «Хабра» в качестве временной меры запустить у отечественных провайдеров NTP-серверы на виртуальных машинах за минимальную плату — помимо рядовых пользователей, откликнулся крупный облачный оператор, который выделил сразу 30 виртуальных машин
Виновником оказалась компания «Яндекс», которая в середине октября начала развёртывать новую прошивку для умных колонок серии «Станция». Прошивка этих устройств содержит стандартный клиент синхронизации времени. В штатном режиме она производится каждые пять часов, но в случае неудачной попытки повторная предпринимается через пять секунд. Из-за ошибки в одном из связанных с клиентом модулей все устройства с обновлённой прошивкой начали вне зависимости от результата предыдущей попытки синхронизировать время каждые пять секунд — напомним, только за первые девять месяцев 2024 года было продано, по оценкам, около 3 млн «Яндекс Станций»
На начальном этапе «Яндекс» развернул прошивку на 10% устройств — это стандартная мера для того, чтобы выявлять ошибки на ранних стадиях. Но в стандартной схеме обнаружения ошибок на тот момент отсутствовала метрика NTP-запросов, и к 24 октября прошивка распространилась на 100% устройств. Первые жалобы на избыточное число NTP-запросов начали поступать 10 ноября — обычно этот симптом объясняется проблемами на стороне пользователя, и из-за небольшого объёма жалоб приоритет у проблемы был невысоким. Ошибку удалось обнаружить лишь 20 ноября — к этому моменту её исправили и начали готовить новый выход прошивки
Но тянуть время уже было нельзя, потому что к выходным 23 и 24 ноября в Сети оставалось всего четыре сервера. Поэтому в качестве временной меры «Яндекс» выпустил хотфикс — экстренное обновление, которое увеличивало период обращения с 5 до 600 секунд. Нагрузка на NTP-серверы, таким образом, снижалась в 120 раз, но если какая-то из «Яндекс Станций» после включения не могла синхронизировать время с первой попытки, то в последующие 10 минут её связанные со временем функции оказывались недоступными. Это помогло стабилизировать ситуацию — к тому моменту начали запускать NTP-серверы члены сообщества «Хабра»
✅ Умный программист | #новостьimport { PNG } from 'pngjs';
import fs from 'node:fs';
function writeData(imageBinary, dataBinary) {
for (let i = 0, dataBitIndex = 0; i < imageBinary.length; i += 4) {
for (let j = 0; j < 3; j++, dataBitIndex++) {
if (dataBitIndex >= dataBinary.length * 8) {
return imageBinary;
}
/
* Получаем текущий бит данных
/
let bit = (dataBinary[Math.floor(dataBitIndex / 8)] >> (7 - (dataBitIndex % 8))) & 1;
/
* Смещаем цвет
/
imageBinary[i + j] = (imageBinary[i + j] & 0xFE) | bit;
}
}
return imageBinary;
}
function async encode(inputPath, outputPath, message) {
let binaryMessage = Buffer.from(message, 'utf-8');
return new Promise(resolve => {
/
* Открываем изображение и получаем его пиксели
/
fs.createReadStream(inputPath)
.pipe(new PNG())
.on('parsed', function() {
//this - Объект PNG
//this.data - Объект Buffer, по сути [R, G, B, A, R, G, B, A...]
/
* Запишем длинну сообщения в первые 4 байта
/
let length = Buffer.alloc(4);
length.writeUInt32BE(binaryMessage.length, 0);
let binaryTotalData = Buffer.concat([
length,
binaryTotalData
]);
/
* Заменяем пиксели
/
writeData(this.data, binaryTotalData);
/
* Сохраняем в файл
/
let stream = fs.createWriteStream(outputPath);
stream.on('finish', resolve);
this.png.pack().pipe(stream);
});
});
}
Получаем сообщение из PNG:
function readMessage(dataBinary) {
let bytes: number[] = [];
for (let i = 0, dataBitIndex = 0, currentByte = 0; i < pixels.length; i += 4) {
for (let j = 0; j < 3; j++) {
let bit = pixels[i + j] & 1;
currentByte = (currentByte << 1) | bit;
dataBitIndex++;
if (dataBitIndex % 8 === 0) {
bytes.push(currentByte);
currentByte = 0;
}
}
}
return Buffer.from(bytes);
}
function async decode(targetPath) {
return new Promise(resolve => {
/
* Открываем изображение и получаем его пиксели
/
fs.createReadStream(targetPath)
.pipe(new PNG())
.on('parsed', function() {
//this - Объект PNG
//this.data - Объект Buffer, по сути [R, G, B, A, R, G, B, A...]
/
* Читаем данные
/
let binaryTotalData = = readData(this.data);
/
* Узнаем длинну исходного сообщения и обрезаем
/
let length = binaryTotalData.readUInt32BE();
let binaryMessage = binaryTotalData.slice(4, 4 + length);
resolve(binaryMessage);
});
});
}
Далее всё зависит от вашей фантазии. Вы можете записать внутрь PNG другой файл, зашифровать данные с помощью AES или даже спрятать все свои пароли в фотографии любимого кота (скриншот №4)
Можно, например, выбирать пиксели не в хаотичном порядке и добавить случайный шум, чтобы усложнить процесс обнаружения скрытых данных
Подробный код решения доступен на GitHub (включая аспекты использования AES и скрытия файлов в изображениях)
✅ Умный программист | #руководство
Вже доступно! Дослідження Telegram за 2025 — головні інсайти року 
