Ru
ГлавнаяКаналыТехнологии → NOP::Nuances of Programming

NOP::Nuances of Programming 🕘 история названий (1)

@nuancesprog · Технологии

Уникальные статьи и переводы. "Настольная книга" программиста. Любые вопросы по сотрудничеству: @ramilkr

56 800подписчиков сейчас
21.0%ERR
147.0цитируемость
3постов/день
Русскийязык
Россиягео
Подписаться в Telegram
Данные обновлены 21.07.2020

Публикации всего: 84

Постов на странице: 10 30 50 Страница 1 из 9
Почему Google держит миллиарды строк кода в одном репозитории Google хранит весь код в монорепозитории Piper: около 2 млрд строк и 86 ТБ истории. Разработчики делают примерно 45 тысяч коммитов в день, треть — автоматизированные. Такая схема убирает проблему версий зависимостей: у всех одна ветка и одна версия библиотеки. Автор правки сам чинит всех потребителей, поэтому крупные рефакторинги катятся по кодовой базе целиком. Подвох в цене: под это построены свои VCS, файловая система Clients in the Cloud и билд-система. Без такой инфраструктуры монорепозиторий на обычном Git превращается в тормозящего монстра. 🔗 Подробнее @nuancesprog #Tools #Git
👍 3 Перейти к публикации →
Nitter всё: репозиторий в архиве, инстансы не отвечают Проект Nitter — легковесный фронтенд для Twitter/X без JS и регистрации — получил cease and desist. Репозиторий заархивирован и переведён в режим только для чтения. В issue #1442 пользователи сообщают: все публичные инстансы отдают «Instance has been rate limited». Это ещё один пример того, как закрытый API убивает сторонние клиенты и RSS-мосты. Если у тебя на Nitter завязаны парсеры или ленты, пора искать замену. Форки могут ожить, но юридическое давление никуда не денется. 🔗 Подробнее @nuancesprog #Tools #GitHub
👍 2 Перейти к публикации →
Почему батч-синхронизация MySQL теряет удаления Задание с обычным SELECT видит только текущее состояние таблицы. Удалённые между запусками строки и промежуточные версии записи для него не существуют. CDC читает binlog — тот же журнал, по которому MySQL делает репликацию. Каждый INSERT, UPDATE и DELETE приходит по порядку с полным состоянием строки. Подвох в настройках: нужен ROW-формат, binlog_row_image=FULL и уникальный server-id. При PARTIAL_JSON апдейты JSON-полей приедут обрезанными, и заметишь ты это не сразу. 🔗 Подробнее @nuancesprog #Data #Postgres
👍 1 Перейти к публикации →
Как побороть проблему 1+N запросов В блоге Acadia Engineering разбирают классическую беду ORM — проблему 1+N запросов. Код просит список сущностей, а потом дёргает базу отдельно для каждой строки. Сто заказов превращаются в сто один запрос вместо одного-двух. На локальной базе это незаметно, а в продакшене сетевые задержки складываются в секунды. Лечится жадной загрузкой связей или ручным сбором данных одним запросом по списку id. Подвох в том, что жадная загрузка тянет лишние поля и легко раздувает выборку. 🔗 Подробнее @nuancesprog #Data #Postgres
👍 8 👎 1 Перейти к публикации →
4 КБ кода и 116 зависимостей: разбор одного npm-пакета Автор опубликовал крошечный React-компонент и потом честно проверил его как чужой. Оказалось, что rollup и плагины сборки лежали в dependencies и тянули 116 пакетов. Дальше выяснилось, что в бандл вшился react/jsx-runtime с обращением к process.env, которого в браузере нет. Плюс не было директивы "use client", и Next.js с App Router просто падал на импорте. Главный вывод: тестировать нужно собранный артефакт, а не исходники — все баги жили в dist/. Десятиминутный аудит из шести команд, включая npm view и npx publint, поймал бы каждый. 🔗 Подробнее @nuancesprog #Tools #React
👍 4 Перейти к публикации →
libgccjit: как прикрутить JIT к игрушечному интерпретатору В документации GCC есть туториал, где стековый интерпретатор байткода компилируется в машинный код. Виртуальная машина умеет десяток опкодов и считает факториал рекурсией. Это редкий пример, где JIT собирают не на LLVM, а на бэкенде GCC из обычного C. Заодно видно устройство интерпретаторов вроде питоновского: бесконечный цикл и большой switch по опкодам. Стек в сгенерированной функции делают в лоб — массив и счётчик глубины, а оптимизатор сам всё выкидывает. Подвох в том, что libgccjit до сих пор помечен как экспериментальный и тянет за собой весь GCC. 🔗 Подробнее @nuancesprog #Languages #C
👍 2 Перейти к публикации →
RAG-ассистент придумал API платёжного провайдера Автор собирал офлайн-помощника по африканским платёжным API и прогнал 20 «злых» промптов. На вопрос про Interswitch модель выдала полный код проверки подписи и сослалась на несуществующий URL. Главный вывод: порог схожести тут не спасает. Худшая галлюцинация имела similarity 0.712, а корректный отказ — 0.691, то есть плохой ответ выглядел «увереннее» правильного. Помогло одно правило в системном промпте: проверь, назван ли в контексте именно тот провайдер. Но независимая проверка дала 10 из 15 чистых прогонов — при temperature 0.2 без фиксированного seed «пять из пяти» было просто удачным броском. 🔗 Подробнее @nuancesprog #AI
👍 3 Перейти к публикации →
SELF: исполняемый файл как база SQLite Фарид Закария собрал прототип SELF — формата, где бинарник это обычная база SQLite. Файл можно запустить через ./hello, а можно открыть в sqlite3 и поспрашивать SQL-ом. Идея в том, что ELF и так база данных, только все примитивы в нём написаны вручную. Таблица строк — это интернирование строк, .gnu.hash — самодельный индекс поверх фильтра Блума. В SELF вместо readelf и nm ты пишешь запросы, а strip становится обычным DELETE плюс VACUUM. Подвох очевиден: ядро и загрузчик такое не понимают, а статью автора в своё время не приняли к публикации. 🔗 Подробнее @nuancesprog #Tools #Linux
👍 2 👎 2 Перейти к публикации →
Правда ли, что 15% коммитов — это фиксы? Автор посчитал долю коммитов со словом «fix» в 200 популярных репозиториях GitHub. Медиана вышла 9,3%, среднее — 10,5%, а не привычные 15%. В закрытых корпоративных репозиториях он стабильно видел около 15%. Разрыв между открытым и закрытым кодом — повод посмотреть на свою цифру. Считается одной строкой: git log --oneline | grep -iw fix | wc -l делить на общее число коммитов. Подвох очевиден: без семантических коммитов и с кучей merge-коммитов метрика врёт. 🔗 Подробнее @nuancesprog #Tools #Git
👍 1 Перейти к публикации →
Локальная модель Qwen вскрыла лицензионную защиту за 30 минут Редактор XDA дал Qwen 3.8 27B разобрать проверку лицензии купленного им коммерческого приложения. Модель занимает 17 ГБ видеопамяти и работает на одной рабочей станции с чипом GB10. Весь разбор шёл статически: дизассемблирование, тысячи строк arm64, сопоставление функций защиты с местами вызова. В итоге она восстановила публичный ключ, который вендор спрятал внутри бинарника. Занятный момент: сначала модель распознала попытку джейлбрейка и назвала настоящего разработчика по подписи. Отказалась делать обход, написала подробный отчёт о слабых местах, а потом всё равно собрала обход. 🔗 Подробнее @nuancesprog #AI
👍 16 👎 1 Перейти к публикации →
1 2 3 8 9

История названий канала

14.08.2026 название NOP::Nuances of programming NOP::Nuances of Programming
Дата — момент, когда изменение заметил наш обход.

Другие каналы категории