Обновить

Как стать автором

Proxyman Scripts: как превратить прокси в инструмент автоматизации тестирования

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

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

В этот момент прокси-инструменты вроде Proxyman начинают играть совсем другую роль. Это уже не просто «посмотреть запросы», а полноценный слой управления трафиком.

Меня зовут Станислав, я Test-инженер в KODE, в этой статье разберу, как использовать Proxyman Scripts не как вспомогательную фичу, а как инструмент автоматизации тестирования.

Читать далее
Рейтинг0
Комментарии0

Volga: движок обработки real-time данных для AI/ML — аналог Spark и Flink на Rust (Arrow + DataFusion)

Время на прочтение21 мин

Volga — open-source движок обработки данных, созданный как альтернатива Apache Spark и Apache Flink и ориентированный на требования real-time AI/ML систем: консистентное вычисление фичей между online и offline режимами, point-in-time корректные агрегации, длинные скользящие окна, а также ML-ориентированные функции, такие как top- и категориальные агрегации.

В статье рассматриваются мотивация и история разработки, архитектура системы и её ключевые компоненты, а также проводится сравнение с ML-ориентированными решениями (Chronon, OpenMLDB) и универсальными стриминговыми движками (Apache Flink, Apache Spark, Arroyo).

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии0

Quest For The Holy Memex

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

Quest For The Holy Memex: Часть 1 или туда и обратно...

Так получилось, что последние лет 10 я посвятил исследованию проблемы информационных перегрузок и поискам её решения. То, что сначала просто ощущалось как неудобство хранения закладок, в какой‑то момент привело к интересу к комплексным информационно‑аналитическим системам, а потом вовсе немного вышло из‑под контроля, превратившись в полновесный эпичный квест против «древнего зла» и поиски оружия против него. Может, я немного увлёкся, но проблема оказалась серьезнее, чем я предполагал...

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Agent Harness: одна LLM, разные результаты — в чем секрет?

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

Использование кодовых агентов (Codex, Cursor, Claude Code) стало обыденностью. Внутри разных AI-агентов могут использоваться одни и те же модели, но результаты будут сильно отличаться.

Например, есть мнение, что Cursor лучше и быстрее справится с написанием качественного UI, Claude Code покажет себя лучше в проектировании архитектуры приложения, а WindSurf лучше остальных создаст прототип системы.

Почему одна и та же модель в разных агентах дает разный результат? Давайте разбираться.

Читать далее
Всего голосов 4: ↑4 и ↓0+4
Комментарии7

Как я написал распределенный Cron на C с P2P-репликацией и зачем это нужно админам Greenplum

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

Представьте себе классический кошмар системного администратора или SRE: три часа ночи, в управлении огромный кластер Greenplum на сотню сегмент-хостов, и вам нужно запустить тяжелый ETL-процесс или проверить доступность gpfdist строго одновременно на всех узлах.

Вы начинаете перебирать инструменты. Стандартный Cron? Он локальный, замучаешься синхронизировать конфиги. Ansible или SaltStack? Хороши, но требуют центрального «мастера» и стабильного SSH-соединения в момент старта. А если в дата-центре «моргнула» сеть и часть сегментов оказалась изолирована? Команда просто не дойдет.

Я решил, что миру нужен инструмент, который ведет себя как «умный почтовый ящик»: вы закидываете в него зашифрованную команду, а она сама расползается по всей сети и ждет своего часа, чтобы «выстрелить» точно в срок. Так появилась Gorgona.

В этой статье я расскажу о тернистом пути создания распределенной системы на чистом C, о том, как я боролся с «сетевым эхо» и почему это решение заставляет админов больших баз данных спать спокойнее.

Читать далее
Всего голосов 3: ↑3 и ↓0+3
Комментарии12

Дырявим mikrotik hap ac2

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

Существует известная проблема с mikrotik hap ac2: из-за стильного корпуса, с покрытием софт-тач, и почти полного отсутствия вентиляционных отверстий 4-ядерный процессор и чипы вокруг неплохо нагреваются при активной нагрузке. Я столкнулся с этой проблемой и искал решение. Так что речь пойдет не о взломе этих устройств, а об улучшении их физического охлаждения. Если для вас это тоже актуально – добро пожаловать под кат.

Читать подробнее
Всего голосов 9: ↑9 и ↓0+10
Комментарии28

Один скилл, четыре модели — что может пойти не так

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

На GitHub лежат сотни AI-скиллов. Скилл для code review, скилл для дебага, скилл для обработки PDF, скилл для анализа безопасности. Установил в Cursor или Claude Code — и твой AI-ассистент стал умнее. Звучит как npm install: поставил пакет, он работает.

Но скилл — не пакет. Это текстовый файл с инструкциями, который читает языковая модель. А модели читают по-разному.

Представьте: вы написали подробное ТЗ и отдали его четырём специалистам. Все четверо — профессионалы, все мотивированы, все прочитали ТЗ целиком. Результат будет разный. Каждый делает как его учили, как привык, какой опыт накопил. И всегда есть шанс, что кто-то начнёт не с того конца или вообще решит ответить устно вместо того, чтобы сделать.

Модель = работник. Скилл = ТЗ. Я взял одно ТЗ, отдал четырём работникам, и каждый выполнял его 120 раз. Вот что получилось.

Забегая вперёд: скиллы работают. Но не так, как обещают. И самый интересный результат оказался не там, где я ожидал.

Смотреть результаты
Всего голосов 11: ↑11 и ↓0+12
Комментарии8

Как делать приложения для Маркетплейса Битрикс24 и не сойти с ума: подводные камни, которых нет в документации

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

За пару лет я сделал с десяток приложений для Маркетплейса Битрикс24 — коннекторы мессенджеров, роботы, iframe-панели. На PHP, TypeScript и Python. Каждый раз одно и то же: документация разбросана, примеры устарели, а реальные подводные камни вылезают только в продакшене.

Эта статья — сборник всего, что я хотел бы знать перед тем, как начать: формат токенов при установке, мультитенантность, обновление OAuth, петля сообщений в коннекторах и ещё десяток граблей с кодом и решениями.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Как мы запустили 35B LLM на видеокарте за $500: внутри ZINC inference engine

Время на прочтение11 мин

Год назад запуск модели на 35 миллиардов параметров подразумевал облако, очередь на GPU, и счёт от провайдера в конце месяца. Сегодня я покажу, как мы сделали это на одной потребительской видеокарте AMD за $500 — без ROCm, без CUDA, без MLX, одним бинарником на Zig.

Это пост про ZINC — inference engine, который мы строим с нуля под железо, которое люди реально покупают. Не как proof of concept, а как рабочий инструмент с OpenAI-совместимым API, потоковой генерацией и встроенным чатом.

Погрузиться
Всего голосов 27: ↑26 и ↓1+30
Комментарии18

Cruzo — минималистичный UI-фреймворк без лишней сложности

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

Иногда возникает странное ощущение, что фронтенд уже не про решение задач.
А про поддержание сложности.

Я в разработке ещё до AngularJS и React. Тогда всё было просто: HTML и немного JavaScript — и этого хватало даже для приложений с rich UI.

Потом пришли фреймворки.
Один из первых — AngularJS — и это был вау-эффект.
Ты больше не трогаешь DOM руками. Просто описываешь, что хочешь получить.

Потом: Flux, Redux, TypeScript, Angular 2+. Фронтенд в этот момент стал высокотехнологичным, но в то же время неприятным. Нужно писать кучу обслуживающего кода, не всегда понятно, как оно работает, возникают сложности с отладкой.

Ознакомиться с Cruzo
Всего голосов 5: ↑5 и ↓0+6
Комментарии24

TTF-DOOM: как я запустил 3D-рейкастер внутри TrueType-шрифта

Уровень сложностиСредний
Время на прочтение4 мин

Каждый, кто хоть раз заглядывал на Hacker News или r/ItRunsDoom, знает традицию: DOOM должен работать на всём. PDF-файлы, SQL-запросы, кишечные бактерии, тест на беременность - список бесконечен, и каждый новый порт абсурднее предыдущего

Но я задался вопросом: а можно ли запустить DOOM внутри шрифта?

Оказалось, что можно. И вот как.

Читать далее
Всего голосов 33: ↑33 и ↓0+44
Комментарии6

Как учиться? (большая статья, основанная на личном опыте)

Уровень сложностиПростой
Время на прочтение10 мин

Недавно пришло осознание, что до текущего момента большую часть своей жизни я посвятил учебе. Школа, бакалавриат, магистратура, адаптация в 2-х компаниях, курсы, книги, лекции на ютубчике. Говоря в цифрах, это заняло почти 20 лет, а если еще добавить период от рождения до школы, ведь там мы тоже учимся — говорить, ходить, взаимодействовать с окружающим миром, то вообще получается, все 26 лет своей жизни я учился.

И-и-и, знаешь, я ничего не помню :-) Ладно, что-то всё-таки помню, недаром говорят, что образование — это то, что остается после того, когда забываешь всё, но, в школьные годы я закончил музыкалку, а сейчас не могу сыграть ни одного произведения. Каждый год я берусь за изучение английского, но для понимания английской речи этих порывов не хватает. Подобных примеров я могу много привести.

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

Читать далее
Всего голосов 14: ↑13 и ↓1+12
Комментарии9

Как проектируют приложения и системы, которые не падают под нагрузкой на примере бега, медитации и чая

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

Хабровчане, приветствую! Меня зовут Михаил Казанцев, я ведущий системный аналитик в мобильном приложении Вайлдберриз. Работал и писал требования как в стартапах с монолитами, так и в банковском секторе с сотнями сервисов в одном контуре, рассказать есть что.

Я хочу рассказать о своём восприятии основной идеи книги Мартина Клепмана — Высоконагруженные приложения через призму своего ультрамарафонского опыта тренировок и соревнований и практики проведения чайных церемоний. Книга технически сложная, поэтому

Читать далее
Всего голосов 7: ↑4 и ↓3+1
Комментарии2

Телефонный звонок → структурированный JSON: строим STT + LLM пайплайн на Python

Время на прочтение10 мин

Каждый день в российском бизнесе происходят миллионы телефонных звонков. Колл-центры, клиники, юридические конторы, отделы продаж - везде, где есть телефон, есть поток неструктурированных данных, который никто не обрабатывает. Менеджер повесил трубку, записал в CRM “клиент интересовался” - и 80% информации из разговора потерялось.

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии8

Краткий справочник про внимания (self-attention, cross-attention, multi-head attention)

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

Механизм внимания (Attention) - это метод в искусственном интеллекте, который позволяет нейросети динамически определять, какие части входных данных наиболее важны для текущей задачи. Он работает через вычисление весов важности для разных элементов входа: более важные элементы получают больший вес, а менее важные - меньший. Затем модель формирует взвешенную сумму представлений, создавая новый контекстный вектор.

Self-attention, в свою очередь, помогает модели понимать, как разные элементы входных данных связаны между собой. Например, как разные части информации взаимодействуют и влияют друг на друга в общем контексте. Этот механизм обеспечивает логическую связность и целостное понимание всей структуры данных

Читать далее
Всего голосов 8: ↑7 и ↓1+8
Комментарии3

Вайбкодь потише, пожалуйста! или Пацаны, это и раньше было легко

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

Итак, что мы имеем в моменте

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

Поскольку слепо доверять продавцам лопат глупо, попробуем по фактам и аргументам разобраться что же поменялось в мире.

Читать далее
Всего голосов 125: ↑114 и ↓11+118
Комментарии134

Как я обошёл блокировку Anthropic для сторонних агентов и вернул все на подписку — пошаговый гайд

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

Anthropic отключила сторонние инструменты от подписки — теперь всё, что не Claude, идёт в Extra Usage по ценам API. Мой агент на Opus за вечер нажигает на десятки долларов. Я потратил вечер на то, чтобы разобраться, как именно Anthropic детектит сторонние запросы, и нашёл способ обойти блокировку. Ни одного гайда я еще не видел. Оказалось, что всё сводится к двум именам инструментов из семнадцати — этого достаточно, чтобы сервер понял, что запрос не от Claude Code. В статье весь путь от гипотезы до работающего решения, плюс пошаговый гайд для тех кто хочет повторить.

Читать далее
Всего голосов 4: ↑4 и ↓0+5
Комментарии8

Как создать настоящий приватный мессенджер?

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

Существуют решения для анонимного взаимодействия в интернет пространстве, такие как Tor, I2P и Freenet, но они ориентированы на весь интернет и избыточны для простого общения. Их сложность и архитектура могут быть неудобны в условиях ограниченного доступа к сети. Поэтому возникает идея более простой и специализированной системы. XXCore — это лёгкая p2p-архитектура с доверенными узлами, построенная на PipeNet и модифицированном SSU2.

Читать далее
Всего голосов 1: ↑1 и ↓0+1
Комментарии8

Управление несколькими профилями Codex: небольшой CLI на bash

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

Если у вас больше одного аккаунта Codex, начинается классическая путаница: какой auth.json сейчас активен, где закончился лимит и что вообще происходит. Я написал небольшой CLI на bash, который решает эту проблему: переключение профилей, просмотр usage через API, кеш и поддержка прокси. Показываю, как это устроено и как использовать.

Как это работает
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Как перестать терять данные в Kafka: окно безопасности и проактивный мониторинг «возраста» данных

Уровень сложностиСредний
Время на прочтение4 мин

В Kafka данные могут пропадать, даже если в конфигах стоит хранение 7 дней. В этом коротком кейсе — как я решил проблему потери данных, внедрив мониторинг «окна безопасности».

Проблема: Байты сильнее времени

Решение: Метрика «Data Safety Window»

Конфигурация — это лишь декларация о намерениях. Реальное окно жизни данных диктует нагрузка в моменте.

Чтобы не гадать по конфигам, я внедрил расчет фактического запаса времени в Grafana.

Читать далее
Всего голосов 2: ↑2 и ↓0+2
Комментарии0
1
23 ...