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

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

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

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

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

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Интерактивный визуализатор того, как GPT генерирует текст — прямо в браузере

Карпати недавно опубликовал microgpt — полный GPT в 200 строках Python без зависимостей. Один разработчик сделал из этого обучающий сайт: открываете страницу, листаете — и видите пошагово, как нейросеть генерирует имена.Никакой установки, всё работает в браузере. Если хотите понять, что происходит внутри трансформера, но академические статьи пока кажутся тяжёлыми — хорошая точка входа.

Вам больше заходят такие интерактивные визуализаторы или лучше статьи и видео?

#ии #python

@prog_point (теперь ещё в VK и Max)
3
Как джуниору доказать, что в него нужно вкладываться

В комьюнити вот уже который год живет стандартная присказка: «Джунов больше не берут». Да и вы сами замечаете, что на ваше резюме с уникальными сопроводительными письмами тоже никто не отвечает. Получается, в ИТ путь закрыт?

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

Поэтому задача джунов трансформируется: теперь нужно доказать, что вы стоите инвестиций. Как это делать, читайте в статье на сайте Тпрогер.

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

@prog_point (теперь ещё в VK и Max)
1
Как протестировать доступность сайта без единого инструмента — просто клавиатурой

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

Tab — переходит вперёд по интерактивным элементам (ссылки, кнопки, поля, чекбоксы). Три вещи, которые нужно проверить: фокус переходит к следующему элементу, вокруг него виден индикатор фокуса, порядок переходов логичный сверху вниз.

Shift + Tab — движение назад. Важно убедиться, что обратный порядок тоже логичный.

Enter — активирует элемент: переходит по ссылке или отправляет форму.

Пробел — меняет состояние на текущем экране: ставит или снимает галочку с чекбокса. Чекбоксы и радиокнопки должны объявлять своё текущее состояние (включено / выключено) для скринридеров.

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

Подробнее можно прочитать в статье.

Попробуйте прямо сейчас: уберите мышь и пройдите по любому своему проекту только клавиатурой. Далеко уйдёте?

@prog_point (теперь ещё в VK и Max)
2
Расширения, которые вы ставите не глядя, — это ваша поверхность атаки

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

Свежий пример — кампания GlassWorm. Фейковый WakaTime на Open VSX при активации запускал нативный бинарник, который расползался по всем IDE на ноуте и воровал пароли с токенами. Кампания шла с марта 2025-го.

Полезная привычка, которую стоит прокачать как навык:

— смотреть на издателя и число установок, не только на название;
— раз в пару месяцев чистить список расширений;
— хранить токены в менеджере секретов, а не в .env;
— после таких новостей идти ротировать токены GitHub и npm, а не надеяться.

Гигиена инструментов — такой же профессиональный навык, как умение читать стектрейс.

@prog_point (теперь ещё в VK и Max)
🆒1
От advisory до боевого эксплойта — 9 часов 41 минута. И это уже норма

В свежей истории с уязвимостью Python-блокнота Marimo любопытна не сама дыра, а тайминг. Advisory опубликовали без публичного PoC — просто описание. Через 9 часов 41 минуту ханипот Sysdig поймал первую реальную атаку с рабочим эксплойтом. До этого по тому же сценарию прошлись по Langflow (20 часов) и Flowise.

Вывод для любого разработчика, не только для безопасников: уметь быстро читать advisory и катить патчи — это базовый навык, а не узкая специализация. Атакующие автоматизируют разбор changelog и CVE быстрее, чем команды успевают собраться на планёрку.

Что стоит завести в привычку: подписка на GitHub-релизы критичных зависимостей, понимание своей поверхности атаки, привычка не тянуть паузу между «вышел фикс» и «мы его накатили». Разбор инцидента — на Tproger.

@prog_point (теперь ещё в VK и Max)
🆒1
Forwarded from Типичный программист
jj — CLI поверх Git, где конфликты решаются автоматически, а любую операцию можно откатить

Представьте Git без staging area, где rebase не останавливается на конфликтах, а любую ошибку можно отменить одной командой. Это не фантазия — это jj, CLI для Jujutsu, который работает поверх вашего .git/ и не требует от коллег ничего менять.

Ключевые отличия: рабочая копия — это коммит (любое изменение файла формирует новую версию с тем же change ID). Конфликты хранятся в истории как часть коммита, а не как маркеры в файле — rebase продолжается, потомки перестраиваются автоматически. И главное: jj undo откатывает любую операцию. Потерять работу в jj сложнее, чем в Git.

Стив Клабник (автор «The Rust Programming Language») написал учебник по jj — с объяснением концепций и тем, чем они отличаются от Git.

@tproger
Читайте также в VK, Max и Дзен
🏆2😱1
Забыли файл на домашнем компьютере? Включите его по сети — без похода к кнопке питания

Wake-on-LAN — протокол, который будит выключенный компьютер одной командой через локальную сеть. Сетевая карта с включённым WOL прослушивает широковещательный трафик даже когда машина выключена. Получив специальный Magic Packet с вашим MAC-адресом, она посылает сигнал на BIOS — и система загружается.

Удобно для удалённого доступа к домашней машине, запуска ночных обновлений на парке серверов или пробуждения домашнего NAS-хранилища без физического контакта. Главное — включить WOL в BIOS (обычно называется Wake-on-LAN или Power On by PCI-E) и активировать в ОС для нужного адаптера. На Linux это ethtool -s eth0 wol g.

В статье — разбор протокола, настройка на Windows/Linux/macOS и написание собственной утилиты на Go с нуля. Весь код с комментариями — можно собрать за вечер и будить машины из любой точки сети.

@prog_point (теперь ещё в VK и Max)
❤‍🔥5
Почему ваш индекс в Postgres не работает — и как это исправить

Вы добавили индекс на колонку, но запрос всё равно тормозит? Скорее всего, вы столкнулись с одной из классических ловушек.

Первая: вы обернули колонку в функцию. WHERE lower(name) = 'pikachu' не использует индекс на name — Postgres видит функцию и идёт читать всю таблицу. Решение — функциональный индекс на lower(name).

Вторая: порядок колонок в композитном индексе. Индекс (type_1, type_2) работает для запросов на type_1 и на обе колонки вместе, но бесполезен для запросов только на type_2.

Третья: вы не проверили план запроса. EXPLAIN ANALYZE показывает, какой индекс реально использовался и сколько времени ушло.

Джон Чартер показывает на примерах, как работают частичные индексы с WHERE и покрывающие с INCLUDE. Без EXPLAIN вы просто гадаете — а база данных не любит угадывать за вас.

@prog_point (теперь ещё в VK и Max)
1🆒1
Формы в Angular всегда были той ещё головной болью — кажется, это начинает меняться

В Angular 21 появились Signal Forms — экспериментальная альтернатива привычным реактивным формам. Главная идея: форма и данные синхронизируются сами, без ручного перекладывания значений туда-обратно.

Грубо говоря, вместо вот этого:

ngOnChanges() {
this.loginForm.patchValue({ ...this.login });
}


Теперь просто:

loginForm = form(this.login);


Форма сама следит за состоянием. Меньше кода, лучше типизация, встроенные debounce, hidden, disabled, readonly и валидация — синхронная и асинхронная.

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

#javascript

@prog_point (теперь ещё в VK и Max)
❤‍🔥2
Stanza: 15-минутные уроки программирования прямо в VS Code

Stanza — плагин для VS Code, который встраивает короткие уроки по fullstack-разработке и ИИ-инструментам прямо в редактор. Идея простая: 15 минут в день, без переключения вкладок и потери фокуса.

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

Пока у расширения чуть больше 1500 установок и только 2 отзыва — инструмент совсем новый. Но идея встроить обучение прямо в среду разработки выглядит разумно: не нужно открывать Udemy или YouTube, контекст не теряется.

Установить Stanza можно бесплатно из VS Code Marketplace. Теперь оправдания закончились — редактор уже открыт, уроки уже внутри.

@prog_point (теперь ещё в VK и Max)
2
Forwarded from Типичный программист
В терминале всего 33 Ctrl-шортката — и это не случайность

Замечали, что Ctrl-1 ничего не делает, а Ctrl-A работает? ASCII физически даёт только 33 control-кода — остальные комбинации терминал либо игнорирует, либо превращает в ANSI escape-последовательность (управляющие символы для цвета и позиционирования курсора).

Julia Evans разобрала всю таблицу. Ctrl-M и Enter — буквально один байт (код 13), исторически так сложилось. Ctrl-коды обрабатываются на трёх уровнях: одни забирает ОС, другие — bash или readline (библиотека редактирования командной строки), третьи добираются до приложения. Отсюда конфликты: Ctrl-S «зависает» терминал из-за поведения ОС, унаследованного из эпохи аппаратного управления потоком данных.

Большинство нажимали эти комбинации годами, не задаваясь вопросом «почему». Теперь есть разбор целиком на Tproger.

@tproger
Читайте также в VK, Max и Дзен
5🆒2
Что такое BI-инструменты и зачем они вообще нужны

Когда данных в компании становится много — продажи, склад, клиенты — их уже не удержать в Excel. BI-платформа (Business Intelligence, «бизнес-аналитика») — это инструмент, который собирает данные из разных источников и превращает их в понятные графики и таблицы-дашборды.

Звучит как что-то далёкое от разработки, но нет. Именно разработчики подключают источники данных, настраивают обновления и иногда пишут кастомные запросы. Это отдельное направление, которое называют Data Engineering или аналитической разработкой.

На российском рынке есть несколько таких платформ: Yandex DataLens, Visary BI, Visiology и Luxms BI. Они отличаются ценой, форматом (облако или установка на свой сервер) и набором функций. Одни заточены под корпоративный сектор, другие позволяют начать бесплатно.

Если вам интересно направление работы с данными — посмотреть на реальные инструменты полезно уже сейчас. Разбор четырёх платформ с кейсами уже у нас на сайте.

#инструменты
1
Как там ваши пет-проекты?

@prog_point (теперь ещё в VK и Max)
🆒4
Ну-ка, новички, внеплановая проверка знаний. Что это?)

@prog_point (теперь ещё в VK и Max)
❤‍🔥2
Запускаем LLM без облака и подписки

Ollama — бесплатный open-source инструмент, который ставит локальную нейросеть буквально одной командой. Работает на любой ОС, доступен из России, а GPU для старта не нужен — хватит 8 ГБ RAM и пары гигабайт на диске.

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

Ollama интегрируется с Claude Code, Codex и другими инструментами через одну команду ollama launch — без ручной возни с конфигами. Для кодинг-задач особенно хвалят модели qwen3-coder и gpt-oss:20b. Начать можно с llama3.2:latest — весит 2 ГБ, тянет на любом современном железе.

В гайде полный путь от установки до подключения к вашему любимому AI-редактору.

#ии

@prog_point (теперь ещё в VK и Max)
🤝3
Как Flexbox считает размеры: собираем Masonry-раскладку без JavaScript

Flexbox знают почти все, кто верстал хоть один макет. Но мало кто понимает, как именно он считает размеры, а это знание позволяет строить красивые фотогалереи и карточные сетки без единой строки JavaScript.

Masonry — раскладка, где блоки разной высоты укладываются в плотную сетку без дыр, как в Pinterest. Обычно для этого тянут Grid или JS-библиотеки. В этом материале показывают, как собрать такое на чистом Flexbox, если элементы имеют известное соотношение сторон (например, 16:9 у изображений).

Чтобы наконец разобраться, почему элементы растягиваются именно так, а не иначе, читайте разбор на Frontend Masters.

#веб #фронтенд

@prog_point (теперь ещё в VK и Max)
2💯2
История российского IT: от ЭВМ в закрытых НИИ до Горбушки

Сергей Лебедев создал МЭСМ — первую советскую электронную вычислительную машину. Это за два года до того, как IBM выпустила свою первую коммерческую модель для широкого рынка.

БЭСМ-6, следующая машина серии, работала с 1968 по 1987 год. На ней учились программированию — и писали прямо в двоичном коде: нули и единицы, под конкретный процессор. Никаких языков высокого уровня, никакого Python.

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

Как выглядело советское IT изнутри и какие ещё факты стоит знать о его истории — в нашей статье.

@prog_point (теперь ещё в VK и Max)
❤‍🔥2🤓2💯1
Графы — одна из тех тем, где начинающие разработчики застревают надолго

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

Подробный разбор с нуля: что такое граф, как хранить его в коде и как обходить — в ширину (BFS, обход слой за слоем) и в глубину (DFS, уход сначала до конца ветки). Каждый алгоритм объяснён с примером и разбором логики.

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

@prog_point (теперь ещё в VK и Max)
5🔥1