Обновить
3
0
Michael Elin@vanelm

Consulting Network Engineer

Отправить сообщение

Как выбраться из гравитации фреймворков

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

Команда JavaScript for Devs подготовила перевод статьи о том, почему веб-команды застревают на орбите фреймворков и забывают о возможностях самой платформы. Автор убеждён: браузеры развиваются быстрее, чем экосистемы вокруг них, а зависимость от React и других инструментов тормозит инновации. Пора снова смотреть на веб как на платформу, а не как на “внутренность” фреймворка.

Читать далее

5 промтов, которые сэкономили мне часы рутинной работы тестировщика

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

Всем привет! Я Катя, QA Tech Lead в MD Audit.

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

Список не про генерацию тест-кейсов или чек-листов — про это уже написаны километры текстов.

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

Читать далее

Docs as Code – Code as Docs – No Docs

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

Какие главные проблемы технической документации? Во-первых, ее нет, во-вторых, если она есть, то не актуальна.

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

Существует три класса задач, которые решает техническая документация:

1. Описать наши требования к системе и принятые решения

2. Описать текущее состояние системы

3. Объяснить пользователю, как работать (\разворачивать\эксплуатировать) с системой.

Первый тип документации — наши требования к системе. В эпоху LLM, кодогенерации и декларативного подхода к описанию инфраструктуры, мы будем вести требования так, чтобы система, там где это возможно, сама собиралась из них. Поэтому документация первого типа потребует высокого аудита качества. Ревью изменений, совместная работа, ведение версий, с возможностью отката, автоматическая сборка. Все то, что присуще подходу Docs as Code.

Второй тип документации — описание текущего состояния системы. Так как мы не хотим разрыва между описанием системы и самой системой, мы будем пытаться генерировать человеко-читаемое описание из кода и конфигурации. Назовем этот подход Code as Docs.

Третий тип — различные виды пользовательской документации. Эту форму документации мы постараемся минимизировать, сделав понятным наши интерфейсы и встроив подсказки прямо в процесс работы пользователя с системой. Назовем это подходом No Docs.

На этом можно было бы и закончить, но пройдемся подробнее по каждому пункту.

Читать далее

Собираем OpenWRT прошивку и ImageBuilder для нестандартного оборудования на основе dts

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

Привет Хабр! Меня зовут Алексей и я занимаюсь беспроводными технологиями. Не так давно я рассказывал, как собрать прошивку OpenWRT без image builder. В этой статье мы повысим планку и попробуем собрать и прошивку, и image builder для модели роутера с частичной поддержкой OpenWRT. Под частичной поддержкой я понимаю то, что для данной конкретной модели роутера поддержки нет, но она есть для платформы. Экспериментировать я буду с реальным устройством - это Wi-Fi 7 роутер, полученный от китайского производителя. Вместе с роутером производитель предоставил нам необходимую документацию и DTS файл. Заранее хочу предупредить, что производитель просил не раскрывать название модели и не тиражировать его DTS файл. Поэтому часть информации на скриншотах я заблюрирую.

Читать далее

Reactive Web Components: реактивность без фреймворка

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

После работы с React/Vue/Angular захотелось вернуться к основам, но с современными возможностями. Сделал RWC — библиотеку реактивных веб-компонентов.

Ключевые преимущества:
• Совместимость — компоненты работают в любом проекте
• Производительность (сигналы для реактивности) — точечные обновления DOM
• Простота — минимальный API, легко обучать команду
• TypeScript-first — типизация из коробки без костылей

Компоненты, написанные на RWC, можно встроить в React, Vue, Angular или даже legacy jQuery-проект. Никакого vendor lock-in.

Библиотека весит <10KB, компоненты работают в любом проекте.

Читать далее

Docker для самых маленьких: упаковываем Python-бота за 10 минут

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

Хватит запускать ботов кнопкой Run в PyCharm! Пора осваивать промышленные стандарты.
В этом туториале я простым языком объясняю, как работает Docker и зачем он нужен Python-разработчику. Мы возьмем простого Telegram-бота, напишем для него конфиг, настроим .dockerignore и запустим в изолированном контейнере. Идеально для тех, кто давно хотел разобраться с Докером, но боялся сложных инструкций.

Читать далее

Sipeed NanoKVM: что умеет крохотный кубик RISC-V для удаленного управления компьютером

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

Есть такой класс гаджетов, который не нужен рядовому потребителю. Большинство, вероятно, даже не знает об их существовании. Речь, разумеется, об IP-KVM, предоставляющих доступ к устройствам ввода-вывода. Собственно, аббревиатура KVM расшифровывается как Keyboard Video Mouse. Главная задача — дать удаленный доступ по сети без использования средств операционной системы.

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

Читать далее

PPP-over-HTTP/2: развлекаемся с dumbproxy и pppd

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

В этой статье рассказано как подружить pppd и dumbproxy, получив в итоге PPP-тоннель внутри HTTP/2. Её можно одновременно рассматривать как руководство по настройке, журнал эксперимента, демо возможностей dumbproxy и просто пищу для удовлетворения любопытства.

Читать далее

Простой Python, автоматический Spark: минус Kubernetes, плюс продуктивность

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

Установка и эксплуатация приложений Spark в облаке зачастую становятся препятствием для дата-инженеров (Data Engineer, DE): сложная работа с Helm-конфигурациями отвлекает внимание от анализа данных и замедляет подготовку среды. Но полностью отказываться от Spark зачастую нерационально, поэтому многие команды стремятся найти свое решение для обхода существующих сложностей.

Привет, Хабр. Меня зовут Юрий Орлов. Я руководитель команды разработки ML Platform в VK Tech. В этой статье я расскажу о том, как мы автоматизировали развертывание Spark в облаке и создали клиент на Python, который снижает требования к знаниям в области DevOps и Kubernetes, необходимым для начала работы со Spark.

Читать далее

Ищем ошибку в работе WiFi у платы ESP32-C3 SuperMini

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

Статья о небольшой эпопее с поиском ошибки в работе WiFi на плате ESP32-C3 SuperMini, с которой пришлось разбираться в процессе отладки кода прошивки для контроллера батареи АКБ (О контроллере батареи ИБП (вопрос к читателям Хабра) и О контроллере батареи ИБП (часть 2)).

Симптоматика проблемы с WiFi следующая: после включения питания и начала авторизации по WiFi плата ESP32-C3 SuperMini через какое-то время зависает, вплоть до срабатывания сторожевого таймера. Поиск решения проблемы в интернете не помог, но было замечено, что в эти моменты на плате очень сильно нагревается стабилизатор напряжения 3.3V, да так, что даже рука не терпит, тогда как при работе тестовых примеров (где WiFi работает нормально) такого эффекта не наблюдается.

Из-за этого решил копать именно в этом направлении.

Читать далее

SDR с высочайшим соотношением цены и качества за 75 долларов: Распаковка и всестороннее тестирование PLUTOSDR NANO

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

Плата разработки программно-определяемого радио (SDR) PLUTOSDR NANO (далее именуемая SDR) является производной от ADALM-PLUTO, выпускаемой Analog Devices. Оба устройства используют комплексное проектное решение на основе радиочастотного трансивера AD9363 и ПЛИС ZYNQ7010, представляя собой мощные устройства программно-определяемого радио, которые могут предоставить пользователям широкий частотный диапазон и мощные вычислительные возможности. Ниже приведено краткое руководство по быстрому тестированию после распаковки, включающее этапы: проверка при распаковке, подключение устройства, тестирование основных функций и тестирование функций связи.

Читать далее

Как я перестал бояться GUI-тестов и научился их любить (почти)

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

В феврале этого года я [писал на Хабре](https://habr.com/ru/articles/883590/) про автоматизацию тестов для САПР. Мы делали систему с записью действий в JSON и воспроизведением через pyautogui. Работало. Но только для одного конкретного проекта.

С тех пор фреймворк вырос. Сильно. Из узкоспециализированного решения для промышленного ПО превратился в универсальный инструмент. Теперь работает с чем угодно - офисные пакеты, банковские клиенты, CAD-системы.

Что изменилось? Убрал привязку к конкретному софту. Добавил умный поиск элементов вместо тупых координат. Сделал так, чтобы QA мог записать тест без единой строки кода. Прикрутил UI-ассерты, мониторинг системы, файловые проверки.

Короче, то что начиналось как решение для одной задачи, выросло в полноценный фреймворк. И оказалось полезным не только мне.

Читать далее

Мультитул для инженера: волшебная коробочка с I2C/SPI/UART/JTAG за 1.000 рублей

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

Будучи творческим человеком и техногиком, я обожаю при первой возможности апгрейдить своё оборудование. Время от времени я мониторю маркетплейсы в поисках чего-то новенького и в этот раз я наткнулся на настоящий мультитул для Embedded-разработчика — контроллер I2C/SPI/UART/JTAG в одной коробочке и всё это всего за 1.000 рублей... Конечно я не смог пройти мимо этой штучки и в рамках сегодняшней статьи хочу рассказать что оно из себя представляет и как с ним работать. Жду вас под катом!

Читать далее

Настройка счетчика коммунальных услуг через веб интерфейс Home assistant (HA)

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


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

Общая концепция снимания показаний с счетчика коммунальных услуг:

Читать далее

Автоматизация без кода: как я собрал своих AI-агентов за пару вечеров

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

Если вы, как и я, тратите часы на сортировку резюме или сбор задач по разным доскам — добро пожаловать. Я расскажу, как за пару вечеров собрал AI-агентов, которые делают эти, и другие задачи, за меня. Без магии — просто Make, n8n и немного здравого смысла.

Привет, Хабр! Меня зовут Василий Соломкин, я младший руководитель проектов в IBS. Управляю проектами разного профиля: 
нагрузочное тестирование, DevOps, внутренние проекты по разработке, юзабилити-тестирование и другие. Последние полгода активно изучаю искусственный интеллект, в первую очередь чтобы облегчить себе жизнь и оставить рутину за кадром. В этой статье расскажу про новое ответвление нейросетей — AI-агентов — и покажу собственные рабочие кейсы по автоматизации задач с их помощью. Сразу отмечу, что это именно мои кейсы — я разрабатывал их специально под свои задачи, и далеко не обязательно они покажутся вам актуальными именно для ваших задач. Но моя цель — показать, что ИИ можно использовать не только в формате чата, а создавать персональные автоматизации. Это просто, быстро и крайне полезно.

Читать далее

λ-исчисление в 30 строк. Реализация лямбда-исчисления

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

Если вы когда-нибудь задумывались о написании своего языка программирования, в особенности функционального, то должны быть в курсе, что лямбда исчисление — это основа всех функциональных языков. Я решил сделать цикл статей, где мы будем реализовывать интересные алгоритмы, используемые в компиляторах, а также различные исчисления. Лямбда‑исчисление — это фундамент, с которого я и предлагаю начать погружение в эту нору.

Читать далее

MQTT + MODBUS + WEB: как DRM88ER решает задачи современного IIoT

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

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

Поэтому, мы решили создать DRM88ER – интернет-реле "Разумный дом", которое решает эту проблему довольно изящно — просто собрав MODBUS, MQTT и WEB в одном устройстве за 14 500 рублей. Посмотрим, что из этого получилось.

Читать далее

Адский эксперимент: личный сайт на нищих микросервисах

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

Микросервисы тут, микросервисы там… Из каждого утюга доносится дивный сказ про прекрасный мир микросервисов. А ведь это всего лишь один вид из десятка архитектурных стилей, который имеет свои достоинства и недостатки.

В этом эксперименте мы внедрим микросервисы в личный сайт, нарушив ключевые принципы DDD. Я создам антипаттерн «бедных сервисов» (Anemic Domain Model) и покажу, чем опасен прямой доступ к данным между микросервисами.

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

Читать далее

Поднимаем внутренний мессенджер и VoIP-сервер без нарушения законодательства

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

Cейчас, когда связь с внешними сервисами работает с перебоями, а самым стабильным международным способом созвониться теперь является, внезапно, Steam, VoIP которого точно не блокируется, возникает резонный вопрос: а как коммуницировать хотя бы в рамках собственной компании? Особенно с учетом того, что Discord давно и надежно заблокирован, Slack с рынка ушел, а популярные публичные мессенджеры замедляются или рискуют отправиться в бан? Решение очевидно: поднимать собственные текстовые и VoIP-сервера, о чем мы и поговорим в статье на примере связки Matrix и Jitsi.

Читать далее

Почему я выбрал Warp, а не Cursor или Claude Code: мои инструменты, MCP, подход и конкретные приёмы разработки с LLM

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

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

Всё благодаря правильной связке инструментов, которые превращают AI в младшего разработчика, архитектора и DevOps одновременно. Делюсь конкретикой: почему терминал лучше IDE для AI-разработки, как управлять контекстом через Rules и MCP, какие модели выбирать для разных задач, и почему фреймворки — ваша защита от галлюцинаций LLM.

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

Информация

В рейтинге
Не участвует
Откуда
Praha, Hlavni Mesto Praha, Чехия
Зарегистрирован
Активность