golang
PII-Shield: режем персональные данные в логах до того, как они доехали до ELK

Изначально идея была грубее: взять логовую строку, посчитать энтропию у подозрительных кусков и скрывать всё, что похоже на случайный секрет.PII здесь — это personally identifiable information, то есть персонально идентифицируемая информация: email, телефон, адрес, паспортные данные, номера карт, токены доступа и другие значения, которые не должны свободно гулять по логам.На бумаге звучало неплохо. Многие токены, ключи и сессионные строки действительно выглядят как шум:x9VdQp2Mz_La77kPq0 sk_liv…

  • среда, 10 июня 2026 г. в 00:00:18
golang
Пишем автомигратор на Go: как узнать схему PostgreSQL

Когда говорят «генератор миграций», обычно в голове сразу появляется что-то вроде:CREATE TABLE users (     id BIGSERIAL PRIMARY KEY,     email TEXT NOT NULL );Но настоящий генератор миграций начинается не с CREATE TABLE. Он начинается с менее эффектного, но гораздо более важного вопроса:Как вообще представить текущую схему базы в коде?Пока у нас нет ответа на этот вопрос, мы не можем нормально сделать почти ничего:сгенерировать начальную миграцию для уже существующей базы;сравнить ожидаемую схе…

  • среда, 10 июня 2026 г. в 00:00:17
javascript
Как я сжёг 17,4 миллиарда токенов за 25 дней. По тарифам API это 3,2 миллиона рублей. IT приходит к…

В конце цикла я прогнал скрипт по своим логам и увидел число, в которое сам не сразу поверил. За 25 дней, с 24 апреля по 19 мая, я сжёг 17,4 миллиарда токенов. Один человек, 344 сессии, 75 587 ответов ассистента, 176 695 строк транскриптов. Посчитайте это по тарифам API, и выходит 39 651 доллар. Около 3,17 миллиона рублей. Примерно 1586 долларов в день. Почти всё это Opus, самая дорогая модель на рынке.А теперь то, ради чего вы дочитаете. Я не заплатил по API ни цента. Всё это работало на флэт-…

  • среда, 10 июня 2026 г. в 00:00:15
javascript
Как устроен ГИГАХРУЩ: клеточный мир, WebGL-рейкастер и A-Life без движка

В прошлой статье про ГИГАХРУЩ мы показали игру как живой weird-проект: браузерный survival horror / ARPG без движка, ассетов и спокойной жизни.С тех пор проект уже стал заметен в локальном инди-комьюнити: в него играют, о нем спорят, его архитектурные решения стали отдельной темой. Поэтому этот текст не питч и не просьба оценить демку. Это инженерный разбор проекта, который уже обрастает сообществом: где данные, где системы, где рендер, что хранится постоянно, что материализуется, почему мы не …

  • среда, 10 июня 2026 г. в 00:00:14
javascript
Пишем движок для JavaScript с нуля

Как выкатить собственный движок JavaScriptВведениеБольшинство разработчиков, имеющих дело с JavaScript — кто на фронтенде, кто на бэкенде — очень слабо себе представляют, что именно происходит под капотом, когда выполняется их код. Я сейчас имею в виду не основы работы с переменными или функциями, а более глубокий процесс интерпретации и выполнения кода.Когда вы пишете на JavaScript, код проходит через множество этапов: лексический анализ, парсинг, преобразование в абстрактное синтаксическое де…

  • среда, 10 июня 2026 г. в 00:00:12
javascript
Как настроить сбор согласий на cookie и корректную отправку данных в Яндекс.Метрику на сайте Tilda

Баннер с запросом согласия на cookie есть почти на каждом сайте. Но часто он существует «для галочки» — данные в аналитику улетают сразу при загрузке страницы, независимо от того, что выбрал пользователь. И если раньше это была просто недоработка, то с 1 сентября прошлого года в 152-ФЗ (Федеральный закон «О персональных данных») был внесен ряд изменений, в том числе, появились новые требования к оформлению согласия на обработку персональных данных. Во-первых, оно должно быть получено в я…

  • среда, 10 июня 2026 г. в 00:00:11
javascript
Сравниваем современные подходы к разработке десктопных приложений на веб‑технологиях: ElectroBun, N…

Привет, Хабр!Какие варианты?Когда речь заходит о десктопных приложениях на веб‑технологиях, большинство разработчиков сразу вспоминают Electron. VS Code, Discord, Slack, Postman — все это работает именно на нем.Но за последние несколько лет появилось множество альтернатив, которые обещают меньший расход памяти, лучшую производительность и более простой доступ к системным ресурсам.В рамках небольшого R&D я решил сравнить три современных решения: ElectroBun NeutralinoJS Wails Tauri я в этот…

  • среда, 10 июня 2026 г. в 00:00:09
javascript
Многофункциональные списки ng-virtual-list как замена стандартным

Привет всем уважаемые читатели.Около года назад я решил сделать универсальное open-source решение для визуализации списков. В первых версиях я отрабатывал технологию виртуализации с различными параметрами, было много исследований, вопросов. Сегодня же состоялся релиз X.12.X версии, которая работает под управлением Angular 14-22. Хочу рассказать на что способен инструмент (ng-virtual-list), какие задачи решает и проведу краткий обзор с демонстрацией примеров.Все приведенные ниже примеры содержат…

  • среда, 10 июня 2026 г. в 00:00:07
javascript
Как попасть во фронтенд и дойти до senior в ВК — интервью с Александром Ламковым

Фронтенд-разработка давно перестала быть просто «вёрсткой сайтов». Сегодня это сложная экосистема: фреймворки, state-менеджмент, TypeScript, оптимизация производительности, работа с API и постоянный поток новых инструментов. Но за всей этой технологической гонкой часто теряется главное: что на самом деле нужно знать начинающему разработчику, где проходит грань между джуном и сеньором, и почему умение проходить собеседования — такой же навык, как и писать код. Я, Александр, автор телеграм-канала…

  • среда, 10 июня 2026 г. в 00:00:06