Pull to refresh
-28
@Polarisruread⁠-⁠only

User

Send message

Глава 2: API-протоколы. Мини-курс API-интерфейсы для самых маленьких

Level of difficultyEasy
Reading time14 min
Views14K

В главе 1 мы разобрались что такое API, и составили представление о двух сторонах, задействованных в API: сервере и клиенте. Разобравшись с тем, кто это делает, мы готовы глубже изучить, как эти две стороны взаимодействуют. В контексте мы сначала рассмотрим человеческую модель общения и сравним ее с компьютерной. После этого мы перейдем к особенностям общего протокола, используемого в API.
В главе 2 мы больше узнаем про протоколы

Структура мини-курса Мини-курс API-интерфейсы для самых маленьких.

Читать далее

Создание анализатора верхнего уровня для логического анализатора Saleae

Level of difficultyMedium
Reading time5 min
Views2K

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

В представляемом материале рассматривается создание своего декодера - анализатора верхнего уровня (HLA).

Зачем?
Например, есть последовательность передаваемых по SPI байт. Стандартно, при правильной настройке, вы увидите значения этих байт. Но, может возникнуть вопрос интерпретации полученных данных.
Декодер может помочь в выводе данных в удобном виде и/или упростить анализ (reverse engineering) неизвестного протокола.

Читать далее

Сделать мобильного робота автономным? Это просто

Level of difficultyEasy
Reading time30 min
Views4.9K

Как отправить робота на автономное патрулирование и научить его «видеть»? Разбираем реальный кейс создания роботизированной системы мониторинга на базе отечественной платформы: выбор оборудования, интеграция ИИ и примеры кода. Делимся опытом, как научить робота собирать данные, обходить препятствия и почему отказались от модной робособаки.

Читать далее

Что такое pytest и как его использовать? Или как новичку начать автоматизировать тестирование?

Level of difficultyEasy
Reading time4 min
Views7.5K

Привет, друзья!

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

Читать далее

Deepseek v3: Как скачать китайскую нейросеть Дипсик AI, все способы

Level of difficultyEasy
Reading time3 min
Views199K

Рассказываю про способы, как можно установить китайскую модель локально и использовать без интернета. Причем так, чтобы работать не через консоль, а через удобный интерфейс чат-бота.

Читать далее

Гравитационные маневры

Level of difficultyMedium
Reading time9 min
Views4.4K

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

Читать далее

Как я оптимизировал свой конвейер CI/CD до выполнения за 60 секунд

Level of difficultyEasy
Reading time9 min
Views5.9K

Как и многие, я храню свой код на GitHub. Пару лет назад я сделал простой пайплайн для сборки, анализа и тестирования моих веб‑приложений и сервисов. Он выполнял свою задачу, и так как это был мой первый опыт по настройке пайплайна CI/CD на GitHub, он сводился к одному шагу.

build (and deploy)

Со временем я стал замечать, что я стараюсь избегать вносить изменения в код. Будучи счастливым обладателем ADHD, я часто замечаю за собой сложность в решении задач с большим количеством препятствий и одним из них стало то, что выполнение пайплайна занимало больше 5 минут. Я коммитил изменения и шел делать кофе, пока пайплайн тестировал и деплоил код. И не всегда возвращался, отвлекаясь на другие вещи.

Я решил для себя, что максимальное количество времени, которое я готов ждать - 1 минута.

Читать далее

Калибровка MEMS Акселерометра [Часть 2]

Level of difficultyEasy
Reading time4 min
Views3.9K

В этом тексте я написал про то какая математика скрыта за алгоритмом калибровки трёх осевого MEMS акселерометров.

Этот текст является продолжением предыдущего текста Геометрия Стенда для Калибровки MEMS Акселерометра.

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

Читать далее

Введение в ПЛИС: Содержание курса

Level of difficultyEasy
Reading time9 min
Views11K

Цикл статей посвящен изучению базовых принципов работы с ПЛИС. Данная статья включает в себя оглавление с ссылками на последующие публикации и введение курса. Последующие статьи будут раскрывать отдельные темы курса, возможно, также появятся вспомогательные статьи по разбору проектных заданий и сборник материалов профессионального уровня.

Читать далее

Нейронные сети (инференс MNIST) на «3-центовом» микроконтроллере

Reading time5 min
Views11K

Вдохновившись на удивление высокой производительностью нейронных сетей и обучением с учётом квантования на микроконтроллере CH32V003, я захотел выяснить, как далеко эту идею можно развить. Насколько можно сжать нейронную сеть с сохранением высокой точности тестов на датасете MNIST? Когда речь идёт о крайне дешёвых микроконтроллерах, сложно предположить что-то более подходящее, чем 8-битные Padauk.

Эти устройства оптимизированы под простейшие и самые дешёвые приложения из доступных. Самая мелкая модель серии, PMS150C, оснащена однократно программируемой памятью в 1024 13-битных слова и 64 байтами RAM — на порядок меньше, чем в CH32V003. Кроме того, эта модель в противоположность намного более мощному набору инструкций RISC-V содержит коммерческий регистр-аккумулятор на основе 8-битной архитектуры.

Возможно ли реализовать механизм инференса MNIST, способный классифицировать рукописные числа, также и на PMS150C?
Читать дальше →

Сам написал, сам погонял: как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?

Level of difficultyMedium
Reading time28 min
Views38K
image

Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам о разработке 3D-игр практически с нуля: рендерер, менеджер ресурсов, загрузка уровней и граф сцены, 3D-звук, ввод и интеграция физического движка. Интересна подробнейшая хаброторная статья о разработке игры с нуля? Тогда добро пожаловать!
Читать дальше →

Сам написал, сам поиграл: как я написал 2D-игру для Android полностью с нуля, весом менее 1мб?

Level of difficultyMedium
Reading time20 min
Views30K
image

Многие программисты так или иначе имеют тягу и интерес к разработке игр. Немалое количество спецов было замечено за написанием маленьких и миленьких игрушек, которые были разработаны за короткое время «just for fun». Большинству разработчиков за счастье взять готовый игровой движок по типу Unity/UE и попытаться создать что-то своё с их помощью, особенно упорные изучают и пытаются что-то сделать в экзотических движках типа Godot/Urho, а совсем прожжённые ребята любят писать игрушки… с нуля. Таковым любителем писать все сам оказался и я. И в один день мне просто захотелось написать что-нибудь прикольное, мобильное и обязательно — двадэшное! В этой статье вы узнаете про: написание производительного 2D-рендерера с нуля на базе OpenGL ES, обработку «сырого» ввода в мобильных играх, организацию архитектуры и игровой логики и адаптация игры под любые устройства. Интересно? Тогда жду вас в статье!
Читать дальше →

Устраняем ошибки USB-Blaster

Level of difficultyEasy
Reading time2 min
Views7.9K

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

Эта заметка для вас, если вы купили самый дешёвый программатор USB Blaster с али-экспресса, и он упорно отказывается работать в вашей ОС.

Читать далее

Как научиться разработке на Python: новый видеокурс Яндекса

Reading time6 min
Views256K
Осенью прошлого года в московском офисе Яндекса прошла первая Школа бэкенд-разработки. Мы сняли занятия на видео и сегодня рады поделиться на Хабре полным видеокурсом Школы. Он позволит вам научиться промышленной разработке на Python. Авторы лекций — опытные разработчики в Яндексе. К каждому видео приложены ссылки на примеры и полезные материалы.

Для изучения курса нужно знать основы Python и понимать, как приложения развёртываются на серверах. Мы ждём, что вы умеете делать запросы к базам данных и знаете, как создаются веб‑приложения, — хотя бы на начальном уровне.
Читать дальше →

Дружим iPhone и ESP32. Часть 1. ESP Arduino Core

Level of difficultyEasy
Reading time8 min
Views4.6K

В данной части статьи я простым языком поведаю вам о том, как написать собственный BLE сервис на микроконтроллере ESP32 для дальнейшего управления непосредственно с iPhone, а так же раскрою пару фишек, благодаря которым вы сохраните себе своё время и нервы.

Читать далее

Конструкторы, деструкторы, операторы — частые практики при программировании на C++

Level of difficultyMedium
Reading time16 min
Views7.8K

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

Читать далее

Data Visualizer — отображение данных с микроконтроллера

Level of difficultyEasy
Reading time5 min
Views12K

Почитав несколько историй о том как программисты передают данные с микроконтроллеров на ПК, с целью их удобного отображения на большом экране (SCADA, LabView), пришло мне в голову рассказать еще об одном способе для этого. Способ не новый, но, похоже, не очень известный. Способ заключается в применении программы Atmel Data Visualizer или ее последователя - MPLAB Data Visualizer.

Это должен быть пост, а не обзор

Пишем «Hello, World!» на Си для OpenWRT

Level of difficultyMedium
Reading time3 min
Views5.7K

Мне стало интересно, как можно скомпилировать код на языке Си для OpenWRT на мой роутер.
В интернете инструкции имеются, но расплывчатые и то им уже по 6-8 лет. Поэтому, в этой статье собрана актуальная информация по компиляции.

Читать далее

Получение TOTP-токенов на умнейших из тупых часов

Level of difficultyMedium
Reading time5 min
Views15K

Недавно получил свой заказ с новой логической платой от Sensor Watch для вездесущих классических часов Casio F-91W. Модель F-91W не требует представления. Это наверняка самые популярные кварцевые часы в мире, которых в общей сложности было продано около 90 миллионов.

В купленной мной плате Sensor Watch оригинальный кварцевый механизм F-91W заменён новым мозгом на базе ARM Cortex M0+. В ней используются оригинальный ЖК-дисплей, толкатели для кнопок и пьезодинамик. Эта программируемая плата, и проект Sensor Watch также предоставляет простой в плане модификаций набор циферблатов и небольшие дополнительные приложения.

В устройстве нет Bluetooth, но комбинация легковесного, проверенного временем корпуса с долгоживущей батареей и функциональностью, которую без проблем можно воссоздать дома, на удивление великолепна. Где-то за час я смог: заменить плату, настроить двухфакторную аутентификацию (2FA) для своих аккаунтов Google и GitHub, чтобы получать наиболее часто используемые OTP-коды прямо на своё запястье, и написать циферблат-счётчик, который можно использовать для отсчёта шагов или взмахов при гребле на лодке.
Читать дальше →

Как стать продакт-менеджером с нуля? Бесплатная программа обучения

Level of difficultyEasy
Reading time2 min
Views13K

В современном мире, где скорость развития технологий постоянно растёт, одной из ключевых профессий является продакт-менеджер. Конечно, данная профессия востребована во многих сферах жизни, но сегодня речь будет об IT.

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

Читать далее

Information

Rating
Does not participate
Registered
Activity