Перейти к содержимому
Технологии IT обновлён 25.10.2021

NOP::Nuances of programming

NOP::Nuances of programming — канал с уникальными статьями и переводами для программистов. Здесь вы найдёте полезную информацию для работы и развития в сфере IT. Присоединяйтесь!

Публикации канала

Код пишется в Cursor, ревьюит Claude, деплой уходит на AWS. Осталось за все это заплатить Российские карты не принимают многие зарубежные сервисы для разработчиков. Можно искать посредников, просить знакомых с иностранной картой, а можно оформить собственную. Yello Card — виртуальная карта иностранного эмитента с пополнением рублями через СБП без комиссии и бесплатным обслуживанием. С тарифом Ultima+ можно оплачивать: ✔️ GitHub Copilot, Cursor, JetBrains ✔️ Claude, ChatGPT и их API ✔️ AWS, Google Cloud, Vercel, Hetzner Всего в списке поддерживаемых — более 375 сервисов, включая Figma и Notion. Нужный сервис можно проверить на сайте ещё до выпуска карты. Проверить, какие сервисы можно оплатить

Открыть в Telegram

CI зелёный. Может ли PR украсть секреты? GitHub Actions запускает workflow по pull request. Тесты зелёные, но workflow может получить доступ к секретам и токену. Опасны связки pull_request_target и workflow_run с выполнением кода из PR. Они работают в привилегированном контексте и могут отдать секреты чужому коду. Дай workflow только нужные права и не подключай лишние секреты. Проверяй сторонние actions и не вставляй заголовок PR прямо в shell-скрипт. 🔗 Подробнее @nuancesprog #Security #GitHub

Открыть в Telegram

Функции 'use server' в Next.js — публичные HTTP-эндпоинты Каждая экспортированная функция с директивой 'use server' компилируется в публичный POST-эндпоинт. Её можно вызвать через curl или Postman, передав любой JSON. Проверка в layout.tsx или page.tsx не защищает Server Action: перед вызовом layout.tsx не выполняется. middleware.ts тоже не спасёт как единственный рубеж безопасности. Проверяй права прямо внутри каждой функции с 'use server' и не экспортируй лишнее. Не верь TypeScript: типы стираются, а в теле может прийти любой JSON. 🔗 Подробнее @nuancesprog #Security #React

Открыть в Telegram

CRDT на время слияния: как работает Eg-walker Joseph Gentle и Martin Kleppmann представили Eg-walker на EuroSys 2025. Классический OT (операционное преобразование) сливает реальную историю Git Makefile за час, Eg-walker — за 24 миллисекунды. Обычные CRDT (бесконфликтные структуры данных) держат метаданные в памяти и требуют свыше 10x памяти OT. Eg-walker хранит историю правок и собирает CRDT только при конкуренции. При обычной работе правки применяются к строке без метаданных. Временный CRDT нужен только для конкурентных событий, и его выбрасывают. 🔗 Подробнее @nuancesprog #Tools

Открыть в Telegram

Экспериментальный JIT в CPython уберут В 2024 году в Python 3.13 появился экспериментальный JIT-компилятор CPython. В июне совет приостановил работу над ним, а после отзыва PEP 836 JIT уберут. PEP 744 о JIT был информационным и не давал формального согласия на доработку. Это оставляло неопределённость для разработчиков CPython, мейнтейнеров пакетов и пользователей. Для рабочих проектов не закладывайся на JIT в ближайших версиях Python. Эксперименты с ним лучше держать вне основной ветки CPython. 🔗 Подробнее @nuancesprog #Languages #Python

Открыть в Telegram

Microsoft анонсировала Type Server Protocol Microsoft опубликовала спецификацию Type Server Protocol (TSP). Он расширяет Language Server Protocol и использует его структуры данных. Для IDE и анализаторов это единый способ получать данные о типах. Сервер отдаёт вычисленные, объявленные и ожидаемые типы. Протокол пока в 0.x: минорные версии могут ломать совместимость. Проверяй возвращаемую версию через typeServer/getSupportedProtocolVersion. 🔗 Подробнее @nuancesprog #Tools #Python

Открыть в Telegram

Sebastian Raschka выпустил видеокурс по reasoning-моделям Sebastian Raschka выложил восемь видеолекций по reasoning-моделям. Это больше одиннадцати часов кода на Python и PyTorch. Почти все актуальные LLM уже reasoning-модели или предлагают такой режим. Курс берёт предобученную Qwen3 и добавляет оценку, инференс-скейлинг и обучение с подкреплением. Для прохождения нужно уверенно знать Python и PyTorch. Ранние примеры запускаются на CPU, но для обучения лучше взять GPU. 🔗 Подробнее @nuancesprog #AI #Python

Открыть в Telegram

Точность tool call в vLLM: 92% → 100% На vLLM 0.28 Kimi K2.6 выдавала ожидаемую схему tool call лишь в 92% случаев. Это два сбоя на каждые 25 попыток вызова инструментов. Неточные вызовы инструментов заставляют модель накапливать бессмысленный контекст в диалоге. Особенно это вредит агентным сценариям с длинными многоходовыми сессиями. В vLLM 0.31 появился серверный флаг constrained decoding (генерация строго по схеме). Он гарантирует 100% соблюдение схемы на новых Kimi и DeepSeek. 🔗 Подробнее @nuancesprog #AI

Открыть в Telegram

Старая CNN обошла новые LLM в диагностике рака кожи Учёный сравнил старую CNN с новыми LLM для диагностики рака кожи. Сеть Inception v3 2015 года обошла GPT-6 Astra и Claude Fable 5.1. CNN правильно назвала диагноз для 125 из 200 поражений. LLM дали верный ответ лишь в 84 и 85 случаях. Она дообучилась за двадцать минут на одной H100 и работает в браузере. Но модель разрешила не лечить 18 из 30 меланом при пороге по умолчанию. 🔗 Подробнее @nuancesprog #AI

Открыть в Telegram

Dijkstra, A* и CCH на дорогах Флориды ArcadeDB сравнила поиск пути на дорожной сети Флориды: 1,07 млн узлов и 2,7 млн сегментов. Dijkstra обработал 1 029 617 узлов, A* — 840 138, а CCH только 346. Все три алгоритма вернули одинаковый маршрут с точностью до секунды. CCH отвечает за 0,04 мс вместо примерно 100 мс у Dijkstra. ArcadeDB строит CCH по SQL-выражению с параметрами km и minutes. Когда иерархия не успевает за коммитом, запрос уходит в bidirectional Dijkstra. 🔗 Подробнее @nuancesprog #Data

Открыть в Telegram

Reylo: импорт .sql в TypeScript без кодогенерации Reylo позволяет импортировать .sql файлы прямо в TypeScript. Типы выводятся полностью, без генерации кода. Он использует content mappers из TypeScript 7.1, сейчас в бете. Сверка с живой базой ловит опечатки в колонках и параметрах. Для запуска нужны TypeScript 7.1 beta, Node 24 и dev-база. В tsconfig добавляешь contentMappers и запускаешь tsc с --runExternalCode. 🔗 Подробнее @nuancesprog #Languages #TypeScript

Открыть в Telegram

Partial Operator Precedence В Zig компилятор теперь требует скобки для неоднозначных сочетаний операторов. Это изменение реализует issue #114, открытый 8 февраля 2016 года. Теперь не нужно помнить приоритет сложных сочетаний, только таблицу для арифметики и сравнений. В кодовой базе Zig поправили лишь 353 строки из более чем миллиона. Обновляться можно вручную или через zig fmt --upgrade, он добавит скобки по старым правилам. Автор советует ручную правку: флаг уберут после одного цикла релизов. 🔗 Подробнее @nuancesprog #Languages

Открыть в Telegram

SIMD-ускорение детектора FAST на ESP32-S3 за $2 Автор написал SIMD-версию детектора FAST для ESP32-S3. Она вдвое быстрее эталона и обрабатывает QVGA-кадр за ~6 мс. У чипа есть 128-битные SIMD-инструкции, но с ограничениями. Он сравнивает только знаковые байты и использует насыщающую арифметику. Автор обошёл ограничения сдвигом диапазона и склейкой регистров. Его код даёт 220% прироста: с 5.1 до 11.2 МП/с. 🔗 Подробнее @nuancesprog #Tools

Открыть в Telegram

OpenAI выпустил php2shell-checker для проверки PHP2Shell OpenAI опубликовал инструмент php2shell-checker на GitHub. Он определяет, уязвима ли версия PHP для атаки PHP2Shell. Утилита проверяет заголовки X-Powered-By и Server на сайте. Она также может смотреть версию PHP на локальном сервере. Результат OK не гарантирует наличие бэкпорт-фикса в установке. Инструмент не шлёт эксплойты и не проверяет тело ответа. 🔗 Подробнее @nuancesprog #Security

Открыть в Telegram

Исходники GPU tensor unlock для RTX 4090 и 4070 Ti SUPER Опубликован модуль ядра для разблокировки тензорных ядер RTX 4090. Он также поддерживает RTX 4070 Ti SUPER и RTX 4060 Ti 16GB. Модуль включает переопределение скорости SM до старта драйвера NVIDIA. На RTX 4090 FP16 и BF16 тензорная пропускная способность выросла примерно вдвое. На 4070 Ti SUPER скорость выдачи тензорных инструкций FP16/FP32 выросла с 95.0 до 189.9 TF/s. Но это скорости инструкций, а не ускорение реальных приложений. 🔗 Подробнее @nuancesprog #Infrastructure #Linux

Открыть в Telegram

Люди, которые считают UB безобидным, ошибаются Автор блога разобрал неопределённое поведение в C на конкретном ассемблере. Он показал сборку GCC 16.2 с флагом -O1. После вызова std::unreachable() выполнение провалилось в функцию explode(), хотя её никто не звал. При разыменовании нулевого указателя GCC записал ноль вместо 99 и упал. Неопределённое поведение может сделать что угодно. Не рассчитывай на segfault или на «мы знаем, что произойдёт». 🔗 Подробнее @nuancesprog #Languages #C

Открыть в Telegram

RAG на 15 млн документов: как заставить показать доказательства Stanford RegLab протестировала коммерческие юридические RAG-инструменты. Они всё ещё галлюцинировали в 17–33% случаев. Три главные причины: неверный контекст, игнорирование верного, ответ без доказательств. Система не умеет честно сказать «не знаю» и заполняет пробелы. Нужна архитектура с четырьмя фильтрами: извлечение, ограничение, проверка, отказ. Она превращает галлюцинацию в честное «не смог проверить». 🔗 Подробнее @nuancesprog #AI

Открыть в Telegram

MCP-файрвол: 14 из 17 атак прошли, теперь 2 из 23 Разработчики атаковали свой MCP-файрвол WARDEN с открытым исходным кодом. Превратили задокументированные ограничения в 17 атак: сначала прошли 14. Такой подход вскрывает дыры, которых не видно по списку 'что не делает'. Для разработчиков MCP-инструментов это сигнал проверять утечки малыми кусками. Исправили тройной защитой: двойные отпечатки, окна без разделителей, метки для инструментов с именами людей. Теперь пробиваются только 2 атаки из 23. 🔗 Подробнее @nuancesprog #Security

Открыть в Telegram

Фанат Quake создал TrenchBroom — главный редактор карт В 2010 Кристиан Дуске не нашёл удобного редактора карт для Mac. Так появился TrenchBroom, написанный с нуля. Кастомные карты Quake за последние десять лет часто сделаны в нём. При этом автор не сделал после этого ни одной карты. Дуске называет код переусложнённым и жалеет об избыточном ООП. Сейчас AI помогает ему разбивать проект на библиотеки и улучшать сборку. 🔗 Подробнее @nuancesprog #Tools

Открыть в Telegram

Как запустить ситибилдер на 16 МГц Оригинальный SimCity требовал процессор Intel 386SX. Он работал на частоте 16 МГц. Исходники SimCity открыли под именем Micropolis. Там Simulate() использует счётчик mod16, чтобы запускать не все подсистемы. В Assetto Corsa похожий приём обновляет часть граней кубмапа (карты отражений) за кадр. Спрашивай себя, стоит ли считать всё каждый кадр. 🔗 Подробнее @nuancesprog #Opinion

Открыть в Telegram

Комментарии

0

Комментарии пишут вошедшие — так видно, кто автор.

Войти

Комментариев пока нет

Будьте первым, кто расскажет о канале другим.

Пожаловаться на канал

Расскажите, что не так: модератор проверит канал и примет решение. Подпись не нужна, но почту можно оставить — тогда ответим.

Причина Что не так (необязательно) Почта для ответа (необязательно)
Открыть в Telegram