tproger | Technologies

Telegram-канал tproger - Типичный программист

80631

Всё самое интересное по программированию Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site VK: vk.com/tproger Регистрация в перечне РКН: https://tprg.ru/mJwo

Subscribe to a channel

Типичный программист

Как сделать развертывание в Kubernetes умным

Helm, Kustomize, Argo CD работают, пока ваше приложение простой stateless-сервис. А если нужен строгий порядок запуска, готовая база данных, последовательный пайплайн?

Тут либо приходится писать своего оператора (дорого, сложно, долго), либо надеяться на итоговую согласованность и молиться.

Есть и третий путь. Yoke + Air Traffic Controller (ATC) предлагают логику приложения как код, скомпилированный в WASM.

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

Если вы еще не знакомы с Yoke и Air Traffic Controller самое время познакомиться.

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Облачная платформа для разработчиков в космической игре — видели такое?

Космос и IT связаны теснее, чем кажется. Чтобы это доказать, вместе с @SourceCraft мы превратили процесс разработки в интерактивную космическую экспедицию. В ней привычные инструменты — от настройки CI/CD до ИИ-ассистента и проверки уязвимостей — стали неизведанными планетами со своими загадками.

В основе реальные космические факты — Apollo, Voyager, первый компьютерный червь и не только. Некоторые ответы неочевидны даже для тех, кто думает, что знает.

Среди прошедших экспедицию до конца будет разыгран профессиональный телескоп и другие космические призы.

Что нужно для участия:
1. Исследовать все планеты и ответить на вопросы викторины. Каждый правильный ответ дает плюс один шанс на выигрыш.
2. Зарегистрироваться на платформе SourceCraft.
3. Оставить ссылку на свой репозиторий в специальной форме.

Запустить миссию: https://tprg.ru/XrDw

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

GitHub запустил нативные Stacked PRs — альтернатива Graphite

Если ваши пулл-реквесты разрастаются до 2000 строк и ревьюеры тонут в диффе — у GitHub теперь есть родной способ разбить большую задачу на стэк маленьких PR. Stacked PRs пока в Private Preview, но CLI-клиент gh stack уже опубликован (правда, работает только если вас пустили в preview).

Stacked PR — это цепочка пулл-реквестов, где каждый нацелен не на main, а на ветку PR ниже. Вместо одного огромного реквеста с пятью разными по смыслу изменениями вы делаете пять маленьких, которые читаются независимо и строятся один на другом.

Раньше стэки делали сторонними инструментами: облачный Graphite, консольные ghstack от Meta или spr. Все они симулировали стэки поверх обычного GitHub и ломались на ребейзах, merge queue и branch protection. Нативная реализация разобрали на Tproger — теперь можно не объяснять джунам, почему у команды три CLI для одного пулл-реквеста.

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

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 и Дзен

Читать полностью…

Типичный программист

Zig наконец решил проблему раскраски функций — ту самую, которая мучает разработчиков асинхронного Rust

В версии 0.16.0 (вышла 14 апреля) синхронный и асинхронный код имеют одинаковую сигнатуру — отличается только переданный I/O-интерфейс. Никаких async fn, никакого заражения кодовой базы маркерами асинхронности. Если вы писали async Rust и упирались в то, что половина экосистемы живёт в параллельной реальности — посмотрите, как это решено здесь.

Второе крупное изменение — «Juicy Main». Точка входа теперь получает готовые зависимости через параметр std.process.Init: аллокаторы, I/O, переменные окружения. Раньше каждая программа начиналась с одного и того же бойлерплейта — создать аллокатор, дёрнуть env, получить аргументы. Теперь это подаётся снаружи.

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

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Появились новые скриншоты грядущей GTA

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Я тут в комментариях увидел интересную идею от нашего подписчика.

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

Вы в деле? Тогда пишите в комментарии 👇

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Устали от уймы API-ключей и танцев с бубном вокруг OpenAI, Claude и Gemini?

Снять эту головную боль может один API-роутер.
Разбираемся на Tproger, почему три разных API могут тормозить ваш проект и как подключить GPT-5.4, Claude Sonnet 4.6 и Gemini 3.1 Pro через единую точку входа без переписывания кода.

Кратко о содержании:
— Что умеет хороший роутер: fallback, балансировка, кеш, единый биллинг.
— Пошаговый гайд подключения через одни API на Python и Node.js.
— Реальный кейс: мультимодельный бот с авто-переключением за 30 минут.
— Подводные камни: контекстные окна, latency, rate limits (и как их обойти).

Читать материал: https://tprg.ru/YWhU

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

😁😆😁 надо спросить у пользователей какого контента им не хватает и чего хочется видеть больше. А то мы стараемся ищем, а реакций и комментариев мало

Читать полностью…

Типичный программист

Открыл NYT почитать новости — браузер скачал 49 МБ и сделал 422 сетевых запроса

Разработчик залогировал загрузку нескольких страниц крупных новостных сайтов. Результат NYT: 49 МБ данных, 422 запроса, две минуты до полной загрузки. Для сравнения — Windows 95 весила 28 дискет, то есть меньше этой одной страницы.

Большая часть веса — не текст и не картинки. Пока пользователь читает заголовок, браузер параллельно скачивает и выполняет несколько мегабайт трекинг-JS, проводит программатик-аукцион среди рекламных бирж и отправляет поведенческие POST-маяки на десятки эндпоинтов. Именно эти скрипты греют телефон и разряжают батарею.
Автор называет это «архитектурой враждебности»: viewability и time-on-page — ключевые метрики для CPM, поэтому каждое UX-решение оптимизирует задержку пользователя на странице, а не его удобство. Cookie-баннеры с намеренно блёклыми кнопками закрытия, два одновременных модала, запрос на пуш-уведомления — всё это не баги, а фичи монетизации.

Полный разбор можно прочитать по ссылке.

#безопасность

Читать полностью…

Типичный программист

Жду ваши варианты в комментариях

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Учим LLM работать с файлами локально

На Тпрогер вышла пошаговая инструкция о том, как поднять локальную агентную AI‑систему из трёх компонентов:
— LibreChat — удобный UI для общения с LLM
— MCP‑сервер — стандартный доступ к файлам и инструментам
— Langflow — визуальный конструктор для многоступенчатых сценариев (с валидацией и расчётами)

Всё работает в изолированной Docker‑сети. Данные никуда не уходят.

В статье готовые docker-compose.yml, конфиги librechat.yaml, пример кастомного Python‑компонента для расчётов и таблиц, а также схемы работы каждого этапа.

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Главное — быть внимательным и открытым, а не идеальным

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

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

А в этой статье есть еще пара годных лайфхаков о том, как проходить стажировку. Ловите:

Развиртуализируйтесь. Если есть возможность работать из офиса, хотя бы иногда, то обязательно туда гоняйте. Как говорит Михаил, который проходил стажировку «Импульс»: «В офисе можно быстро подойти и уточнить вопрос, а в онлайне приходится ждать ответа в чате или согласования созвона».

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

Ходите на лекции. Даже если кажется, что работы много. В YADRO для стажеров читают отдельный блок по soft skills и продуктовым вещам. Это помогает лучше понять, какой вклад вы лично вносите в общее дело.

Запрашивайте фидбек. Не ждите, пока коллеги сами подойдут и погладят по голове. Напишите руководителю: «Мне важно понимать, в правильном ли направлении двигаюсь. Можете дать обратную связь по задачам?».

Читать полностью…

Типичный программист

Русскоязычный ИИ-рентгенолог из бесплатных запчастей — это реально

Большинство открытых медицинских моделей говорят только по-английски. Один разработчик решил это исправить — собрал мультимодальную нейросеть из двух публично доступных моделей и запустил на бесплатных GPU Kaggle.

Архитектура — классический Vision-Language подход: Google ViT смотрит на снимок и извлекает визуальные фичи, ruGPT-3 от Сбера генерирует текст. Проблема в том, что они не умеют работать вместе из коробки. Пришлось «взломать» конфиг ruGPT-3, чтобы Hugging Face создал новые веса кросс-внимания между моделями, — именно их и обучали.

Датасет взяли американский (Indiana University Chest X-Ray), перевели 7000 медицинских заключений через Helsinki-NLP прямо на Kaggle. Обучение 15 эпох на двух T4 заняло 2.5 часа — с fp16, gradient accumulation и JS-скриптом в браузере, чтобы сессия не отвалилась по тайм-ауту. В итоге модель распознаёт «кальцифицированные гранулемы» и чистые лёгкие на русском языке. Да, немного галлюцинирует, но в целом держится.

Код открыт, живое демо на Hugging Face Spaces — можно потрогать прямо сейчас. А прочитать подробности по ссылке: https://tproger.ru/articles/frankenwtejn-v-medicine--kak-ya-skrestil-vit-i-rugpt-3--chtoby-nau

#machinelearning #python

Читать полностью…

Типичный программист

Думали я забыл? Ни в коем случае! Пора хвастаться, коллеги

Вот чем в прошлый раз вы хвастались:

убийца Power Point;
отреставрированный Вконтакте образца 2013 года;
опенсорс курсы для программистов;
стеганографический «швейцарский нож» для изображений;
тайм-трекер;
API для управления ресторанами.

Давайте обновим информация. Делитесь своими апдейтами и свежими проектами!

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Keychron открыли исходники своих клавиатур — и теперь вы можете напечатать корпус любимой механики на 3D-принтере

Производитель выложил на GitHub больше 100 CAD-моделей: корпуса, платы, стабилизаторы, энкодеры, кейкапы. Серии Q, K, V, P и мыши M1–M7 — в форматах STEP, DXF и PDF.

Формально это source-available: смотреть, модифицировать под себя — можно, продавать — нельзя. Но для тех, кто хочет сделать кастомный корпус, поменять раскладку платы или просто разобраться, как устроен любимый кейборд изнутри — это подарок.

Сообщество кастомных клавиатур уже потирает руки.

#новости

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Тренды разработки ПО в 2026 году

Разработчику сегодня приходится разбираться в ИИ, знать несколько ЯП, ориентироваться в 3-4 стеках.

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

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

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Постоянный доступ в Kubernetes: как атакующие закрепляются в кластере и остаются незамеченными

Вы думаете, что если злоумышленник получил доступ к ноутбуку администратора на пять минут — это не страшно? А зря.

Чтобы изменить мнение, советуем почитать перевод статьи Рори Маккьюна «Beyond the Surface» — детальный разбор одного реального вектора атаки на Kubernetes. Автор показывает, как с помощью встроенных механизмов (kubectl debug, containerd, статические манифесты, CSR API, Token Request API) можно:
— получить root-доступ к узлу;
— запустить скрытый контейнер в обход API;
— организовать удалённое управление через Tailscale;
— создать вечные учётные данные, которые невозможно отозвать без ротации корневого сертификата.

В статье — не только техники атак, но и чёткие признаки обнаружения, а главное — меры защиты: изоляция API-сервера от интернета, минимальные привилегии RBAC, централизованные логи узлов.

Полный текст: https://tprg.ru/gfJ6

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Три ИТ-события, которые вы могли пропустить (а зря)

Пока все гонятся за хайповыми новостями, мы вместе с коллегой Андреем Дмитриевым из JUG.ru собрали события, которые уже повлияли на мир разработки.

В пилотном выпуске нового подкаста:
— Хакеры стерли десятки тысяч ПК через Microsoft Intune
— Дефицит оперативной памяти до 2030 года
— Оптимизация glibc под x86_64

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

Особое внимание предлагаем уделить рефлексии. В выпуске мы подсветили, почему те или иные истории важны для ИТ-сообщества. А теперь призываем вас в комменты под видео: что уже вошло в вашу жизнь из этих кейсов? И как думаете, что из этого не производит резонанса?

Смотрите подкаст и присоединяйтесь к дискуссии: https://tprg.ru/S7jD

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Регистрация на Альфа ЦТФ уже открыта ⚡️

25 апреля Альфа-Банк проводит соревнование по захвату флага — Цепляй Трофейный Флаг. Будете искать уязвимости на городских высотах и бороться за призовой фонд 3 100 000 рублей.

Что нужно сделать:
➡️ Выпить бодрящий кофе перед стартом и настроиться на маршрут
➡️ Сгонять на велозаезд — или хотя бы сделать вид
➡️ Искать флаги как в городе, так и внутри систем
➡️ Не теряться на сложных участках
➡️ Находить и разбирать уязвимости

Во время соревнования будут доступны ИТ-хабы в Москве, Санкт-Петербурге, Екатеринбурге и Сочи, а также коворкинги в вузах-партнёрах: Финансовом университете, ИТМО и Научно-технологическом университете «Сириус».

Будет 4 направления:

🚩 ЦТФ-трек для специалистов по ИБ и опытных игроков, которые готовы к сложным заданиям
🔢 ИТ-трек для ИТ-специалистов кроме тех, кто работает в кибербезопасности или участвовал в соревнованиях по спортивному хакингу
😁 Студенческий трек для учащихся вузов и колледжей
👟 Школьный трек — впервые могут участвовать подростки 14–18 лет


Собирайте команду или залетайте в соло!

Читать полностью…

Типичный программист

Вот и прошла неделя... Пора снова хвастаться!

Это проекты, про которые вы рассказали на в прошлый раз:

движок для ведения личного блога;
— голосовой помощник для автомобилей с Android Automotive;
система автоматизированной проверки строительной документации;
проект для криптоторговли;
два приложения уже доступных в AppStore.

Не стесняйтесь и продолжайте хвастаться даже незначительным прогрессом. Это помогает сохранять мотивацию. И лайкать чужие успехи не забывайте!

Читать полностью…

Типичный программист

Это ж сколько можно было программистов нанять на эти деньги

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Уже через несколько дней состоится большая конференция K2 Cloud Conf ☁️

➡️ Что вас ждёт:

🟦Экспертные мнения
Бизнес- и тех- взгляд от руководителей K2 Cloud
🟦Актуальные дискуссии
Обсуждение вопросов облака, ИИ, ИБ с участием Айсберри, Ашан Тех, ТК Центр, Calzedonia
🟦Профессиональные треки
Подробный технический трек для специалистов и бизнес-трек с практическими кейсами

📆 Дата: 14 апреля
📍 Место: Москва, ЦДП (доступно также онлайн)

➡️ Зарегистрироваться

Читать полностью…

Типичный программист

Не только для собеседований: зачем разработчикам алгоритмы

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

Городские сервисы Яндекса дают возможность проверить этот навык не в академической, а в практической плоскости — через задачи от разработчиков.

Сегодня в 15:00 стартует вторая задача от Ильи Царева, руководителя разработки Яндекс Go, а 12 апреля стартует задача от Миши Левина, руководителя направления машинного обучения Городских сервисов Яндекса. Если решите одну из задач правильно, то получите шанс выиграть проходку на конференцию Day&Night*, которая пройдёт 18 апреля в Москве.

Про конференцию
Day&Night — мероприятие Городских сервисов Яндекса. В фокусе то, что обычно остаётся за кадром: как городские продукты связывают онлайн и офлайн, какие инженерные решения за этим стоят и с какими компромиссами приходится работать.

Формат — клубы с лидерами индустрии. У вас будет возможность обсудить кейсы лично с теми, кто эти системы проектирует.

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

*День и Ночь

Читать полностью…

Типичный программист

Как джуниору доказать, что в него нужно вкладываться

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

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

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

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

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Ubuntu 26.04 теперь требует больше ресурсов, чем Windows 11

Это не баг, это фича. Добро пожаловать в будущее.

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Кто?

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…

Типичный программист

Инженер психанул, что все мессенджеры живут по чужим правилам, и написал свой

Когда Telegram падает, облако лежит, а условия сервиса меняются без предупреждения — это не ваш канал связи, это аренда. Автор решил это исправить: PWA-мессенджер на собственном бэкенде, без инвесторов и презентаций.
Внутри оказалось куда интереснее, чем «просто чатик»:

— идемпотентность доставки и дедупликация, потому что «отправил» ≠ «дошло»;
— race condition между потоками онлайн-статуса;
— optimistic update против серверной истины на нескольких устройствах сразу;
— graceful degradation для клиентов с сетью «между EDGE и молитвой».

Плюс живое сравнение двух SQL-запросов для полнотекстового поиска: наивный вариант против варианта с partial GIN-индексом — разница на реальном объёме 10x и выше.

Ещё — UIN-рулетка до регистрации в духе ICQ: снаружи фан, внутри резервация ресурса с TTL и защитой от ботнета.

Читать полностью…

Типичный программист

Cursor 3: агенты вместо вкладок — IDE с нуля вокруг ИИ

Cursor выпустил третью версию — и это не обновление редактора. Команда построила новый интерфейс с нуля, где в центре архитектуры не файлы, а ИИ-агенты. VS Code-база никуда не делась: переключиться можно в любой момент через меню.

Что изменилось: все агенты — локальные и облачные — в одной боковой панели. Можно запустить агента с телефона через Slack или Linear, и он появится там же. Облачный агент, если надо протестировать на своём десктопе, переносится на локальную машину в несколько кликов. И наоборот: локальный агент можно отправить в облако, чтобы он продолжал работать, пока ноутбук закрыт.

Для кодинга выпустили Composer 2 — собственную frontier-модель с высокими лимитами. Плюс встроенный браузер для тестирования веб-приложений прямо из интерфейса и маркетплейс плагинов с поддержкой MCP-серверов.

Источник: https://tproger.ru/news/cursor-3--ii-redaktor-postroen-s-nulya---agenty-vmesto-vkladok

#cursor #vscode

Читать полностью…

Типичный программист

7 TUI-инструментов, которые сделают консоль удобнее

Переключение в браузер ради конвертации видео или добавления лицензии к проекту — привычка, от которой сложно избавиться. Но новые TUI-утилиты закрывают эти задачи прямо в терминале.

Среди подобранного:
— MONICA — интерактивная надстройка над ffmpeg без необходимости помнить флаги;
— lic — одна команда для создания файла LICENSE из официальной базы GitHub;
— PNANA — терминальный редактор между nano и vim с tree-sitter подсветкой синтаксиса и поддержкой мыши;
— CodeWeaver — собирает всю кодовую базу в один Markdown-файл, чтобы удобно скармливать проект ИИ-ассистенту.

Плюс ещё три утилиты: поиск торрентов в консоли, часы и таймер для терминала, генератор .gitignore. Все свежие, большинство вышли в последние месяцы.

Подборка: https://tproger.ru/articles/ot-ffmpeg-do-torrentov-dlya-terminala--7-novyh-tui-instrumentov--kotorye-sovetuem

#инструменты

@tproger
Читайте также в VK, Max и Дзен

Читать полностью…
Subscribe to a channel