en
Feedback
Точка входа в программирование

Точка входа в программирование

Open in Telegram

Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj

Show more

📈 Analytical overview of Telegram channel Точка входа в программирование

Channel Точка входа в программирование (@prog_point) in the Russian language segment is an active participant. Currently, the community unites 17 993 subscribers, ranking 7 066 in the Technologies & Applications category and 36 349 in the Russia region.

📊 Audience metrics and dynamics

Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 17 993 subscribers.

According to the latest data from 01 October, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -126 over the last 30 days and by 6 over the last 24 hours, overall reach remains high.

  • Verification status: Not verified
  • Engagement rate (ER): The average audience engagement rate is 5.12%. Within the first 24 hours after publication, content typically collects 2.32% reactions from the total number of subscribers.
  • Post reach: On average, each post receives 922 views. Within the first day, a publication typically gains 418 views.
  • Reactions and interaction: The audience actively supports content: the average number of reactions per post is 2.
  • Thematic interests: Content is focused on key topics such as docker, javascript, kubernetes, браузер, контейнер.

📝 Description and content policy

The author describes the resource as a platform for expressing subjective opinions:
“Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj”

Thanks to the high frequency of updates (latest data received on 02 October, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.

17 993
Subscribers
+624 hours
-237 days
-12630 days
Attracting Subscribers
Oct '26
October '26
+9
in 0 channels
September '26
+64
in 8 channels
Get PRO
August '26
+63
in 5 channels
Get PRO
July '26
+23
in 4 channels
Get PRO
June '26
+47
in 1 channels
Get PRO
May '26
+58
in 1 channels
Get PRO
April '26
+54
in 3 channels
Get PRO
March '26
+55
in 5 channels
Get PRO
February '26
+64
in 4 channels
Get PRO
January '26
+72
in 2 channels
Get PRO
December '25
+115
in 5 channels
Get PRO
November '25
+83
in 5 channels
Get PRO
October '25
+140
in 3 channels
Get PRO
September '25
+81
in 4 channels
Get PRO
August '25
+81
in 3 channels
Get PRO
July '25
+96
in 3 channels
Get PRO
June '25
+148
in 8 channels
Get PRO
May '25
+96
in 3 channels
Get PRO
April '25
+76
in 3 channels
Get PRO
March '25
+187
in 8 channels
Get PRO
February '25
+179
in 5 channels
Get PRO
January '25
+153
in 3 channels
Get PRO
December '24
+178
in 4 channels
Get PRO
November '24
+136
in 5 channels
Get PRO
October '24
+130
in 8 channels
Get PRO
September '24
+129
in 5 channels
Get PRO
August '24
+145
in 4 channels
Get PRO
July '24
+94
in 2 channels
Get PRO
June '24
+71
in 4 channels
Get PRO
May '24
+174
in 5 channels
Get PRO
April '24
+208
in 7 channels
Get PRO
March '24
+131
in 4 channels
Get PRO
February '24
+127
in 1 channels
Get PRO
January '24
+141
in 3 channels
Get PRO
December '23
+106
in 5 channels
Get PRO
November '23
+115
in 3 channels
Get PRO
October '23
+108
in 1 channels
Get PRO
September '23
+134
in 0 channels
Get PRO
August '23
+250
in 0 channels
Get PRO
July '23
+282
in 0 channels
Get PRO
June '23
+360
in 0 channels
Get PRO
May '23
+475
in 0 channels
Get PRO
April '23
+543
in 0 channels
Get PRO
March '23
+424
in 0 channels
Get PRO
February '23
+536
in 0 channels
Get PRO
January '23
+1 067
in 0 channels
Get PRO
December '22
+487
in 0 channels
Get PRO
November '22
+564
in 0 channels
Get PRO
October '22
+384
in 0 channels
Get PRO
September '22
+612
in 0 channels
Get PRO
August '22
+494
in 0 channels
Get PRO
July '22
+587
in 0 channels
Get PRO
June '22
+969
in 0 channels
Get PRO
May '22
+621
in 0 channels
Get PRO
April '22
+425
in 0 channels
Get PRO
March '22
+773
in 0 channels
Get PRO
February '22
+1 309
in 0 channels
Get PRO
January '22
+558
in 0 channels
Get PRO
December '21
+353
in 0 channels
Get PRO
November '21
+2 297
in 0 channels
Get PRO
October '21
+1 689
in 0 channels
Get PRO
September '21
+324
in 0 channels
Get PRO
August '21
+837
in 0 channels
Get PRO
July '21
+1 025
in 0 channels
Get PRO
June '21
+627
in 0 channels
Get PRO
May '21
+769
in 0 channels
Get PRO
April '21
+2 906
in 0 channels
Get PRO
March '21
+882
in 0 channels
Get PRO
February '21
+2 017
in 0 channels
Get PRO
January '21
+9 289
in 0 channels
Date
Subscriber Growth
Mentions
Channels
02 October+1
01 October+8
Channel Posts
Первое изменение проекта в GitHub Copilot app: как проверить результат Возьмите небольшой учебный проект и попросите приложен
Первое изменение проекта в GitHub Copilot app: как проверить результат Возьмите небольшой учебный проект и попросите приложение внести одну видимую правку, например добавить хлебные крошки: цепочку ссылок от главной страницы к текущей. Так вы проверите весь путь от запроса к ИИ до работающей программы. После подключения проекта отдельная сессия получает контекст репозитория: она может найти нужные файлы, изменить их и запустить тесты. Не принимайте результат вслепую. Прочитайте список правок, объясните назначение каждой изменённой части, затем запустите программу и проверьте новую навигацию вручную. Если всё работает, усложните запрос: добавьте ещё один уровень навигации или измените подписи ссылок. После второй правки снова сравните файлы и запустите проект. Это небольшая, но понятная тренировка работы с ИИ-помощником.

2
Как понять оси Flexbox и перестать путать выравнивание Соберите контейнер с тремя блоками и добавьте ему display: flex. По ум
Как понять оси Flexbox и перестать путать выравнивание Соберите контейнер с тремя блоками и добавьте ему display: flex. По умолчанию элементы стоят в строке: главная ось идёт по горизонтали, а поперечная по вертикали. Свойство justify-content выравнивает элементы вдоль главной оси, align-items вдоль поперечной. Теперь переключите flex-direction с row на column и оставьте остальные правила прежними. Элементы начнут двигаться иначе, потому что главная ось станет вертикальной, а поперечная горизонтальной. Так проще увидеть, почему знакомое свойство иногда сдвигает блоки не в ту сторону, которую вы ожидали. Меняйте по одному значению: попробуйте flex-start, center и space-between, затем сравните строку и столбец. Схема двух осей и готовые шаблоны Flexbox помогут закрепить результат на навигации, карточке с текстом и подвале страницы.
256
3
Как сделать прилипающие заголовки списка на CSS Соберите список контактов, в котором буква группы остаётся сверху, пока имена
Как сделать прилипающие заголовки списка на CSS Соберите список контактов, в котором буква группы остаётся сверху, пока имена прокручиваются под ней. Для заголовка достаточно position: sticky и top: 0, но его движение ограничивает родительский блок. Оберните каждую группу вместе с заголовком в отдельный контейнер. Когда контейнер уйдёт за верхнюю границу, его заголовок освободит место следующему. Самому списку задайте высоту и вертикальную прокрутку. Непрозрачный фон не даст тексту просвечивать, а z-index разместит заголовок поверх строк. В интерактивных примерах с HTML и CSS можно сравнить два варианта: заголовки сменяют друг друга или накапливаются сверху. Повторите оба и уберите обёртки групп: так сразу станет видно, как структура страницы задаёт границы position: sticky.
412
4
Как извлекать данные из объектов и массивов в JavaScript Деструктуризация создаёт отдельные переменные из значений объекта ил
Как извлекать данные из объектов и массивов в JavaScript Деструктуризация создаёт отдельные переменные из значений объекта или массива одной строкой. У объекта свойства выбираются по имени: const { name, age } = person. У массива важна позиция: const [first, second] = colours. Попробуйте запустить оба примера и поменять исходные данные. Затем переименуйте переменную через { name: fullName } и задайте значение по умолчанию: { size = "medium" }. Оно пригодится, если свойства size в объекте нет. Короткие примеры деструктуризации также показывают пропуск элементов массива, чтение свойств прямо в параметрах функции и работу с вложенными объектами. Последний вариант лучше оставлять неглубоким, иначе запись становится трудной для чтения.
400
5
Семь ошибок индексации PostgreSQL и как их проверить Индекс помогает PostgreSQL быстрее находить строки, но при каждой вставк
Семь ошибок индексации PostgreSQL и как их проверить Индекс помогает PostgreSQL быстрее находить строки, но при каждой вставке, правке и удалении база обновляет все индексы таблицы. Поэтому индексы «на всякий случай» замедляют запись. Ещё два частых промаха: индекс по полю с парой значений и неверный порядок колонок в индексе из нескольких полей. Возьмите один медленный SELECT-запрос и запустите EXPLAIN ANALYZE: команда покажет реальный план, число прочитанных строк и затраченное время. Если большая таблица сканируется целиком ради малой выборки, проверьте, соответствует ли индекс условиям запроса. Разбор семи ошибок индексации даёт SQL-примеры, способы найти неиспользуемые или занявшие лишнее место индексы и варианты исправлений.
436
6
Сентябрь, учебный год, сессия не так далеко, как вы думаете. Это всё про вас? Тогда загляните в подборку подборок для студент
Сентябрь, учебный год, сессия не так далеко, как вы думаете. Это всё про вас? Тогда загляните в подборку подборок для студентов! Подготовка к сессии Полезные сервисы для студентов-технарей: от учёбы до стажировки 9 ИИ для презентаций
408
7
Как найти ошибку в Python с подсказкой ИИ, а не готовым ответом Возьмите функцию вычисления среднего, которая делит сумму чис
Как найти ошибку в Python с подсказкой ИИ, а не готовым ответом Возьмите функцию вычисления среднего, которая делит сумму чисел на len(numbers) - 1. Для списка [80, 90, 70, 100] она получает 340 / 3 вместо ожидаемых 85. Сначала запустите код и сравните фактический результат с ожидаемым. Затем попросите ИИ не исправлять функцию, а указать, какую часть вычисления стоит проверить. Найдите ошибку самостоятельно и добавьте проверки: среднее четырёх чисел равно 85, двух чисел равно 15, одного числа равно самому числу. После этого передайте пустой список: так обнаружится деление на ноль, которого первая правка не устранила. Для других задач пригодится схема из пяти этапов: собрать контекст, поставить диагноз, получить подсказку, проверить исправление и объяснить причину ошибки.
490
8
Как посчитать книги по жанрам и не перепутать WHERE с HAVING Возьмите таблицу из шести книг и получите по одной строке на каж
Как посчитать книги по жанрам и не перепутать WHERE с HAVING Возьмите таблицу из шести книг и получите по одной строке на каждый жанр. GROUP BY genre объединит книги одного жанра в группу, а COUNT(*) посчитает строки внутри неё: SELECT genre, COUNT(*) AS total_books FROM books GROUP BY genre; Затем замените подсчёт на SUM(price) или AVG(price), чтобы найти сумму или среднюю цену книг каждого жанра. Если нужно убрать отдельные книги до группировки, используйте WHERE. Для отбора уже посчитанных групп нужен HAVING, например HAVING COUNT(*) > 1. В готовом наборе данных и запросов можно повторить примеры в PostgreSQL и проверить частую ошибку: обычное поле в SELECT должно входить в GROUP BY либо обрабатываться функцией вроде COUNT.
452
9
Как устроен разбор аргументов командной строки в Rust Аргументы командной строки — это параметры, которые передают программе
Как устроен разбор аргументов командной строки в Rust Аргументы командной строки — это параметры, которые передают программе при запуске. С ними один и тот же инструмент может выбирать режим работы без правок в исходниках. Для новичка это следующий шаг после программы, которая всегда выполняет один сценарий. Подход на базе getopts позволяет описывать команды и параметры вместо ручного разбора строки, добавлять вложенные опции и флаги, а при неверном вводе показывать подсказки. Статью стоит читать как обзор устройства такого решения, а не как пошаговый урок. Для практики соберите небольшой прототип, запустите его с корректными и ошибочными параметрами и сравните вывод. Затем добавьте собственную опцию: так станет видно, как параметры запуска меняют поведение программы и где нужно обрабатывать ошибки.
443
10
Почему вложенный текст уменьшается с em и как это исправить Задайте списку font-size: 0.9em и добавьте внутрь ещё три списка.
Почему вложенный текст уменьшается с em и как это исправить Задайте списку font-size: 0.9em и добавьте внутрь ещё три списка. Для размера шрифта единица em отсчитывается от шрифта родителя, поэтому каждый уровень умножает предыдущее значение на 0,9. При исходных 16 пикселях получатся 14,4, затем 12,96 и 11,66 пикселя. Замените em на rem: эта единица зависит от размера шрифта корневого элемента html, поэтому вложенность больше не уменьшает текст. Но em пригодится для отступов кнопки. У padding он зависит от шрифта самой кнопки: увеличите её текст, и отступы вырастут пропорционально. В разборе единиц CSS есть формулы перевода пикселей в em, обратный расчёт и готовые примеры. Повторите оба опыта рядом и сравните результат в браузере.
506
11
Как правильно сравнивать строки в Java Запустите маленький эксперимент: создайте две строки с одинаковыми литералами и третью
Как правильно сравнивать строки в Java Запустите маленький эксперимент: создайте две строки с одинаковыми литералами и третью через new String(). Оператор == вернёт true для первых двух, но false для первой и третьей. Он проверяет, ссылаются ли переменные на один объект, а не совпадают ли символы. Литералы Java хранит в строковом пуле, то есть в кеше одинаковых строк, поэтому две переменные могут получить ссылку на один объект. new String() всегда создаёт отдельный объект. Для сравнения содержимого используйте equals(): результат не будет зависеть от способа создания строки. В разборе строк Java есть готовые примеры. После них проверьте "admin".equals(role) при role = null: выражение вернёт false, а не ошибку. Так вы закрепите и сравнение строк, и безопасную работу с пустой ссылкой.
491
12
Как потренировать map, filter и reduce на одном массиве JavaScript Возьмите массив [1, 2, 3, 4, 5] и повторите короткий приме
Как потренировать map, filter и reduce на одном массиве JavaScript Возьмите массив [1, 2, 3, 4, 5] и повторите короткий пример с тремя методами. map применит функцию к каждому числу и соберёт новый массив, filter оставит элементы, подходящие под условие, а reduce последовательно сведёт элементы к одному результату. Сначала удвойте числа через map, затем выберите чётные через filter и посчитайте сумму через reduce. Получатся [2, 4, 6, 8, 10], [2, 4] и 15. После каждого шага выведите исходный массив: эти три метода его не изменяют. Для проверки нюанса замените массив на пустой. Вызовите reduce с начальным значением 0, а потом без него. Второй вариант сломается, поэтому начальное значение лучше передавать всегда.
480
13
Как переносить длинный текст по заданной ширине в Python Длинная справка для консольной программы читается лучше, когда строк
Как переносить длинный текст по заданной ширине в Python Длинная справка для консольной программы читается лучше, когда строки не растягиваются на весь экран. Расставлять переносы вручную не нужно: модуль textwrap из стандартной библиотеки Python сделает это автоматически. Возьмите один абзац и вызовите wrap(text, width=40). Функция вернёт список строк длиной не более 40 символов. Затем поставьте ширину 78 и сравните вывод. Так сразу видно, как параметр width меняет результат. Если список не нужен, используйте fill(text, width=78): функция сразу вернёт готовую строку с переносами. Примеры работы wrap и fill помогут повторить этот приём и выбрать подходящий вариант для сообщений и справки в консоли.
509
14
Почему CSS-блок получается шире заданного width Задаёте блоку width: 16rem, а он занимает 19,7rem. Причина в стандартной моде
Почему CSS-блок получается шире заданного width Задаёте блоку width: 16rem, а он занимает 19,7rem. Причина в стандартной модели content-box: ширина относится только к содержимому, а внутренние отступы и рамки добавляются снаружи. При padding: 1.5rem и рамке 0,35rem расчёт такой: 16 + 3 + 0,7 = 19,7rem. С border-box те же отступы и рамки уже входят в заданные 16rem. Браузер уменьшает область содержимого, поэтому внешний размер блока остаётся предсказуемым. Внешний отступ margin в эту ширину не входит: он разделяет соседние элементы. В практическом сравнении двух моделей можно собрать одинаковые карточки, проверить схему размеров в инструментах разработчика и устранить горизонтальную прокрутку. Если полоса появилась у всей страницы, найдите элемент, вышедший за экран, и исправьте его ширину или перенос содержимого, а не скрывайте проблему через overflow-x: hidden.
527
15
Почему splitlines() надёжнее split('\n') в Python Когда нужно разбить текст на строки, split('\n') кажется достаточным. Но да
Почему splitlines() надёжнее split('\n') в Python Когда нужно разбить текст на строки, split('\n') кажется достаточным. Но данные из браузерной формы могут содержать переносы \r\n. Тогда после разделения символ \r останется в конце каждой строки. Ещё одна ловушка: если файл заканчивается переводом строки, split('\n') добавит в список лишний пустой элемент. Метод splitlines() распознаёт разные виды переносов и не создаёт пустой элемент из завершающего перевода строки. При этом пустые строки внутри текста сохраняются. Сравнение методов на трёх коротких примерах показывает оба случая. Попробуйте передать двум методам строки 'a\r\n\r\nb' и 'a\nb\n', а затем сравните списки. После такой проверки проще запомнить: для разбиения текста на строки используйте splitlines(). #python
491
16
Собираем браузерный компрессор изображений на JavaScript Хороший следующий проект после первых скриптов: выбрать изображения,
Собираем браузерный компрессор изображений на JavaScript Хороший следующий проект после первых скриптов: выбрать изображения, обработать их прямо в браузере и скачать одним архивом. Файлы не уходят на сервер, поэтому заодно видно, как клиентский код решает реальную задачу без бэкенда. Сначала возьмите JPEG и сравните исходник с результатом при разных значениях качества. Canvas API, встроенный в браузер интерфейс для рисования и обработки изображений, отвечает за преобразование, а JSZip собирает несколько готовых файлов в один ZIP. В пошаговом разборе с кодом есть зона перетаскивания, выбор нескольких файлов, стили состояний и встраиваемая разметка для CMS. Поддержку форматов и выигрыш в размере проверяйте на своих файлах: результат не гарантирован для каждого изображения.
535
17
Как обработать отсутствующий ключ в словаре Python Если нужного ключа нет, метод get вернёт запасное значение и не изменит сл
Как обработать отсутствующий ключ в словаре Python Если нужного ключа нет, метод get вернёт запасное значение и не изменит словарь. Например, quantities.get("blue", 0) даст 0, но ключ blue в словаре не появится. Метод setdefault работает иначе: добавляет ключ со значением, если ключа ещё нет, а затем возвращает сохранённое значение. Поэтому предметы можно группировать по цвету одной строкой: groups.setdefault(color, []).append(item). Запустите оба варианта и выведите словарь после каждого вызова. Так разница станет видна сразу: get подходит для безопасного чтения, а setdefault помогает одновременно создать значение и продолжить с ним работу. В сравнении способов задать значения по умолчанию есть короткие примеры для такой тренировки.
547
18
Как исправить command not found без переустановки программы Оболочка не ищет программу по всему компьютеру. Она проверяет пап
Как исправить command not found без переустановки программы Оболочка не ищет программу по всему компьютеру. Она проверяет папки из PATH, переменной окружения со списком путей, и останавливается на первом совпадении. Поэтому ошибка может означать опечатку, отсутствие программы или то, что папка с ней не указана в PATH. Начните с проверки имени команды. Затем выполните which python3: путь в ответе означает, что оболочка видит программу; пустой ответ оставляет три варианта: неверное имя, программа не установлена или лежит вне PATH. Команда echo $PATH покажет, какие папки проверяются. Если нужного пути нет, добавьте его в ~/.bashrc или ~/.zshrc. После правки откройте новый терминал либо выполните source ~/.bashrc. Порядок диагностики помогает сначала найти причину, а уже потом менять установку.
509
19
Как подготовить репозиторий к пулреквестам от ИИ-агентов Если ведёте учебный open source-проект, попробуйте вынести правила д
Как подготовить репозиторий к пулреквестам от ИИ-агентов Если ведёте учебный open source-проект, попробуйте вынести правила для ИИ-агентов в AGENTS.md. Положите файл рядом с кодом и кратко укажите, как запускать тесты, оформлять пулреквесты и какие ошибки недопустимы. Агенты ищут инструкции в текущей директории и на один-два уровня выше, поэтому отдельную вики могут не заметить. Следующий шаг: добавьте шаблон пулреквеста с тест-планом и обязательные проверки CI, то есть автоматический запуск тестов перед слиянием кода. В разборе AutoGPT показано, как такие правила заставляют агентов проверять изменения и добиваться нужного покрытия тестами. Начните с короткого файла и одного обязательного теста. Если инструкции ухудшают поведение агента, сократите их: перегруженный AGENTS.md засоряет контекст сильнее, чем помогает. #ии #инструменты
552
20
Как тренировать интерфейсы с ИИ, не отдавая ему всю работу Возьмите небольшой экран и сначала определите, для кого он и какое
Как тренировать интерфейсы с ИИ, не отдавая ему всю работу Возьмите небольшой экран и сначала определите, для кого он и какое действие должен быть понятным. Это станет брифом: описанием цели и ограничений. Повторите эксперимент с заданиями Daily UI: сделайте один вариант сами, второй с ИИ. Сравните, куда падает взгляд и понятно ли основное действие. Покажите экран другому человеку. Если он не понял замысел, исправьте и проверьте снова. Так тренируются решения, которые делают интерфейс понятным.
556