Коротко:
Мы разработали систему для автоматического определения набора тестов на основе git diff. Связали модули проекта с бизнес-фичами через трассировку выполнения кода во время тестов. Теперь любой релиз можно оценить на достаточность покрытия e2e-тестами. Решили вопрос селективного запуска на всех уровнях пирамиды тестирования. Что важно — маппинг tests->feature->files создаётся и поддерживается автоматически при поддержке тестов, без дополнительной ручной работы.
Задача этой статьи предоставить Вам сухие факты о двух материалах, которые мы используем в своем производстве. Понимая характеристики и сопоставляя их с требованиями Вашего проекта выбор будет сделать проще.
Для тех, кто возможно не знает, гибкие печатные платы - это многослойная структура, которая состоит из основания (базового материала), адгезивов, проводящего и защитного слоя (в некоторых решениях материалы используются без защитного и адгезивного слоя), она тонкая и гибкая.Такая конструкция позволяет осуществлять монтаж в труднодоступных местах и использовать печатные платы в качестве гибких соединителей..
Гибкие печатные платы (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).
- Сложность монтажа из-за гибкости.
Применение:
· Мобильные устройства (смартфоны, планшеты).
Читать далееКогда начинал разработку системы многомерного анализа данных временных рядов Dimension-UI, для внедрения зависимостей в исходном коде решил использовать Dagger 2. Практический опыт показал, что для приложений с большим количеством динамически создаваемых объектов инверсия зависимостей, реализованная в Dagger 2, не подходит.
Да, создание графа зависимостей в compile-time — это, во-первых, очень быстро, и, во-вторых, удобно: получаешь сообщения об ошибках конфигурации уже при компиляции.
Но накладные расходы на сопровождение всего этого хозяйства – прямо скажем, это боль.
Чтобы реализовать scope-зависимости, приходится писать и поддерживать много инфраструктурного кода внутри объектов, куда мы внедряем зависимости. В Dagger 2 такая реализация, во-первых, «загрязняет» код, а во-вторых, серьезно осложняет тестирование. Изолировать методы удобным способом не получается: в тестах нужно писать очень много кода, чтобы прокинуть необходимый контекст и корректно мокировать внешние зависимости. Я туда просто не полез — покрывал unit- и UI-тестами только базовую функциональность, где были Singleton-зависимости.
Даже с одними Singleton’ами приходится поднимать отдельную тестовую инфраструктуру для запуска приложения в тестовом режиме. Это не просто неудобно — это очень затратно по времени. Если сравнить усилия, которые надо потратить на реализацию тестирования подобного функционала в Spring и Dagger… Сравнение будет не в пользу Dagger. В целом я начал думать о переходе на runtime-генерацию графа зависимостей.
Читать далееВ этой статье я расскажу вам, как наша команда - "жыбий рыр" участвовала в хакатоне от DDOS-GUARD
Рассмотрим, какой кейс мы выбрали, покажу, к какой реализации пришли и покажу наше решение, а в конце подведем итоги
Читать далееДата-центры растут быстрее, чем энергетика успевает за ними. Особенно это актуально для ИИ-отрасли, где обучение моделей требует постоянных мощностей и бесперебойного питания. Возобновляемые источники не дают нужной стабильности, а городские сети часто работают на пределе. Amazon решила развивать собственную генерацию и сделать ставку на атомную энергию, чтобы дата-центры не зависели от внешних поставщиков. Для этого компания использует малые модульные реакторы. Их производят на заводах и монтируют на месте за месяцы вместо лет. Первый такой проект под названием Cascade Advanced Energy Facility появится в Вашингтоне — о нем сегодня и поговорим.
Читать далееПредставьте, что курьерские доставки добрались до клеточного уровня.
Мы живём в мире, где еду привозят за полчаса, а покупки на следующий день. А что если доставлять лекарства прямо внутри организма, отправляя их точно по адресу, скажем, в труднодоступный уголок человеческого тела? Звучит необычно и на первый взгляд кажется нереальным. Но недавнее научное исследование показывает, что это не такая уж и фантастика. Учёные научились превращать обычные сперматозоиды в миниатюрных биороботов, которыми можно управлять снаружи с помощью магнитного поля и даже видеть их на рентгене. Такой вот управляемый биоробот.
Статья подготовлена на основе научной публикации.
Читать далееМеня зовут Саша Шилкин, я работаю в Yandex Infrastructure и занимаюсь автоматизацией сети. Сегодня расскажу про обновление конфигурации сетевых устройств и про то, как мы его делаем в нашей команде: как начинали, как менялась конфигурация, какие для этого были предпосылки.
Мы уже рассказывали о задаче автоматического обновления конфигурации на масштабах сети всего Яндекса. В своей статье я поделюсь опытом, как мы решаем эту задачу именно для облачной платформы. Мы обращаемся к накопленному опыту коллег, однако наши сети хоть и похожие, но отличаются в некоторых местах, особенно процессно.
Все инструменты, о которых пойдёт речь, выложены в опенсорс. Если у вас возникнет желание попробовать то, о чём я рассказываю, многое вы сможете повторить самостоятельно. Ну и поскольку в каких‑то деталях наша адаптация инструментов имеет свои особенности — мой рассказ будет интересен всем, кто хочет внедрить ту самую Аннушку из опенсорса с учётом своей ситуации.
Статья написана по материалам моего выступления на nexthop, конференции по сетевым технологиям, — с небольшими дополнениями, которые произошли за год.
В этом году на nexthop 2025 я также расскажу об автоматизации масштабируемой сети для BareMetal‑серверов — так что, если эта тема интересна, заглядывайте к нам 19 ноября.
Читать далееХраните десятки копий одного файла?
Dedupler — Laravel-пакет, который автоматически предотвращает дубликаты через SHA-1 хеширование. Экономит место, ускоряет бэкапы, предоставляет REST API, одобрен Laravel News.
Рассказываю про возможности, производительность и миграцию legacy-проектов.
Сколько можно сэкономить?Компактный ноутбук, который будет удобен для работы или для учебы – это 13-14 дюймовка. Я больше склоняюсь к современным 14 дюймовым моделям, так как они спокойно помещаются и в небольшие сумки, и вполне себе легкие. Ультрабук Ninkear S14 не стал исключением - это доступный вариант массой всего 1 кг, с USB-C PD 65W зарядкой, и базирующийся на процессоре R5-7535HS. В обзоре будет разборка и основные тесты.
Читать далееMobile System Design — один из ключевых навыков мобильного инженера.
Именно он часто определяет уровень зрелости: в реальной работе, на собеседованиях и в матрицах компетенций компаний.
Но вокруг этой темы полно разночтений и разных трактовок — отсюда споры, путаница и хаос.
В этой статье я систематизирую Mobile System Design как дисциплину: покажу, какие навыки действительно важны и как они проверяются. Это не личное мнение, а выжимка из опыта инженеров, требований собеседований, литературы и практики команд.
Читать далееВ конце октября мир облетела новость: исследователи Google впервые запустили на квантовом компьютере так называемый «проверяемый алгоритм». Но что скрывается за этой громкой формулировкой? Компания заявляет, что вычисления заняли на их устройстве в 13 тысяч раз меньше времени, чем потребовалось бы лучшему суперкомпьютеру классической архитектуры. В Google видят в этом ключ к решению практических задач, например, моделирования новых химических соединений. Однако за этим утверждением стоит целый ряд вопросов. Что такое «проверяемый алгоритм» и почему акцент сделан именно на этом? В чем суть расчетов и чем этот прорыв отличается от предыдущего заявления о «квантовом превосходстве», прозвучавшего несколько лет назад?
Читать далееПервый Docker-образ для моего Go-приложения весил 1.92 GB. Для микросервиса на 100 строк — абсурдно. Решил разобраться, куда именно уходит место и как добиться максимально лёгкого образа.
Читать далееВ соцсетях сидят все, от мала до велика. Причем входной порог постепенно снижается: дети, которым сейчас 8-11 лет, стали интернет-пользователями в 6-7 лет, а малыши 5-7 лет освоили этот навык в свои 4-5 лет.
Читать далееВзгляд на интеграцию ИИ в программирование от опытного программиста (миллион строк кода я, наверное, написал за всю жизнь). Текст писал я сам, это не мусор от GPT, ИИ здесь только исправил ошибки.
Если дать этот текст ИИ на фактчек, то он может как полностью подтвердить мою статью кучей проверенных фактов, так и полностью опровергнуть, и тоже с кучей фактов, т.е. по сути будет заниматься черри-пикингом - всё зависит от формулировки вопроса. И где же тогда правда? Правда, я думаю, у тех, кто в этой среде годами работает и получает много опыта как разработки с ИИ, так и без него. Т.е. имеет хоть какие-то экспертные знания. В этой статье мнение одного из таких людей. Мнения одного человека, конечно, мало, нужно обобщать опыт сотен людей из разных сфер программирования. Я вношу в это обобщение свой небольшой вклад.
В череде серых офисных будней возникла насущная проблема. Есть сканы договоров, содержащие адреса пунктов (заправок) в табличной форме. Необходимо занести названия и адреса в базу, добавив геоданные. Можно сделать вручную, но это не наш метод. На дворе XXI век, автоматизация, да и простую лень никто не отменял. Бесплатные OCR распознаватели справляются плохо, особенно с таблицами, платные — не пробовал, жаба бухгалтер не позволяет. Что же делать? И тут Qwen спешит на помощь! Скормил лист — вроде неплохо, вот оно счастье! Ан нет, опять «эмпирический опыт». Давайте посмотрим, что получилось, и с какими «когнитивными искажениями» пришлось столкнуться.
Читать далееВсем привет!
В данной статье я хочу Вам рассказать про датчик HEDR(от компании avago technologies) - это двухканальный инкрементальный оптический датчик, предназначен для измерения пройденного пути, линейной скорости, угловой скорости и направлении вращения вала.
С помощью данного датчика будет реализован энкодер на базе микроконтроллера STM32, который будет производить вычисление пройденного пути.
Будет рассмотрено:
Принцип работы датчика HEDR-5420-ES214;
Схема подключения к микроконтроллеру STM32;
Программная реализация (расчет пройденного пути и вывод информации на дисплей).
Читать далееДва новых линта в Dart 3.9:
1. switch_on_type, чтобы сделать switch по типу переменной безопасным.
2. unnecessary_unawaited, чтобы избавиться от unawaited, которые стали ненужными.
Читать далееВ октябре 2025 года информационная служба Хабра выпустила 1005 публикаций (995 новостей и постов, 12 лонгридов и 38 переводов). В этом дайджесте представлены лучшие технические новости, переводы и лонгриды (отдельные большие публикации) инфослужбы Хабра, согласно оценкам пользователей.
Читать далееЭта статья была написана мной и опубликована в отраслевом научном журнале более четверти века назад, когда я работал в головном НИИ железнодорожной отрасли (ВНИИЖТ МПС) в должности заместителя заведующего лабораторией и занимался вопросами научно-методического обеспечения задач управления производственными процессами путевого хозяйства железных дорог России, автоматизацией функций и применением информационных технологий для нужд путевого хозяйства.
В статье рассматриваются вопросы управления техническим состоянием объектов путевого хозяйства с применением информационных технологий.
Читать статьюПомните, как начинал свой день Евгений Онегин? Смартфона у него не было, поэтому посты друзей он получал в виде записочек: «Три дома на вечер зовут — там будет бал, там детский праздник», — и прикидывал, как бы ничего не пропустить. Но автор спешит нас успокоить: «С кого начнет он? Все равно: везде поспеть немудрено».
Читать далее