Обновить
-4
Эдуард Зиганшин@e-zigread⁠-⁠only

Разработка электроники

1
Подписчики
Отправить сообщение

Как работать с DDR4

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

Доброго дня. Сегодня я хотел бы рассказать о DDR4 в контексте модулей памяти.

1)    Чуть-чуть об авторе

Автор имеет опыт в коммерческой разработке печатных плат около двух лет. До начала этого пути занимался баловством с микроконтроллерами на самодельных платах. На текущий же момент можно перечислить два значимых успешных проекта: материнская плата на RK3588 (LPDDR4X-4266MT/s, HDMI2.1, PCIe2/3, Ethernet 2.5G, USB2/3, SATA3), модуль памяти UDIMM DDR4 3200 MT/s. Разумеется, было много прочих, но они не требовали глубокого понимания работы с согласованием сигналов по задержке, понимания импеданса. Стоит учитывать, что автор является самоучкой чуть более чем полностью, так как более опытных коллег попросту не было и нет. Опыт работы имеется только с российскими фабриками.

Разработка велась в Altium, какого-либо моделирования (Cadence/Ansys/иной софт) не проводилось. Однако, проекты полностью работоспособны, что является косвенным доказательством валидности моих эвристик.

Последний вводный абзац. Если будет интерес и потребность – планируется сделать еще одну статью о workflowпри работе с DDR4 в Altium. Также есть что рассказать про LPDDR4, если будет таковой запрос. Если есть интерес к разработке печатных плат – по ссылке доступно мое «пособие», полностью свободное.

Читать далее

Ваш RAG не умеет думать. А мой умеет

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

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

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

Сегодня рассмотрим open-source RAG-фреймворк HippoRAG 2. В сфере RAG главным преимуществом данного фреймворка является качество ответов, потому что принципы его работы основаны на реальном человеческом мозге. Давайте разберёмся, откуда он взялся, как устроен изнутри и как его запустить.

Читать далее

Год с Claude Code: как собрать рабочую конфигурацию с первого запуска

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

Год с Claude Code: как собрать рабочую конфигурацию с первого запуска

Жемал Хамидун, Head of AI Alpina Digital, CPO AlpinaGPT, автор тг-канала «Готовим ИИшницу».

Читать далее

Как устроен AI-агент изнутри

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

Представьте сцену. Вы пишете в терминал: «разберись, почему на main падает вот этот тест, и попробуй починить». Жмёте Enter. Спиннер крутится, подписи меняются — сначала “Pondering…”, потом зачем-то “Julienning…”, потом “Recombobulating…”. Через минуту агент прочитал логи CI, нашёл зафейлившийся тест, заглянул в связанный модуль, заметил, что кто-то криво подкрутил регекс, предложил правку, дождался вашего «да» — и коммитит. Пока вы наливаете чай, PR уже уехал на ревью.

Выглядит как магия. На деле внутри — удивительно стройная инженерная конструкция: главный цикл на пару сотен строк, обросший целой экосистемой обслуживающих подсистем. Я несколько вечеров подряд ковырялся в исходниках одного такого CLI-агента для разработки: де-обфусцированный дистрибутив примерно на 300 модулей, файл-вход почти на 800 тысяч строк после разсборки бандла. И за «магией» обнаружились вещи, про которые отдельно хочется написать: собственный React-реконсилятор для терминала, двухуровневая загрузка описаний инструментов, классификатор опасных bash-команд, трёхрежимное сжатие контекста, fork-join для саб-агентов, защита от невидимых Unicode-инъекций в промпте.

Эта статья — мои заметки по итогам погружения. Не реклама конкретного продукта (реальных имён функций и классов я намеренно избегаю), а разговор про архитектурные решения, которые стоят за современным CLI-агентом. Главный цикл и его устройство, инструменты, контекст и его сжатие, разрешения и хуки, MCP, память между сессиями.

Читать далее

Почему ваш AI-агент тратит 80% токенов на файлы, которые уже читал вчера — и как это починить тремя markdown-файлами

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

В прошлой статье я разобрал почему Claude Code ломает проекты (context drift, отсутствие CLAUDE.md, нет хуков на тесты) и как выстроить защиту от регрессий. Статья попала в топ-5 Хабра за сутки — видимо, проблема задела нерв.

Но в комментариях и в личных сообщениях всплыл вопрос, который я тогда обошёл стороной: а что с самими токенами? Контекстное окно стало миллион, но агент всё равно жрёт его как не в себя. Куда уходят токены? Почему одна и та же сессия с одним и тем же проектом каждый раз начинается с нуля?

Я работаю с 20+ проектами на нескольких VPS-серверах. После того как я замерил, куда реально уходит контекст — картина оказалась неприятной.

Читать далее

Мне прислали фишинг под MAX. Я разобрал ссылку и нашёл уязвимость в их API

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

«Мне прислали фишинг под MAX. Внутри оказался MITM в их API» «Не ты ли на фото?» — пришло поздно вечером, в обычной переписке, от знакомого, который пишет редко. К сообщению приложена короткая ссылка. Я понял, что у него увели аккаунт, и захотел разобраться, что внутри. Через пять дней я смотрел на инфраструктуру из 179 фишинговых доменов, четырёх хостингов, через которые оператор переезжал каждые сутки, и обнаружение, что фишинг-кит работает не как сборщик паролей, а как MITM-прокси к настоящему API мессенджера MAX. Жертва получает реальный SMS от реального MAX и не может распознать атаку. CVSS 8.8. VK молчит уже неделю.

Читать далее

Когда, зачем и как правильно начинать новую сессию в Claude Code?

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

В последних разговорах с пользователями Claude Code постоянно всплывает одна тема: контекстное окно в 1М токенов — палка о двух концах.

С одной стороны, Claude Code дольше работает автономно и надёжнее справляется со сложными задачами. С другой — если не следить за сессиями, контекст быстро засоряется.

Управление сессиями сейчас важнее, чем когда-либо, и вопросов вокруг него много. Держать одну или две долгосрочные сессии в терминале? Начинать новую с каждым промптом? Когда использовать compact, rewind или subagents? Что приводит к плохой компактизации или плохой сессии?

Всё это неожиданно сильно влияет на опыт работы с Claude Code, и почти всё сводится к управлению контекстным окном.

Читать далее

Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг

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

Все началось пару месяцев назад, когда я всерьез увлекся темой автономных агентов. Если вы следите за индустрией, то наверняка слышали про ruflo — это мощнейший движок для оркестрации Claude Code. Он позволяет создавать настоящие «ульи» из агентов, которые сами пишут код, сами его проверяют и сами деплоят.

Но когда я попытался внедрить это в реальный проект, я столкнулся с суровой реальностью.

Читать далее

Что такое Harness? Полный разбор на примере Claude Code, OpenAI и LangChain

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

Глубокий разбор того, что на самом деле строят Anthropic, OpenAI, Perplexity и LangChain. Оркестрационный цикл, инструменты, память, управление контекстом — и всё остальное, что превращает stateless LLM в работающего агента.

Допустим, вы собрали чатбот. Может, даже прикрутили ReAct-цикл с несколькими инструментами. На демо работает. Но стоит попробовать сделать что-то production-grade — и всё начинает сыпаться: модель забывает, что делала три шага назад, вызовы инструментов падают без ошибок, контекстное окно забивается мусором.

Проблема не в модели. Проблема во всём, что её окружает.

LangChain это доказал: изменив только инфраструктуру вокруг LLM (та же модель, те же веса), они поднялись с позиции за пределами топ-30 на 5-е место в TerminalBench 2.0. В отдельном исследовательском проекте LLM оптимизировал саму инфраструктуру и достиг 76,4% pass rate, превзойдя системы, спроектированные вручную.

У этой инфраструктуры теперь есть название: agent harness (агентный харнесс).

Читать далее

Испытываем подход от CEO Y Combinator — запускаем ИИ фабрику работяг на базе Claude Code

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

Неделю назад по сети пронеслась новость о том, что генеральный директор Y Combinator Гарри Тан с помощью ИИ Claude пишет десятки тысяч строк кода ежедневно и имеет виртуальную команду из 10+ ролей. Я решил проверить насколько это решение действительно рабочее и не является ли оно очередным хайпом. В этой статье мы разберемся, что за инструмент использует CEO Y Combinator и в чем его особенности. А также попрактикуемся в его использовании.

Читать далее

Мой CLAUDE.md — 582 строки. Вот зачем

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

Каждый новый чат с Claude Code начинается с нуля. Агент не знает ваш проект, не помнит что вы обсуждали час назад, и на шестой раз всё равно полезет “чинить” конфиг который работал нормально. А ещё каждую неделю в r/ClaudeAI новая история про удалённую базу или запушенные секреты.

Типичный CLAUDE.md на 5-10 строк не решает ни одну из этих проблем. У меня это выросло в 582 строки и 6 слоёв - rules, memory, handoffs, chronicles, hooks, skills. За каждым правилом стоит конкретный инцидент. В статье - три истории которые всё изменили, и открытый репозиторий с 17 принципами из 37 arxiv papers.

Читать далее

Как бы я рассказал про линейную регрессию (если б меня кто-то спросил)

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

Привет, Хабр! Если вам когда‑либо хотелось разобраться в том как работает линейная регрессия, или хочется освежить в памяти основные моменты без необходимости продираться через разрозненные источники, то прошу под кат. Это не статья "от начинающего для начинающих". Экстра лонгрид — писал больше года. Статья концептуальная, а концептов пять: 1) ключевой повествовательный компонент — визуализации (их около сотни), текст — вспомогательный; 2) анимации везде где только можно (их всего 34); 3) простота — достаточно знаний со школьного курса математики чтобы начать читать; 4) воспроизводимость — подавляющее большинство медиаматериалов сгенерированы при помощи Python а исходный код выложен в open‑source и, самый главный, 5) фокус на практике, — например, если упоминается векторная запись метода наименьших квадратов, значит она в нарративе решает возникшую боль читателя

Читать далее

Фазовая синхронизация в системе FMComms5 от Analog Devices и оценка угла прихода сигнала

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

В этой статье дана инструкция для выполнения фазовой синхронизации в FMComms5 от Analog Devices и реализации метода пеленгации, использующего эту функцию. Оценочная плата FMComms5 обеспечивает высокую точность фазовой синхронизации. В этой статье рассказывается, как выровнять фазы двух приемопередатчиков AD9361 с помощью специальной программной библиотеки libad9361, созданной на основе инфраструктуры ввода-вывода libiio. Фазовое выравнивание необходимо для многих радиолокационных систем, таких как пеленгаторы и когерентные системы MIMO.

Исходный код GNURadio, на котором основан этот пример, был изначально разработан доктором Шрикантом Пагадараи и доктором Трэвисом Коллинзом при финансовой поддержке компании Ettus Research [1]. Недавно доктор Коллинз портировал его на платформу FMComms5, добавив документацию. В настоящее время код доступен по адресу github.com/tfcollins/gr-doa в ветке adi. Этот код распространяется по лицензии GPL3. Реализация на FMComms5 обеспечивает такую же производительность, как и предыдущая работа [1]. Технический документ из [1] также был дополнен авторами оригинальной статьи информацией о FMComms5 и стратегии его внедрения.

Читать далее

DMA в userspace на Zynq US+: собираем данные AXI-Stream для CPU

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

Привет! Меня зовут Данил, я разрабатываю прикладное ПО для радиочастотных систем YADRO. В этой статье я расскажу об одном из вариантов сбора данных AXI-Stream для обработки на CPU, рассмотрю в этом контексте возможности и требования блока AXI DMA, а напоследок порассуждаю о когерентности кешей и о том, что на самом деле здесь требуется от драйвера ядра.

Читать далее

GDB для тех, кто думает, что отладка — это фантастика

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

cout - плохой отладчик! Как за 30 секунд найти место падения программы? Какие 7 команд GDB нужно знать каждому C++ разработчику? В этой статье я делюсь личным опытом: как я боялся GDB, думал, что это «магия для гуру», а потом понял, что 70% задач решается простыми командами.

Спойлер: главный страх - это неизвестность. А когда знаешь backtracebreaknextprint и info locals, GDB становится лучшим другом. Статья рассчитана на начинающих C++ разработчиков, которые хотят перестать бояться терминала и начать отлаживать системно.

Читать далее

Нескучное программирование. Важны ли компилятору имена

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

Есть старая шутка о том “чем отличается обычный программист на С++ от хорошего программиста на С++”? Первый пишет код, а второй может объяснить, почему он работает. 

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

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

Первый: «Что вообще может означать это имя здесь?»
Второй: «Если вариантов несколько, какой из них правильный?»

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

Читать далее

Ночью все кошки серы, а using'и одинаковы

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

Одной из самых сложных частей C++ до сих пор считаются правила поиска имён, и ошибки связанные с name lookup проявляются обычно уже в рантайме. Код компилится и даже работает какое-то время, но при свете луны ведёт себя не так как ожидает программист. За простыми идентификаторами скрывается многоуровневая система областей видимости, категорий имён и специальных правил, и очень многое в нашем текущем стандарте растёт прямиком из восьмидесятых, частенько без изменений. Давайте посмотрим как компилятор видит имена в C++, какие области видимости существуют и почему они ведут себя по-разному.

В C++ есть несколько типов областей видимости, вы наверное сходу назовёте глобальное пространство имён, область параметров шаблона, область видимости класса и область параметров функции, но также есть блочная область видимости и область видимости перечислений. Между этими областями есть исторически сложившаяся асимметрия, которая частенько удивляет: два объявления using, которые вводят одно и то же имя в одну и ту же область видимости внутри пространства имён компилятор съест без возражений, но если попытаться сделать то же самое других областях видимости, то получим ошибку на повторное объявление. В серии статей про "нескучное программирование" я разбираю скользкие случаи и как мы докатились до такого. Это продолжение темы, начатой в "Важны ли компилятору имена", поэтому чтобы картинка была цельной, лучше пробежать её по диагонали.

Читать далее

Настройка проекта для AI-агентов

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

Собрал свой опыт настройки проектов для кодовых агентов. Как написать правила, чтобы агент не делал глупых ошибок, как научить его работать с окружением, как делиться скиллами между репозиториями и не сойти с ума, когда в команде у каждого свой инструмент — Claude Code, Cursor, Copilot.

Читать далее

Агентная разработка в VS Code: Глубокая настройка RooCode для максимальной эффективности

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

RooCode — расширение для VS Code с многоагентной системой (встроено 5 Модов: Orchestrator, Ask, Architect, Code, Debug)
Ключевые преимущества: синхронное выполнение задач (предсказуемость), гибкая настройка модов, MCP-серверы для снижения ошибок и количества запросов к LLM
Основная идея настройки: каждый Мод отвечает за свою задачу, Оркестратор распределяет работу между ними
Настройка идёт по спирали: от базовых настроек → скиллы → моды → провайдеры → итеративное улучшение

Читать далее

Claude Code: маршрут обучения и полезные ресурсы vol.2 (2026)

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

Собрала актуальный маршрут обучения Claude Code: с чего начать, какие доки и курсы пройти, и как перейти от просто попробовать к автоматизациям (skills/hooks/sub-agents/MCP).

Все ресурсы разложила в правильном порядке и коротко объяснила, как именно их проходить, чтобы не утонуть в ссылках и сразу получить результат.

Читать далее
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Мытищи, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Системный инженер, Инженер электронных устройств
Старший
От 225 000 ₽
C++
Qt
Verilog HDL
VHDL
Git
Linux
FPGA
Схемотехника
Altium designer
Разработка электроники