Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

ClickHouse и MySql или как подружить две базы

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.4K

Всем привет, с вами ваш писатель-программист и сегодня мы поговорим о такой штуке как "Архивация".

Представьте, что у вас есть таблица, в которой каждый день появляется 100 000 новых записей. Через год в ней будет 36 миллионов записей. MySQL начнет "тормозить" на сложных аналитических запросах, а удалять старые данные нельзя — они нужны для отчетности.

Решение есть! ClickHouse!

Читать далее

Цифровой суверенитет в кармане: почему пора поднять свой Matrix-сервер, пока мессенджеры лихорадит

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели11K

(В статье описывается простой и безопасный способ поднятия собственного Matrix Synapse сервера с компонентами web интерфейса пользователя и видеосвязи на основе opensource скрипта. Статья состоит из 2-х частей, теоретической и практической. Если вы сразу понимаете о чем речь, чтобы сэкономить время можете сразу перейти к практической части.)

Matrix Synapse (эталонная реализация сервера) предлагает уровень безопасности, который многим коммерческим продуктам только снится. Сквозное шифрование (E2EE) на базе протоколов Olm и Megolm обеспечивает приватность не только один на один, но и в групповых чатах. При этом ключи шифрования хранятся только на ваших устройствах, а не на сервере. Даже если кто-то получит доступ к базе данных вашего Synapse, он увидит там лишь нечитаемый шум.

Федерация — киллер-фича протокола. Это работает как электронная почта: вы можете иметь адрес на matrix.my-company.ru и спокойно писать пользователю на matrix.org. Это создает глобальную сеть без единой точки отказа и единого цензора. Если один сервер или целый сегмент сети заблокируют, остальная сеть продолжит жить. Для бизнеса это означает возможность строить защищенные каналы связи с партнерами, сохраняя данные внутри своего контура сети.

Читать далее

Пример оптимизации интерфейса динамического списка в мобильном приложении, сделанном на 1С при помощи HTML + CSS

Уровень сложностиПростой
Время на прочтение1 мин
Охват и читатели6K

Добрый день!

Хочу привести пример небольшой оптимизации интерфейса (frontend) мобильного приложения, сделанного на 1С.

Разницу вы сами можете проверить, скачав приложение и переключив флаг в настройках «Оформление HTML».

Читать далее

Про открытость АСУ ТП по мотивам дискуссий в комментариях

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели5.6K

В этой статье я изложил своё видение, что такое открытая автоматизированная система управления технологическими процессами (АСУ ТП), почему этой теме уделяется так много внимания со стороны промышленных заказчиков и ведущих мировых вендоров. Разобрал несколько наиболее распространенных критических аргументов от скептиков из профессионального сообщества.

Читать далее

HackTheBox. Прохождение Falafel. Уровень — Сложный

Уровень сложностиСложный
Время на прочтение7 мин
Охват и читатели5.8K

Прохождение сложной Linux машины на платформе HackTheBox под названием Falafel. Предварительно нужно подключиться к площадке HackTheBox по VPN. Желательно использовать отдельную виртуальную машину. Разбираем SQLi (Boolean-based Blind), PHP Type Juggling Attack (Magic Hashes), Filename Truncation Attack to Upload a PHP Script.

Читать далее

Как мы победили утечки памяти в реактивных веб-компонентах (RWC)

Уровень сложностиСредний
Время на прочтение3 мин
Охват и читатели5.6K

Вкладки браузера разрастались до 5 ГБ. Причина — эффекты в реактивной системе, которые продолжали жить после удаления компонентов из DOM: подписки на сигналы не очищались, замыкания удерживали ссылки на мёртвые узлы, а каждый переход по SPA множил «призрачные» обновления. Разбираем, как иерархия parent-child эффектов, привязка к disconnectedCallback через effectSet и WeakRef полностью решили проблему — без ручного управления подписками

Читать далее

Возвращение RAG в 2026 году

Время на прочтение7 мин
Охват и читатели5.5K

Год назад я заменил RAG в продукте на «просто большой контекст» и на время действительно выиграл в простоте: стало меньше пайплайна и онколла, больше фич. Но прод быстро показал цену такого решения — хоть ответы звучали уверенно, доверия к ним не было. Статья о том, почему в 2026 году RAG возвращается в более взрослой форме и что именно приходится проектировать, чтобы знания оставались актуальными и проверяемыми.

Разобрать RAG

Хватит покупать курсы. Соберите портфолио на реальных кейсах. 3 разбора + чек-лист

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели4.1K

Я не умею учиться на курсах. Серьёзно. Когда встала задача собрать портфолио, я пошла в поле: взяла документацию трёх продуктов, прошла путь пользователя, нашла проблемы, посчитала их цену в деньгах и спроектировала решения.

Что получилось:

📌 Bpium — документация вокруг функций, а не задач. Готовый шаблон CRM спрятан в подвале сайта. По моей оценке 90% пользователей его не найдут. Предложила задаче-центричную архитектуру и 5 тикетов в Jira.

📌 DirectAdmin — гайд по миграции с cPanel заставляет администратора импровизировать в 80% шагов. Для почты и DNS инструкций нет вообще. Нашла 5 системных проблем, спроектировала структуру Plan→Do→Check и скрипты-помощники.

📌 AmoCRM — разработчик тратит 48 минут вместо 5 на типовую интеграцию. 860% лишнего времени. От 275 тысяч до 3+ миллионов рублей в год оценочных потерь вендора. Предложила раздел со сценариями, визуальные маркеры и перекрёстные ссылки.

Моя методика (7 шагов): выбрать интересный продукт, найти сценарий пользователя, пройти путь с секундомером, искать паттерны (не опечатки!), посчитать цену в деньгах, спроектировать решение, упаковать в историю.

Главное: я не собирала портфолио под вакансии. Я собирала ответ на вопрос «нравится ли мне эта работа?». А кейсы получились сами.

В статье — полный разбор каждого кейса, схемы «было/стало», BPMN-диаграмма (упрощенная), таблица пяти проблем и чек-лист, по которому вы сможете собрать такое же портфолио.

Читать далее

Отвечаю на популярные вопросы по HTML и CSS с собеседований джунов-фронтендеров

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели6.8K

Привет, Хабр!

Вопросы по HTML и CSS всё реже встречаются на собеседованиях для фронтендеров. Но в основном это касается позиций middle и выше. А вот для начинающих специалистов они всё ещё есть.

Поскольку новичкам всегда сложнее проходить собеседования, я захотел помочь. Я поискал вопросы с собеседований, которые были в 2025 году, и составил список наиболее часто встречающихся вопросов.

А главное, отвечать на них будет ChatGPT. Я же буду его дополнять, если потребуется. Многие же используют его для подготовки. Вот и посмотрим, как он справится.

Сразу скажу, что буду душнить. Так что вы сами рассудите, кто из нас лучше отвечает.

Давайте начнём!

Читать далее

DEVLOG 5: Система World State

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели5K

Всем привет!
Сегодня говорим про систему world state — она позволяет делать вариативность, запоминать решения игрока и делать реплики/ответы на основе флагов.

Читать далее

Решение конфликтов зависимости в .NET 4.8 — Cross Domain Interaction на примере плагина Autodesk Revit

Уровень сложностиСредний
Время на прочтение35 мин
Охват и читатели5K

Всех приветствую - меня зовут Худошин Илья (https://t.me/Official_Lays), я разработчик десктопных, серверных и веб приложений.

Хоть и в последнее время я не пишу решения на .net, но мне совсем недавно пришла одна интересная мысль как можно решить одну из самых распространенных проблем в разработке плагинов для Autodesk Revit и я решил попробовать реализовать это.

Читать далее

Как устроены задачи (Task) в asyncio

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели6K

В прошлой статье мы разобрали механику событийного цикла asyncio.

В этот раз поговорим о задачах, объектах класса asyncio.Task (они же по‑простому «таски»). Тема важная, потому что по сути вся работа событийного цикла сводится к постоянному жонглированию задачами: запустить, приостановить, разбудить, завершить. Если понять, как устроена таска изнутри, изрядная доля магии asyncio (как и нелюбви к нему) исчезнет.

На десерт шок-контент: почему await далеко не всегда является точкой, где управление возвращается событийному циклу, чтобы он мог переключиться на другую задачу.

Погружаемся

ARM-сервер в хоумлабе: обзор Minisforum MS-R1 или как я перестал бояться и полюбил Fedora

Время на прочтение2 мин
Охват и читатели6.2K

Давно чесались руки завести в своем хоумлабе нормальный ARM-сервер. До этого выбор был так себе: либо дохлые одноплатники, либо Apple на стероидах за конские деньги, либо пляски с Asahi Linux, которые в последнее время что-то совсем не радуют скоростью

И тут Minisforum выкатили MS-R1. У меня в стойке уже трудятся два их собрата MS-01 (заменили прожорливые башни от HPE), так что я решил — надо брать. Тем более, это ARM V9 на 12 ядер, с ECC и двумя 10-гигабитными портами. Цена вопроса — около $559 (брал barebone-версию), что на фоне Apple выглядит просто подарком.

Читать далее

Ближайшие события

3D-шейдер реального времени на Game Boy Color

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.3K

Я написал игру для Game Boy Color, которая рендерит изображения в реальном времени. Игрок управляет источником света и вращает объект.

Поиграть в неё можно здесь: https://blog.otterstack.com/posts/202512-gbshader/data/teapot.html

Посмотреть код и скачать ROM можно здесь: https://github.com/nukep/gbshader

Читать далее

Заметки на полях: Изолируем Lua окружение в C++ приложении. Часть 3/3

Уровень сложностиСредний
Время на прочтение24 мин
Охват и читатели5K

В прошлый раз мы с вами остановились на том, что на всякую хитрую резьбу в виде ограничений на загрузку функционала библиотек и сторонних модулей, а также изоляции скриптов внутри разрешённых путей найдётся свой болт, в лице возможностей самого языка, которые позволяют осознанно или в силу кривизны рук свести на нет все наши усилия сохранить стабильность.

В этой части разберём как из кубиков с буквами 'О', 'П', 'Ж' и 'А' while true do end

...составить слово "СЧАСТЬЕ".

Магия цифр от ФНС: разбор красивых отчетов

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели7.3K

18 февраля 2026 года глава ФНС Даниил Егоров провел видеоконференцию, где рассказал о «ходе адаптации бизнеса» к изменениям 2026 года: НДС для УСН, роли маркетплейсов, АвтоУСН, динамике выручки по ККТ, а также «поддержке» через рассрочки и отсрочки.

Не все озвученное главой ведомства мне показалось объективным. Учитывая, что прошлые 12 лет (до ноября 2025 года) я и сам проработал в ФНС. Поэтому я выделил шесть ключевых заявлений из этого выступления и решил разобрать каждое из них с позиции «а как оно в жизни?».

Читать далее

Писал роман — разработал экраноплан: используем ИИ и FreeCAD для инженерной проработки вымышленной техники

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели7K

Привет друзья. Написано уже половина романа, статьи о интересных моментах процессах тоже готовятся. А сейчас я хочу рассказать о том, как я для реалистичности технических деталей романа пришлось разработать целый экраноплан. Да, именно забытые и не очень хорошо показавшие себя технологии на стыке авиации и судостроительства.

По сюжету романа нужна была такая машина, которая может двигаться ниже зоны действия радаров, незаметно, пользуясь складками местности. Обычные самолеты и вертолеты в принципе могут, но сильно прижаться к земле, чтобы идти в 1-3 метрах от поверхности земли им не под силу. Это зона действия только для экранопланов.

Узнать подробности

Структуры данных на практике. Глава 5: Связанные списки — убийцы кэша

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.9K

«Связанные списки — это goto структур данных.», — авторство приписывают разным системным программистам.

История из учебника

Все студенты, изучающие computer science, узнают о связанных списках на первом курсе по структурам данных. Их описание звучит привлекательно:

Преимущества (согласно учебникам):

- Вставки и удаления за O(1) в известных позициях

- Динамический размер: увеличиваются и уменьшаются согласно необходимости

- Пространство не тратится впустую: можно распределять ровно столько, сколько нужно

- Гибкость: простота реализации стеков, очередей и других структур

Недостатки (согласно учебникам):

- Поиск за O(n): необходим обход, начиная с головы списка

- Лишняя память: указатели добавляют оверхед

- Невозможность произвольного доступа: нельзя выполнять переходы в произвольные позиции

Вывод из учебника: «Используйте связанные списки, когда требуются частые вставки/удаления и не нужен произвольный доступ».

Вроде бы звучит разумно?

Проверка реальностью

А вот, чего учебники нам не говорят: связанные списки — это почти всегда плохой выбор.

Не потому, что ошибочен анализ «О» большого, в нём всё правильно, а потому, что он неполон. Он забывает про оборудование.

Читать далее

Как я сделал автоматический перевод постов у себя в блоге с помощью ChatGPT

Время на прочтение8 мин
Охват и читатели6.1K

Я регулярно выкладываю посты в блог НормЦРМ. На двух языках: русском и английском.

Написал пост, придумал заголовок. Тут всё просто. А дальше неприятный процесс. С помощью ИИ перевести пост на английский — и перенести перевод в блог. А ещё сгенерировать мета-данные и og-данные (это для поисковиков и мессенджеров), тоже перевести их на английский и руками поставить в нужные поля.

Всё это занимает минуты, но такая работа раздражает. А пишу я довольно часто (публикация раз в пару дней). И решил сделать в интерфейсе одну кнопку, которая возьмёт на себя всю эту рутину. Решил — и сделал. Теперь в один клик переводится пост и генерируются все мета-данные.

Сейчас расскажу во всех деталях, как именно это реализовано. Вдруг вы тоже так захотите?

Читать далее

Я дал 100 AI-агентам равный бюджет — они изобрели кредиты под 15%

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели23K

Дал 100 AI-агентам по 1000 токенов и одну цель — набрать максимум очков. Не программировал ни торговлю, ни кредиты, ни специализацию. Через двое суток агент №23 попросил у агента №91 займ под 15%. К 72-му часу — три банкира, 12 банкротов и коэффициент Джини 0.71. Внутри — код на Python, логи, распределение ресурсов. И честный разбор того в чем я до сих пор не уверен.

Читать далее