Точка входа в программирование
18.5K subscribers
1.62K photos
293 videos
4 files
3.16K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Куда в Москве отдать ребёнка учиться программировать

Реклама обещает джуна на Python за пару месяцев, а на деле часто выходит перетаскивание скриптов в Roblox без всякой логики. Если хочется, чтобы ребёнку реально поставили алгоритмическое мышление, выбирать школу приходится внимательно.

Разобрали пять московских школ: какие языки дают, как строят занятия и сколько стоит — от многолетних траекторий до занятий один на один.

@prog_point (теперь ещё в VK и Max)
12👎2😁2👍1
Зачем в C существует оператор ->?

Классический вопрос на Stack Overflow, который рано или поздно задаёт каждый, кто пришёл в C из Python/JS.

Короткий ответ: a->b — это просто синоним (*a).b. Если a — указатель на структуру, нам нужно сначала разыменовать его (*a), потом обратиться к полю (.b). Скобки обязательны из-за приоритета операторов. Чтобы каждый раз не писать (*a).b, Деннис Ритчи добавил сокращение.

Чуть глубже:
— Точка . работает на «обычной» структуре по значению.
— Стрелка -> — только когда у тебя указатель на структуру.

Pattern живёт и в C++ (operator->() у умных указателей), Rust (Box::deref), даже в Go.

@prog_point (теперь ещё в VK и Max)
3
Оффер подписан, но игра только начинается

Получить оффер — только полдела. Первые полгода в новой компании становятся отдельным экзаменом, к которому почти никто не готовит. От того, как пройдёт онбординг, зависит, быстро ли вы разберётесь в процессах или застрянете в одиночестве среди непонятных задач.

Нормальный вход включает чёткую инструкцию по документам, знакомство с коллегами и материалы для старта: welcome-видео, чек-лист первого дня и постоянный контакт HR, который остаётся с вами после выхода. Если вместо поддержки вас просто посадили за ноутбук и забыли, это тревожный звонок.

Centicore Group разбирает, как выглядит хороший онбординг разработчика и на что обращать внимание, чтобы с первых дней понять: вас встретили по-человечески или бросили в свободное плавание без инструкции и поддержки.

@prog_point (теперь ещё в VK и Max)
🔥21
Курс для новичка, который сразу учит собирать SaaS-приложение

AI-кодинг легко превращается в «напиши за меня», и тогда навык не растёт. Easy Vibe интересен тем, что пытается выстроить пошаговый вход: от базового workflow до SaaS-проекта, интеграций и работы с инструментами вроде MCP.

В репозитории есть дорожка для начинающих, практические этапы, full-stack приложение, темы вокруг платежей, UI и backend-сценариев. Это не замена пониманию кода, но хороший полигон, где можно учиться формулировать задачу и проверять результат.

Можно изучить структуру курса и забрать один модуль для практики. В деталях полезно смотреть, как превращать промпт в проверяемый проект, а не в одноразовую генерацию.

@prog_point (теперь ещё в VK и Max)
1
Первый язык программирования: это маршрут, а не приговор

Выбор Python, JavaScript, Java или C# часто звучит как решение на всю карьеру. На практике первый язык важен тем, какие задачи вы через него начнёте решать: сайты, автоматизация, backend, игры, анализ данных или мобильная разработка.

В материале на Хабре разбирают старт в IT в 2026 году без мифа «выбери единственно правильный язык». Главная польза для новичка: смотреть не только на популярность, но и на доступные проекты, сообщество, порог входа и то, куда хочется прийти через полгода практики.

Если вы застряли между несколькими вариантами, можно разобрать аргументы спокойно. В деталях проще составить личный план: язык, первый проект, GitHub и следующий шаг после основ.

@prog_point (теперь ещё в VK и Max)
🔥3
Fullstack в 2026: меньше метаний, больше маленьких сборок

Новичок часто прыгает между React, Node.js, AI-инструментами и курсами, хотя база всё ещё просит HTML, CSS, JavaScript и пару простых проектов. Из-за этого обучение выглядит активным, но прогресс плохо ощущается руками.

В заметке DEV Community автор предлагает маршрут без героизма: сначала основы, потом маленькие проекты, затем backend, база данных, API и деплой. Хорошая мысль для старта: не пытаться сразу собрать «как у взрослых», а регулярно доводить до конца небольшие штуки.

Можно посмотреть план и адаптировать под свой темп. В деталях удобно отметить, какие навыки уже закрыты, а где вы пока только смотрели уроки.

@prog_point (теперь ещё в VK и Max)
1
Учите программирование через проекты, а не бесконечные видео

После основ синтаксиса наступает странный момент: уроки понятны, а свой проект всё равно не начинается. Репозиторий project-based-learning помогает перейти этот мостик: там собраны пошаговые руководства, где вы строите конкретные вещи с нуля.

В списке есть направления по JavaScript, Python, Go, C++, вебу, базам данных, GitHub App и другим темам. Его сила не в

@prog_point (теперь ещё в VK и Max)
4
Нейросеть на Python с нуля — чистый код без фреймворков и магии

Нейросети пугают терминами, пока вы не заглянете под капот. На самом деле это математическая модель: входные данные проходят через формулы, умножаются на веса (числовые коэффициенты) и выдают предсказание. Суть обучения в автоматическом подборе правильных весов: сеть сама находит закономерности в данных и учится отличать нужные сигналы от шума.

Автор строит распознавание рукописных цифр на чистом Python. Без TensorFlow и PyTorch, только базовая математика. Каждый шаг объясняется подробно, будто вы пишете код впервые: от входных пикселей до финального ответа сети.

Если вы хотите перестать путаться в жаргоне ИИ и наконец понять, что происходит внутри настоящих моделей, начните с этого. Ноль магии, только чистый код и логика.
2
Симулятор кубиков, который учит собирать программу по частям

В этом проекте ценность не в самих кубиках, а в том, что вы проходите почти весь путь маленькой программы для терминала: спросить у пользователя число, проверить ввод, сгенерировать случайные результаты, сохранить их в список и красиво вывести на экран.

По разбору Real Python вы пишете dice.py: функция parse_input() отсекает всё кроме чисел от 1 до 6, roll_dice() использует random.randint(), а генератор ASCII-картинок рисует грани кубиков символами. ASCII здесь — просто картинка из текста, без графики и библиотек.

Хорошая тренировка, если хочется понять, как функции, циклы, списки и строки соединяются в одну работающую программу, а не живут отдельными упражнениями. Разбор идёт пошагово, так что можно собрать проект руками и потом усложнить: добавить кубики с другим числом граней или повторные броски.

#python
1
Первый сайт, где HTML, CSS и JavaScript собираются вместе

Есть момент в обучении, когда теги вроде понятны, стили тоже, но всё ещё непонятно, как из этого получается настоящая страница. Для такого шага хорошо подходит модуль Microsoft Learn: вы собираете небольшой веб-проект в VS Code, по ходу делаете HTML-страницу, подключаете CSS-файл со стилями, добавляете JavaScript для переключения темы и проверяете результат через инструменты разработчика в браузере.

Нормальная тренировка, если хочется не просто выучить три слова — HTML, CSS и JS, — а увидеть, как они работают вместе. Модуль короткий и идёт по шагам, так что его реально пройти за один подход.

#веб
1
Хотел помощника, а получил ещё один инструмент, который надо осваивать

И вот ты открываешь универсальный чат с ИИ — и снова всё на тебе: придумай запрос, задай контекст, уточни, перепроверь, не получи галлюцинацию вместо ответа.

Aperio делает вход проще: это онлайн-сервис с готовыми ИИ-ассистентами для жизни, работы и бизнеса.

Не нужно выбирать модель, читать гайды по промптам и собирать себе решение из разных сервисов. Заходишь, выбираешь ассистента под конкретный сценарий и работаешь с ним.

Можно структурировать мысли, подготовиться к разговору, разобрать рабочий вопрос, получить подсказку или потренировать навык. Для джуна это особенно полезно: не вместо обучения, а в качестве опоры, когда вокруг и так много нового.

Часть ассистентов создаётся вместе с профильными специалистами, так что это не просто набор ботов с красивыми названиями, а работающий инструмент.

Есть бесплатный пробный период — можно спокойно зайти, попробовать и понять, какие сценарии реально нужны.

➡️ Попробовать ассистентов Aperio: https://aperio.cloud/

Это #партнёрский пост
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥1
Генератор историй, который показывает, зачем нужны массивы и строки

Массивы и строки часто выглядят как отдельные упражнения: тут список, тут текст, тут случайное число. В челлендже MDN всё это собирается в маленькую интерактивную штуку — генератор случайных историй.

Вы берёте заготовку страницы, добавляете массивы с вариантами фраз, выбираете случайный элемент через функцию, подставляете имя из поля ввода и меняете текст после клика по кнопке. Обработчик события здесь — это просто функция, которая запускается, когда пользователь нажал кнопку.

Мне нравится такой формат: результат смешной и простой, но по дороге становится видно, как JavaScript оживляет страницу. Задание можно пройти прямо как мини-проект после базовых переменных, строк и массивов.

#javascript
1
Тренажёр безопасности кода, который запускается в браузере

После базового синтаксиса часто непонятно, как учиться замечать дыры в коде, ведь теория без практики быстро забывается. GitHub сделал бесплатную игру, в которую можно сыграть прямо из браузера: не нужно ставить редактор или настраивать окружение.

В ней несколько уровней, у каждого своя тема. В четвёртом вы работаете с ИИ-ассистентом, который выполняет команды, ищет данные в сети и запускает скрипты. Задача — научиться находить слабые места в его поведении и закрывать их. Каждый уровень самостоятельный, так что можно начать сразу с четвёртого, даже если предыдущие не проходили.

Попробуйте Secure Code Game — уровни идут от простого к сложному, а для старта хватит любопытства: опыт в ИИ или программировании даже не обязателен.
3
Forwarded from IT Юмор
Причём им сделана задняя часть, потому что он решил не тянуть легаси, а сделать нормально
6
Singleton в Spring не спасает от гонок в коде

Есть неприятная ловушка для тех, кто только изучает Spring: слово singleton звучит так, будто объект один, значит с ним всё безопасно. На деле Spring просто создаёт один bean на приложение. Если несколько запросов одновременно меняют поля этого объекта, они всё равно могут перетереть данные друг друга.

В разборе на DEV показывают основные scope’ы: singleton, prototype, request и session. Scope — это правило, как долго живёт объект и когда Spring создаёт новый экземпляр. Самая полезная часть здесь не в заучивании названий, а в понимании простого правила: сервисы лучше держать без состояния, а данные запроса хранить отдельно.

Хороший материал, если уже трогали Spring и хотите понять, почему «работает локально» иногда разваливается под нагрузкой.

#spring #java
1
This media is not supported in your browser
VIEW IN TELEGRAM
Рисовалка в браузере, которая учит управлять страницей через JavaScript

У The Odin Project есть хороший учебный проект: собрать Etch-a-Sketch прямо в браузере. Это такая простая рисовалка: наводите курсор на клетки, и они закрашиваются.

Ценность не в самой игрушке, а в том, что вы руками собираете маленький интерфейс: создаёте сетку из div’ов через JavaScript, раскладываете её с помощью Flexbox, вешаете события наведения, добавляете кнопку для нового размера поля и проверяете ввод, чтобы пользователь не сломал страницу огромной сеткой.

Такие проекты хорошо связывают HTML, CSS и JS в одну понятную штуку. После базовых упражнений это как раз тот шаг, где становится видно, зачем нужны события, DOM и DevTools. Задание можно пройти как есть, а потом добавить случайные цвета, очистку поля или постепенное затемнение клеток.

Если будет что-то непонятно, то можно посмотреть варианты реализации других участников.

#веб #javascript
2
В JavaScript легко привыкнуть, что Number подходит для любых чисел: возраст, цена, счётчик, ID — всё вроде работает одинаково. А потом внезапно оказывается, что 9007199254740991 + 2 может дать совсем не тот результат, который вы ожидаете.

В разборе freeCodeCamp объясняют safe integer limit — границу, до которой JavaScript хранит целые числа точно. Дальше начинаются потери точности: большие ID, финансовые значения и счётчики могут незаметно искажаться. Для таких случаев есть BigInt — отдельный тип для больших целых чисел.

Можете проверить это прямо в консоли браузера: Number.MAX_SAFE_INTEGER, Number.isSafeInteger() и пару сложений выше лимита.

#javascript
1
Лексер показывает, как программа начинает понимать ваш код

Когда видишь ошибку вроде unexpected token, сложно с ходу понять на что именно ругается компилятор. На самом деле токен — это просто кусок кода, который программа уже распознала: число, имя переменной, оператор, скобка, ключевое слово.

Поэтому пора познакомиться с лексерами. Лексер — это этап, где строка кода сначала режется на токены, а уже потом парсер пытается понять структуру выражения. То есть интерпретатор не читает код как человек, он сначала превращает текст в более удобный набор деталей.

Подробнее в разборе.
1