Telegram RegisterThe public register of Telegram
Telegram profile photo for Грокаем паттерны программирования

Channel

Грокаем паттерны программирования

@jstutors

On this record: Topic · Growth · Engagement · Posts · Telegram's recommendations · Cite this entry

816subscribers

-4 since we began measuring on 1 September 2026

Risers and fallers across the register · movement among entries of Under 1,000.

Register entry

Telegram ID-1001708744628
TypeChannel
Username@jstutors
CreatedBetween 1 December 2021 and 30 April 2023 — estimated from Telegram’s id allocation, not measured. How this range is calculated.
First recorded1 September 2026
Last confirmed live19 September 2026
Measurements held5
Confirmed unchanged1 time, most recently 19 September 2026
On Telegramt.me/jstutors

Topic

Technology — a classification, not a measurement. An on-box language model (Qwen3.6-35B-A3B-FP8, prompt version 1) read this channel’s own recent posts on 20 September 2026 and assigned it the closest of 31 fixed categories, at 82% confidence. This is a model’s judgement about what the channel is likely to be about, not a fact this register measured the way a subscriber count or a view count is measured — it can be revised on a later pass, and it carries no weight anywhere else on this page. How this classification works, and why it has no browse page of its own yet.

Growth

8168208181 September 2026 — 820 subscribers1 September 2026 — 820 subscribers2 September 2026 — 819 subscribers10 September 2026 — 818 subscribers19 September 2026 — 816 subscribers1 September 202619 September 2026
5 measurements spanning 18 days, net -4. 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 815–821 and does not start at zero.
Measurement log — every subscribers count we have recorded
Measured (UTC)SubscribersChange
19 Sept 2026, 18:01816-2
10 Sept 2026, 17:17818-1
2 Sept 2026, 00:34819-1
1 Sept 2026, 10:15820no change
1 Sept 2026, 10:01820first reading

Engagement

20 posts held, back to 28 October 2024 — the reader has not yet reached the start of this channel’s public history, so older posts may sit further back, unread. Read across 1 page of 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 22 December 2025. An engagement rate over an empty window would be a number about nothing.

Recent posts

22 Dec 2025, 06:53 UTC392 viewsread 1 September 2026

Не нужно заучивать SQL наизусть. Нужно понимать концепции. Вот пример, что дает именно понимание концепций: «Мне нужна общая сумма продаж по каждому клиенту. Значит, начинать надо с таблицы продаж (FROM). Скорее всего, нужно соединить ее с таблицей клиентов, чтобы получить имена. Дальше нужно сгруппировать все строки продаж по каждому клиенту (GROUP BY customer_id). Для каждой такой группы выбрать имя клиента и сум…

19 Dec 2025, 14:10 UTC344 viewsread 1 September 2026

Postgres 18 получил поддержку виртуальных вычисляемых колонок. Вычисляемые STORED-колонки в Postgres уже были несколько версий подряд. Вычисляемые колонки позволяют: • создавать колонку на основе других данных • ссылаться на значения из других колонок • заранее считать колляции или любые вычисления в базе, а не в приложении Синтаксис GENERATED ALWAYS AS открывает выражение, а в конце указывается режим VIRTUAL или S…

19 Dec 2025, 12:10 UTC284 viewsread 1 September 2026

Работаешь с массивами? Оператор ANY позволяет проверить список и увидеть, совпадает ли хоть один элемент. SELECT * FROM products WHERE 'Red' = ANY(colors); color = 'red' срабатывает только для одиночного значения 'Red' = ANY(...) работает, когда у тебя колонка со списком вроде ['red', 'blue', 'green'] А если хочешь лучше прокачать себя перед собеседованием по SQL, то можешь пройти наш курс: "Грокаем паттерны SQL-…

19 Dec 2025, 05:04 UTC248 viewsread 1 September 2026

Зимняя уборка в Postgres: Проверь, сколько места реально занимают базы и каков физический размер диска. Убедись, что запаса хватит на 2026 год. Посмотреть список всех БД на сервере и их размеры, отсортированные по убыванию: SELECT datname AS database_name, pg_size_pretty(pg_database_size(datname)) AS size FROM pg_database ORDER BY pg_database_size(datname) DESC; А если хочешь лучше прокачать себя …

17 Dec 2025, 06:31 UTC222 viewsread 1 September 2026
Photo

Дженерики TypeScript и Indexed Access Types для строгой привязки типов аргументов друг к другу.

13 Dec 2025, 05:41 UTC239 viewsread 1 September 2026

Наконец-то! Можно начинать прощаться с new Date() в JS. Temporal API доехал до Google Chrome 144. Это новый способ работать с датами и временем. Там куча утилит и улучшений: // 1) Разница между датами - без миллисекунд и без головняка const start = Temporal.PlainDate.from('2026-01-10') const end = Temporal.PlainDate.from('2026-01-30') console.log(`Длительность: ${start.until(end).days} дней`) // Длительность: 20…

11 Dec 2025, 04:31 UTC211 viewsread 1 September 2026
Photo

По мне, это самый удобный вариант монорепы без отдельного шага сборки: • pnpm workspaces и установка через workspace:* • внутренние пакеты, которые экспортируют *.ts файлы • опционально: pnpm publishConfig, чтобы при публикации подменять экспорты на *.js { "name": "@internal/foo", "version": "1.0.0", // Экспорт исходников TypeScript "main": "./src/index.ts", "types": "./src/index.ts", "exports": { "…

7 Dec 2025, 05:21 UTC207 viewsread 1 September 2026
Photo

Chainable async API Меня всегда интересовало, как DrizzleORM удаётся чейнить async-функции вроде await delete() и await delete().where(). Они реализовали свой кастомный Promise, от которого наследуются все операции с БД, например PgDelete для delete в Postgres. Чейнящиеся методы типа delete() и where() просто изменяют внутреннее состояние и всегда возвращают this (тот же самый инстанс промиса). Поэтому, когда ты …

6 Dec 2025, 05:25 UTC180 viewsread 1 September 2026
Photo

Просто небольшое напоминание: для описания ограниченного набора возможных состояний лучше использовать union type. А не жонглировать кучей boolean-полей и потенциально невалидными состояниями.

5 Dec 2025, 05:59 UTC194 viewsread 1 September 2026
Photo

Используй стандартное поле Node.js imports вместо алиасов TypeScript.

3 Dec 2025, 07:49 UTC209 viewsread 1 September 2026

TypeScript: использование NoInfer для строгих зависимостей между аргументами дженерик-функций class WorkflowManager<Stage extends string> { private currentStage: Stage; constructor( public readonly allowedStages: readonly Stage[], initialStage: NoInfer<Stage>, ) { this.currentStage = initialStage; } transition(nextStage: Stage) { this.currentStage = nextStage; console.log(`Transitione…

1 Dec 2025, 05:16 UTC209 viewsread 1 September 2026

Intl.ListFormat это удобный способ собрать список в строку с учетом локали, без самописных костылей. onst getMessage = (users) => { const formatter = new Intl.ListFormat("en-US", { style: "long", // long (по умолчанию), short, narrow type: "conjunction" // conjunction (and), disjunction (or), unit }); return `Hello ${formatter.format(users)}!`; }; // Автоматически подстраивает грамматику conso…

Showing the 12 most recent of 20 posts we hold for @jstutors. 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.

Appears in Telegram’s recommendations for other channels

The reverse of the list above, and a different kind of signal. This does not require this channel to have ever been asked about directly — each row below is a channel we DID ask Telegram about, whose Telegram-generated list happened to include this one. A channel can appear here with an empty list above it, because being named by someone else’s query is independent of having been queried itself.

Вайб-кодинг
@vibecoding_tg · 63,075
Telegram ranks this channel #27 of 85 here — alongside 84 others — read 1 September 2026
IT Ukraine
@ITUkraineNow · 22,916
Telegram ranks this channel #73 of 75 here — alongside 74 others — read 19 September 2026

This channel appears in 2 seed channels' Telegram-generated recommendation lists in total. Each is Telegram’s list for THAT channel, not this one — see how this is measured.

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 19 September 2026 — this entry's latest reading, not the date you are reading this.

“Грокаем паттерны программирования” (@jstutors), 816 subscribers as measured 19 September 2026. Telegram Register, tgregister.com/channel/jstutors.

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.