Код в работе
история за 8 днейобновляется раз в 6 ч – 3 дняПрограммирование и разработка: код, архитектура, инструменты и рабочие задачи. Практические разборы для тех, кто создаёт программные продукты.
Прирост подписчиков
- За 24 ч
- +155 (+20,9%)
- За 7 дн
- —нет замера 7 дней назад
- За 30 дн
- —нет замера 30 дней назад
- Место по приросту
- №38за 24 ч в рубрике «Технологии и IT»
К замеру 01.11.2026 · 15:45 МСК. Страницы канала замеряются в среднем раз в 2 дня.
Вовлечённость
- ERR 24 ч
- 52,3%замер на возрасте 20–30 ч
- ERR 48 ч
- 48,9%по 3 постам за 7 дн
- ERR 30 дн
- 37,9%по последним замерам, 11 постов
- ER (реакции)
- 2,0%по 11 постам за 30 дн
ERR — средний охват поста к подписчикам, ER — реакции к просмотрам.
Средний охват поста
- 24 ч
- 468замер на возрасте 20–30 ч
- 48 ч
- 438по 3 постам за 7 дн
- 72 ч
- 411по 3 постам за 7 дн
- 7 дн
- 418по последним замерам, 8 постов
- 30 дн
- 339по последним замерам, 11 постов
Охваты 48 и 72 ч посчитаны 02.11.2026 · 06:16 МСК, без репостов.
Упоминания и активность
- Упоминаний за 24 ч
- 0
- За 7 дн
- 0
- За 30 дн
- 0
- ИЦ
- 00 источников за 90 дн
- Постов в день
- 0,4за 30 дн
- Реклама с erid
- 0постов за 30 дн
Упоминания и ИЦ на 02.11.2026 · 06:16 МСК.
Покупал рекламу в…
30 дней · обнаруженные размещения
Не удалось загрузить закупы
Включая размещения без erid. Оплата не подтверждена. Как определяем
Продавал рекламу…
30 дней · обнаруженные размещения
Не удалось загрузить закупы
Включая размещения без erid. Оплата не подтверждена. Как определяем
Динамика и события
Маркеры: «@» — упоминание в другом канале, «Р» — рекламный пост с erid
| Дата | Подписчики |
|---|---|
| 31.10.2026 | 740 |
| 01.11.2026 | 895 |
| 02.11.2026 | — |
Последние посты
- фото
Цикл обработки соединений в Java NIO! Диаграмма показывает, как один серверный цикл обслуживает неблокирующие сокеты. Selector находит соединения, готовые к чтению или записи, поэтому поток не тратит время на ожидание каждого сокета по очереди. Сохрани, чтобы не потерять!
Открыть в MAX- Просмотры
- 273
- ER
- 3,7%
- Реакции
- 10
Объединяем пересекающиеся интервалы на C++! Дан список занятых временных интервалов. Нужно объединить пересекающиеся и соприкасающиеся отрезки. Представляем каждый интервал парой начала и конца. Считаем границы полуоткрытыми, поэтому отрезки [2, 5) и [5, 7) тоже объединяются: include <algorithm> include <utility> include <vector> using Interval = std::pair<int, int>; std::vector<Interval> busy{ {1, 3}, {2, 5}, {8, 10}, {10, 12} };{} Сначала сортируем пары по началу, а при равенстве по концу. После сортировки каждый следующий интервал можно сравнить только с последним…
Открыть в MAX- Просмотры
- 515
- ER
- 2,5%
- Реакции
- 13
Ограничиваем чтение старых Java-объектов! Если старый формат уже использует ObjectInputStream, входной поток нельзя считать доверенным. ObjectInputFilter ограничивает размер графа объектов и разрешает только классы, ожидаемые конкретным форматом. Перечисляем допустимые типы явно: private static final Set<Class<?>> ALLOWED = Set.of(LegacyRecord.class, String.class);{} В список включаются тип корневой записи и типы её полей, которые действительно сериализуются. Широкие разрешения для всех классов пакета превращают allowlist в формальность. Сначала отсекаем слишком больш…
Открыть в MAX- Просмотры
- 521
- ER
- 2,5%
- Реакции
- 13
- фото
Знаете, почему после записи ByteBuffer данные сразу не читаются? У буфера есть position и limit. После put позиция указывает на место следующей записи, поэтому сначала переключаем его из режима записи в режим чтения: buffer.put(payload); buffer.flip(); flip переносит текущую position в limit и возвращает position в начало. Теперь чтение ограничено только записанными байтами, а не всей ёмкостью буфера. Читаем данные, пока между position и limit остаются байты: while (buffer.hasRemaining()) { process(buffer.get()); } После чтения clear подготавливает буфер к новой записи. Он сбрасывает p…
Открыть в MAX- Просмотры
- 474
- ER
- 2,3%
- Реакции
- 11
- фото
Чем scheduleAtFixedRate отличается от scheduleWithFixedDelay? Оба метода запускают периодическую задачу, но отсчитывают интервал по-разному. Если выбрать не тот режим, долгие операции могут запускаться чаще, чем ожидает команда. При фиксированной частоте следующий запуск привязан к расписанию, а не к окончанию предыдущего: scheduler.scheduleAtFixedRate( this::refresh, 0, 30, TimeUnit.SECONDS); Если обновление занимает 8 секунд, следующий запуск всё равно планируется через 30 секунд от предыдущего старта. Один и тот же периодический task не выполняется параллельно сам с собой, но при дол…
Открыть в MAX- Просмотры
- 475
- ER
- 1,5%
- Реакции
- 7
- фото
Сохраняем пачку событий в БД одной транзакцией! Нужно записать несколько событий и не оставить таблицу в частично обновлённом состоянии. Используем PreparedStatement batch и фиксируем транзакцию только после успешной вставки. В этой задаче: • открываем соединение с отключённым auto-commit • добавляем записи через addBatch • выполняем batch и подтверждаем или откатываем транзакцию Для больших импортов пачку разделяем на ограниченные части.
Открыть в MAX- Просмотры
- 414
- ER
- 2,2%
- Реакции
- 9
Добавляем место вызова в сообщения об ошибках на C++! Когда ошибка обнаруживается глубоко внутри общей функции, по одному тексту лога бывает трудно найти её источник. В C++20 std::source_location позволяет получить файл и строку вызова без ручной передачи этих параметров. Подключаем нужные заголовки: include <iostream> include <source_location> include <string_view>{} Добавляем source_location последним параметром со значением по умолчанию: void logError(std::string_view message, std::source_location where = std::source_location::current()) {{}…
Открыть в MAX- Просмотры
- 358
- ER
- 2,0%
- Реакции
- 7
- фото
🔥 Мастхев подборка для каждого айтишника Держите подборку авторских IT-каналов по всем направлениям: курсы, гайды, статьи, практики, примеры кода, шпаргалки и прохождение собесов. ▪️ Python: @python ▪️ Frontend: @frontend ▪️ Java: @java 👨💻 Go: @golang ▪️ ИБ & Хакинг: @hacking ▪️ C/C++: @cplusplus ▪️ C & GameDev: @gamedev ▪️ Data Science: @datascience ▪️ DevOps: @devops ▪️ Linux: @linux ▪️ IT Курсы: @courses ▪️ Вайбкодинг: @vibecoding ▪️ Весь айти: @itnews
Открыть в MAX- Просмотры
- 312
- ER
- 1,0%
- Реакции
- 3
- фото
Объединяем отсортированные логи на C++! Несколько файлов уже содержат записи в порядке времени, но для анализа нужен один общий поток. Соберём его через min-heap, читая из каждого файла только текущую запись. В этой задаче: • связываем запись с её файлом • помещаем в очередь первые записи • после извлечения подгружаем следующую из того же файла Так объём дополнительной памяти зависит от числа файлов, а не от размера логов.
Открыть в MAX- Просмотры
- 234
- ER
- —
- Реакции
- —
Группируем метрики по минутным окнам на C++! Представим, что сервис записывает latency каждого запроса. Для графика не всегда нужны все отдельные измерения, поэтому соберём число событий и среднее значение для каждой минуты. Храним у каждого измерения время и значение, а в сводке накапливаем сумму и количество: struct Sample { std::chrono::system_clock::time_point at; double value; }; struct Stats { double total{}; std::size_t count{}; };{} Ключом сделаем начало минуты. floor округляет время вниз, поэтому измерения в 10:14:02 и 10:14:59 попадут в одно окно: us…
Открыть в MAX- Просмотры
- 153
- ER
- —
- Реакции
- —
Показано 10
Данные: публичные посты и страницы канала в MAX. Метрики версии v1, пересчитаны 02.11.2026, подписчики замерены 01.11.2026. Как мы считаем.