Pull to refresh
6
0
Глеб Игумнов @CrazySage

User

Send message

Опыт разработки управляющего ПО для квеструма

Reading time8 min
Views7.7K
Последние год-полтора пользуются большой популярностью т.н. квеструмы, квесты «выйди из комнаты» реализованные в реальной жизни. Когда я ходил на первые квесты, большая часть задачек сводилась к поиску ключей и кодов для механических замков, магнитные замки были чем-то крутым и редким, не говоря уже о беспроводных интерфейсах, но чем дальше, тем более технически сложным становится это развлечение. В конце зимы мой друг, работающий в одной из таких контор, попросил помощи в написании управляющей программы для одного из их квестов, поскольку у них слился программист и начали гореть сроки. Задача была интересной, деньги неплохими, да и хорошего человека выручить не грех, поэтому я согласился, хоть и обидно было понимать, что на этот квест я не пойду, так как буду знать весь его сценарий. Сроки изначально ставилися очень сжатые, поэтому для разработки я выбрал привычную среду С++\Qt5.5.
Быстро стало понятно, что я совершил большую глупость, взявшись за работу с не очень хорошо прописанным тз, но подозреваю, что эту ошибку так или иначе совершал каждый, поэтому смысла о ней писать никакого, это не подводный камень, это самые обычные грабли.

С аппаратной точки зрения управляемая часть квеста выглядит следующим образом:
  • Основной компьютер, стоящий в операторской, на котором работает программа
  • Две звуковые карты в нём, к каждой из которых подключено по 5 колонок
  • Телевизор, подключенный вторым экраном
  • Два USB-свистка, являющиеся переходниками с USB на COM-интерфейс
  • Пачка диммеров и релейников, управляемых по MODBUS


В первичной постановке задача выглядела довольно простой, читать данные по MODBUS, писать данные по MODBUS, в нужные моменты проигрывать звук в нужную колонку и видео на второй экран. Как показала практика, всё это действительно делается не очень сложно. Но вот понять, как это сделать не очень сложно — уже не столь банально.
Читать дальше →
Total votes 11: ↑11 and ↓0+11
Comments6

Самый простой способ генерации xls в PHP

Reading time2 min
Views59K
Вообще казалось бы вынесенная в заголовок задача не должно быть сложной, да и гугл дает кучу ссылок, в том числе на хабр, однако для того чтобы сделать выгрузку БД с сайта в эксель мне пришлось несколько помучаться.

С модулем Spreadsheet_Excel_Writer я предпочел не связываться, по причине отсутствия необходимых ему модулей php на трех имеющихся у меня в наличии для тестирования серверах, хочется все-таки сделать код перетаскиваемый между серверами легко и просто.
php_write_excel оттолкнул полным отсутствием документации при необходимости сделать работу быстро (хотя в дальнейшем я хочу с этим модулем поразбираться).
Читать дальше →
Total votes 37: ↑25 and ↓12+13
Comments40

Банальные элементы эргономики веб-сервисов

Reading time3 min
Views641
Подошло к концу время действия моей банковской карточки в ВТБ24. За месяц до окончания мне пришло письмо с уведомлением об этом факте и предложением оформить заявление на перевыпуск карты через интернет. Замечательно, забота о клиенте, идем по ссылке. А вот дальше начинается цирк.
Читать дальше →
Total votes 15: ↑10 and ↓5+5
Comments10

Конспект лекций Кента Бека

Reading time5 min
Views984
Около года назад посетил две лекции Кента Бека: «Привычка к гибкости» (Habits for agility) и «Четыре стратегии отзывчивого дизайна» (Four strategies for responsive design). Сегодня наткнулся у себя на сделанную тогда выжимку из них и решил поделиться.

Первая лекция актуальна для всех людей, работающих в команде, вторая относится больше к программированию.
Читать дальше →
Total votes 10: ↑9 and ↓1+8
Comments3

Information

Rating
Does not participate
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity