Pull to refresh
4
0
Андрей Рачков @andreyr82

User

Send message

Собираем удобный CAN bus сниффер с интерактивной консолью за $3

Level of difficultyMedium
Reading time13 min
Views15K

Привет, Хабр!

Протокол CAN сейчас широко распространён не только в автомобильной сфере, но и на предприятиях, в различных самоделках, и даже в Средствах Индивидуальной Мобильности (контроллеры VESC, например). В ноябре прошлого года я сделал для себя удобный инструмент для анализа CAN и отправки фреймов, сейчас же хочется сделать код опенсорсным и рассказать о самом проекте.

Читать далее
Total votes 34: ↑34 and ↓0+34
Comments18

KODI: собираем удобный и функциональный медиацентр для дома. Часть 5. Яндекс.Музыка

Reading time2 min
Views30K

Продолжаем «изобретать» домашний медиацентр с помощью Kubuntu и KODI.

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

Речь пойдет о популярном сервисе Яндекс.Музыка.

Читать дальше →
Total votes 9: ↑8 and ↓1+7
Comments19

Термостатирование в доме

Reading time13 min
Views98K
В предыдущей статье «Погодная станция с Ethernet и планшетом в качестве устройства отображения» я рассказывал о том, как я организовал сбор, складирование, обработку и вывод метеоданных в своем доме и за его пределами. Там же было упомянуто, что принципы, заложенные в основу системы, позволяют строить нечто более широкое, чем просто сбор погодных данных, и была анонсирована статья про термостатирование. Пришло время выполнять обещание и рассказать про это самое термостатирование.
Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments34

Еще одна история про OpenTherm

Reading time5 min
Views23K

Предыстория


5-6 лет назад нужно было делать отопление в новом доме. В то время в нашу деревню обещали провести газ. Исходя из этого, было принято решение поставить газовый котел и переделать его на пропан в баллонах (2 пары по 2 баллона, авто-переключение между парами). Типа как временное решение, пока не проведут газ. Решение вполне работоспособно, если не жить на даче зимой. За эти годы магистральный газ так и не провели, а заправлять баллоны надоело. Вот я и решил добавить электрический котел вдобавок к газовому.


Вариации на тему “как подружить газ и электричество?”


Вариант 1 (самый простой): поставить электрические обогреватели в каждую комнату.


Вариант 2: (самый правильный): поставить электрический котел параллельно газовому (со своим насосом, своей группой безопасности и обратными клапанами на оба контура)


Вариант 3: Поставить самый простой электрокотел(электрочайник :) ) и использовать всю начинку (насос, группу безопасности и т.п.) от газового котла.


Я решил попробовать пойти по третьему варианту. Возникли следующие “вопросы”:


  1. Как заставить работать насос газового котла, но не включать горелку?
    • Можно разобрать котел и запитать насос отдельно. Решение выглядит стремным, а модифицировать котел кажется опасным.
    • Как-то объяснить котлу, что насос работать должен, а включать газ не нужно.
  2. Ввод электричества 1 фаза, 10 кВт. Т.е. ставить мощный электрокотел кажется потенциально проблемным. Значит, нужно “подружить” электричество и газ, чтобы они могли при необходимости работать вместе.

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

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

Удаленный мониторинг и управление микроклиматом в загородном доме

Reading time9 min
Views36K
Что имеем:
  • Двухэтажный таунхаус, предназначенный для круглогодичного проживания
  • Централизованное электроснабжение (как всегда в загородных домах, очень нестабильное)
  • Централизованное холодное водоснабжение
  • Централизованное газоснабжение
  • Газовый отопительный котел Protherm Gepard


Что хотим получить
  • Возможность удаленного мониторинга микроклимата в доме (чтобы на душе было спокойно в случае долгого отсутствия)
  • Возможность удаленного управления этим самым микроклиматом (уменьшить температуру обогрева с целью экономии газа, увеличить температуру перед возвращением домой)
  • Возможность удаленного снятия показаний счетчиков ресурсов, подлежащих оплате (счетчика расчета газа, воды и электроэнергии)
  • Стоимость устанавливаемого оборудования должна быть экономичная
  • Стоимость эксплуатации системы должна быть минимальная

Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments18

Простое управление arduino через интернет

Reading time5 min
Views205K


Всем добрый день.

Около года назад я написал небольшую обзорную статью для управления Arduino через интернет, с помощью сервера NinjaBlocks. Это было довольно хорошее и удобное решение и оно отлично работало, пока в один прекрасный момент не начались проблемы с соединением. Попытки уговорить разработчиков через форум решить проблемы были напрасны — они просто игнорировали мои просьбы и не удосужились даже ответить, что было очень печально.

С того момента был просканирован весь интернет в поисках замены — и было найдено много очень интересных проектов, но они либо были слишком сложными в реализации и требовали значительных знаний в области программирования, либо были попросту неудобны. И вот тут и пришла мысль почему бы не сделать все самому.
Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments41

Свой DynDNS на коленке

Reading time2 min
Views65K
Итак, допустим вы веб-разработчик. Допустим у вас есть домашний компьютер под управлением Линукса, работающий 24x7 и динамический внешний ip. Допустим вам нужно подключаться к нему по ssh или демонстрировать заказчику web проекты, которые по каким то причинам долго или и вовсе нельзя выкладывать на хостинг (именно из за необходимости показывать что-то третьим лицам VPN не выход). Допустим вас не устраивают DynDNS сервисы. Приступим.

Согласен, условия специфические — но чего в жизни не случается.

Схема приблизительно такая — домашний ПК стучится на ваш сайт (вы же веб-разработчик как-никак, должен же у вас быть сайт), тот фиксирует ip адрес, и выдаёт его вам.
Читать дальше →
Total votes 10: ↑7 and ↓3+4
Comments30

Контроллер для домашней пивоварни Mega Brewery. Part II

Reading time3 min
Views42K
Всем привет!
С момента, когда я решил построить свою автоматизированную пивоварню прошло много времени.  Вот первый пост.
Сегодня контроллер полностью готов, осталось сделать само варочно-фильтровальное устройство. Все делалось моими собственными руками. Прошу не судить строго, у меня нет инженерного образования, я простой гуманитарий! Расскажу по-порядку, как и из чего это делалось. Внимание, траффик, много фоток!
Читать дальше →
Total votes 157: ↑146 and ↓11+135
Comments114

Контроллер для домашней пивоварни Mega Brewery. Part I

Reading time3 min
Views73K
image Я домашний пивовар.
Начинаю «разработку» контроллера для своего минипивзавода.

Т.к. я нифига не программист, обратился к русскому Arduino сообществу.
С момента желания сделать умный термометр для пивоварения, прошло много времени и возникло новое желание — построить автоматизированную домашнюю пивоварню. Для ее автоматизации необходим блок управления. Решено было отказаться от использования покупных PID контроллеров, для управления ТЭНом, т.к. имеется Arduino, к ней SSR реле — 2шт., дисплей 4 на 20 строк и к нему Serial Board для передачи инфы по одному проводу, не считая землю и питание.
Читать дальше →
Total votes 127: ↑122 and ↓5+117
Comments271

Организация разработки крупномасштабных React-приложений

Reading time13 min
Views16K
Эта публикация основана на серии материалов о модернизации jQuery-фронтенда с использованием React. Для того чтобы лучше разобраться в причинах, по которым написан этот материал, рекомендуется взглянуть на первый материал этой серии.



В наши дни очень легко организовать разработку маленького React-приложения, или начать работу над ним с нуля. В особенности — при использовании create-react-app. Некоторым проектам, скорее всего, понадобится лишь несколько зависимостей (например — для управления состоянием приложения и для интернационализации проекта) и папка src, в которой, как минимум, имеется директория components. Я полагаю, что именно с такой структуры начинается работа над большинством React-проектов. Обычно, правда, по мере того, как растёт количество зависимостей проекта, программисты сталкиваются с ростом количества компонентов, редьюсеров и других входящих в его состав механизмов, предназначенных для многократного использования. Иногда всем этим становится очень неудобно и сложно управлять. Что делать, например, если больше неясно то, почему нужны некоторые зависимости, и то, как они сочетаются друг с другом? Или, как быть, если в проекте накопилось так много компонентов, что становится сложно найти среди них именно тот, который нужен? Как поступить в том случае, если программисту нужно найти некий компонент, имя которого забыто?
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments8

Чисти, размечай: как мы учили чатбот различать клиентские вопросы

Reading time11 min
Views4.3K


Антон Чайников, разработчик Data Science, Redmadrobot
Привет, Хабр! Сегодня я расскажу о терниях на пути к чатботу, облегчающему работу операторам чата страховой компании. А точнее, как мы учили бота отличать друг от друга запросы с помощью машинного обучения. С какими моделями экспериментировали и какие получили результаты. Как сделали четыре подхода к чистке и обогащению данных приличного качества и пять попыток чистки данных качества «неприличного».

Читать дальше →
Total votes 15: ↑12 and ↓3+9
Comments2

Бэкенд для фронтенда, или Как в Яндекс.Маркете создают API без костылей

Reading time7 min
Views66K

Почему некоторыми API удобнее пользоваться, чем другими? Что мы как фронтендеры можем сделать на своей стороне, чтобы работать с API приемлемого качества? Сегодня я расскажу читателям Хабра как о технических вариантах, так и об организационных мерах, которые помогут фронтендерам и бэкендерам найти общий язык и наладить эффективную работу.



Этой осенью Яндекс.Маркету исполняется 18 лет. Все это время развивается партнерский интерфейс Маркета. Если кратко, то это админка, с помощью которой магазины могут загружать каталоги, работать с ассортиментом, следить за статистикой, отвечать на отзывы и т.д. Специфика проекта такова, что приходится очень много взаимодействовать с различными бэкендами. При этом данные не всегда можно получить в одном месте, из одного конкретного бэкенда.


Читать дальше →
Total votes 69: ↑61 and ↓8+53
Comments40

Применение принципов SOLID при разработке React-приложений

Reading time8 min
Views39K
Недавно мы публиковали материал о методологии SOLID. Сегодня мы представляем вашему вниманию перевод статьи, которая посвящена применению принципов SOLID при разработке приложений с использованием популярной библиотеки React.

image

Автор статьи говорит, что здесь, ради краткости, он не показывает полную реализацию некоторых компонентов.
Читать дальше →
Total votes 26: ↑24 and ↓2+22
Comments6

Работа тимлидом в 2018-ом году

Reading time17 min
Views55K

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


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


Читать дальше →
Total votes 86: ↑78 and ↓8+70
Comments168

Пишем мессенджер с открытым исходным кодом

Reading time6 min
Views71K

Зачем пишем?


tinode logo

Давным-давно в одной далекой стране была компания America Online. И был у нее удивительный частный Интернет за заборчиком, где вместо URL-ов были "keywords": что-то среднее между адресом веб страницы и купленным ключевым словом в рекламе. Компании боролись за интересные ключевые слова, как сейчас борются за домены, а реклама выглядела так: "посетите нас во всемирной сети по адресу www.example.com, или наберите AOL Keyword: 'banking'".


История имеет свойство повторяться. Сейчас роль Америки Онлайн играют основные мессенджеры: все они за заборчиками, несовместимы друг с другом, все изобретают свои keywords, желают схватить пользователя и уже никогда не отпускать. Компании не заинтересованы в открытости: более крупные игроки не желают делиться пользователями с более мелкими и уж тем более становиться открытыми. В результате невозможно послать сообщение даже из WhatsApp в Facebook Messenger, несмотря на то, что оба принадлежат одной компании. Да и пользователи ценят надежность и удобство выше абстрактной открытости, хотя многих раздражает, что часть друзей, например, в Telegram, часть в WhatsApp, а родители в Skype.


А вот роль открытого интернета, к сожалению, сегодня не играет никто. Ситуацию хочется изменить. Если XMPP не справился, может быть кто-то другой сможет? И тут рассказ про Tinode.

Читать дальше →
Total votes 46: ↑37 and ↓9+28
Comments208

Git Rebase: руководство по использованию

Reading time8 min
Views796K
Rebase — один из двух способов объединить изменения, сделанные в одной ветке, с другой веткой. Начинающие и даже опытные пользователи git иногда испытывают нежелание пользоваться ей, так как не видят смысла осваивать еще один способ объединять изменения, когда уже и так прекрасно владеют операцией merge. В этой статье я бы хотел подробно разобрать теорию и практику использования rebase.

Теория


Итак, освежим теоретические знания о том, что же такое rebase. Для начала вкратце — у вас есть две ветки — master и feature, обе локальные, feature была создана от master в состоянии A и содержит в себе коммиты C, D и E. В ветку master после отделения от нее ветки feature был сделан 1 коммит B.


Читать дальше →
Total votes 122: ↑121 and ↓1+120
Comments169

Очевидное благо: как и зачем использовать сервисный подход за рамками ИТ (Часть 2)

Reading time6 min
Views3K

Вновь в фокусе идея применения сервисного подхода за рамками ИТ. Ранее уже анализировал:


  • зачем и кому это нужно;
  • когда пора наводить порядок;
  • как это сделать.

Сегодня остановлюсь на этапах, по которым успеваешь пройти на практике, пока внедряешь сервисный подход в процессы компании.
Читать дальше →
Total votes 8: ↑7 and ↓1+6
Comments0

Принцип экономии мыслетоплива

Reading time15 min
Views78K


Представления, на наш взгляд, излишни. Под катом доклад гуру прокрастинатологии Максима Дорофеева, в котором он расскажет, как сделать больше, а устать меньше. Узнаем немного про обезьяну, эффективность и многое другое. Возможно даже, что после прочтения половина всего, что вы слышали ранее о мышлении, обесценится.
Total votes 40: ↑40 and ↓0+40
Comments30

Как управлять гигантами: правила формирования команды и построения процессов в веб-разработке

Reading time10 min
Views18K
В России больше 5000 компаний занимаются заказной веб-разработкой (по данным аналитического агентства Тэглайн), однако, по моему мнению, наш рынок до сих пор находится в стадии своего зарождения. Многие digital-компании, веб-студии и интеграторы в реальности не готовы к качественному развитию и поддержке действительно крупных проектов. К нам в AGIMA часто обращаются компании, недовольные качеством выполнения работ своим текущим подрядчиком, которого они выбрали на тендере. За много лет работы с крупнейшими российскими компаниями у нас накопился огромный опыт в организации процессов разработки и развития крупных интернет-проектов, и я хочу им поделиться. В этой статье я расскажу, как правильно организовать инфраструктуру, выстроить коммуникации между командами и не забыть о важных составляющих агентского сервиса при работе с «гигантами».

image

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

Яндекс открывает технологию машинного обучения CatBoost

Reading time6 min
Views102K
Сегодня Яндекс выложил в open source собственную библиотеку CatBoost, разработанную с учетом многолетнего опыта компании в области машинного обучения. С ее помощью можно эффективно обучать модели на разнородных данных, в том числе таких, которые трудно представить в виде чисел (например, виды облаков или категории товаров). Исходный код, документация, бенчмарки и необходимые инструменты уже опубликованы на GitHub под лицензией Apache 2.0.



CatBoost – это новый метод машинного обучения, основанный на градиентном бустинге. Он внедряется в Яндексе для решения задач ранжирования, предсказания и построения рекомендаций. Более того, он уже применяется в рамках сотрудничества с Европейской организацией по ядерным исследованиям (CERN) и промышленными клиентами Yandex Data Factory. Так чем же CatBoost отличается от других открытых аналогов? Почему бустинг, а не метод нейронных сетей? Как эта технология связана с уже известным Матрикснетом? И причем здесь котики? Сегодня мы ответим на все эти вопросы.

Total votes 216: ↑215 and ↓1+214
Comments128
1
23 ...

Information

Rating
Does not participate
Location
Рыбинск, Ярославская обл., Россия
Date of birth
Registered
Activity

Specialization

Frontend Developer
Lead
From 300 ₽
JavaScript
React
TypeScript
Vue.js
Redux
Webpack
HTML
CSS
Web development