Pull to refresh
17
0
Константин @lerom

User

Send message

Как мы учили умную розетку замерять мощность

Reading time6 min
Views14K

Приветствуем!


Мы — компания Rubetek, занимаемся разработками в области решений для умного дома.
В этой статье расскажем о том, как в ходе разработки одного из устройств нашей Wi-Fi линейки выбирали решение для точного измерения мощности подключенных электроприборов.

Наша Wi-Fi розетка

Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments32

Умная Wi-Fi розетка: от идеи до разработки и запуска

Reading time6 min
Views28K
Доброго времени суток, друзья.

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

Мы уже писали в предыдущей статье о том, как создавался Центр управления — мозг нашего умного дома. В этой статье мы хотим рассказать вам об одной из наших последних разработок — умной Wi-Fi розетке, поэтапно разобрав этапы создания: от идеи до разработки и запуска.

Мы давно следили за развитием подобных устройств у наших конкурентов, смотрели на отчеты и спрос на умные розетки и решили ввести такой продукт в наш продуктовый портфель. Для нас было важно создать продукт, которым потребители реально захотят пользоваться. Простой, понятный и удобный девайс, который облегчает людям жизнь: чтобы больше не беспокоиться по дороге в аэропорт и не думать об оставленном включенном утюге, чтобы не думать какой будет счет за электричество, потому что на даче оставили включенным теплый пол. Ну и конечно, хотели сделать продукт лучше, чем у конкурентов.
Читать дальше →
Total votes 20: ↑15 and ↓5+10
Comments85

Как мы создавали мозг системы Rubetek

Reading time7 min
Views17K
Ребята, приветствуем вас в официальном аккаунте компании Rubetek, занимающейся разработкой и производством IoT-устройств.

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

Почему решили создать такую компанию?


Идея лежала на поверхности. Если мы рассмотрим, например, автомобиль, то увидим, что уже давно появились бесключевой доступ, «адаптивный свет» и многое другое. Все эти устройства работают согласованно и обеспечивают максимальный комфорт для водителя и пассажиров. Например, когда автомобиль ставится охрану, все приборы выключаются автоматически. Чего не скажешь о «теплом поле» или кондиционере, которые продолжают работать в доме, несмотря на то, что человек ушел. Поэтому мы подумали, почему бы не попробовать сделать жилое пространство каждого человека комфортнее и удобнее?
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments22

Самодельный USB-свисток с микрофоном, STM32 и ESP8266 на борту

Reading time5 min
Views44K
image Хочу рассказать о своем небольшом проекте выходного дня, осветить трудности, с которыми пришлось столкнуться, дальнейших планах и получить консультацию более опытных Хабраюзеров. Формат статьи обзорный, так сказать, галопом по Европам. Если будет интерес, пройдусь подробнее по отдельным частям.

Коротко описать работу устройства можно так:

Электретный микрофон → Усилитель Max9812 → Микроконтроллер STM32F103 → Программное детектирование наличия звука → Кодирование звука в Speex → Отправка через ESP8266 на сервер → Скрипт PHP приема данных и оформления в звуковой контейнер Ogg. Кому интересно, прошу под кат.
Читать дальше →
Total votes 43: ↑42 and ↓1+41
Comments92

Автоматизация ИТ процессов в условиях низкой мотивации и/или квалификации исполнителей

Reading time7 min
Views9.7K
Основная сфера моей работы на протяжении 16 лет – автоматизация деятельности предприятий. Поскольку начиналось все еще в 1996 году, в небольшом городе и в отсутствии литературы по программированию персональных компьютеров – то все делалось методом проб и ошибок или «методом научного тыка». Времена поменялись, появилось множество методик (сам ими не пользуюсь) по автоматизации, внедрению и поддержке ПО для автоматизации деятельности.
Читать дальше →
Total votes 72: ↑70 and ↓2+68
Comments19

Как Aviasales на Material Design переходил

Reading time5 min
Views39K
В июне 2014 года на конференции Google I/O вместе с новой версией операционной системы Android 5 была представлена целая философия дизайна от Google — Material Design.



Разрабатывая прежние Android-версии Aviasales, мы далеко не во всем «слушали» Google. Теперь же, с выходом Android 5, было решено опробовать новые гайдлайны, и о наших впечатлениях я расскажу ниже.
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments16

Передача проекта от дизайнеров iOS разработчикам

Reading time6 min
Views79K


В настоящее время департамент мобильной разработки Rambler&Co активно расширяется, в том числе и в плане iOS-разработчиков и UX дизайнеров. Большое количество людей и проектов, ведущихся ими, усложняет и без того непростой процесс передачи дизайна разработчикам. Всем, так или иначе связанным с мобильной разработкой, знакомы проблемы и разногласия, возникающие на стыке интересов программиста и дизайнера — начиная тем, в каких единицах измерять расстояния, и заканчивая тем, кто должен нарезать элементы экранов в различных разрешениях. Чтобы окончательно решить проблему в рамках нашей компании, мы решили подготовить подробные гайдлайны по этому взаимодействию.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments25

Умный интернет вещей — кто он и с чем его едят?

Reading time7 min
Views130K
Тренд интернета вещей сейчас набирает всё большую популярность. Чаще всего понятие интернета вещей неразрывно связано с чем-то умным: умные дома, умный транспорт, умные предприятия… Но когда смотришь на эту интеллектуальность внимательнее, то часто разочаровываешься: удаленное управление лампочкой в доме — это в лучшем случае автоматизация, но никак не умный дом. Кажется, что и интернет получается не таким уж и умным… А что же такое умный интернет вещей?
Читать дальше →
Total votes 21: ↑18 and ↓3+15
Comments20

Как перестать беспокоиться и начать работать?

Reading time9 min
Views29K
В прошлый раз, когда мы рассказывали о работе нашей команды, многих интересовали подробности организации работы непосредственно разработчиков, о чём мы сейчас и расскажем. Не стоит ожидать «срывов покровов» и открытий, ведь всё, что делают разработчики ни раз описывалось и обсуждалось, но то, что мы делаем в совокупности в реальных крупных проектах, делается не так уж часто (честно говоря, я этого вообще больше нигде не видел). То есть ожидать-то не стоит, но «срывы покровов» произойдут :)

Реальность такова, что Agile без правильных инженерных практик очень быстро закончится. Если вы не будете прилагать усилия, которые гарантируют высокий уровень качества разработки и состояния системы в целом, то по мере усложнения проекта контроль будет быстро утрачен. В результате сделать всё, что запланировано в итерации, у вас не получится, а о значимом релизе (значимый — значит, с какой-то новой функциональностью, которая будет доступна пользователям, а не просто рефакторинг) раз в месяц вы будете только мечтать, потому что стабилизация важного релиза будет занимать гораздо больше, чем месяц.

При правильном подходе разработка новой функциональности может происходить довольно быстро и фокус тут в том, как не сломать при этом то, что было сделано раньше или же быстро понять, что именно ты сломал, и быстро это исправить. Каждый раз тестировать все детали и нюансы вручную очень долго и неэффективно, ведь в Эльбе сегодня уже более 400 «экранов». И проблема не только в том, что тестеры должны все это проверить вручную — очень много времени уходит на сценарий «тестер добавил баг — разработчик исправил баг — тестер проверил и закрыл/переоткрыл баг». Можно долго рассуждать о том, как трудно сохранить быстрорастущую систему в стабильном состоянии, почему код превращается в гавно, почему страшно делать исправления и никто не берет на себя смелость сказать дату релиза даже с точностью до месяца (потому что это было бы безответственно), но гораздо интереснее узнать о том, как сделать так, чтобы было хорошо.

Читать дальше →
Total votes 90: ↑84 and ↓6+78
Comments41

Как мы используем Trello и Google Docs, чтобы постоянно улучшать работу UserVoice

Reading time12 min
Views120K


Прошлой осенью, вернувшись из отпуска, я обнаружил, что Дехана, наш Product Manager в UserVoice, заменила мой любимый «Roadmap» в Google Docs на доску Trello.

Моя первоначальная реакция на такие перемены была отнюдь не положительной. Проблема заключалась не в самом Trello, а в том, как мы им пользовались. Trello – это ОЧЕНЬ открытый проект. Не существует единственного “правильного” способа работы в Trello, поэтому, чтобы чувствовать себя в нем как дома, вам потребуется время для настройки «под себя».

Итак, после долгих экспериментов, нам, кажется, удалось получить полностью устраивающую нас систему работы, и мы решили, что стоит поделиться ею со всеми. Этот пост будет длиннее, чем обычно, и если вы далеки от темы веб-разработки, он может показаться вам немного скучным. Если вы решите сразу перейти к части поста, посвящённой полученным урокам, я, несомненно, расстроюсь, но обижаться не стану.
Читать дальше →
Total votes 35: ↑32 and ↓3+29
Comments13

Разработка мобильных приложений: с чего начать

Reading time10 min
Views470K


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

Читать дальше →
Total votes 89: ↑72 and ↓17+55
Comments31

Жизненный цикл задач в Redmine для небольшой группы разработки. Наш опыт и полезные советы

Reading time7 min
Views123K


Думаю, эта статья должна помочь людям, которые впервые решили автоматизировать процесс трекания задач на базе Redmine в группе разработки программного обеспечения. В статье я расскажу о том, как этот процесс устроен у нас, какие новые поля для задачи мы завели и какие проблемы решают эти поля. Думаю, статья будет полезна широкому кругу лиц, на мой взгляд, настройка жизненного цикла задач эта работа под лозунгом «Очевидное — не очевидно».

Еще! Мы работаем в большой корпоративной среде, в основном, для внутренних клиентов (причем их несколько) и эта ситуация нашла отражение в нашем жизненном цикле.

Начнем.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments32

Программисты-оптимисты

Reading time5 min
Views78K

Мы, программисты, — оптимисты. Это проявляется во всем цикле разработки ПО от оценки сроков до написания кода и внедрения. Как показывает моя практика, в разработке ПО законы Мерфи работают в 100% случаев. Несмотря на это, я раз за разом сталкиваюсь с «программистами-оптимистами».

Топ «оптимистичных» допущений:
Читать дальше →
Total votes 161: ↑133 and ↓28+105
Comments87

Specification By Example – BDD для прагматиков

Reading time11 min
Views97K

На Хабре довольно много упоминаний о BDD. К сожалению, статьи, которые я читал, так и не дали мне ответа на вопрос «а зачем мне все это нужно?» Ответ пришел с неожиданной стороны. Когда я всерьез занялся вопросом автоматизации приемочного тестирования, мне под руку попалась книга Gojko Adzic (не уверен в транскрипции, поэтому не стал переводить имя автора) Specification By Example.
Читая ее, я не уставал удивляться: каждая новая глава описывала шишки, которые я набивал на своем личном опыте, и предлагала решения аналогичные или лучшие, чем те, к которым я приходил сам методом проб и ошибок.

Эта статья – первая в цикле «BDD для прагматиков». В ней описаны ключевые элементы наиболее эффективного, на мой взгляд, процесса разработки коммерческого ПО в современных условиях. Два продолжения будут посвящены работе со SpecFlow и автоматизации приемочного тестирования.
Часть первая - живая документация
Total votes 34: ↑31 and ↓3+28
Comments32

Тестировщики — роль второго плана?

Reading time5 min
Views41K
В странах бывшего СССР сложилось вполне определённое отношение к тестировщику как к роли второго плана:
  • На роль тестировщика готовы брать кого угодно, кто умеет достаточно уверенно нажимать на кнопочки
  • Тестировщики редко участвуют в судьбе проекта, принимают решения по требованиям и срокам
  • Тестировщиков стараются подключать как можно позже, когда надо «покликать» и «поикать ошибки»
  • За исключением небольшого числа продуктовых компаний, большинство работодателей предлагают тестировщикам зарплату в 1,5-2 раза ниже, чем разработчикам.

Почему такое происходит, вполне понятно: мало кто вживую встречал квалифицированных тестировщиков, тестировщики не делают полезный результат (продукт не пишут), да и вообще у нас принято экономить на всём, на чём только получается. Интересен другой вопрос: что получается благодаря такому подходу? Рассмотрим на примерах.
Читать дальше →
Total votes 73: ↑59 and ↓14+45
Comments81

Умный дом на базе контроллера Rubetek Evo

Reading time6 min
Views41K
В своей статье я хочу поговорить об уже известной технологии «Умный дом». Я столкнулся с ней совершенно случайно. Мне попались в руки пару устройств, управляемых по шине KNX. Все было «очень интересно», особенно переводить мануалы для устройств с сотнями настроек (по крайней мере мне так показалось). Возможно они охватывали все варианты сценариев событий. Тем не менее меня это несколько напрягло. На всех сайтах и в обучающих видео люди говорили, что это совсем не программирование… Если зрить в корень и привязаться к дословному определению слова «программирование» (Google мне в помощь: программи́рование — процесс создания программ), я соглашусь. Но если брать обычного пользователя, то он едва сможет справиться с этой системой в короткие сроки (конечно терпение и труд все перетрут, только первого не у всех хватает). Я уж не говорю про установку: планировать надо все с нуля. Установить в готовую квартиру уж точно не получится.

Как Вам?


Читать дальше →
Total votes 11: ↑9 and ↓2+7
Comments2

Размеры экранов

Reading time2 min
Views553K
Планшеты и смартфоны оснащаются экранами с разными соотношениями сторон и разной плотностью пикселей, однако эти параметры редко указываются в технических характеристиках.

Попробуем разобраться со всеми хитростями, связанными с этими параметрами. Начнём с планшетов.
Вот соотношение размеров экранов, использующихся в большинстве современных планшетов.



Обратите внимание, насколько экран 8" с соотношением сторон 4:3 визуально больше широкого экрана 7". А широкий экран 10.1" на сантиметр меньше экрана 9.7" по высоте.

Я свёл в таблицу параметры экранов, чаще всего использующихся в планшетах.



Текст на экранах с низким PPI (количеством точек на дюйм) читается не комфортно. Я бы не стал покупать планшет с экраном, имеющим PPI ниже 150. Даже 164 PPI экрана iPad mini многим кажутся недостаточными. Отлично воспринимаются экраны с PPI больше 200.

Для меня было большим открытием, что экран 9.7" 1024x768 имеет даже меньшее PPI, чем экран 7" 800x480.

Читать дальше →
Total votes 157: ↑147 and ↓10+137
Comments69

Wireshark — приручение акулы

Reading time10 min
Views1.1M


Wireshark — это достаточно известный инструмент для захвата и анализа сетевого трафика, фактически стандарт как для образования, так и для траблшутинга.
Wireshark работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс на основе GTK+ и мощнейшую систему фильтров.
Кроссплатформенный, работает в таких ОС как Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS X, и, естественно, Windows. Распространяется под лицензией GNU GPL v2. Доступен бесплатно на сайте wireshark.org.
Установка в системе Windows тривиальна — next, next, next.
Самая свежая на момент написания статьи версия – 1.10.3, она и будет участвовать в обзоре.

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

Начинаем плаванье


Для начала захвата достаточно выбрать свой сетевой интерфейс и нажать Start.
Читать дальше →
Total votes 207: ↑202 and ↓5+197
Comments60

GamePlay 3D Framework — лёгкий старт в кроссплатформенную разработку 3D игр

Reading time13 min
Views32K
Доброе время суток, уважаемые хабражители!

Прослушав курс по компьютерной графике в университете и вдоволь наигравшись с OpenGL, я решил, что пора бы уже двинуться дальше и попробовать себя в разработке игр. Писать с нуля свой движок, прямо скажем, не очень-то хотелось. Главной целью было скорее посмотреть как это делается, вынести уроки и может быть создать что-то на базе выбранного движка. Беглый поиск показал, что с открытыми кроссплатформенными движками немного туго. У одного проблемы с Linux, Windows или Mac OS, у другого со свежими версиями мобильных ОС, третий почти заброшен… Но я-таки наткнулся на один очень привлекательный экземпляр, о котором и хочу поведать в этой статье.

gameplay

Имя этому фреймворку — GamePlay 3D. Информации о нём на просторах интернета не очень много, чего уж говорить про рунет. Это open source фреймворк написанный на C++ для программирования игр на C++ со всеми вытекающими из этого достоинствами и недостатками. Авторы проекта позиционируют его как универсальный инструмент, эдакий аналог cocos2d для 3D игр. Чтобы начать писать на GamePlay 3D не нужно обладать глубокими знаниями OpenGL, GLSL или математики 3D графики, однако все мы понимаем, что для достижения хорошего результата от этого никуда не деться. Подробности и небольшой пример для старта под катом.

Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments13

Памятка пользователям ssh

Reading time13 min
Views1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Total votes 360: ↑352 and ↓8+344
Comments148
1

Information

Rating
Does not participate
Location
Россия
Registered
Activity