10 measurements spanning 10 days, net -21. Dots are measurements; the straight line between them is drawn to join them, not to claim we know the path taken in between — snapshots are recorded only when a count changes, so gaps mean “no change observed”, never “interpolated”. The vertical axis spans 12,421–12,448 and does not start at zero.
Measurement log — every subscribers count we have recorded
Measured (UTC)
Subscribers
Change
16 Aug 2026, 06:24
12,424
-3
14 Aug 2026, 19:38
12,427
-5
13 Aug 2026, 08:14
12,432
-1
11 Aug 2026, 13:23
12,433
+1
10 Aug 2026, 13:33
12,432
-5
9 Aug 2026, 12:01
12,437
-2
8 Aug 2026, 08:24
12,439
-1
7 Aug 2026, 07:33
12,440
-5
6 Aug 2026, 15:00
12,445
no change
6 Aug 2026, 14:56
12,445
first reading
Engagement
20 posts held, back to 21 August 2025 — the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 18 pagesof Telegram’s post history, 20 posts per page.
Nothing published in the last 30 days. ERR and ER are rolling 30-day measures, so there is nothing to compute — we hold 20 posts for this entry, the most recent from 30 April 2026. An engagement rate over an empty window would be a number about nothing.
Reaction mix
2,391 reactions across 18 posts, in 5 distinct kinds. The most used accounts for 37.6% of them.
Every reaction kind recorded on the sample, most used first
Reaction
Count
Share
Share, drawn
🔥
900
37.6%
❤
753
31.5%
👍
594
24.8%
🎄
72
3.01%
👎
72
3.01%
No sentiment is inferred, and none should be read in. This table is ordered by count and by nothing else. Emoji do not carry stable meaning across languages or communities — 🙏 is thanks in one channel and mourning in another — so we publish which ones were pressed and how often, and pass no judgement on what an audience meant by them.
Precision. Telegram publishes reaction counts per emoji and short-forms each one — 4.34K, 1.2M — so any single kind at or above 1,000 reaches us at three significant figures, and only counts below 1,000 are exact. The shares above are ratios of those figures and carry the same error. This is also why the total here can differ slightly from a reaction total printed elsewhere on the page: both are sums of the same rounded parts, taken over samples with different edges.
Coverage. Reactions were read on 20 of the 20 sampled posts in this sample. Summed by Telegram’s own count on each post — not by adding up the per-emoji breakdown above — those same posts carry 2,391reactions in total: the kind of figure the paragraph above means by “a reaction total printed elsewhere on the page”.
Measured over the 20 most recent posts we hold, published 21 August 2025 to 30 April 2026, using the newest reading held for each. Telegram Stars are excluded: they are a payment, not a reaction, and they have their own section.
Get Your Hands Dirty on Clean Architecture: отзыв на книгу
Когда я подняла тему чистой архитектуры, на меня посыпались рекомендации изучить книгу Get Your Hands Dirty on Clean Architecture, автор Tom Hombergs. Прочитала, делюсь отзывом!
Сердце книги — сервис перевода денег с одним методом. Этот сервис автор реализует в гексагональной архитектуре (она же "порты и адаптеры"), подробно объясняя каждый шаг и возможные …
Clean Architecture: отзыв на книгу
Наконец-то дочитала книгу Clean Architecture Роберта Мартина. Делюсь отзывом!
Начну с художественной составляющей🧚♀️
Это самая "авторская" книга по архитектуре/разработке, которую я читала. Обычно в технических книгах автора не видно, истории описываются нейтрально, структура чёткая и максимально работает на раскрытии темы.
В Clean Architecture ситуация другая, автор выражен о…
Тестовый контекст поднимается 2 минуты. У нас 4 класса с интеграционными тестами, их конфигурация ниже. Настройки прогона тестов стандартные. Сколько времени займет выполнение этих тестов?
@SpringBootTest
public class UserIT{...}
@ActiveProfiles("test")
@SpringBootTest
public class BidProcessingIT{...}
@SpringBootTest(properties = {
"user.rebalance.enabled=true"
})
public class RebalanceAccountIT{...}
@ActivePr…
Как переиспользовать контекст в интеграционных тестах
Сегодня расскажу базовый минимум для написания интеграционных тестов в Spring: как работать с контекстом, чтобы тесты шли не по 2 часа.
В спринге интеграционным тестом называется тот, для которого нужен контекст. Контекст - это набор бинов, свойств, профилей и тд. Поднимать его для каждого теста долго, поэтому Spring по возможности переиспользует созданные ранее…
Чистая архитектура. Главы 3-5
Продолжаем спидран по Clean Architecture Роберта Мартина.
⭐️ Глава 3. Парадигмы программирования ⭐️
определяют способы написания и организации кода. Их 3:
▫️ Структурная - ход программы описывается явно через условия и циклы. Используется для описания алгоритмов
▫️ Обьектно-ориентированная - программа описывается как взаимодействие объектов. Используется полиморфизм, ход работы не вс…
Чистая архитектура: главы 1-2
Начала читать книгу Clean architecture Роберта Мартина.
Давно чувствую в этой теме какой-то пробел. Идея о непорочной бизнес-логике мне нравится, но на практике я не видела хороших примеров.
Видела сервисы, которые задумывались как "чистые", но в итоге становились проблемными. Протекающие слои, костыли, проблемы с транзакциями и атомарностью в целом. Не всегда понятно, как вписать нек…
Лучшие посты и новости
Ребята, не теряйте. У меня сейчас в жизни хайлоад, и до постов руки совсем не доходят. Но как станет полегче - продолжим исследовать чудный мир бэкенд разработки💅
Топ-5 постов этого года
▫️ База по Postgres: почему коннекшены это дорого, и что делает буфер и WAL
▫️ Почему однопоточный Redis быстрее многопоточного ConcurrentHashMap
▫️ CRaC — новая фича с большим потенциалом
▫️ Как прогреть кэ…
Value types: концепт идентичности
Сегодня продолжу разбирать JEP 401: value types. Начало в прошлом посте.
В JEP слово identity встречается 87 раз, практически в каждом абзаце. В этом посте разберу концепт идентичности и что меня в нём смущает.
В систему типов вводится новый термин - идентичность (identity):
▫️ У примитивов идентичности нет. 10 в одном месте ничем не отличается от 10 в другом месте
▫️ У ссылочных …
Value types: основное
На прошлой неделе вышел билд с реализацией value types и основными оптимизациями. Это даже не превью версия, детали ещё поменяются, но первое впечатление составить уже можно. Вся информация есть в JEP 401.
Сегодня расскажу основные технические моменты, отдельным постом напишу мнение про концепт идентичности, на базе которого стоит весь value тип.
Интро
В java 2 гендера типа сущностей — прим…
🔥112👍54❤36👎2
Showing the 12 most recent of 20 posts we hold for @java_fillthegaps. View and reaction counts are the latest single reading for each post, not a live figure, and a recent post is still accumulating both. A view count marked ≈ was rounded by Telegram before we ever saw it — t.me prints views in full below 1,000 and to three significant figures above, so ≈1,200,000 means somewhere between 1,150,000 and 1,249,999. Unmarked counts are exact. Text is reproduced from the public post preview and truncated for length.
Polls
The 4 polls we hold for this entry, as Telegram rendered them when we read the post. A poll’s figures keep moving after that, so each one is dated.
Shares as published. No per-option vote count is published by Telegram, so none is shown.
Percentages only — there are no per-option vote counts here, because Telegram publishes none.The public post preview gives each option’s share and a single voter total, and nothing else. Multiplying one by the other would produce a per-option tally that looks measured and is not: the shares are rounded to whole numbers before we ever see them. We print what was published and leave the column that does not exist empty.
The shares need not add up to 100.Rounding alone puts many polls at 99 or 101. A poll that allows more than one answer per voter runs well past 100 by design, and several here do. The bars are drawn against a fixed 100% track at each option’s own percentage rather than normalised to the total, so a poll that exceeds it shows that it does instead of being quietly rescaled.
Read from the 20 most recent posts we hold, published 21 August 2025 to 30 April 2026. Telegram labels each poll by kind — an anonymous poll, a quiz, a closed set of final results — and that label is reproduced rather than paraphrased.
Citation-graph rank
Citation-graph rank — 1,133,089 of 1,481,243entries in the measured graph. A weighted position computed from the forward and mention edges below — republished posts weigh more than named mentions — and recomputed periodically, over the whole graph. Published only as this ordinal position, never as a score: a position is a fact, and a score printed beside one channel’s name would read as a verdict this register does not make. The two counts beneath stay separate for the same reason mentions are never summed with forwards anywhere else on this page — a named-by count costs nothing to manufacture. The top 100 by this measure, or how it is computed.
Mentions
Named by 1 registered channel — every channel on the register whose own posts have named this one, by its current username or any other username it currently holds, merged from two separately captured readings of the same fact so a namer caught by only one of them is not missed and a namer both caught is not counted twice. A username this channel has since dropped is not matched — that handle may belong to someone else now, and crediting today’s namer to yesterday’s owner would misattribute it.
Named by
Channels on the register whose posts name this channel's handle.
A mention is a weaker signal than a forward and is counted separately for that reason — naming a channel is not republishing it, and a handle in a post body is easy to place deliberately. The post counts beside each row below are distinct posts in which the handle appeared, from posts we have read on both sides — the “Named by N registered channels” figure above is a different count, of distinct NAMING CHANNELS rather than posts, and is not the sum of the rows under it.
Handles this channel named that no longer answer
Dead references
4
handles named in this channel’s posts, vacant today
Evidenced gone
0
we ourselves saw one of these resolve, at some point
Never seen alive
4
vacant every time we have ever looked
@java_fillthegaps named 4 handles that resolve to nothing today. That is a fact about the reference, not necessarily a fact about the handle’s history — see the two groups below.
Most of these may never have existed as a live channel at all.A handle a channel names can be a typo, an aspirational name nobody registered, or a channel that was already gone before this one ever mentioned it. Unless a row below is marked evidenced, all we know is that it references a handle that is not a live channel today — not that anything “died”. How this is measured.
Never seen alive
References a handle that is not a live channel — we have no record it ever was one.
@mockitobean named in 5 posts, 8 August 2026 – 15 August 2026
@mockitospybean named in 5 posts, 8 August 2026 – 15 August 2026
@testexecutionlisteners named in 5 posts, 8 August 2026 – 15 August 2026
@testpropertysource named in 5 posts, 8 August 2026 – 15 August 2026
Cite this entry
A live page changes as we take new readings, so a citation should name the measurement it is based on, not just the URL. The line below cites the subscriber count as measured 16 August 2026 — this
entry's latest reading, not the date you are reading this.
“Java: fill the gaps” (@java_fillthegaps), 12,424 subscribers as measured 16 August 2026. Telegram Register, tgregister.com/channel/java_fillthegaps.
Full measurement history, CC BY 4.0. Every reading this register holds for this entry, not just the latest one, as a dated, downloadable record: CSV · JSON. Free to use with attribution to tgregister.com. Each file carries its own generation timestamp, which is the figure to cite for exactly when the data was retrieved.