Реактивная работа с Bluetooth в реальных условиях

Автор: admin от 3-02-2018, 17:10, посмотрело: 58

Небольшое предисловие, или в чем же боль



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



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



Опасности на пути джедая



Первый важный момент, о котором должен помнить разработчик, при работе с Bluetooth – пакеты могут повреждаться по пути. А еще – они могут сопровождаться шумом. И это не один случай из миллиона, подобные явления могут встречаться довольно часто, и их нужно обрабатывать. Еще блютус может отключиться, или не подключиться, или сделать вид что подключился, но на самом то деле мы знаем, что это ничего не значит...



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

Категория: Операционные системы » Linux

 
 

Выпуск#9: ITренировка — актуальные вопросы и задачи от ведущих компаний

Автор: admin от 3-02-2018, 17:10, посмотрело: 159

Мы подготовили для вас новый сет задач и вопросов, задаваемых на собеседованиях в ведущих IT-компаниях.



Выпуск#9: ITренировка — актуальные вопросы и задачи от ведущих компаний



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

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

Категория: Операционные системы » Linux

 

Автоматизируй, когда можешь, программируй, когда необходимо

Автор: admin от 3-02-2018, 17:10, посмотрело: 63

Здравствуйте, уважаемые читатели



Вот-вот в издательстве O'Reilly выйдет очередная занятная книжка с крокодилом



Автоматизируй, когда можешь, программируй, когда необходимо

Этот увесистый компендиум всесторонне освещает вопросы о том, в какой степени сисадмин должен быть «network engineer», как оптимально соотносится автоматизация и программирование в работе такого специалиста. В книге даются основы Linux и Python, а также ожидается еще масса всего интересного.



Чтобы вам было интереснее участвовать в голосовании, предлагаем почитать небольшую статью одного из авторов (Джейсона Эдельмана), в которой он рассказывает, какие мысли подтолкнули его к сотрудничеству с Мэттом Освальтом и созданию этой книги

Категория: Системное администрирование, Linux

 

Работа с API КОМПАС-3D -> Урок 6 -> Сохранение документа в различные форматы

Автор: admin от 3-02-2018, 16:50, посмотрело: 98

Продолжаем цикл статей по работе с API САПР КОМПАС-3D Сергея Норсеева, инженера-программиста АО «ВНИИ «Сигнал», автора книги «Разработка приложений под КОМПАС в Delphi». В качестве среды используется C++ Builder. В этом уроке поговорим о том, как сохранять документы.



Работа с API КОМПАС-3D -> Урок 6 -> Сохранение документа в различные форматы

Категория: Программирование » Веб-разработка

 

Банки Клайдсдейла и Йоркшира внедрят ServiceNow для управления ИТ-инфраструктурой

Автор: admin от 3-02-2018, 16:50, посмотрело: 84

Холдинговая компания Clydesdale and Yorkshire Bank Group (CYBG) — куда входят банки Клайдсдейла и Йоркшира — решила использовать платформу ServiceNow для управления и организации ИТ-услуг (ITSM). Далее расскажем, чем обоснован такой выбор и какие планы строят компании на будущее.



Банки Клайдсдейла и Йоркшира внедрят ServiceNow для управления ИТ-инфраструктурой

Категория: Программирование » Веб-разработка

 

Разработка игр под NES на C. Главы 1-3. От введения до Hello World

Автор: admin от 3-02-2018, 16:50, посмотрело: 82

Впервые я задумался о том, как разрабатывают игры под приставки где-то через 20 минут после того, как в самый первый раз увидел Turbo Pascal. На глаза иногда попадался Subor с клавиатурой, и появилась мысль: "Наверное можно набрать какую-то программу, а потом в нее поиграть". Но интерес быстро затух, потому что абсолютно никакой информации по этой теме тогда не было доступно. Следующий раз эта же идея всплыла, когда увидел вполне играбельные эмуляторы старых консолей. Тогда стало ясно, что вбивать листинг в саму консоль и необязательно. Где-то очень потом появился Хабр с благожелательной аудиторией для таких вещей. В какой-то момент даже начал собирать разрозненную инфу чтобы написать мануал самому, и вот сегодня наткнулся на готовый учебник, который явно надо перевести.



Разработка под старые консоли документирована вдоль и поперек, но именно по NES 99% информации относятся к разработке на Ассемблере. Меня почему-то зарубило, что надо освоить именно работу с С.

Разработка игр под NES на C. Главы 1-3. От введения до Hello World

Категория: Программирование » Веб-разработка

 

Реализация простой пиксельной игры в блокчейне Ethereum

Автор: admin от 3-02-2018, 13:55, посмотрело: 183

Всем привет! Вдохновившись r/place и желая реализовать наконец-то свой первый смарт-контракт на блокчейне, мы решили сделать всем доступное и веселое приложение в сети Ethereum, которое позволяет рисовать на холсте размером в 1000 x 1000 px, сохраняя каждый выбранный и раскрашенный пользователем пиксель в блокчейн. Вы можете рисовать также в реальном времени со своими друзьями и наблюдать, как в реальном времени меняется цвет выбранного пикселя по мере того, как в сети подтверждаются транзакции смарт-контракта.



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



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

Категория: Программирование » Веб-разработка

 

Программный синтез звука на ранних персональных компьютерах. Часть 2

Автор: admin от 3-02-2018, 13:55, посмотрело: 70

Это статья о первых программных синтезаторах, которые были когда-то созданы на самых обычных персональных компьютерах. Я даю несколько практических примеров по реализации простых методов звукового синтеза в историческом контексте.



Перейти к первой части



Программный синтез звука на ранних персональных компьютерах. Часть 2

Категория: Программирование » Веб-разработка

 

Понимание lvalue и rvalue в C и С++

Автор: admin от 3-02-2018, 13:55, посмотрело: 70

Привет, Хабр! Представляю вашему вниманию перевод статьи Eli Bendersky, Understanding of lvalues and rvalues in C and C++.



От переводчика: предлагаю Вашему вниманию перевод интересной статьи об lvalue и rvalue в языках C/C++. Тема не нова, но знать об этих понятиях никогда не поздно. Статья рассчитана на новичков, либо на программистов переходящих с C (или других языков) на C++. Поэтому будьте готовы к подробному разжёвыванию. Если вам интересно, добро пожаловать под кат

Категория: Программирование » Веб-разработка

 
Назад Вперед