Feed aggregator

Автоматическая регрессия по git-diff. Как мы связали код, фичи и тесты, открыв путь к Continuous Delivery (Full)

Habr.com - 1 hour 42 min ago

Коротко:
Мы разработали систему для автоматического определения набора тестов на основе git diff. Связали модули проекта с бизнес-фичами через трассировку выполнения кода во время тестов. Теперь любой релиз можно оценить на достаточность покрытия e2e-тестами. Решили вопрос селективного запуска на всех уровнях пирамиды тестирования. Что важно — маппинг tests->feature->files создаётся и поддерживается автоматически при поддержке тестов, без дополнительной ручной работы.

Читать весь материал (с примерами)

Гибкие печатные платы на полиимиде или на FR-4 толщиной 0.1 — 02 мм? Что выбрать?

Habr.com - 1 hour 45 min ago

Задача этой статьи предоставить Вам сухие факты о двух материалах, которые мы используем в своем производстве. Понимая характеристики и сопоставляя их с требованиями Вашего проекта выбор будет сделать проще.

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

Гибкие печатные платы (FPC, Flexible Printed Circuits) на основе полиимида и FR4 толщиной 0.1 - 0.2 мм используются в компактных и высоконадежных электронных устройствах. Рассмотрим их особенности, сравнение и применение.

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

О сильных и слабых сторонах 2х материалов ниже.

1. Гибкие печатные платы на полиимиде (PI)

Толщина: 0.1 - 0.2 мм (чаще всего 0.1 - 0.15 мм)

Материалы:

· Основа: полиимидная пленка (Kapton, Upilex).

· Проводники: медь (обычная или с адгезионным слоем).

· Покрытие: полиимидный или жидкий фоторезист (LPI).

Преимущества:
- Высокая гибкость и устойчивость к изгибам.
- Рабочий диапазон температур: от -60°C до +250°C.
- Химическая стойкость.
- Малый вес и толщина.

Недостатки:
- Высокая стоимость (по сравнению с FR4).
- Сложность монтажа из-за гибкости.

Применение:

· Мобильные устройства (смартфоны, планшеты).

Читать далее

Компактный runtime-DI для Java: JSR-330, Class-File API и миграция за 2 дня

Habr.com - 1 hour 49 min ago

Когда начинал разработку системы многомерного анализа данных временных рядов Dimension-UI, для внедрения зависимостей в исходном коде решил использовать Dagger 2. Практический опыт показал, что для приложений с большим количеством динамически создаваемых объектов инверсия зависимостей, реализованная в Dagger 2, не подходит.

Да, создание графа зависимостей в compile-time — это, во-первых, очень быстро, и, во-вторых, удобно: получаешь сообщения об ошибках конфигурации уже при компиляции.

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

Чтобы реализовать scope-зависимости, приходится писать и поддерживать много инфраструктурного кода внутри объектов, куда мы внедряем зависимости. В Dagger 2 такая реализация, во-первых, «загрязняет» код, а во-вторых, серьезно осложняет тестирование. Изолировать методы удобным способом не получается: в тестах нужно писать очень много кода, чтобы прокинуть необходимый контекст и корректно мокировать внешние зависимости. Я туда просто не полез — покрывал unit- и UI-тестами только базовую функциональность, где были Singleton-зависимости.

Даже с одними Singleton’ами приходится поднимать отдельную тестовую инфраструктуру для запуска приложения в тестовом режиме. Это не просто неудобно — это очень затратно по времени. Если сравнить усилия, которые надо потратить на реализацию тестирования подобного функционала в Spring и Dagger… Сравнение будет не в пользу Dagger. В целом я начал думать о переходе на runtime-генерацию графа зависимостей.

Читать далее

Как «жыбий рыр» кейс делал

Habr.com - 1 hour 50 min ago

В этой статье я расскажу вам, как наша команда - "жыбий рыр" участвовала в хакатоне от DDOS-GUARD

Рассмотрим, какой кейс мы выбрали, покажу, к какой реализации пришли и покажу наше решение, а в конце подведем итоги

Читать далее

Amazon переводит ИИ на энергию атома: как модульные реакторы меняют дата-центры

Habr.com - 1 hour 50 min ago

Дата-центры растут быстрее, чем энергетика успевает за ними. Особенно это актуально для ИИ-отрасли, где обучение моделей требует постоянных мощностей и бесперебойного питания. Возобновляемые источники не дают нужной стабильности, а городские сети часто работают на пределе. Amazon решила развивать собственную генерацию и сделать ставку на атомную энергию, чтобы дата-центры не зависели от внешних поставщиков. Для этого компания использует малые модульные реакторы. Их производят на заводах и монтируют на месте за месяцы вместо лет. Первый такой проект под названием Cascade Advanced Energy Facility появится в Вашингтоне — о нем сегодня и поговорим. 

Читать далее

Спермоботы атакуют

Habr.com - 1 hour 50 min ago

Представьте, что курьерские доставки добрались до клеточного уровня.

Мы живём в мире, где еду привозят за полчаса, а покупки на следующий день. А что если доставлять лекарства прямо внутри организма, отправляя их точно по адресу, скажем, в труднодоступный уголок человеческого тела? Звучит необычно и на первый взгляд кажется нереальным. Но недавнее научное исследование показывает, что это не такая уж и фантастика. Учёные научились превращать обычные сперматозоиды в миниатюрных биороботов, которыми можно управлять снаружи с помощью магнитного поля и даже видеть их на рентгене. Такой вот управляемый биоробот.

Статья подготовлена на основе научной публикации.

Читать далее

Как мы автоматизировали сеть в облаке и как нам с этим помогла Аннушка

Habr.com - 1 hour 55 min ago

Меня зовут Саша Шилкин, я работаю в Yandex Infrastructure и занимаюсь автоматизацией сети. Сегодня расскажу про обновление конфигурации сетевых устройств и про то, как мы его делаем в нашей команде: как начинали, как менялась конфигурация, какие для этого были предпосылки. 

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

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

Статья написана по материалам моего выступления на nexthop, конференции по сетевым технологиям, — с небольшими дополнениями, которые произошли за год.

В этом году на nexthop 2025 я также расскажу об автоматизации масштабируемой сети для BareMetal‑серверов — так что, если эта тема интересна, заглядывайте к нам 19 ноября.

Читать далее

Борьба с дубликатами файлов в Laravel

Habr.com - 1 hour 55 min ago

Храните десятки копий одного файла?

Dedupler — Laravel-пакет, который автоматически предотвращает дубликаты через SHA-1 хеширование. Экономит место, ускоряет бэкапы, предоставляет REST API, одобрен Laravel News.

Рассказываю про возможности, производительность и миграцию legacy-проектов.

Сколько можно сэкономить?

Что внутри компактного ноутбука Ninkear S14? Разборка и тест модели на базе AMD Ryzen 5-7535HS

Habr.com - 2 hours 5 min ago

Компактный ноутбук, который будет удобен для работы или для учебы – это 13-14 дюймовка. Я больше склоняюсь к современным 14 дюймовым моделям, так как они спокойно помещаются и в небольшие сумки, и вполне себе легкие. Ультрабук Ninkear S14 не стал исключением - это доступный вариант массой всего 1 кг, с USB-C PD 65W зарядкой, и базирующийся на процессоре R5-7535HS. В обзоре будет разборка и основные тесты.

Читать далее

Mobile System Design

Habr.com - 2 hours 13 min ago

Mobile System Design — один из ключевых навыков мобильного инженера.

Именно он часто определяет уровень зрелости: в реальной работе, на собеседованиях и в матрицах компетенций компаний.

Но вокруг этой темы полно разночтений и разных трактовок — отсюда споры, путаница и хаос.

В этой статье я систематизирую Mobile System Design как дисциплину: покажу, какие навыки действительно важны и как они проверяются. Это не личное мнение, а выжимка из опыта инженеров, требований собеседований, литературы и практики команд.

Читать далее

Квантовый прорыв или умелый пиар? Разбираем громкое заявление Google

Habr.com - 2 hours 22 min ago

В конце октября мир облетела новость: исследователи Google впервые запустили на квантовом компьютере так называемый «проверяемый алгоритм». Но что скрывается за этой громкой формулировкой? Компания заявляет, что вычисления заняли на их устройстве в 13 тысяч раз меньше времени, чем потребовалось бы лучшему суперкомпьютеру классической архитектуры. В Google видят в этом ключ к решению практических задач, например, моделирования новых химических соединений. Однако за этим утверждением стоит целый ряд вопросов. Что такое «проверяемый алгоритм» и почему акцент сделан именно на этом? В чем суть расчетов и чем этот прорыв отличается от предыдущего заявления о «квантовом превосходстве», прозвучавшего несколько лет назад?

Читать далее

Как я уменьшил Docker-образ Go-приложения с 1.92 GB до 9 MB

Habr.com - 2 hours 42 min ago

Первый Docker-образ для моего Go-приложения весил 1.92 GB. Для микросервиса на 100 строк — абсурдно. Решил разобраться, куда именно уходит место и как добиться максимально лёгкого образа.

Читать далее

Все возрасты покорны соцсетям, но особенно юные

Habr.com - 2 hours 43 min ago

В соцсетях сидят все, от мала до велика. Причем входной порог постепенно снижается: дети, которым сейчас 8-11 лет, стали интернет-пользователями в 6-7 лет, а малыши 5-7 лет освоили этот навык в свои 4-5 лет.

Читать далее

С появлением ИИ работа опытного программиста стала намного сложнее

Habr.com - 2 hours 55 min ago

Взгляд на интеграцию ИИ в программирование от опытного программиста (миллион строк кода я, наверное, написал за всю жизнь). Текст писал я сам, это не мусор от GPT, ИИ здесь только исправил ошибки.
Если дать этот текст ИИ на фактчек, то он может как полностью подтвердить мою статью кучей проверенных фактов, так и полностью опровергнуть, и тоже с кучей фактов, т.е. по сути будет заниматься черри-пикингом - всё зависит от формулировки вопроса. И где же тогда правда? Правда, я думаю, у тех, кто в этой среде годами работает и получает много опыта как разработки с ИИ, так и без него. Т.е. имеет хоть какие-то экспертные знания. В этой статье мнение одного из таких людей. Мнения одного человека, конечно, мало, нужно обобщать опыт сотен людей из разных сфер программирования. Я вношу в это обобщение свой небольшой вклад.

Читать далее

Эффект Даннинга — Крюгера в нейросети. OCR распознавание текста LLM: доверяй, но проверяй

Habr.com - 3 hours 34 min ago

В череде серых офисных будней возникла насущная проблема. Есть сканы договоров, содержащие адреса пунктов (заправок) в табличной форме. Необходимо занести названия и адреса в базу, добавив геоданные. Можно сделать вручную, но это не наш метод. На дворе XXI век, автоматизация, да и простую лень никто не отменял. Бесплатные OCR распознаватели справляются плохо, особенно с таблицами, платные — не пробовал, жаба  бухгалтер не позволяет. Что же делать? И тут Qwen спешит на помощь! Скормил лист — вроде неплохо, вот оно счастье! Ан нет, опять «эмпирический опыт». Давайте посмотрим, что получилось, и с какими «когнитивными искажениями» пришлось столкнуться.

Читать далее

Энкодер на базе HEDR и STM32

Habr.com - 3 hours 51 min ago

Всем привет!

В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала.
С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути.

Будет рассмотрено:

Принцип работы датчика HEDR-5420-ES214;

Схема подключения к микроконтроллеру STM32;

Программная реализация (расчет пройденного пути и вывод информации на дисплей).

Читать далее

[Перевод] Два новых линта в Dart 3.9

Habr.com - 4 hours 27 min ago

Два новых линта в Dart 3.9:

1. switch_on_type, чтобы сделать switch по типу переменной безопасным.

2. unnecessary_unawaited, чтобы избавиться от unawaited, которые стали ненужными.

Читать далее

Дайджест технических новостей, переводов и лонгридов инфослужбы Хабра за октябрь 2025 года

Habr.com - 4 hours 55 min ago

В октябре 2025 года информационная служба Хабра выпустила 1005 публикаций (995 новостей и постов, 12 лонгридов и 38 переводов). В этом дайджесте представлены лучшие технические новости, переводы и лонгриды (отдельные большие публикации) инфослужбы Хабра, согласно оценкам пользователей.

Читать далее

Управление техническим состоянием объектов путевой инфраструктуры с применением информационных технологий

Habr.com - 6 hours 38 min ago

Эта статья была написана мной и опубликована в отраслевом научном журнале более четверти века назад, когда я работал в головном НИИ железнодорожной отрасли (ВНИИЖТ МПС) в должности заместителя заведующего лабораторией и занимался вопросами научно-методического обеспечения задач управления производственными процессами путевого хозяйства железных дорог России, автоматизацией функций и применением информационных технологий для нужд путевого хозяйства.

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

Читать статью

Везде поспеть стало мудрено: синдром FoMO

Habr.com - 10 hours 18 min ago

Помните, как начинал свой день Евгений Онегин? Смартфона у него не было, поэтому посты друзей он получал в виде записочек: «Три дома на вечер зовут — там будет бал, там детский праздник», — и прикидывал, как бы ничего не пропустить. Но автор спешит нас успокоить: «С кого начнет он? Все равно: везде поспеть немудрено».

Читать далее

Who's online

There are currently 1 user and 9 guests online.
Syndicate content