golang
Почему Go-сервисы начинают тормозить без ошибок (и при чём тут goroutines). Часть 1

Часто про Go говорят: «это язык, где конкурентность почти бесплатная».И знаете что? Это правда. Почти.Но «почти» — это самое опасное во всей истории, так как либо ты управляешь системой, либо она управляет тобой руками runtime'а.В трёх статьях я разберу путь, через который проходит почти каждый Go-разработчик от наивного «я добавил go — получил параллельность», до взрослого «я проектирую concurrency-систему с понятными границами».Погнали.Иллюзия первая: «Горутины дешёвые — значит можно скол…

  • вторник, 28 апреля 2026 г. в 00:00:16
javascript
JavaScript Shader Language или JSSL

Хочу рассказать о генераторе GLSL-кода для WebGL, позволяющем писать шейдеры буквально на JavaScript с некоторыми условностями, используя все удобства IDE, такие как рефакторинг, подсветка синтаксиса, автокомплит и проверка на ошибки, а в математических выражениях использовать обычные JS операторы: +, -, *, /, =, +=, -=, *=, /=, ++, --.Сразу приведу пример рабочего кода, чтобы было понятно, о чем идет речь:class VertexShader extends Shader { constructor(POSITION, NORMAL, TANGENT, NORMAL_MATRI…

  • вторник, 28 апреля 2026 г. в 00:00:14
javascript
Иди слепо к своей цели, но будь готов упасть лицом в грязь

b0w9rПривет, Хабр. Я b0w9r.Полтора года назад мои знания в разработке находились на отметке 0.00. Кто-то из вас, возможно, помнит мою историю: я начинал учить HTML и CSS, выписывая теги ручкой в тетрадь, потому что у меня не было ни ноутбука, ни компьютера.Я всё ещё иду по следам программирования, но недавно я сделал важный шаг — всего за 1 месяц я собрал и выкатил свой первый продукт: FocusMind (локальный рабочий хаб с Pomodoro, задачами и заметками).Оглядываясь на эти полтора года и этот безу…

  • вторник, 28 апреля 2026 г. в 00:00:12
javascript
Как я построил кеш страниц для многодоменного проекта с помощью PVC и кастомного подхода

У меня был проект, где один Next.js сайт обслуживал несколько доменов, и возникла задача - эффективно кешировать страницы, чтобы не пересоздавать их каждый раз. Сначала я попробовал внедрить кеширование через Redis: я написал хендлер, подключил его, но вскоре обнаружил, что Redis потребляет колоссальный объём оперативной памяти - порядка 100 ГБ, и это при том, что ещё не все запросы были закешированы. Тогда я решил поискать другой подход и обратил внимание на PVC - общее хранилище, которое могл…

  • вторник, 28 апреля 2026 г. в 00:00:10
javascript
Пишем быстрые UI-автотесты без флаков, стендов и боли: изоляционный подход в CI/CD

ВступлениеВ этой статье я хочу показать, как на практике писать изоляционные UI-автотесты без флаков, стендов и бесконечной боли с окружением. Тема кажется противоречивой — UI-тесты традиционно считают самыми хрупкими и медленными — но на практике вокруг неё куда больше мифов, чем реальных ограничений.Самое важное — такие UI-тесты не сложные. Они выглядят максимально просто, запускаются быстро и при этом дают высокую стабильность. Я бы даже сказал, что это эталон современного подхода к UI-автом…

  • вторник, 28 апреля 2026 г. в 00:00:09
javascript
Два пути к идеальному DatePicker: классический промптинг или системный подход по работе с AI

Привет, коллеги! Сегодня мы копнем в самую суть инженерного подхода. На повестке дня - сравнение двух кардинально разных философий создания сложного UI-компонента. Это не просто рассказ о DatePicker, это анализ стратегического выбора, который каждая команда делает каждый день: скорость в ущерб предсказуемости или наоборот?Исходный код доступен по ссылке: https://github.com/Codesrc-public-ru/ralf-datapickerЗа основу мы возьмем два реальных кейса. Первый - «AI-драфтинг», отлично описанный нашей с…

  • вторник, 28 апреля 2026 г. в 00:00:07
javascript
Баги n8n v4.4 и загрузка файлов в VK API: лечим ERR_UPLOAD_BAD_SIGNATURE и потерю метаданных

Автоматизация выгрузки отчетов в социальные сети часто превращается в каскад ошибок из-за специфики API и скрытых багов инструментов. В этой статье разберем, как загрузить Excel-отчет на сервера ВКонтакте (метод docs.save) через n8n v2.11.3, победить «тихое» затирание бинарных данных и исправить некорректную работу узла HTTP Request v4.4.Проблема: Двухэтапная загрузка и хрупкая подписьЗагрузка файлов в VK — это всегда два шага: сначала получение upload_url, затем POST-запрос с файлом. Главная с…

  • вторник, 28 апреля 2026 г. в 00:00:05
javascript
Frontend Status: свежий дайджест фронтенда и AI — 27.04.2026

Frontend Status: Привет! Свежий дайджест фронтенда и AIПривет!Это четырнадцатый выпуск Frontend Status — дайджеста по фронтенд-разработке.В этом выпуске:📺 Vue на развилке роста: разбираем State of Vue 2026, чтобы понять, куда вложить время сегодня и не чинить стек завтра.🤖 AI без иллюзий, но с результатом: от генеративных UI и reasoning-RAG до правил, которые уменьшают «переписывание ради переписывания» в код-ассистентах.🛡️ Безопасность как конкурентное преимущество: сверяем npm-практики по OWA…

  • вторник, 28 апреля 2026 г. в 00:00:02
golang
Деконструкция GO: CPU, RAM и что там происходит. Системные вызовы. Часть 1.5

Итак, финал части 1! По крайней мере основного разбора без дополнений. Собственно, сегодня мы разберем то, чем в основном с точки зрения ядра ОС и CPU являются все вот эти ваши бэкенды – системные вызовы и всё, что вокруг них.На самом деле механизм немного замудренный и “в лоб” сразу все эти системные вызовы мы разбирать не будем, потому что вокруг них существует ещё несколько концепций.Итак, начнем!User mode, Kernel modeПроцессор исполняет код в разных уровнях привилегий.Это механизм защиты, к…

  • понедельник, 27 апреля 2026 г. в 00:00:11