Типичный программист
✔
78.1K subscribers
3.82K photos
1.16K videos
14 files
8.47K links
Всё самое интересное по программированию

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

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

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

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

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Download Telegram
15 MCP-серверов, которые подключают ИИ к вашим инструментам

ИИ-агент может написать код, но без связи с реальными системами он работает вслепую: не видит ваш репозиторий, не читает дизайн и не проверяет ошибки в проде. В обзоре LogRocket собрали 15 серверов: GitHub для кода и пулреквестов, Figma для перевода дизайна в код, Sentry для отладки, Playwright для браузерных тестов, плюс облачные сервисы вроде AWS, Cloudflare и Netlify.

Полный список с примерами — хорошая старт для начала любого проекта.
👍12🔥8👀5😁4☃1👎1🌭1🍌1🍾1😇1🙉1
— Зачем ты залил код сразу в прод?
— Кто я такой, чтобы идти против божественных методов?
— Ты уволен.
😁81🕊6🍓3🌚2🤨2😈2🙈2🤷‍♂1👏1🤣1🎄1
Обычный Wi-Fi превратили в камеру

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

Технология ещё в стадии исследований, но сам факт, что для этого хватает домашнего роутера, уже меняет ощущение приватности.

Пока это лабораторный результат, а не функция в вашем роутере. Но контур понятен: железо умеет больше, чем разрешено и как от этого обезопасить себя, пока непонятно. Подробнее в материале Slashdot.
⚡8🤔8❤6😱4🍓2👨‍💻2🙉2😘2☃1🤷‍♂1🙈1
Forwarded from Zen of Python
Почему str.lower() иногда ломает проверку имён доменов

Регистр символа в Python зависит от версии Unicode интерпретатора. Сейчас unicodedata.unidata_version — 17.0.0, а протокол подготовки строк stringprep, который лежит в основе международных доменных имён, зафиксирован на Unicode 3.2.

Поэтому str.lower() и str.encode('idna') в разных версиях Python могут считать разные строки одинаковыми. В обычном коде это проходит незамеченным, а в проверке доменов или авторизации получается обход валидации.

В контексте безопасности не зовите str.lower() напрямую. Берите пакет idna: он реализует стандарт IDNA 2008 и не использует встроенные таблицы Unicode.

Seth Larson разбирает уязвимость и показывает, как это выглядит на практике.
👍13🎉4🌚4❤3👎3🤔3🆒3🤷‍♂2🤷‍♀1💔1🤝1
Ваши варианты?
😁48❤8💯7🎉5👾3🤓2👎1🐳1🍾1🎅1😘1
Разработчик заставил печатать HP Laser 1008a на macOS с помощью Claude Code

У HP Laser 1008a нет родного драйвера и AirPrint. Кубера Мехта из PolyThink это не остановило. Он взял Claude Code и за 30–40 промптов, потратив 4% месячного лимита, собрал патч к открытому драйверу SpliX.

Мехт говорит, что не разбирался в macOS-драйверах, но учился по ходу. Claude Code делал уверенные заявления, которые приходилось проверять и поправлять, и снял рутину, позволив одному человеку закрыть задачу, которая раньше требовала узкой специализации.

Разбор на The Register.
😁36👍29❤14🔥7✍3🤗2😍1🌚1😨1🫡1💘1
Делаем из плоского фото 3D-сцену со светом и тенями

В новом туториале Codrops Dominik Fojcik показывает, как обычное 2D-изображение начинает отбрасывать настоящие тени: без 3D-модели, одной текстурой. Берёте картинку, генерируете карту глубины и пропускаете свет через WebGPU-шейдер в Three.js.

Фишка в том, что готовые карты глубины обычно 8-битные, всего 256 градаций, и на гладких поверхностях свет ловит ступеньки. Автор же разбирает, как конвертировать карту в float, слегка размыть и сохранить в half-float, чтобы шум исчез.

Работает пока только где есть WebGPU. Пошаговый туториал на Codrops.
🔥9❤2🎉1🤣1
Водяной знак Claude: как статистика выдаёт машинный текст

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

Anthropic объяснила: на «равноправных» шагах модель получает лёгкий толчок к одним кандидатам и от других. Отдельный выбор незаметен, но на дистанции складывается в узнаваемую подпись, которую проверит только сама компания.

Спорная деталь — асимметрия: вы не убедитесь, что текст чист, а вот Anthropic может. Переводы и переписывания проходят через Claude целиком, поэтому маркируются сильнее. Если пишете важный текст, берите черновик у Claude и переписывайте своими словами.
🤣31❤7👾3🔥2🤨2👍1👏1🎉1🙏1👌1😴1
Заражённый arrayref запускал чужой код на cargo build

Build-скрипт в Rust выполняется, когда вы собираете проект. Этим и воспользовались: 20 августа команде безопасности сообщили про пакет proc-macro1, чей build-скрипт тянул вредоносную нагрузку с чужого сервера. Запускать ничего не надо, хватает сборки.

В то же утро кто-то перевыпустил популярный arrayref и добавил ему зависимость на этот пакет. Обновили зависимости, сказали cargo build — и чужой код уже отработал у вас на машине. Следом досталось internment и append-only-vec того же автора. Владельца аккаунта никто не винит: похоже, увели машину или ключи.

Заражённые версии сняли за 86–107 минут. Кажется, что мало, но ночная сборка в CI попадает в такое окно легко. Загляните в ~/.cargo/registry/cache: если одна из версий там лежит, чистите кэш и пересобирайтесь, в реестре уже безопасные.

Список удалённых пакетов и готовая команда для поиска — в блоге Rust.
❤7🔥6👾4👏3🎉3🤝3👍2🤔1🤩1😈1🙊1
ИИ оставляет в коде уязвимости, потому что решает поставленную задачу самым коротким путём. Если в промпте явно не заданы требования к безопасности, проверок прав доступа и валидации ввода в коде просто не будет, при этом результат выглядит рабочим и проходит тесты. В итоге на прод попадают IDOR и ошибки бизнес-логики, которые никто не заметил на ревью.

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

Собрали пять уязвимостей, которые системно воспроизводятся в сгенерированном коде:
https://tproger.ru/articles/vajb-koding-kak-mechta-hakera-kakie-uyazvimosti-plodit-kod-sgene

И пять атак, которые превращают ИИ-помощника в канал утечки данных:
https://tproger.ru/articles/manual-yunogo-hakera-kak-vzlomat-svoego-rag-bota-do-togo-kak-e
❤9👏6🔥5😁5👍3🤩3🕊3🫡2💋1👻1👨‍💻1
void в C меняет смысл в зависимости от места

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

У нас вышла статья о том, как одно короткое слово набрало столько ролей. Заодно там история появления слова: его предложил Стивен Борн, тот самый автор Bourne Shell, и придумали его совсем не ради читаемости кода.

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

#основы
👍19❤7👏3👎2🔥2🥰2🎉2💯2🎅2🤯1🤝1
Куда расти разработчику, который не хочет в менеджеры?

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

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

Ещё два трека — тимлидство и архитектура. Рассматриваем все опции в новом материале.

https://tproger.ru/articles/timlid-arhitektor-ili-qa-kuda-rasti-razrabotchiku-kotoryj-ne-h
💊21👍8🤣6❤5👏4🔥3😁2🤩2🥰1👌1🤝1
Разраб нашёл остров по фотографии, перебрав 80 миллионов кандидатов на видеокарте

Можно было бы закинуть снимок в Google Lens. Но автор решил, что это скучно, и пошёл считать.

EXIF пустой, высота съёмки неизвестна, зато в кадре три клочка суши. Угол между ними и отношение расстояний дают отпечаток из трёх координат, который можно искать по всей планете. С помощью OpenStreetMap он отобрал возможных кандидатов. Каждому достался один поток CUDA. На RTX 3050 ядро отработало за 204,1 мс и сузило до 158 784 совпадений.

А вот как из 158 784 вариантов он смог выбрать то самое место в Микронезии, можно узнать в блоге автора.

#osint
💊36❤9😭4👍3🔥3🌚2🤪2🙏1🍌1💔1💋1
Пулреквестов стало вдвое больше, а релизы быстрее не поехали

Faros AI летом 2025 года разобрала работу больше 10 000 разработчиков. Там, где прижились ИИ-инструменты, смерженных пулреквестов стало на 98% больше. При этом время ревью выросло на 91%, багов на 9%, а метрики поставки на уровне организации не сдвинулись вовсе.

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

Второй отвечает, что мерить надо аккуратнее. Так, METR сажает опытных разработчиков за их же задачи и засекает время с ассистентом и без. В июле 2025 вышло, что с ИИ задачи занимали на 19% больше времени, хотя сами участники считали, что ускорились на 20%. В феврале 2026 METR признал, что в выборку не шли те, кто не готов работать без ИИ, перезапустил замер и получил отставание уже в 4%, в пределах погрешности.

Обе позиции можно подробнее прочитать здесь. А вы поделитесь своими ощущениями — как повлияло использование ИИ на вас и вашу команду — ускорились, замедлились или остались на том же месте?

#обсуждение
😁10❤8👍6👏5🎉2🥰1🤔1💯1💔1🤨1😭1
Как поисковик успевает подобрать подсказки, пока вы не дописали слово

Вы набрали «face», и под строкой появились пять вариантов. На всё про всё около 50 мс, а выбрать пятёрку надо из сотни миллионов уже заданных кем-то запросов. И так на каждую букву: пока вы печатаете «*facebook», сервис отвечает восемь раз.

Хеш-таблица не подойдёт. «*facebook» в ней находится мгновенно, а «всё, что начинается на face» она искать не умеет в принципе: придётся прочитать все сто миллионов ключей.

Поэтому берут префиксное дерево. Запросы разложены по буквам, и все, кто начинается одинаково, идут общим путём от корня: дойти до «face» это ровно четыре шага. Но под этим узлом всё равно висят тысячи вариантов, поэтому пятёрку самых частых считают заранее и кладут прямо в узел. Пересчитывают пачками: отставание на пару часов никто не замечает.

Как дерево разносят по серверам и что кешируют в CDN, в разборе.

#алгоритмы

*Компания Meta и её продукты признаны экстремистскими, их деятельность запрещена на территории РФ.
1👍40❤8👏2🎉2❤‍🔥1🤷‍♂1🌭1🙈1🤝1👾1
Microsoft Paint внедряет в ИИ-картинки невидимый GUID, привязанный к запросу

Исследователь разобрал, как Paint и Photos в Windows маркируют локально сгенерированные ИИ-изображения. Программа шлёт промпт на серверы Microsoft, получает обратно 16-байтовый GUID и прячет его в пикселях как невидимый водяной знак. GUID связан с запросом, а запрос, по сути, с пользователем — значит, по картинке можно теоретически выйти на автора.

Как этого избежать, читайте в статье.
🤣28👍7❤5🤔3💊2🤷‍♀1🙏1💯1🫡1🙉1
Forwarded from Нейроканал
Тайна Ox Alpha раскрыта: Z․ai объявила, что модель, которую сообщество неделю гоняло бесплатно через OpenRouter и OpenCode, это GLM-5.3-Flash. Мы угадали. Весь этот трафик, к слову, обслуживали китайские ИИ-чипы.

По цифрам: 320 млрд параметров, 18 млрд активных, контекст миллион токенов, впервые в линейке GLM-5 нативно мультимодальная. Веса под MIT лежат на HuggingFace. В Artificial Analysis Intelligence Index 57 баллов при 0,045 $ за задачу, примерно в десять раз дешевле моделей того же уровня.

В блоге сравнивают с Opus 4.8: на Terminal Bench 84,3 против 85,0, на AutomationBench 48,8 против 41,0, на DeepSWE 63,4 против 58,0. У подписчиков Coding Plan модель уже включена, лимиты втрое больше, чем у GLM-5.3.

Напомню, подписку со скидкой можно купить по моей реферальной ссылке.

@neuro_channel
🔥14🤔4❤3❤‍🔥1👍1👏1🐳1😈1💊1
Если вы не очень поняли предыдущий пост — заходите в наш канал по нейронкам, там много чего полезного для тех, кто кодит с ИИ.

Конкретно про эту модель GLM-5.3-Flash очень кратко: это новый топ по цена\качество сейчас, особенно для веб-разработки.

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

Сегодня там знатно про новый GLM наспамил :)

Делитесь и вы своим опытом в комментах, интересно реальный опыт послушать. На чём кодите сейчас?
👍10👎3🤔2🌚2👨‍💻2❤1🤩1😐1🍾1💋1💊1
«Я был скептиком» — так начинается история тимлида, которого вместе с командой отправили проводить эксперимент с вайб-кодингом. Три человека, из которых только один умел программировать, две недели, реальный сервис для десятков тысяч сотрудников и дедлайн, который трижды сдвигали. Что пошло не так: git, перегрузка модели в пиковые часы, соблазн бесконечно дорабатывать вместо релиза.

Ребятам помогли чёткие личные границы и понимание, где ИИ реально ускоряет работу, а где без опытного разработчика просто никак не обойтись.

Читайте на Tproger.
💊48😭6👏2🤔2👍1😁1🏆1💔1🍓1🎄1
Pollen Robotics собрала утёнка-робота, которого можно переучивать самому

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

У Pollen Robotics получился работающий пайплайн. Они взяли 25-см двуногого Microduck, натренировали в симуляции шесть движений от ходьбы до вставания со спины и развернули готовые стратегии на реальном роботе одним шагом.

Всё открыто и повторяемо. Тренировать можно у себя или через Hugging Face Jobs, а результат публиковать в сообщество. Отличный способ проверить sim2real на реальном устройстве, а также перенести код в реальность. А заодно и собрать себе собственного уникального питомца.
👍23🤔3❤1⚡1😍1