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

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

Відкрити в Telegram

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

Показати більше

📈 Аналітичний огляд Telegram-каналу Точка входа в программирование

Канал Точка входа в программирование (@prog_point) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 18 026 підписників, посідаючи 7 038 місце в категорії Технології та додатки та 36 246 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 18 026 підписників.

За останніми даними від 20 вересня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на -110, а за останні 24 години на -5, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 6.84%. Протягом перших 24 годин після публікації контент зазвичай збирає 3.51% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 1 233 переглядів. Протягом першої доби публікація в середньому набирає 633 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 2.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як docker, javascript, kubernetes, браузер, контейнер.

📝 Опис та контентна політика

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

Завдяки високій частоті оновлень (останні дані отримано 21 вересня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

18 026
Підписники
-524 години
-327 днів
-11030 днів

Триває завантаження даних...

Залучення підписників
вересень '26
вересень '26
+55
в 7 каналах
серпень '26
+63
в 5 каналах
Get PRO
липень '26
+23
в 4 каналах
Get PRO
червень '26
+47
в 1 каналах
Get PRO
травень '26
+58
в 1 каналах
Get PRO
квітень '26
+54
в 3 каналах
Get PRO
березень '26
+55
в 5 каналах
Get PRO
лютий '26
+64
в 4 каналах
Get PRO
січень '26
+72
в 2 каналах
Get PRO
грудень '25
+115
в 5 каналах
Get PRO
листопад '25
+83
в 5 каналах
Get PRO
жовтень '25
+140
в 3 каналах
Get PRO
вересень '25
+81
в 4 каналах
Get PRO
серпень '25
+81
в 3 каналах
Get PRO
липень '25
+96
в 3 каналах
Get PRO
червень '25
+148
в 8 каналах
Get PRO
травень '25
+96
в 3 каналах
Get PRO
квітень '25
+76
в 3 каналах
Get PRO
березень '25
+187
в 8 каналах
Get PRO
лютий '25
+179
в 5 каналах
Get PRO
січень '25
+153
в 3 каналах
Get PRO
грудень '24
+178
в 4 каналах
Get PRO
листопад '24
+136
в 5 каналах
Get PRO
жовтень '24
+130
в 8 каналах
Get PRO
вересень '24
+129
в 5 каналах
Get PRO
серпень '24
+145
в 4 каналах
Get PRO
липень '24
+94
в 2 каналах
Get PRO
червень '24
+71
в 4 каналах
Get PRO
травень '24
+174
в 5 каналах
Get PRO
квітень '24
+208
в 7 каналах
Get PRO
березень '24
+131
в 4 каналах
Get PRO
лютий '24
+127
в 1 каналах
Get PRO
січень '24
+141
в 3 каналах
Get PRO
грудень '23
+106
в 5 каналах
Get PRO
листопад '23
+115
в 3 каналах
Get PRO
жовтень '23
+108
в 1 каналах
Get PRO
вересень '23
+134
в 0 каналах
Get PRO
серпень '23
+250
в 0 каналах
Get PRO
липень '23
+282
в 0 каналах
Get PRO
червень '23
+360
в 0 каналах
Get PRO
травень '23
+475
в 0 каналах
Get PRO
квітень '23
+543
в 0 каналах
Get PRO
березень '23
+424
в 0 каналах
Get PRO
лютий '23
+536
в 0 каналах
Get PRO
січень '23
+1 067
в 0 каналах
Get PRO
грудень '22
+487
в 0 каналах
Get PRO
листопад '22
+564
в 0 каналах
Get PRO
жовтень '22
+384
в 0 каналах
Get PRO
вересень '22
+612
в 0 каналах
Get PRO
серпень '22
+494
в 0 каналах
Get PRO
липень '22
+587
в 0 каналах
Get PRO
червень '22
+969
в 0 каналах
Get PRO
травень '22
+621
в 0 каналах
Get PRO
квітень '22
+425
в 0 каналах
Get PRO
березень '22
+773
в 0 каналах
Get PRO
лютий '22
+1 309
в 0 каналах
Get PRO
січень '22
+558
в 0 каналах
Get PRO
грудень '21
+353
в 0 каналах
Get PRO
листопад '21
+2 297
в 0 каналах
Get PRO
жовтень '21
+1 689
в 0 каналах
Get PRO
вересень '21
+324
в 0 каналах
Get PRO
серпень '21
+837
в 0 каналах
Get PRO
липень '21
+1 025
в 0 каналах
Get PRO
червень '21
+627
в 0 каналах
Get PRO
травень '21
+769
в 0 каналах
Get PRO
квітень '21
+2 906
в 0 каналах
Get PRO
березень '21
+882
в 0 каналах
Get PRO
лютий '21
+2 017
в 0 каналах
Get PRO
січень '21
+9 289
в 0 каналах
Дата
Залучення підписників
Згадування
Канали
21 вересня+2
20 вересня+3
19 вересня+2
18 вересня+1
17 вересня+3
16 вересня0
15 вересня+4
14 вересня+1
13 вересня+4
12 вересня+1
11 вересня+3
10 вересня+2
09 вересня+2
08 вересня+8
07 вересня+2
06 вересня+3
05 вересня+1
04 вересня+4
03 вересня+3
02 вересня+2
01 вересня+4
Дописи каналу
Как превратить функцию Python в веб-приложение с Gradio Если скрипт живёт только в файле, следующий шаг: дать ему страницу в
Как превратить функцию Python в веб-приложение с Gradio Если скрипт живёт только в файле, следующий шаг: дать ему страницу в браузере. Gradio связывает функцию Python с полями ввода и показывает её ответ на странице. Например, пользователь загружает изображение и видит результат модели, не запуская код вручную. Начните с функции приветствия: подключите к ней текстовое поле через gr.Interface, затем запустите приложение командой demo.launch(). После этого замените приветствие своей функцией и проверьте, правильно ли страница передаёт ей данные. Книга freeCodeCamp ведёт от первой формы к обработке нажатий, сохранению данных между действиями, работе с файлами, моделями машинного обучения и публикации приложения в сервисе Hugging Face Spaces.

2
Как привязать подсказку к кнопке через CSS Anchor Positioning Подсказку легко поставить над кнопкой, пока та не оказалась у в
Как привязать подсказку к кнопке через CSS Anchor Positioning Подсказку легко поставить над кнопкой, пока та не оказалась у верхнего края окна. CSS Anchor Positioning связывает элементы и может перенести подсказку вниз, если сверху мало места. Для тренировки дайте кнопке имя через anchor-name, у подсказки задайте position: fixed и свяжите её с кнопкой через position-anchor. Затем position-area: top поставит подсказку сверху, а position-try-fallbacks: bottom проверит место снизу при выходе за край окна. Соберите пример и прокрутите страницу. С absolute подсказка движется вместе с блоком предка, а у fixed её граница — окно браузера. В подробном разборе есть интерактивные примеры и варианты для неполной поддержки браузерами.
390
3
Стек или очередь в Python: выбираем подходящую структуру Стек отдаёт последним то, что добавили последним (LIFO), а очередь о
Стек или очередь в Python: выбираем подходящую структуру Стек отдаёт последним то, что добавили последним (LIFO), а очередь отдаёт первым то, что пришло первым (FIFO). Проверьте: добавьте числа 0–4 в список и вызывайте pop(). Получите 4, 3, 2, 1, 0. Для очереди возьмите deque из модуля collections: добавляйте элементы через append(), а забирайте слева через popleft(). Тогда числа выйдут в исходном порядке. Обычный список тоже позволяет удалить первый элемент через pop(0), но для таких операций он не оптимизирован. В разборе Python Morsels оба сценария показаны на коротких примерах. Повторите их в консоли, затем добавьте элемент слева через appendleft(): так вы увидите, почему deque называют двусторонней очередью.
404
4
Как читать ввод с геймпада в JavaScript и не принять поломку за норму В Gamepad API нет событий о движении стиков и нажатии к
Как читать ввод с геймпада в JavaScript и не принять поломку за норму В Gamepad API нет событий о движении стиков и нажатии кнопок. Контроллер приходится опрашивать в цикле requestAnimationFrame и на каждом кадре заново вызывать navigator.getGamepads(): сохранённый объект содержит старый снимок. В Chromium есть ловушка. Ось отдаёт ноль, пока браузер хотя бы раз не увидит её значение в диапазоне от −0,1 до 0,1. Сильно дрейфующий стик может не попасть туда и выглядеть исправным. Потренируйтесь: подключите геймпад, нажмите кнопку и откройте консоль. Выведите значения осей, проведите стик через центр и проверьте, когда вместо нулей появятся реальные данные. Готовый код и разбор того, почему браузер не всегда определяет модель контроллера, есть в руководстве freeCodeCamp.
489
5
Как выбрать пагинацию для API Пагинация делит ответ API на части. Offset пропускает N строк: он прост, а клиент может открыть
Как выбрать пагинацию для API Пагинация делит ответ API на части. Offset пропускает N строк: он прост, а клиент может открыть страницу. Но база читает пропущенные строки, а изменения списка между запросами дают повторы или потерю записей. Cursor передаёт скрытый указатель на последний элемент. Keyset показывает ключ прямо, например after_id=100. Оба выбирают строки после индексированного ключа. Для неуникального поля нужен дополнительный id, иначе строки можно пропустить. Для тренировки сделайте обработчик с limit=20: запросите 21 запись. Последняя покажет, есть ли продолжение, а клиенту верните первые 20. Добавьте запись между запросами и сравните offset с cursor. В разборе на DEV Community есть SQL-запросы и пример обработчика.
458
6
Какие исключения ловить в Python и какие оставить видимыми Один except для ValueError, TypeError, KeyError и NameError смешив
Какие исключения ловить в Python и какие оставить видимыми Один except для ValueError, TypeError, KeyError и NameError смешивает ошибки данных с багами программы. В CSV-файле неверная дата вызывает ValueError, пропущенная дата приводит к TypeError, а NameError обычно указывает на опечатку в коде. Обрабатывайте проблему там, где понятна причина: ловите ошибки разбора даты, заголовки проверяйте до чтения строк, NameError оставляйте видимым. except Exception, который ловит почти все обычные ошибки, уместен при обработке независимых файлов: ошибка одного не должна останавливать остальные. В разборе Python Morsels этот подход показан на готовом скрипте. Для тренировки по очереди подайте ему CSV с неверной датой, пропущенным полем и ошибкой в заголовке. Сравните сообщения и решите, где нужен except, а где предварительная проверка.
424
7
Превращаем статичную HTML-страницу в редактор на JavaScript Резюме или меню можно отдать автору текста без просьб править фай
Превращаем статичную HTML-страницу в редактор на JavaScript Резюме или меню можно отдать автору текста без просьб править файл. Статья показывает временный редактор: текст меняется в браузере, блоки двигаются и удаляются, ссылки редактируются, а разрывы страниц задаются перед печатью в PDF. Атрибут contenteditable даёт курсор, выделение, вставку и отмену действий. Около ста строк обычного JavaScript добавляют кнопки для блоков и переставляют сами HTML-элементы. Изменения не записываются, поэтому обновление страницы возвращает исходную версию. Повторите разбор freeCodeCamp на простой странице. Добавьте свой блок и проверьте перемещение, удаление и сброс правок после обновления. Так вы потренируете JavaScript на задаче с видимым результатом.
453
8
Инструкция по применению: открыть анкету, ответить на вопросы из школьной тетрадки, по дороге вспомнить QIWI-терминалы, рингт
Инструкция по применению: открыть анкету, ответить на вопросы из школьной тетрадки, по дороге вспомнить QIWI-терминалы, рингтоны по смс и первые разговоры про биткоин, дойти до финала, забрать промокод. Побочный эффект — желание немедленно обсудить всё это с кем-нибудь, кто тоже помнит.
454
9
freeCodeCamp.org выпустил бесплатный курс по Python с тремя проектами Это четырёхчасовой видеокурс для новичков. Вы напишете
freeCodeCamp.org выпустил бесплатный курс по Python с тремя проектами Это четырёхчасовой видеокурс для новичков. Вы напишете три программы для терминала: делитель счёта, игру с перемешанными словами и очередь для караоке. Так упражнения на ввод, условия и циклы складываются в программы, которые можно запустить и проверить. Проекты усложняются постепенно. Делитель счёта принимает суммы и выполняет расчёты. Игра просит угадать слово, ведёт счёт и выдаёт подсказки. В менеджере очереди логика разбивается на функции, а ошибки ввода перехватываются, чтобы программа не завершалась аварийно. В материале freeCodeCamp.org есть программа курса и переход к видео. Начните с первого проекта: повторяйте код за преподавателем и запускайте программу после каждого блока, чтобы сразу увидеть результат.
467
10
Как дать кнопке с иконкой понятное имя для скринридера Кнопке только с иконкой нужно доступное имя. Его озвучит скринридер, т
Как дать кнопке с иконкой понятное имя для скринридера Кнопке только с иконкой нужно доступное имя. Его озвучит скринридер, то есть программа для чтения интерфейса вслух. Имя можно задать HTML-атрибутом aria-label. У Джейка Арчибальда «Bold» было и в имени, и в подсказке через aria-describedby, поэтому скринридер VoiceOver повторял слово. Удаление имени сделало хуже: JAWS на Windows подхватил ещё и текст соседней подсказки. Исправление: aria-labelledby берёт имя из подсказки, а aria-describedby оставляет дополнительное описание. Попробуйте оба атрибута на кнопке с иконкой и проверьте её в двух программах чтения с экрана. В разборе Джейка Арчибальда есть ошибочный и исправленный HTML.
526
11
freeCodeCamp.org выпустил часовой курс по командной строке На YouTube-канале проекта появился курс для новичков. В командной
freeCodeCamp.org выпустил часовой курс по командной строке На YouTube-канале проекта появился курс для новичков. В командной строке задачи задают текстовыми командами через терминал. К концу занятия автор обещает научить настраивать терминал и работать в нём на своём компьютере. За час вы потренируетесь перемещаться по дереву папок, создавать и менять файлы и каталоги, а также читать и записывать данные. После этого будет проще перейти к программам, которые запускаются только из командной строки. Повторяйте команды сразу за автором, а после видео соберите контрольный пример: создайте учебную папку, добавьте в неё файл, запишите текст и прочитайте его через терминал. Так результат курса можно проверить без дополнительной теории.
610
12
Как нарисовать CSS-треугольник коническим градиентом Конический градиент conic-gradient() раскрашивает фон секторами вокруг в
Как нарисовать CSS-треугольник коническим градиентом Конический градиент conic-gradient() раскрашивает фон секторами вокруг выбранной точки. Если поставить соседние цвета на одной угловой отметке, переход станет резким, а сектор внутри прямоугольного элемента превратится в треугольник. Для тренировки задайте центр градиента в левом верхнем углу, начало направьте вправо, а границу цветов поставьте на 45 градусов. Меняйте угол и наблюдайте за фигурой: так связь между градусами и формой видна сразу. В статье Master.dev Blog этим способом делают крупные треугольники навигации и меняют их углы при наведении. Затем сравните результат с линейным градиентом linear-gradient(): он тоже справится, но конический вариант позволяет описывать форму через угол сектора.
582
13
Как f-строки помогают отлаживать Python Обычный print(answer) может скрыть ошибку: строка '5' и число 5 выглядят одинаково. В
Как f-строки помогают отлаживать Python Обычный print(answer) может скрыть ошибку: строка '5' и число 5 выглядят одинаково. В примере программа сравнивает результат input() с произведением двух чисел и каждый раз считает ответ неверным. Добавьте = после выражения внутри f-строки, то есть строки, куда Python подставляет значения: print(f"{answer = }"). Python выведет имя переменной, а строковое значение оставит в кавычках: answer = '18'. У числа кавычек не будет: expected = 18. Так видно, почему сравнение не сработало. Повторите пример Python Morsels, затем преобразуйте ввод в число через int(input(...)). Приём работает с любым выражением внутри фигурных скобок и показывает его вместе с результатом.
589
14
Космический хакатон. Санкт-Петербург, Красноярск или онлайн из любой точки страны. Старт 18 сентября. Для разных городов разн
Космический хакатон. Санкт-Петербург, Красноярск или онлайн из любой точки страны. Старт 18 сентября. Для разных городов разные задачи, а за выходные участники должны представить рабочие решения. Санкт-Петербург. К 2035 году над Землёй должен работать топливный узел, у которого заправляются корабли, и откуда он будет получать топливо — с Земли, с Луны или из резерва — пока не решил никто. Команде предстоит собрать схему поставок, посчитать резервы и решить, во что вкладываться сразу. Призовой фонд 1,2 млн ₽. Красноярск. Спутник видит горящий лес раньше любого наземного поста, но вместе с пожаром ловит нагретые крыши, факелы на месторождениях и блики на воде. Команде предстоит научить сервис отличать настоящий очаг от шума, обвести гарь и выдать площадь в гектарах. Призовой фонд 600 тыс. ₽. Лучшие забирают приз на площадке и билет в финал в Москве, 25–27 сентября, где разыграют ещё 2,4 млн рублей. Команда 3–5 человек, недостающих можно найти на платформе. Регистрация по ссылке — космохакатон.рф
498
15
Как устроена игра с динозавром в Chrome и чему учит её код В разборе freeCodeCamp видно, зачем игровому движению нужен учёт в
Как устроена игра с динозавром в Chrome и чему учит её код В разборе freeCodeCamp видно, зачем игровому движению нужен учёт времени. Если сдвигать объект на одинаковое число пикселей при каждом кадре, на мониторе с 144 Гц он побежит быстрее, чем при 40 Гц. Игра умножает скорость на время с прошлого кадра, поэтому темп не зависит от частоты обновления. Сложность тоже заложена в правилах. Широкие группы кактусов появляются лишь тогда, когда динозавр уже может их перепрыгнуть. С ростом скорости увеличиваются и промежутки между препятствиями. Повторите первый механизм: нарисуйте квадрат в canvas, HTML-элементе для рисования, и вызывайте requestAnimationFrame, чтобы браузер готовил следующий кадр. Сдвиг вычисляйте по прошедшему времени. Затем снизьте частоту кадров и проверьте, сохранилась ли скорость. Это небольшая, но наглядная тренировка анимации на JavaScript.
513
16
Почему проверка ключа через [] незаметно меняет unordered_map В C++ контейнер unordered_map хранит значения по ключам. Но выр
Почему проверка ключа через [] незаметно меняет unordered_map В C++ контейнер unordered_map хранит значения по ключам. Но выражение mp[key] не просто ищет ключ: если его нет, контейнер создаёт новую запись со значением 0. Поэтому условие if (mp[complement]) в задаче Two Sum формально работало с индексами от единицы, однако каждый неудачный поиск раздувал таблицу лишними записями. Автор разбора на DEV Community заменил квадратные скобки на find(): в его замере время сократилось с 3 до 0 мс. Этот метод возвращает признак отсутствия ключа и не добавляет запись. В C++20 для простой проверки наличия есть contains(). Попробуйте повторить пример и вывести размер таблицы после нескольких промахов. Если вопрос к контейнеру меняет его размер, для проверки ключа нужны find() или contains().
546
17
Почему type="number" возвращает строку в JavaScript Введите 5 в числовое поле, прочитайте input.value и прибавьте 1. Получитс
Почему type="number" возвращает строку в JavaScript Введите 5 в числовое поле, прочитайте input.value и прибавьте 1. Получится 51: свойство вернуло строку «5», а JavaScript склеил текст. Тип поля включает проверку значения, клавиатуру смартфона и кнопки со стрелками, но value остаётся строкой. Для числа можно читать valueAsNumber. Пустое или некорректное значение даст NaN, то есть «не число», поэтому проверьте его через Number.isNaN. У Number(value) другая ловушка: пустая строка превращается в ноль. Для флажка используйте checked, если нужен ответ «отмечен или нет». Повторите эти случаи в консоли и сравните результаты. В статье на сайте John Kavanagh также разобраны выпадающие списки, переключатели и FormData, который собирает поля формы перед отправкой.
622
18
Как устроена база данных: собираем клон SQLite на C Это обстоятельная серия для тех, кому знаком SQL, но путь данных от запроса до файла скрыт за интерфейсом СУБД. Автор строит клон SQLite с нуля на C и документирует каждый слой. Всего 15 частей: маршрут идёт от цикла чтения команд и компилятора SQL к многоуровневому B-дереву. Сначала появляются цикл чтения команд, простейший компилятор SQL и виртуальная машина. Затем одна таблица в памяти получает тесты, сохранение на диск и курсор для обхода записей. Дальше автор разбирает формат узлов B-дерева, двоичный и рекурсивный поиск, разделение узлов и обновление их родителей. В серии How Does a Database Work? удобно идти по порядку и смотреть, как знакомые операции превращаются в структуры данных. Читать стоит разработчикам, которые работают с SQL и хотят разобраться в индексах, полном сканировании таблицы и границе между памятью и диском.
632
19
Как отправлять GET и POST через Fetch API и обрабатывать ошибки fetch() возвращает промис, то есть обещание получить результа
Как отправлять GET и POST через Fetch API и обрабатывать ошибки fetch() возвращает промис, то есть обещание получить результат позже. Этим результатом будет объект Response, а не готовый JSON: тело нужно отдельно прочитать через response.json(). Статусы 404 и 500 не отклоняют промис. Проверяйте response.ok и сами выбрасывайте ошибку. Сетевой сбой промис отклонит, а try...catch поможет обработать обе ситуации. Для тренировки напишите две функции. Первая делает GET-запрос, проверяет статус и структуру списка товаров. Вторая отправляет товар методом POST, превращает объект в JSON через JSON.stringify() и добавляет заголовок Content-Type: application/json. Примеры каждого шага есть в статье о Fetch API.
597
20
Поймайте паузу в движении мыши одним таймером Когда пользователь двигает мышь, прокручивает страницу или меняет размер окна,
Поймайте паузу в движении мыши одним таймером Когда пользователь двигает мышь, прокручивает страницу или меняет размер окна, браузер создаёт десятки событий в секунду. Если на каждое отправлять запрос или менять элементы страницы, приложение может работать менее плавно. Дебаунс — приём, который ждёт паузу: новый сигнал отменяет прежний таймер и запускает его заново. const debounce = (callback, wait) => { let timer; return (...args) => { clearTimeout(timer); timer = setTimeout( () => callback(...args), wait ); }; }; const onMove = debounce( event => console.log(event.clientX), 250 ); window.addEventListener('mousemove', onMove); Запустите пример, поводите мышью и остановитесь. Обработчик сработает после паузы. Затем уберите debounce и сравните число строк в консоли. Исходный вариант функции и пояснения есть в сниппете Josh W. Comeau.
579