TGViewer
Channel ✦ Verified Channel
Типичный программист

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

@tproger

Всё самое интересное по программированию

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

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

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

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

VK: vk.com/tproger

Регистрация в перечне РКН: https://tprg.ru/mJwo
Subscribers
78.3K
Photos
3.8K
Videos
1.2K
Links
8.4K

Showing posts older than #14636 · Back to latest

Older Posts 20 shown
Post #14635 12.5K
Авторы Wasp отказались от собственного языка спустя 5 лет и $5M

Братья-близнецы из Y Combinator задумали Wasp как «Terraform для веб-стека»: один конфиг, который описывает и бэкенд, и фронтенд, и базу. Звучало разумно, но для этого DSL они придумали свой язык. Разработчики вокруг понимали мотивацию (не хочется собирать стек из десятка конфигов вручную), но писать бизнес-логику на кастомном языке с куцей поддержкой IDE оказалось не тем, ради чего стоит бросать JS/TS.

Прошло пять лет и $5M инвестиций. Главный инсайт: ценность Wasp не в синтаксисе, а в высокоуровневой спецификации приложения, которую и человеку, и ИИ проще читать. Сейчас конфиг переписывают на TypeScript, сохраняя ядро. Интересно, как долго они убеждали себя, что язык — необходимость, прежде чем признать ошибку. Подробности в блоге авторов.
  • 😁 25
  • ❤ 8
  • 😭 8
  • 👍 5
  • 🤝 4
  • 🤔 2
  • 🙏 2
  • 👌 2
  • 🌚 2
  • 🤨 1
  • 🎃 1
Post #14634 8.72K
  • 😢 58
  • 😁 10
  • ❤ 9
  • 🔥 6
  • 💯 6
  • 💅 4
  • 🍓 2
  • 🎉 1
  • 🙈 1
  • 🙉 1
  • 😘 1
Post #14633 9.99K

Forwarded from Инструменты программиста

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

Repowise делает эту работу детерминированно — он анализирует здоровье Go-кода по синтаксическому дереву и истории коммитов.

Инструмент строит 23 показателя качества на парсере Tree-sitter и git-истории. Один и тот же коммит всегда даёт одну и ту же оценку, поэтому результат можно сравнивать между версиями без шума.

В отличие от универсальных метрик объектно-ориентированного кода, Repowise учитывает специфику Go: вложенность функций, дублирование, покрытие тестами и процессные сигналы — например, частую смену авторов одного файла. Для крупных репозиториев вроде Hugo это даёт стабильную картину рисков.

Если в проекте важна воспроизводимость оценок, такой подход поможет отслеживать деградацию и не гадать на нейросетях. Подробности о метриках в статье.
  • ❤ 18
  • 👍 5
  • ✍ 3
  • 👌 3
  • 💯 3
  • 🙏 2
  • 🆒 2
  • 👎 1
  • 😁 1
  • 😍 1
  • 💊 1
Post #14631 10.1K
Прототип готов, надо выкатить его на живых пользователей и проверить гипотезу. Но поднимать полноценную инфраструктуру и разбираться с биллингом AWS ради первой версии — так себе идея.

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

Смотрели на минимальный тариф, готовые шаблоны, апгрейд без миграции и скорость ответа поддержки.
  • 👍 9
  • 👏 8
  • 💯 6
  • 🔥 5
  • 😁 4
  • 🆒 4
  • 🤓 2
  • 😨 2
  • 😢 1
  • 😴 1
  • 🤗 1
Post #14630 11K
Как выбрать системного интегратора в 2026, чтобы не переписывать проект с нуля

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

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

Материал ориентирован на руководителей, но пригодится разработчикам, которых просят оценить подрядчика. Разбор критериев может выручить на собеседовании или при защите бюджета.
  • 🤔 7
  • 🎉 4
  • 😢 2
  • 😍 2
  • 🌚 2
  • 🍾 2
  • 👾 2
  • 🥰 1
  • 💔 1
  • 😴 1
  • 👻 1
Post #14629 9.8K

Forwarded from Веб-страница

Chrome 151 даёт декларативный доступ к камере и микрофону через <usermedia>

Если делали видеочаты или редакторы с захватом с камеры, знаете боль: вызовы getUserMedia(), ручные запросы разрешений и пользователи, случайно нажавшие «запретить» и застрявшие в тупике. Новый HTML-элемент <usermedia>, доступный с Chrome 151, убирает эту рутину.

Вместо скриптового запроса права вы получаете декларативный элемент управления, который сам отслеживает намерение пользователя, управляет запросом браузера и передаёт готовый MediaStream в приложение. Это сокращает шаблонный код и даёт браузеру достоверный сигнал о том, что доступ инициирован пользователем, а не страницей. Подробнее в блоге Chrome for Developers.

Если фича приживётся, запросы медиа-прав станут заметно чище.
  • 🔥 27
  • 😱 7
  • ☃ 3
  • ✍ 3
  • 🌚 2
  • 💋 2
  • 😭 2
  • 🤪 2
  • 😍 1
  • 🌭 1
  • 🍌 1
Post #14628 11.2K
VPS в 2026: почему сервер тормозит, хотя метрики в норме

Вы смотрите на дашборд: CPU 40%, память не вся занята, а пользователи жалуются на лаги. Скорее всего, ваш VPS просто не получает тех ресурсов, за которые вы платите.

За несколько лет картина резко поменялась. Если раньше на одно физическое ядро приходилось 4–8 виртуальных CPU, то у бюджетных провайдеров сейчас норма — 10–16. Пока соседи по хосту спят, вы получаете мощность. Когда все просыпаются одновременно, гипервизор забирает CPU у вас. Это видно в метрике %st — steal time.

К этому добавились тяжелее ОС и стек. Ubuntu 24.04 при минимальной конфигурации занимает 3–5 GB RAM ещё до вашего приложения, а современный бэкенд часто тянет брокер, кеш, мониторинг и контейнеры. Разобрались, когда дешёвый VPS перестаёт тянуть и что с этим делать.
  • 🔥 8
  • 😁 7
  • ❤ 5
  • 🎉 2
  • 🆒 2
  • 🤩 1
  • 😍 1
  • 🤣 1
  • 😴 1
  • 😨 1
  • 🤗 1
Post #14626 9.56K
Разработчик 10 лет писал код и упёрся в потолок: ещё один язык программирования не превращает идею в бизнес

Евгений Казаков работал на зарубежную компанию, начинал онлайн-курсы по предпринимательству и ни один не закончил. Свой стартап без базы запускать не рискнул: без подготовки это быстро превращается в оплату собственных ошибок. В итоге пошёл в онлайн-магистратуру МФТИ «Технологическое предпринимательство» и рассказал, как она устроена изнутри.

В обзоре: почему заявленные 10 часов в неделю на деле превращаются в 20–25, зачем на входе нужен собственный проект, где программа буксует и что в ней реально окупается. И главное — сколько такая магистратура стоит в 2026 году и как проверить формат до того, как заносить деньги.

https://tproger.ru/articles/skolko-stoit-stat-predprinimatelem-obzor-onlajn-magistratury

Реклама. Рекламодатель: МФТИ, Физтех, ИНН 5008006211, erid: 2W5zFHJ7L2V
  • 😁 11
  • 💊 11
  • 👏 5
  • 💯 2
  • 😢 1
  • 🕊 1
  • 🏆 1
  • 😴 1
  • 👀 1
  • 🫡 1
  • 🤪 1
Post #14625 9.21K
Сколько ветвлений ваш процессор держит в голове

Код на тестах летит, а в проде тормозит, и вы уже не первый раз смотрите на профайлер? Причина не всегда в алгоритме: CPU пытается угадать, куда пойдёт выполнение по if.

Дэниел Лемайр собрал бенчмарк, который мерит ёмкость предсказателя ветвлений. Цикл пишет число в буфер, если оно нечётное. Случайные данные дают промах за промахом. Повторяющийся паттерн CPU запоминает и летит.

Разные чипы, разный лимит. AMD Zen 5 держит около 30 000 ветвлений, Apple M4 тянет 10 000, Intel Emerald Rapids укладывается в 5 000. Разброс в шесть раз.

Мне кажется, главная ценность здесь не в цифрах, а в угле. Ветвление — не бесплатная операция, а ресурс с лимитом. Если ваш прод ведёт себя не как тесты, причина может быть именно здесь. Разбор и код Лемайра: погоняйте на своём железе и проверьте, угадает ли ваш процессор.
  • ✍ 19
  • 👍 14
  • 👏 3
  • 🤝 3
  • 🍓 2
  • 😨 2
  • 👾 2
  • 🤷‍♂ 1
  • 😢 1
  • 👻 1
  • 🙊 1
Post #14624 8.63K

Forwarded from GameDev: разработка игр

GameDev: разработка игр 80% корпоративных программ геймификации ломаются на одном и том же месте По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80%…
  • 🤔 7
  • 🙏 4
  • 👍 3
  • 👎 3
  • 😭 3
  • 🗿 3
  • 🎅 2
  • 🌚 1
  • 🤣 1
  • 😨 1
  • 🙉 1
Post #14623 7.62K

Forwarded from GameDev: разработка игр

80% корпоративных программ геймификации ломаются на одном и том же месте

По данным AmplifAI, игровые кампании дают в среднем вовлечённость на 100–150% выше, чем классические подходы, а геймифицированный контент шерится в 12 раз чаще. При этом примерно 80% корпоративных программ геймификации не достигают целей. Спрос огромный, качество — низкое, а причина проста: делать это берутся не те люди.

В статье разбирают, как корпоративные клоны механик упускают баланс и контекст, и что делать, чтобы прогрессия не превращалась в цифровой пендель. Для геймдевелоперов это отличная ниша, где есть и деньги, и возможность применить свои скиллы на практике.
  • ❤ 7
  • 🤷‍♂ 7
  • 👏 3
  • 😁 3
  • 🎃 3
  • 🎉 2
  • 🦄 2
  • 🤓 1
  • 👨‍💻 1
  • 🫡 1
  • 🎅 1
Post #14622 8.44K

Forwarded from Сохранёнки программиста

Почему DuckDB обгоняет Spark на одной машине

Разбор от endjin объясняет, как встраиваемая база DuckDB превращает ноутбук в инструмент для аналитики на миллиардах строк: скорость здесь — не в масштабе, а в бережном использовании железа. Колоночное хранилище читает только нужные столбцы, векторизованное выполнение обрабатывает данные пачками по 1024–2048 значений, умещаясь в кэш процессора, а min-max-индексы пропускают целые группы строк по фильтрам. Всё параллелится на все ядра.

В тесте TPC-H DuckDB на одной машине справилась за 1 минуту 16 секунд, Spark на 32 узлах — около 8 минут. Распределённые накладные расходы дороже выигрыша от кластера.

Это не замена PostgreSQL или Kafka: один писатель, одна нода, petabyte уйдут в распределённые системы. Статья полезна тем, кто строит ETL и хочет понять, где сидит производительность.

Сохраните, если выбираете инструменты для аналитики.
  • ❤ 11
  • 🔥 10
  • 😁 4
  • 👍 3
  • 🙏 3
  • 🆒 3
  • 🤯 2
  • 🎅 2
  • 👏 1
  • 👌 1
  • 🌚 1
Post #14621 9.57K
«Не знаю, Claude написал» — уже не шутка, а диагноз

Addy Osmani из Google называет это cognitive surrender: вы не просто поручили ИИ задачу, а отдали ему ответственность за решение, которое сами не разобрали.

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

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

Грань между «разобрался сам» и «ИИ решил за меня» тоньше, чем кажется.
  • 😁 31
  • ❤ 11
  • 🤝 9
  • 👍 8
  • 🔥 5
  • 🎉 3
  • 👏 1
  • 🙏 1
  • 👻 1
  • 👀 1
  • 💘 1
Post #14620 7.82K

Forwarded from IT Юмор

  • 😁 64
  • 👏 8
  • ⚡ 3
  • 👍 3
  • 🔥 3
  • 🤝 3
  • 🤩 2
  • 💔 2
  • 🥰 1
  • 🤔 1
  • 🆒 1
Post #14619 10.5K
mcpsnoop: Wireshark для MCP, который видит реальные вызовы инструментов

Официальный MCP Inspector подключается своим клиентом, поэтому он никогда не видит, что Cursor, Claude Code или Codex реально шлют серверу. Точка останова срабатывает только после прихода запроса, а значит не покажет вызов, который модель не сделала, или сделала с неправильными аргументами.

mcpsnoop сидит в настоящем пути данных. Оборачиваете команду сервера и наблюдаете каждый JSON-RPC кадр в терминале в реальном времени. Лично мне кажется, это удобнее, чем лазить по логам и гадать, почему инструмент молчит.

Репозиторий на GitHub.
  • 👍 21
  • ❤ 9
  • 👏 5
  • 🤝 3
  • 😱 2
  • 🐳 2
  • 💯 2
  • 😴 2
  • 🤗 2
  • 🤩 1
  • 🙈 1
Post #14618 8.64K

Forwarded from Zen of Python

Go-рутины в Python без async/await

Runloom экспериментально возвращает Python к простоте блокирующего кода: вызываете fiber(fn), пишете обычный recv/send или urlopen, а библиотека паркует задачу на сокете и переключает контекст. Никакого async def, никакого await — как до эпохи asyncio, но с миллионом лёгких потоков на всех ядрах.

Под капотом: hand-rolled ассемблерный context switch, work-stealing scheduler на C и netpoll. Цель: free-threaded Python 3.14t с выключенным GIL, когда один процесс действительно может загрузить все ядра, а не притворяться многопоточным.

Репозиторий на GitHub.
  • ⚡ 14
  • ❤ 11
  • 🔥 5
  • 👏 5
  • 🤩 3
  • 👍 2
  • 🎉 2
  • 😍 2
  • 🙏 1
  • 🤓 1
  • 💊 1
Post #14614 9.24K
Бэкапы есть почти у всех. А вот быстро поднять систему после падения умеют немногие. Данные могут быть целы, но если восстановление инфраструктуры занимает часы, бизнес всё равно простаивает. Копия хранит информацию, а вот вернуть сервис в работу она сама по себе не может, это отдельная задача.

В новой статье на Tproger смотрим, как выстроить аварийное восстановление (DRaaS — Disaster Recovery as a Service) заранее, а не собирать его на ходу в момент сбоя. Внутри: чем DRaaS отличается от обычного резервного копирования, что стоит за метриками RTO и RPO (за сколько нужно поднять сервис и какой объём данных допустимо потерять), и как пошагово настроить репликацию VMware — от сетей до переключения и обратного возврата.

И главное: у плана восстановления есть срок годности. Если его не прогоняли полгода, в реальной аварии он может повести себя не так, как записано на бумаге. А когда вы в последний раз проверяли свой план восстановления?
  • 👍 17
  • 👏 9
  • ❤ 5
  • 🔥 4
  • 🆒 3
  • 🙏 2
  • 🤨 2
  • 🤯 1
  • 😱 1
  • 🤩 1
  • 🙈 1
Post #14613 8.35K

Forwarded from IT Юмор

  • 😁 42
  • ❤ 5
  • 👍 5
  • 🔥 3
  • 👏 3
  • 👎 2
  • 💯 1
  • 🤓 1
  • 😨 1
  • 🤗 1
  • 🎅 1
Post #14612 10.3K
Каждый, кто работал с легаси, знает это чувство: код вроде бы живой, но каждая фича даётся всё тяжелее, а на вопрос «почему так долго?» хочется ответить «потому что там всё сложно». Вот только бизнесу это ничего не объясняет — «плохой код» звучит как внутренняя боль разработчиков, а не как аргумент.

Аргументировать необходимость рефакторинга на самом деле можно. Оказывается, надо просто перевести техдолг в деньги: сколько теряется каждый месяц из-за замедлившейся разработки и багов и за какой срок рефакторинг окупится. В новом материале разбираемся, как посчитать ROI рефакторинга и с какими аргументами идти к менеджменту.
  • ❤ 18
  • 👍 7
  • 🔥 7
  • 👏 5
  • ⚡ 3
  • 🥰 2
  • 😭 2
  • 🎉 1
  • 🤩 1
  • 🙏 1
  • 🤝 1
Post #14611 9.75K
ИИ для автоматизации рассчётно-кассового обслуживания: как убрать ручной ввод паспортов

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

Что под капотом:
— Разворот паспорта распознаётся меньше чем за секунду — даже с бликами, тенями и если снято под углом. Тянет 103 языка, паспорта РФ и СНГ, права, рукописный текст и штампы;
— Всё крутится on-premise, документы не уходят на сторону. На одном сервере без всякой GPU — до 125 разворотов в секунду, точность 99,9%.

Самое интересное: распознавание можно запускать прямо в браузере через WebAssembly, то есть на устройстве пользователя, без отправки данных на сервер и обратно. Встраивается в интернет-банк и в мини-аппы Telegram и MAX.

Плюс антифрод: 600+ признаков подделки, проверка NFC-чипа, детект дипфейков.

Из живого кейса — в РНКО «Металлург» ручного ввода стало меньше минимум в 4 раза.
  • 👍 15
  • 🤝 9
  • 🔥 6
  • ❤ 4
  • 🍌 3
  • 😭 3
  • 🤣 2
  • 😈 2
  • 💯 1
  • 🍓 1
  • 💅 1
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →