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

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

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

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

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

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

Постов на странице: 10 30 50 Страница 1 из 26
Zod 4.6.6: в релиз попал вредоносный код В репозиторий zod прилетел коммит с безобидным названием «Fix bugs and improve performance». Вместе с бампом версии он добавил файл meta.test.mjs с обфусцированным загрузчиком. Скрипт делает eth_call к контракту в сети Ethereum и достаёт оттуда адрес сервера. Дальше качает payload, пишет во временную папку и запускает через data:-импорт. Отдельно правили release.yml: публикация в npm стала автоматической по пушу в main, без ручного подтверждения. Проверь лок-файлы, откатись на 4.6.5 и перевыпусти токены, если ставил 4.6.6 в CI. 🔗 Подробнее @nuancesprog #Security #TypeScript
Перейти к публикации →
Он заплатил людям, чтобы те прошли по его README Теренс Иден позвал шестерых добровольцев и дал каждому 25 евро за час. Они ставили его проект ActivityBot по инструкции и вслух проговаривали каждый шаг. Всплыло то, что автор никогда бы не заметил сам: битая ссылка на демо, непонятные шутки, неверный порядок разделов. Оказалось, он вообще забыл объяснить, что делает программа. После каждой сессии он правил README и тестировал его на следующем человеке. Платить необязательно — достаточно найти пару знакомых, готовых думать вслух. 🔗 Подробнее @nuancesprog #Opinion
👍 4 Перейти к публикации →
Зачем снова менять корневой ключ DNSSEC APNIC снова поднимает тему смены корневого ключа подписи DNS (KSK). Первый раз его меняли в 2017–2018 годах, и процесс растянули на год из-за опасений сломать резолверы. Корневой ключ — якорь доверия для всей проверки подписей DNS. Если у твоего резолвера зашит старый ключ, после смены он начнёт отбрасывать ответы как недостоверные. Проверь, откуда берётся trust anchor в твоих образах и пакетах. Автообновление по RFC 5011 работает, только если резолвер живёт дольше периода выкатки ключа. 🔗 Подробнее @nuancesprog #Infrastructure
👍 1 Перейти к публикации →
Git хранит снимки, а не диффы Статья разбирает, что внутри .git лежит хранилище объектов, адресуемых по хешу. Blob хранит содержимое файла без имени и пути, tree — каталог, commit — указатель на корневое дерево. Понимание этой модели убирает магию из rebase, reset --mixed и отсоединённого HEAD. Переименований в Git просто нет: одинаковый контент даёт один и тот же хеш и хранится один раз. Репозиторий не раздувается из-за структурного переиспользования неизменных деревьев. Правка одного файла из тысячи создаёт лишь новый blob и цепочку деревьев до корня. 🔗 Подробнее @nuancesprog #Tools #Git
👍 4 Перейти к публикации →
Logfire ускорил запросы к JSON-атрибутам в 1000 раз Pydantic рассказала, как «шинкует» JSON-атрибуты трейсов в отдельные колонки Parquet. Запросы, которые раньше отваливались по таймауту в 30 секунд, теперь идут меньше секунды. Проблема была не в скорости парсинга, а в лишнем вводе-выводе. Один большой JSON-блоб в объектном хранилище приходится качать целиком, и латентность съедает всё остальное. Шардинг по колонкам даёт зонные карты (min-max статистику) и пропуск ненужных блоков данных. Подвох в динамике: атрибуты у каждого спана свои, а user_id бывает то строкой, то числом. 🔗 Подробнее @nuancesprog #Data #Python
👍 5 Перейти к публикации →
Как инверсия приоритетов перезагружала марсоход Pathfinder Летом 1997 года Pathfinder на Марсе начал уходить в бесконечные перезагрузки. Виновата оказалась инверсия приоритетов: низкоприоритетная задача держала семафор, а сторожевой таймер сбрасывал систему. Это классика любой многопоточности, а не только космоса. Твой критичный поток может вечно ждать мьютекс, пока его обгоняет задача средней важности. Лечится наследованием приоритетов: держатель блокировки временно получает приоритет ожидающего. В VxWorks этот флаг был выключен по умолчанию, и спасло только то, что на борту остался отладочный интерпретатор C. 🔗 Подробнее @nuancesprog #Infrastructure #C
👍 8 Перейти к публикации →
Одна неэкранированная точка с запятой — и аккаунт Telegram угнан Исследователь нашёл инъекцию команд в обработчике ссылок tg:// у Telegram Desktop. Один клик по обычной https-ссылке уводил три файла сессии в канал атакующего. Дыра классическая: данные попадали в самодельный протокол, где разделителем служит ;, без экранирования. Дальше срабатывал забытый помощник interpret: из сборочного процесса, который читал файл и отправлял его без подтверждения. Патч (CVE-2026-107181, CVSS 8.1) экранирует спецсимволы и выпиливает легаси-путь целиком. Обрати внимание на вторую половину истории: без локального пароля ключ шифрования сессии выводится из пустой строки. 🔗 Подробнее @nuancesprog #Security
👍 8 Перейти к публикации →
C глазами растомана: что удивляет после Rust Разработчик BD103 выучил сначала Rust, а потом взялся за C. Он собрал список деталей, от которых поднимаются брови. Привычки из Rust тут не работают: строки завершаются нулевым байтом, а long занимает 64 бита на Unix и 32 на Windows. Ошибки никто обработать не заставит — malloc молча вернёт NULL, и ты получишь segfault. Совет простой: бери фиксированные типы из <stdint.h> и проверяй каждый указатель вручную. Булевы типы стали настоящими только в C23, до этого true — просто макрос для единицы. 🔗 Подробнее @nuancesprog #Languages #Rust
👍 5 Перейти к публикации →
Агент в 3 ночи разослал 400 клиентам ложные письма Ночная сверка платежей прочитала недописанную запись в базе и решила, что оплаты не прошли. К девяти утра в поддержке висело двести тикетов от людей, которые всё оплатили. Код отработал ровно так, как был написан, сломалась не логика, а отсутствие человека в комнате. Автоматизируя рутину, ты заодно выбрасываешь тот самый взгляд, который заметил бы безумную рассылку. Раздели цепочку на обратимые шаги и один необратимый — отправку, деплой, удаление. Рутину отдавай агенту, а последний шаг оставляй себе: это полсекунды и одна кнопка. 🔗 Подробнее @nuancesprog #Opinion
👍 3 Перейти к публикации →
Go-шный defer внутри компилятора TypeScript Эндрю Хили вкрутил в tsc оператор defer из Go. Парсер учится новому виду узла, а трансформер переписывает тело функции в try/finally со стеком замыканий. Семантика честная: функция, получатель и аргументы фиксируются в момент выполнения defer. Переопределишь logger.log позже — отложенный вызов всё равно уйдёт в старый метод. Подвох в том, что сам автор к концу работы решил: такому в языке не место. Генераторы пришлось запретить, в async каждое из очищений ждёт предыдущее, а ошибки в cleanup путают исходное исключение. 🔗 Подробнее @nuancesprog #Languages #TypeScript
👍 2 Перейти к публикации →
1 2 3 … 25 26

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

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

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