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

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

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish

📈 Telegram kanali Точка входа в программирование analitikasi

Точка входа в программирование (@prog_point) Rus til segmentidagi kanali faol ishtirokchi. Hozirda hamjamiyat 17 993 obunachidan iborat bo'lib, Texnologiyalar & Aralashmalar toifasida 7 066-o'rinni va Rossiya mintaqasida 36 349-o'rinni egallagan.

📊 Auditoriya ko‘rsatkichlari va dinamika

невідомо sanasidan buyon loyiha tez o‘sib, 17 993 obunachiga ega bo‘ldi.

01 Oktabr, 2026 dagi oxirgi ma’lumotlarga ko‘ra kanal barqaror faollikka ega. Oxirgi 30 kunda obunachilar soni -126 ga, so‘nggi 24 soatda esa 6 ga o‘zgardi va umumiy qamrov yuqori darajada qolmoqda.

  • Tasdiqlash holati: Tasdiqlanmagan
  • Jalb etish (ER): Auditoriya o‘rtacha 5.12% darajada jalb etiladi. Nashrdan keyingi dastlabki 24 soatda kontent odatda umumiy obunachilar sonining 2.32% ini tashkil etuvchi reaksiyalarni to‘playdi.
  • Post qamrovi: Har bir post o‘rtacha 922 marta ko‘riladi; birinchi sutkada odatda 418 ta ko‘rish yig‘iladi.
  • Reaksiyalar va o‘zaro ta’sir: Auditoriya faol: har bir postga o‘rtacha 2 ta reaksiya keladi.
  • Tematik yo‘nalishlar: Kontent docker, javascript, kubernetes, браузер, контейнер kabi asosiy mavzularga jamlangan.

📝 Tavsif va kontent siyosati

Muallif resursni shaxsiy fikrni ifoda etish maydoni sifatida ta’riflaydi:
“Фундаментальные знания по основам программирования Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/zrgj”

Yuqori yangilanish chastotasi (oxirgi ma’lumot 02 Oktabr, 2026 da olingan) sababli kanal doimo dolzarb va katta qamrovli bo‘lib qoladi. Analitika auditoriya kontent bilan faol hamkorlik qilishini, uni Texnologiyalar & Aralashmalar toifasidagi muhim ta’sir nuqtasiga aylantirishini ko‘rsatadi.

17 993
Obunachilar
+624 soatlar
-237 kun
-12630 kun
Obunachilarni jalb qilish
Okt '26
Oktabr '26
+9
0 kanalda
Sentabr '26
+64
8 kanalda
Get PRO
Avgust '26
+63
5 kanalda
Get PRO
Iyul '26
+23
4 kanalda
Get PRO
Iyun '26
+47
1 kanalda
Get PRO
May '26
+58
1 kanalda
Get PRO
Aprel '26
+54
3 kanalda
Get PRO
Mart '26
+55
5 kanalda
Get PRO
Fevral '26
+64
4 kanalda
Get PRO
Yanvar '26
+72
2 kanalda
Get PRO
Dekabr '25
+115
5 kanalda
Get PRO
Noyabr '25
+83
5 kanalda
Get PRO
Oktabr '25
+140
3 kanalda
Get PRO
Sentabr '25
+81
4 kanalda
Get PRO
Avgust '25
+81
3 kanalda
Get PRO
Iyul '25
+96
3 kanalda
Get PRO
Iyun '25
+148
8 kanalda
Get PRO
May '25
+96
3 kanalda
Get PRO
Aprel '25
+76
3 kanalda
Get PRO
Mart '25
+187
8 kanalda
Get PRO
Fevral '25
+179
5 kanalda
Get PRO
Yanvar '25
+153
3 kanalda
Get PRO
Dekabr '24
+178
4 kanalda
Get PRO
Noyabr '24
+136
5 kanalda
Get PRO
Oktabr '24
+130
8 kanalda
Get PRO
Sentabr '24
+129
5 kanalda
Get PRO
Avgust '24
+145
4 kanalda
Get PRO
Iyul '24
+94
2 kanalda
Get PRO
Iyun '24
+71
4 kanalda
Get PRO
May '24
+174
5 kanalda
Get PRO
Aprel '24
+208
7 kanalda
Get PRO
Mart '24
+131
4 kanalda
Get PRO
Fevral '24
+127
1 kanalda
Get PRO
Yanvar '24
+141
3 kanalda
Get PRO
Dekabr '23
+106
5 kanalda
Get PRO
Noyabr '23
+115
3 kanalda
Get PRO
Oktabr '23
+108
1 kanalda
Get PRO
Sentabr '23
+134
0 kanalda
Get PRO
Avgust '23
+250
0 kanalda
Get PRO
Iyul '23
+282
0 kanalda
Get PRO
Iyun '23
+360
0 kanalda
Get PRO
May '23
+475
0 kanalda
Get PRO
Aprel '23
+543
0 kanalda
Get PRO
Mart '23
+424
0 kanalda
Get PRO
Fevral '23
+536
0 kanalda
Get PRO
Yanvar '23
+1 067
0 kanalda
Get PRO
Dekabr '22
+487
0 kanalda
Get PRO
Noyabr '22
+564
0 kanalda
Get PRO
Oktabr '22
+384
0 kanalda
Get PRO
Sentabr '22
+612
0 kanalda
Get PRO
Avgust '22
+494
0 kanalda
Get PRO
Iyul '22
+587
0 kanalda
Get PRO
Iyun '22
+969
0 kanalda
Get PRO
May '22
+621
0 kanalda
Get PRO
Aprel '22
+425
0 kanalda
Get PRO
Mart '22
+773
0 kanalda
Get PRO
Fevral '22
+1 309
0 kanalda
Get PRO
Yanvar '22
+558
0 kanalda
Get PRO
Dekabr '21
+353
0 kanalda
Get PRO
Noyabr '21
+2 297
0 kanalda
Get PRO
Oktabr '21
+1 689
0 kanalda
Get PRO
Sentabr '21
+324
0 kanalda
Get PRO
Avgust '21
+837
0 kanalda
Get PRO
Iyul '21
+1 025
0 kanalda
Get PRO
Iyun '21
+627
0 kanalda
Get PRO
May '21
+769
0 kanalda
Get PRO
Aprel '21
+2 906
0 kanalda
Get PRO
Mart '21
+882
0 kanalda
Get PRO
Fevral '21
+2 017
0 kanalda
Get PRO
Yanvar '21
+9 289
0 kanalda
Sana
Obunachilarni jalb qilish
Esdaliklar
Kanallar
02 Oktabr+1
01 Oktabr+8
Kanal postlari
Первое изменение проекта в 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