В предыдущей статье я подключил два мотора к драйверу двигателей L298N. Сам драйвер управлялся с одноплатного компьютера Orange Pi Zero H+ через библиотеку gpiod, написанную на языке Python. Также я использовал avahi-daemon, чтобы задать для динамического IP одноплатника имя хоста, по которому к нему всегда можно обратиться, находясь в локальной сети.
В этом материале я установлю все электрические компоненты на гусеничную платформу. Напишу код для LED, который будет выполнять роль индикации состояния подключения робота. Для этого я спаяю небольшую плату, на которой будут установлены светодиод, резистор на 150 Ом и провода для подключения. В конце статьи робот пройдёт полосу препятствий, что продемонстрирует эффективность софта для управления. Также исправлю некоторые ошибки, обнаруженные в процессе разработки.
Статья будет полезна любителям DIY-проектов и веб-разработчикам, интересующимся фреймворком FastAPI.
Читать далееВсем привет! Меня зовут Михаил — я студент и backend‑разработчик из Ростова‑на‑Дону. С 2021 года я хожу на хакатоны и уже принял участие в 16-ти, многие из которых были выиграны нашей командой. Этой статьей я хочу на собственном примере показать почему хакатоны — это классно и зачем в них участвовать начинающим специалистам.
Читать далее
Привет! На связи Слёрм и Кирилл Казарин, DevOps and SRE global manager в RingCentral Inc. Сегодня мы немного рассмотрим мир минималистичных дистрибутивов Linux.
Наша цель — разобраться, какие из них лучше всего подходят для систем, работающих в режиме 24/7/365, с повышенными требованиями к отказоустойчивости, например: встраиваемые устройства, edge-вычисления, контейнерные хосты, сетевые шлюзы и просто о легковесные сервера. Ключевые требования к таким системам: быстрый старт, минимальный след на диске, и, что критически важно, устойчивость к внезапному отключению питания.
Читать далееПривет! Меня зовут Лиза — я аналитик по информационной безопасности в направлении внедрения Naumen Contact Center. В Naumen я работаю около трех лет.
Одна из важных задач, с которой мне постоянно приходится сталкиваться — проработка решений по регистрации событий информационной безопасности и интеграция с SIEM‑системами заказчика. В этой статье мой личный опыт с примерами реальных кейсов и нормативных документов, с которыми сталкиваюсь.
Читать далееС 13 по 17 октября Дубай снова стал тех-точкой притяжения. GITEX Global обновил планку: 6800+ компаний, около 2000 стартапов, делегации из 180 стран. 45-й выпуск прошёл под знаком ИИ и киберустойчивости.
Мы с командой Хайстекс провели на площадке два дня. Про первый уже писала тут, а во второй я постаралась сфокусироваться на бэкапе, DR и всём, что касается устойчивости и непрерывности ИТ-инфраструктуры. Под катом про то, куда двигаются лидеры, какие решения показали и что из этого ложится на наш локальный рынок.
Читать далееПредстоящий релиз Valkey 9.0 несёт в себе значительные улучшения в отказоустойчивости больших кластеров, позволяя масштабироваться до 2000 узлов и достигать производительности свыше 1 миллиарда запросов в секунду, и всё это с гарантированно ограниченным временем восстановления. В этой статье мы рассмотрим, как работает система кластеризации Valkey, а также архитектурные усовершенствования и тщательное тестирование, которые сделали возможным такой уровень масштабирования.
Читать далееГде-то раз в месяц на Хабре выходит статья о том, какие зумеры ленивые, неисполнительные, необязательные и не возвращающиеся с обедов. В комментариях хабравчане хватаются за «и вот к ним перейдет наше легаси?!».
Понимаю ваше опасения. И я знакомом с ровесниками, работать с которыми малоприятное занятие. Но разве вы не знаете таких среди ваших ровесников? Может, дело в глобальных трендах? Я решил немного разобраться, чтобы узнать, откуда взялись эти стереотипы и так ли все страшно на самом деле. Все ссылки будут в конце, но вот спойлер: да, все так страшно.
Привет, Хабр! Задумывались ли вы о том, почему вдруг пропали скамеры со своими «Авито 2.0»? Нет? А мы всё равно расскажем!
Читать далееЕсли у вашего приложения 2–3 установки в день и кажется, что «ниша не та» — скорее всего, дело не в нише, а в том, что про вас просто никто не знает. В этой статье коротко и по делу расскажу о том, что такое ASO (App Store Optimization) и почему без него ваше даже классное приложение никто не найдёт.
Разбираемся, зачем оно нужно инди‑разработчикам, как это работает и с чего вообще начать — без формул, понятий и лишней воды. На пальцах.
Читать далееМеня зовут Витя, в Selectel я работаю проектировщиком интерфейсов. В нашей команде анализом решений, связанных с пользовательским образом, занимается дизайнер. Такой подход позволяет быть ближе к пользователям и проектировать сценарии взаимодействия, продумывая метрики, на которые мы будем смотреть в перспективе, и оценивать их эффективность. Возможно, вы читали мои статьи и знаете, как мы используем PostHog в работе.
За долгую практику работы с сервисом накопилось большое количество кейсов, когда PostHog помогал мне получать и обрабатывать данные. Хочу поделиться знаниями с начинающими дизайнерами, аналитиками и продактами.
Читать далееКонец 1960-х. Пассажиры в салоне реактивного лайнера раскуривают сигары (тогда это было нормой), а пилоты неторопливо выводят самолет на эшелон. Керосин стоит копейки, расписания не такие напряженные, никто не заметит лишние пять минут в пути. В то время скорость была символом прогресса: Concorde летал быстрее звука, сокращая полет из Парижа в Нью-Йорк на целых три часа (пусть и за астрономическую цену билета). В эпоху реактивного романтизма мало кто задумывался об экономии секунд.
Перенесемся в настоящее. Авиационное топливо нынче на вес золота, а конкуренция заставляет авиакомпании выжимать эффективность из каждого рейса. Времена, когда можно было лететь что есть мочи не думая о расходах, прошли. Сегодня каждая секунда в полете это деньги: либо потраченные, либо сэкономленные. Речь буквально о стоимости каждой минуты работы двигателей, зарплаты экипажа и амортизации самолета.
Например, всего пара лишних минут в воздухе на каждом рейсе способны вылиться в десятки миллионов долларов дополнительных затрат в год.
ding!Приручить это не одомашнить. Одомашнить, это когда зверь становится минимально агрессивным всю жизнь и рождаются от него такие же не агрессивные животные. Его как минимум можно гонять из пункта А в пункт Б, без ружья и вил. Скажем коровы не совсем и ручные, особенно постоянно пасущиеся, но одомашненные. Например пасти и гонять собачками стадо зебр или гну просто невозможно. Тоже самое лошади — они часто не ручные, но одомашненные. Если просто взять щенка волка или лисы из леса, то первый месяц он может быть даже добренький, а потом дикость ( которая есть выражение регуляции генов ) полезет буквально из пасти, он вас грызть начнёт, выть, биться об стенки, в общем вы поймёте что он не приемлем для жизни среди людей. Иногда дикие волчата до полового созревания туда‑сюда, приемлемы. Но после всё — суши воду, расплетай канаты, зверь есть зверь и может даже тебя сожрать.
Эксперимент с одомашниванием лис мягко говоря известный, но не все факты на широкую аудиторию вышли. Современные генетики всё таки нарыли способы как одновременно получать красивую, пушистую лису и не злобную. У Беляева с 1959 года получилось сделать лис добрыми, но тут же просело качество меха, а заодно он не смог даже к 1985 гарантированно получать по 2 сезона размножения от лис, хотя были планы выйти на уровень размножения собак. Дикие лисы размножаются строго 1 раз в год, включая всех лис содержащихся на фермах. Современная генетика за три десятка лет с 1980х, баг почти исправила. Почти, не не все баги и не полностью.
У Дмитрия Беляева в 1950-х был со всех сторон СССР, а значит отпадал вопрос в той же звероферме. В СССР это дело было связано с колхозами и значит не реагировало на понятие — выгодно‑не выгодно. Сегодня ему б никто не выдал такие ресурсы. А тогда ферма в Эстонии — 60 гектаров, 1500 чернобурок и вот готов первый опыт отбора лис. Важность меховой продукции была такой, что в Москве существовал отдельный — Московский пушно‑меховой институт, 1929 — 1954. Мех тех же чернобурок шёл на экспорт, это валюта. В общем на этой звероферме Беляев познакомился с будущими коллегами по одомашниванию, присмотрелся к проблемам, приметил нужный способ проверки животных, которых можно размножать.
Читать далееВсе смотрят на Илона Маска, а зря. Китайский сверхтяж CZ-9 — это спящий гигант. В этом посте — не фантазии, а готовые инженерные решения: супер-лёгкие баки, двигатель с рекордной мощностью и умная посадка без копирования SpaceX. Смотрите в этой статье, как Поднебесная может совершить рывок и оставить всех позади.
Читать далее«Надо думать на английском!»
«Как только начнёшь думать на английском, сразу заговоришь!»
«Перестань переводить в голове, просто думай на нём!»
Сколько раз ты слышал эти советы от блогеров, репетиторов и даже от своих друзей, которые «уже в теме»? А сколько раз сам пытался привить себе эту мысль?
Читать далее2ГИС Ситискан — это мобильное приложение для автоматизированной съёмки городской среды. Оно устанавливается на смартфон, закреплённый в автомобиле, и во время движения делает снимки, собирает координаты, скорость и другие параметры. Эти данные обрабатываются с помощью ИИ, чтобы находить проблемы в инфраструктуре: ямы, мусор, повреждённые объекты и другое.
Одна из ключевых задач приложения — снимать изображения с высокой частотой, особенно при объездах сложных участков. Но на практике оказалось, что стандартный метод съёмки takePicture во Flutter может занимать до 3 секунд на один кадр. Это делает невозможной съёмку даже 1 кадра в секунду, не говоря уже о 4 кадрах, которые нам нужны для точного анализа.
В этой статье мы — Руслан Цицер и Арген Жукеев @zhukeev— расскажем, как исследовали узкие места, перепробовали разные подходы — от RepaintBoundary до нативной обработки на C и Java — и в итоге добились стабильной съёмки с минимальной задержкой. Наш кейс будет полезен Flutter-разработчикам, которым необходима высокая частота съёмки (до 4 fps и выше) для своих приложений и инженерам в области компьютерного зрения и машинного обучения или разработчики AR/VR-решений на Flutter, где важны каждая миллисекунда и каждый пиксель.
Читать далееВсем привет! Меня зовут Анастасия Козлова, я Senior BI Analyst в маркетинге Skyeng. Сегодня хочу рассказать, как мы научились справедливо оценивать вклад каждого рекламного канала с помощью кастомной мультиканальной модели атрибуции, что нас к этому подтолкнуло и как мы её настроили технически.
Читать далееЗнаете ли вы, что у микропроцессоров существуют памяти, которые могут ответить на вопрос: «А нет ли внутри тебя информации, похожей на вот эту?» То есть они не просто запоминают, что им «скажут», и выдают ранее записанное, но еще и умеют сопоставлять свое содержимое с запросом извне. Как в каждой большой дружеской компании есть товарищ, у которого на любую тему найдется подходящий анекдот или мем.
Читать далееЗа последние пару лет в интерфейсах появился новый паттерн — ✨. Магическая искорка сигналит, что здесь работает ИИ. Но с маркировкой сгенерированного контента всё сложнее. Нет единого стандарта: кто-то прячет информацию, кто-то показывает крупный дисклеймер, кто-то вообще не маркирует. Я столкнулась с подобной задачей в Контуре.
Читать далееТуман в голове и провалы в памяти — это не просто усталость. Возможно, прямо сейчас в нашем мозге тлеет пожар, и топливом для него становятся «полезные» углеводы! В новой статье о том, почему Альцгеймер некоторые называют «диабетом 3-го типа».
Читать далееNexign (ex. Петер-Сервис)
С 2019 года занимался проектированием и реализацией инфраструктурного компонента биллинг-контура, который являлся «enabler‑ом» bpm‑сценариев, написанных на apache camel. Из технологий: микросервисная архитектура на Java + Spring + Akka Actors, в качестве базы данных использовали Oracle + PL/SQL для чистки партиций, брокер rabbitmq. Проектировали в терминах DDD, Event Sourcing. Система обслуживала биллинг мобильного оператора «Мегафон».
Yandex FinTech
В феврале 2022 года мой близкий знакомый, уже работавший в инфраструктурной команде Яндекс Финтеха, убедил меня попробовать свои силы в доменной области финансовых организаций и рефнул меня. Подготовившись к алгоритмическим секциям через прорешивание задачек из раздела «yandex» на leetcode, я отправился проходить секции. Было два этапа алгоритмов и один этап архитектурной секции. В результате, чуть поторговавшись относительно грейда, который мне присуждают, меня приняли на работу в команду клиентского досье, где я участвовал в разработке сервисов для хранения и проверки персональных данных клиентов банка, а также идентификации новых клиентов через портал «Госуслуги». Параллельно с работой над клиентским досье переключался в трек «Логистической платформы», где допилил текущее состояние кодовой базы до тестового запуска и внедрения в эксплуатацию базовых сценариев заказа пластика/документов на подписание через контрагента в лице логистической компании. Из технологий: микросервисы на kotlin + spring boot + очередь stq для async запуска bpm‑сценариев, в качестве баз данных использовали Postgresql и YDB.
Читать далее