В чем отличие модификаторов в Kotlin и на Java? Разберем особенности их использования с переменными видимости.
https://nuancesprog.ru/p/17202/
VK: https://vk.com/@nuancesprog-kotlin-modifikatory-vidimosti
Дзен: https://dzen.ru/a/ZDRYjwBseV4F8UWf
@nuancesprog #Kotlin #Java
https://nuancesprog.ru/p/17202/
VK: https://vk.com/@nuancesprog-kotlin-modifikatory-vidimosti
Дзен: https://dzen.ru/a/ZDRYjwBseV4F8UWf
@nuancesprog #Kotlin #Java
ИИ-агенты часто выдают неработающий код, хаотичную архитектуру и поток многословных объяснений вместо результатов. Инструменты вроде GSD, BMAD и Spec-Kit усугубляют ситуацию, беря на себя контроль и усложняя отладку. Проверенные скиллы для Claude Code упростят разработку, сохранив ваш контроль над рабочим процессом.
https://nuancesprog.ru/p/32583/
VK: https://vk.com/@nuancesprog-luchshie-skilly-claude-code-dlya-razrabotki-po
@nuancesprog #ClaudeCode #Development #ArtificialIntelligence
https://nuancesprog.ru/p/32583/
VK: https://vk.com/@nuancesprog-luchshie-skilly-claude-code-dlya-razrabotki-po
@nuancesprog #ClaudeCode #Development #ArtificialIntelligence
React 19, Next.js 15 и Tailwind CSS v4 кардинально изменили правила игры. Следование устаревшим гайдам 2023 года теперь ведет в тупик. Рассказываем, как выглядит реальная дорожная карта фронтенд-разработчика в 2026 году и что учить, чтобы преуспеть в продакшене.
https://nuancesprog.ru/p/32898/
VK: https://vk.com/@nuancesprog-dorozhnaya-karta-frontend-razrabotchika-na-2026-god-s-nulya
@nuancesprog #FrontendDevelopment
https://nuancesprog.ru/p/32898/
VK: https://vk.com/@nuancesprog-dorozhnaya-karta-frontend-razrabotchika-na-2026-god-s-nulya
@nuancesprog #FrontendDevelopment
Как равномерно распределять поды по кластеру для эффективного использования его ресурсов и высокой доступности? Изучим мультиузловое/-зональное/-региональное распределение подов в его топологии.
https://nuancesprog.ru/p/17328/
VK: https://vk.com/@nuancesprog-k8s-topologiya-podov
Дзен: https://dzen.ru/a/ZFKmuNZ5hnp-qP5z
@nuancesprog #Kubernetes
https://nuancesprog.ru/p/17328/
VK: https://vk.com/@nuancesprog-k8s-topologiya-podov
Дзен: https://dzen.ru/a/ZFKmuNZ5hnp-qP5z
@nuancesprog #Kubernetes
Начните свой проект по науке о данных с создания Python-скрипта, используя библиотеку Selenium для извлечения данных. Предлагаем узнать, как это выполнить в 3 шага.
https://nuancesprog.ru/p/16725/
VK: https://vk.com/@nuancesprog-kak-sobrat-dannye-dlya-ds-proekta-s-pomoschu-python-3-shaga
@nuancesprog #Python #Selenium
https://nuancesprog.ru/p/16725/
VK: https://vk.com/@nuancesprog-kak-sobrat-dannye-dlya-ds-proekta-s-pomoschu-python-3-shaga
@nuancesprog #Python #Selenium
Сегодня доступно множество инструментов для мобильной разработки. Одним из них является Flutter, который в последнее время стал довольно популярным. Рассказываем, в чем секрет успеха Flutter и почему стоит обратить на него внимание.
https://nuancesprog.ru/p/17075/
VK: https://vk.com/@nuancesprog-chto-takoe-flutter-i-zachem-ego-izuchat
Дзен: https://dzen.ru/a/ZBYe--bhOw9saTyi
@nuancesprog #Flutter
https://nuancesprog.ru/p/17075/
VK: https://vk.com/@nuancesprog-chto-takoe-flutter-i-zachem-ego-izuchat
Дзен: https://dzen.ru/a/ZBYe--bhOw9saTyi
@nuancesprog #Flutter
Принято считать ошибающийся ИИ недостаточно умным. На самом деле моделям чаще всего не хватает не ума, а обвязки — четкой инструкции из нескольких простых правил. Узнайте, как написать такую инструкцию, чтобы превратить хаотичное поведение агента на базе ИИ в надежную работу с файлами, тестами и средой.
https://nuancesprog.ru/p/32523/
VK: https://vk.com/@nuancesprog-vash-ii-ne-glup-u-nego-prosto-net-obvyazki
@nuancesprog #ArtificialIntelligence
https://nuancesprog.ru/p/32523/
VK: https://vk.com/@nuancesprog-vash-ii-ne-glup-u-nego-prosto-net-obvyazki
@nuancesprog #ArtificialIntelligence
Обработка ошибок - важнейшая часть программирования на Type/JavaScript. Приложение может столкнуться с большими проблемами в будущем, если вы не уделите должного внимания выявлению и регистрации ошибок. Посмотрите, как это делают профи.
https://nuancesprog.ru/p/16979/
VK: https://vk.com/@nuancesprog-professionalnaya-obrabotka-oshibok-v-typescript
Дзен: https://dzen.ru/a/Y_-4ExyViF3Sxwup
@nuancesprog #TypeScript #Debugging
https://nuancesprog.ru/p/16979/
VK: https://vk.com/@nuancesprog-professionalnaya-obrabotka-oshibok-v-typescript
Дзен: https://dzen.ru/a/Y_-4ExyViF3Sxwup
@nuancesprog #TypeScript #Debugging
Разбираемся в том, что такое чистая архитектура, какие преимущества она дает и как ей следовать на практике. Рассмотрим все примеры с иллюстрациями.
https://nuancesprog.ru/p/15255/
VK: https://vk.com/@nuancesprog-chistaya-arhitektura-rukovodstvo-dlya-nachinauschih
Дзен: https://dzen.ru/a/YhKpryffu3osChZf
@nuancesprog #SoftwareDevelopment #Architecture
https://nuancesprog.ru/p/15255/
VK: https://vk.com/@nuancesprog-chistaya-arhitektura-rukovodstvo-dlya-nachinauschih
Дзен: https://dzen.ru/a/YhKpryffu3osChZf
@nuancesprog #SoftwareDevelopment #Architecture
Рассмотрим поэтапный процесс создания веб-сканера для отслеживания изменений и последующего оповещения посредством e-mail. Работаем с Python, Beautiful Soup и Pipedream.
https://nuancesprog.ru/p/15423/
VK: https://vk.com/@nuancesprog-sozdaem-veb-skaner-stranic-s-pomoschu-python
Дзен: https://dzen.ru/a/YiaJJedBN25-itgx
@nuancesprog #Python
https://nuancesprog.ru/p/15423/
VK: https://vk.com/@nuancesprog-sozdaem-veb-skaner-stranic-s-pomoschu-python
Дзен: https://dzen.ru/a/YiaJJedBN25-itgx
@nuancesprog #Python
CRDT без академических статей: интерактивный курс на JavaScript
Lars Hupel собрал серию туториалов про Conflict-Free Replicated Data Types — структуры данных, которые сливаются между репликами всегда и без конфликтов. Всё на JavaScript, весь код исполняется прямо в браузере как в Jupyter: правишь сниппет, нажимаешь Run, смотришь результат.
Зачем это вам: любое приложение с офлайн-режимом или синхронизацией между устройствами упирается в вопрос «чья версия правильная». Обычно это заканчивается баннером «вы офлайн» или молчаливой потерей данных. CRDT решают задачу конструктивно — через решётки и частичные порядки, а не через эвристики «last write wins».
Трение в том, что автор сознательно уходит в математику, а не в практику: если нужен готовый рецепт для продакшена, он честно отправляет на crdt.tech. Зато свойства проверяются property-based тестами через fast-check — сразу видно, где ваша реализация merge ломает коммутативность.
🔗 Подробнее
@nuancesprog #Data #JavaScript
Lars Hupel собрал серию туториалов про Conflict-Free Replicated Data Types — структуры данных, которые сливаются между репликами всегда и без конфликтов. Всё на JavaScript, весь код исполняется прямо в браузере как в Jupyter: правишь сниппет, нажимаешь Run, смотришь результат.
Зачем это вам: любое приложение с офлайн-режимом или синхронизацией между устройствами упирается в вопрос «чья версия правильная». Обычно это заканчивается баннером «вы офлайн» или молчаливой потерей данных. CRDT решают задачу конструктивно — через решётки и частичные порядки, а не через эвристики «last write wins».
Трение в том, что автор сознательно уходит в математику, а не в практику: если нужен готовый рецепт для продакшена, он честно отправляет на crdt.tech. Зато свойства проверяются property-based тестами через fast-check — сразу видно, где ваша реализация merge ломает коммутативность.
🔗 Подробнее
@nuancesprog #Data #JavaScript
Почему C нельзя «спасти», не спасая ABI
В C имя функции — единственное, что видит линкер. Объявили
Автор, который ранее громил ABI-стабильность как тормоз для стандартных библиотек (привет 32-битным битовым операциям в MSVC STL), приходит к неожиданному выводу: пока ABI останется настолько хрупким и невыразимым, любые попытки его сломать будут упираться в страх вендоров. Чтобы ломать ABI осознанно, сначала нужно научиться его описывать.
Трение: в C манглинг никто не примет — «это же C». Но альтернатива — тихо жить с UB на границах модулей.
🔗 Подробнее
@nuancesprog #Languages #C
В C имя функции — единственное, что видит линкер. Объявили
do_stuff(long long), а в другой TU реализовали как do_stuff(__int128_t) — сборка пройдёт молча, а на x86_64 вызывающая сторона положит аргумент в rdi, вызываемая прочитает rdi + rsi. Мусор в старших битах вместо ошибки компиляции. В C++ такого не будет: манглинг вшивает типы в символ, и линкер ловит несоответствие.Автор, который ранее громил ABI-стабильность как тормоз для стандартных библиотек (привет 32-битным битовым операциям в MSVC STL), приходит к неожиданному выводу: пока ABI останется настолько хрупким и невыразимым, любые попытки его сломать будут упираться в страх вендоров. Чтобы ломать ABI осознанно, сначала нужно научиться его описывать.
Трение: в C манглинг никто не примет — «это же C». Но альтернатива — тихо жить с UB на границах модулей.
🔗 Подробнее
@nuancesprog #Languages #C
Джуниор с ИИ пишет код быстро, но не умеет его дебажить
Выпускник команды автора выкатил чистый PR на 400 строк за вечер: тесты зелёные, ревью пройдено, а потом в продакшене поехала память — и человек замер. Автор ссылается на исследование Anthropic: писавшие код руками набрали в тестах на понимание 67%, активные пользователи ИИ — 50%, группа «полного делегирования» — меньше 40%. Хуже всего — вопросы про отладку.
Генерация кода локальна: один файл и понятная цель. Отладка глобальна: нужно держать в голове десятки связанных файлов, и никакой промпт эту картину не выдаёт. По данным GitClear, доля рефакторинга в коммитах упала с 25% в 2021 до менее 10% в 2024, а копипаста впервые обогнала переработку кода.
Автор предлагает не запрещать ИИ, а не оценивать джунов по скорости PR: объяснять свой дифф голосом перед мержем, раз в неделю разбирать противный баг без автокомплита, читать чужой старый код. Спорный момент: цифры Anthropic — небольшая выборка на квизах.
🔗 Подробнее
@nuancesprog #Opinion
Выпускник команды автора выкатил чистый PR на 400 строк за вечер: тесты зелёные, ревью пройдено, а потом в продакшене поехала память — и человек замер. Автор ссылается на исследование Anthropic: писавшие код руками набрали в тестах на понимание 67%, активные пользователи ИИ — 50%, группа «полного делегирования» — меньше 40%. Хуже всего — вопросы про отладку.
Генерация кода локальна: один файл и понятная цель. Отладка глобальна: нужно держать в голове десятки связанных файлов, и никакой промпт эту картину не выдаёт. По данным GitClear, доля рефакторинга в коммитах упала с 25% в 2021 до менее 10% в 2024, а копипаста впервые обогнала переработку кода.
Автор предлагает не запрещать ИИ, а не оценивать джунов по скорости PR: объяснять свой дифф голосом перед мержем, раз в неделю разбирать противный баг без автокомплита, читать чужой старый код. Спорный момент: цифры Anthropic — небольшая выборка на квизах.
🔗 Подробнее
@nuancesprog #Opinion
Rust portable SIMD теперь работает на GPU
VectorWare заявили о первом запуске
Ранее они уже отобразили
Практический смысл пока в перспективе: ядро без CUDA-аннотаций и обычный
🔗 Подробнее
@nuancesprog #Languages #Rust
VectorWare заявили о первом запуске
core::simd на GPU: тот же код, что на ноутбуке компилируется в AVX или NEON, ложится на варп. Идея простая — SIMT это и есть SIMD: варп из 32 лейнов, а Simd<f32, 32> раздаёт по элементу на лейн. Элементарные операции идут нативно, редукции и свизлы — через warp shuffle, маски — через vote/ballot.Ранее они уже отобразили
std::thread на варп, теперь закрыта параллельность ниже потока. Точка трения — количество лейнов: на CPU N от 1 до 64, на GPU фиксировано 32 (или 64 у AMD). Всё, что не совпало, приходится либо оставлять простаивающим, либо резать через strip mining — и здесь у них собственный типизированный IR на const generics.Практический смысл пока в перспективе: ядро без CUDA-аннотаций и обычный
fn main. Но это закрытый тулчейн и nightly-фича, так что до продакшена далеко — интересно как направление, а не как инструмент на завтра.🔗 Подробнее
@nuancesprog #Languages #Rust
Nemotron 3.5 Lightning: 30B параметров, 3B активных
Nvidia выложила NVIDIA-Nemotron-3.5-Lightning-30B-A3B — MoE-модель с 30 млрд параметров, из которых активны лишь 3 млрд на каждый токен. Формат NVFP4 (4-битный) позволяет запустить её на одной карте с низкой задержкой.
Модель поддерживает блоки размышлений
Минус: NVFP4 нативно работает только на Blackwell (RTX 50-й серии, B200). На Hopper и Ada либо эмуляция, либо не запустится. Лицензия открытая (Nvidia Open Model License), но проверь условия перед использованием.
🔗 Подробнее
@nuancesprog #AI
Nvidia выложила NVIDIA-Nemotron-3.5-Lightning-30B-A3B — MoE-модель с 30 млрд параметров, из которых активны лишь 3 млрд на каждый токен. Формат NVFP4 (4-битный) позволяет запустить её на одной карте с низкой задержкой.
Модель поддерживает блоки размышлений
<think> и встроенный tool-calling через XML-теги — готовая для агентов без доделок.Минус: NVFP4 нативно работает только на Blackwell (RTX 50-й серии, B200). На Hopper и Ada либо эмуляция, либо не запустится. Лицензия открытая (Nvidia Open Model License), но проверь условия перед использованием.
🔗 Подробнее
@nuancesprog #AI
Mojo 1.0: язык от Modular дошёл до стабильной версии
Modular выпустила Modular 26.5 и Mojo 1.0 — спустя три года после первого релиза. Заодно почистили язык: переменные объявляются только через
Главное — обещание стабильности: в ветке 1.x изменения будут в основном аддитивными, а ломающие — аккуратно, «как в зрелых языках вроде C++». Для тех, кто пишет высокопроизводительный код под CPU и GPU, это значит, что библиотеку можно поддерживать дольше пары месяцев. Плюс подтянули LSP-сервер и добавили диагностику висящих ссылок.
Подвох в том, что компилятор и тулчейн всё ещё закрыты: открыта только стандартная библиотека, полное открытие исходников обещают «в 2026 году». Асинхронной модели и сопоставления с образцом пока нет. Так что «1.0» тут скорее про обещание не ломать API, чем про полноту языка.
🔗 Подробнее
@nuancesprog #Languages
Modular выпустила Modular 26.5 и Mojo 1.0 — спустя три года после первого релиза. Заодно почистили язык: переменные объявляются только через
var, замыкания унифицированы, остался один тип Pointer, появился Python-подобный синтаксис lambda.Главное — обещание стабильности: в ветке 1.x изменения будут в основном аддитивными, а ломающие — аккуратно, «как в зрелых языках вроде C++». Для тех, кто пишет высокопроизводительный код под CPU и GPU, это значит, что библиотеку можно поддерживать дольше пары месяцев. Плюс подтянули LSP-сервер и добавили диагностику висящих ссылок.
Подвох в том, что компилятор и тулчейн всё ещё закрыты: открыта только стандартная библиотека, полное открытие исходников обещают «в 2026 году». Асинхронной модели и сопоставления с образцом пока нет. Так что «1.0» тут скорее про обещание не ломать API, чем про полноту языка.
🔗 Подробнее
@nuancesprog #Languages
Вышел OpenSSH 10.5
OpenBSD выпустила OpenSSH 10.5p1. Ветка 10.x — серьёзное обновление: убрали DSA, разделили sshd на процессы sshd-session и sshd-auth для изоляции, обмен ключами теперь постквантовый (mlkem768x25519-sha256) по умолчанию.
Перед раскаткой на прод проверьте совместимость старых клиентов и железок с новым KEX — постквантовые пакеты крупнее, некоторые реализации на них спотыкаются. Почистите sshd_config и authorized_keys от устаревших алгоритмов заранее.
🔗 Подробнее
@nuancesprog #Security #Linux
OpenBSD выпустила OpenSSH 10.5p1. Ветка 10.x — серьёзное обновление: убрали DSA, разделили sshd на процессы sshd-session и sshd-auth для изоляции, обмен ключами теперь постквантовый (mlkem768x25519-sha256) по умолчанию.
Перед раскаткой на прод проверьте совместимость старых клиентов и железок с новым KEX — постквантовые пакеты крупнее, некоторые реализации на них спотыкаются. Почистите sshd_config и authorized_keys от устаревших алгоритмов заранее.
🔗 Подробнее
@nuancesprog #Security #Linux
Сжатие — это предсказание
В блоге ngrok разобрали, почему архиватор и языковая модель решают одну задачу. Любой компрессор состоит из трёх частей: преобразований, модели (таблица вероятностей символов) и энтропийного кодера, который превращает эти вероятности в поток битов.
Ключевая мысль: сжимает не кодер, а модель. Чем точнее предсказываешь следующий символ, тем меньше бит на него уходит — а предсказание следующего токена и есть то, чем занимается LLM. Отсюда известный трюк: хорошая модель в паре с арифметическим кодером бьёт gzip по коэффициенту сжатия.
На практике так никто не архивирует: нужно гонять ту же модель при распаковке, и вместо миллисекунд получаешь секунды на килобайт. Зато взгляд «сжатие = предсказание» полезен, когда думаешь о квантизации и кэшировании промптов. Спорный момент — из него часто делают вывод «сжатие и есть интеллект», а это уже философия, а не инженерия.
🔗 Подробнее
@nuancesprog #AI
В блоге ngrok разобрали, почему архиватор и языковая модель решают одну задачу. Любой компрессор состоит из трёх частей: преобразований, модели (таблица вероятностей символов) и энтропийного кодера, который превращает эти вероятности в поток битов.
Ключевая мысль: сжимает не кодер, а модель. Чем точнее предсказываешь следующий символ, тем меньше бит на него уходит — а предсказание следующего токена и есть то, чем занимается LLM. Отсюда известный трюк: хорошая модель в паре с арифметическим кодером бьёт gzip по коэффициенту сжатия.
На практике так никто не архивирует: нужно гонять ту же модель при распаковке, и вместо миллисекунд получаешь секунды на килобайт. Зато взгляд «сжатие = предсказание» полезен, когда думаешь о квантизации и кэшировании промптов. Спорный момент — из него часто делают вывод «сжатие и есть интеллект», а это уже философия, а не инженерия.
🔗 Подробнее
@nuancesprog #AI
pg_clickhouse 0.10: подзапросы уезжают в ClickHouse целиком
ClickHouse выпустил расширение Postgres pg_clickhouse 0.10.0, которое отдаёт аналитические запросы на ClickHouse. Планировщик теперь отправляет коррелированные подзапросы целиком, не строчка за строчкой. На TPC-H полностью «спущенных» запросов стало 16 из 22 вместо 12.
Q17 с расчётом среднего `l_quantity` ускорился с 32,7 сек до 37 мс (Postgres даёт 2,1 с). Гибрид обгоняет как старую версию, так и родной план Postgres.
Также переписали бинарный драйвер на новую C-библиотеку и исправили ошибки многопоточности.
Шесть запросов (Q13, Q15, Q16, Q18, Q20, Q21) всё ещё не уезжают: Postgres разворачивает их подзапросы в anti/semi-join, а деparser не может обойти деревья соединений с двух сторон. Перед использованием проверьте EXPLAIN VERBOSE, чтобы убедиться, что Remote SQL содержит полный запрос.
🔗 Подробнее
@nuancesprog #Data #Postgres
ClickHouse выпустил расширение Postgres pg_clickhouse 0.10.0, которое отдаёт аналитические запросы на ClickHouse. Планировщик теперь отправляет коррелированные подзапросы целиком, не строчка за строчкой. На TPC-H полностью «спущенных» запросов стало 16 из 22 вместо 12.
Q17 с расчётом среднего `l_quantity` ускорился с 32,7 сек до 37 мс (Postgres даёт 2,1 с). Гибрид обгоняет как старую версию, так и родной план Postgres.
Также переписали бинарный драйвер на новую C-библиотеку и исправили ошибки многопоточности.
Шесть запросов (Q13, Q15, Q16, Q18, Q20, Q21) всё ещё не уезжают: Postgres разворачивает их подзапросы в anti/semi-join, а деparser не может обойти деревья соединений с двух сторон. Перед использованием проверьте EXPLAIN VERBOSE, чтобы убедиться, что Remote SQL содержит полный запрос.
🔗 Подробнее
@nuancesprog #Data #Postgres