Pull to refresh
4
0
Сергей @sketcompani

User

Send message

Полная домашняя автоматизация в новостройке

Reading time8 min
Views224K
Три года назад стал претворять свою давнюю мечту в реальность — максимальная домашняя автоматизация квартиры, купленной в новостройке с нуля. При этом «отделку от застройщика» пришлось принести в жертву умному дому image и полностью переделать, а вся электрика, не связанная с автоматикой приехала с известного китайского сайта. Паяльник не потребовался, но знающих мастеров, электриков и плотников пришлось искать долго.


Панель управления квартирой в феврале 2020 года (Home Assistant)

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


Строительство нашего дома в процессе — ноябрь 2016 года
Умный дом в самом соку...

Четвертушка Ethernet-а: старая скорость, новые возможности

Reading time6 min
Views92K

5 февраля этого года был утверждён новый стандарт на 10-мегабитный Ethernet. Да, вы верно прочитали: десять мегабит в секунду.

Для чего в 21-м веке нужна такая «маленькая» скорость? Для замены того зоопарка, который скрывается под ёмким названием «полевая шина» — Profibus, Modbus, CC-Link, CAN, FlexRay, HART и т.д. Их слишком много, они несовместимы между собой и относительно сложны в настройке. А хочется просто воткнуть кабель в коммутатор, и всё. Как с обычным Ethernet.
И вскоре это станет возможным!

Что такое быть тимлидом

Reading time14 min
Views32K

Интро


К сожалению, большая часть работы тимлида скрыта от команды. И в зависимости от многочисленных факторов, таких как размер команды, выстроенные процессы, наличие других ролей, занимающихся работой с командой — она еще и невероятно размыта. Список твоих обязанностей в разных компаниях будет отличаться. Где-то это просто формальная должность человека, который просто перетаскивает задачи из одного статуса в другой в свободное время от написания кода, в другой — это полноценная роль, где придется отложить в сторону свою любимую IDE и заняться кучей других обязанностей. Кстати, очень часто эту роль совмещают с еще одной ролью, техлида, и далеко не всегда это плохо.


Но один момент не меняется — если ты стал тимлидом, в твоей жизни изменится многое, если этого не произошло, это первый знак, говорящий о том, что ты явно не справляешься со своими обязанностями (либо это звание носит сугубо формальный характер).


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

Читать дальше →

Обзор WCS 5.2 — WebRTC сервера для веб-разработчиков онлайн трансляций и видеочатов

Reading time13 min
Views12K


Алиса — опытный фулл-стек разработчик и способна за неделю написать каркас SAAS проекта на своем любимом фреймворке с использованием php. На фронтенде предпочитает Vue.js.


В телеграмм стучится заказчик, которому во что бы то ни стало надо разработать веб-сайт, который будет местом встречи работодателя и сотрудника для проведения очного интервью. Очного — означает глаза в глаза, прямого видео контакта в реальном времени с видео и голосом.
«Почему не скайп?» — спросите вы. Так уж повелось, что серьезные проекты, а каждый стартап, несомненно, себя таковым считает, стараются предложить внутренний сервис коммуникаций по самым разным причинам, среди которых:

Читать дальше →

Юбилейная лекция Дональда Кнута «У рождественской ёлки»

Reading time6 min
Views11K
image

В течение четверти века великий стэнфордский почётный профессор проводит в декабре особую лекцию «У рождественской ёлки». Приближающийся к своим 82 годам Дональд Кнут снова провёл юбилейную 25-ю лекцию 5 декабря. Он напомнил аудитории, что по-прежнему усердно продолжает работать над книгой, которую пишет последние 57 лет.

Книга «Искусство программирования» в среде программистов считается одним из самых комплексных исследований алгоритмов. Согласно веб-сайту Стэнфордского университета, эту книга является одним из лучших научных трудов века. «Из-за моего насыщенного писательского графика мне приходится вести отшельническую жизнь», — пишет Кнут на своём личном сайте.

Поэтому вдвойне необычно увидеть этого великого человека вживую.

У нашего сайта есть собственная рождественская традиция: мы публикуем обзоры и скриншоты с последних лекций Кнута. В 2017 году я описал это как «встречу с любимым родственником на праздники» и «шанс увидеть вживую великий ум».

Лекция этого года не стала исключением.

Разработка hexapod с нуля (часть 6) — переход на 3D печать и новое железо

Reading time7 min
Views11K

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

Этапы разработки:
Часть 1 — проектирование
Часть 2 — сборка
Часть 3 — кинематика
Часть 4 — математика траекторий и последовательности
Часть 5 — электроника
Часть 6 — переход на 3D печать
Часть 7 — новый корпус, прикладное ПО и протоколы общения
Часть 8 — улучшенная математика передвижения
Часть 9 — завершение версии 1.00

Самое интересное в PHP 8

Reading time18 min
Views38K
PHP 7.4 только-только объявлена stable, а нам уже подавай еще больше усовершенствований. И лучше всех о том, что ждет PHP, может рассказать Дмитрий Стогов — один из ведущих разработчиков Open Source PHP и, наверное, старейший активный контрибьютор.

Все доклады Дмитрия только о тех технологиях и решениях, над которыми он работает лично. В лучших традициях Онтико под катом текстовая версия рассказа о самых интересных с точки зрения Дмитрия нововведениях PHP 8, которые могут открыть новые use-case-ы. В первую очередь JIT и FFI — не в ключе «потрясающих перспектив», а с подробностями реализации и подводными камнями.


Для справки: Дмитрий Стогов познакомился с программированием в 1984, когда еще далеко не все из читателей появились на свет, и успел внести существенный вклад в развитие инструментов разработки, и PHP в частности (хоть Дмитрий повышает производительность PHP не специально для российских разработчиков, они выразили свою благодарность в виде Премии HighLoad++). Дмитрий автор Turck MMCache для PHP (eAccelerator), майнтейнер Zend OPcache, лидер проекта PHPNG, легшего в основу PHP 7, и лидер разработки JIT для PHP.
Читать дальше →

Проблема первого зрителя, или непростая конвертация WebRTC видеопотоков в HLS

Reading time7 min
Views5.9K


Егор закрыл крышку ноутбука и потер красные от недосыпа глаза. "Клиенты продолжают жаловаться на зависания стрима, новый пакет исправлений совсем не помог! Что же делать с этим (censored) HLS?" — произнес он в пустоту кабинета.

Читать дальше →

WebRTC через Kurento: опыт тестирования и внедрения

Reading time8 min
Views13K

В этой статье я поделюсь опытом работы с технологией WebRTC и медиасервером Kurento на этапе тестирования и внедрения. Расскажу с какими проблемами я столкнулся и как их решил. Я не расскажу о том как разработать приложение с нуля, но приведу много полезных ссылок. Уверен, что мой рассказ будет полезен тем, кто собирается работать с WebRTC.
Читать дальше →

Так ли страшен Symmetric NAT

Reading time3 min
Views38K
Задача прямого соединения машин, находящихся за NAT'ом стара как мир и я думаю, что многие слышали про UDP Hole Punching. Когда я только начинал интересоваться вопросом, я утвердился во мнении, что symmetric nat пробить невозможно и пытаться даже не стоит. Однако совсем недавно мне попалась статья в которой утверждалось, что симметричный нат — это не приговор.

Давайте разберемся.
Читать дальше →

Школа магии PHP

Reading time18 min
Views27K
Что такое магия в PHP? Обычно под этим подразумевают методы вроде _construct() или __get(). Магические методы в PHP — это лазейки, которые помогают разработчикам выполнять удивительные вещи. В сети полно инструкций по их использованию, с которыми вы наверняка знакомы. Но что если мы скажем, что вы даже не видели настоящую магию? Ведь, чем больше вам кажется, что вы знаете все, тем больше магии ускользает от вас.



Давайте отбросим установленные рамки правил ООП и сделаем невозможное возможным в школе магии PHP. Главный и первый волшебный преподаватель школы — Александр Лисаченко (NightTiger). Он научит магическому мышлению и, возможно, вы полюбите магические методы, нестандартные способы доступа к свойствам, изменение контекстов, аспектно-ориентированное программирование и потоковые фильтры.

Как программисту переехать в Нидерланды

Reading time26 min
Views69K
Disclaimer: Эта статья была начата еще летом. Не так давно на хабре был всплеск статей на тему поиска работы за рубежом и переезда. Каждая из них придавала моей пятой точке некоторое ускорение. Что в итоге заставило меня перебороть свою лень и сесть написать, а точнее дописать, очередную статью. Часть материала может повторять статьи других авторов, но с другой стороны, у каждого свои фломастеры.



Итак, перед вами часть третья, и на данный момент последняя, о похождениях блудного попугая программиста. В первой части я уехал жить и работать на Кипр. Во второй части я пытался устроиться в Google и переехать в Швейцарию. В третьей части (вот этой самой) я устроился на работу и переехал в Нидерланды. Сразу скажу, что про поиск работы будет мало, так как его фактически не было. В основном будет про обустройство и жизнь в Нидерландах. В том числе про детей и покупку дома, что не было подробно описано в недавних статьях других авторов.
Так что кому интересно, прошу под кат.

Оптический удлинитель HDMI. 300 метров

Reading time5 min
Views40K
Доброго времени суток, Хабр!



Разработка волоконно-оптического удлинителя HDMI на 300 метров. Отказ от обратного канала (передача данных по одному волоконно-оптическому кабелю). Клонирование EDID с монитора.
Читать дальше →

RabbitMQ против Kafka: отказоустойчивость и высокая доступность в кластерах

Reading time14 min
Views40K


Отказоустойчивость и высокая доступность — большие темы, так что посвятим RabbitMQ и Kafka отдельные статьи. Данная статья о RabbitMQ, а следующая — о Kafka, в сравнении с RabbitMQ. Статья длинная, так что устраивайтесь поудобнее.

Рассмотрим стратегии отказоустойчивости, согласованности и высокой доступности (HA), а также компромиссы, на которые приходится идти в каждой стратегии. RabbitMQ может работать на кластере узлов — и тогда классифицируется как распределенная система. Когда речь заходит о распределенных системах, мы часто говорим о согласованности и доступности.

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

Пишем блог на микросервисах – часть 2 «API Gateway»

Reading time5 min
Views21K
В первой части нашего цикла статей «Пишем блог на микросервисах» мы описали общий подход к решению задачи.

Теперь пришла очередь API Gateway или API GW.

В нашем c ptimofeev API GW мы реализуем следующие функции:

  • Конвертация REST запросов в gRPC запросы и наоборот.
  • Логирование запросов.
  • Аутентификация запросов.
  • Присвоение каждому запросу Trace ID для дальнейшей передачи его между микросервисами по всей цепочке выполнения запроса.
Читать дальше →

Senior, TechLead, Architect — что дальше? Как бороться с рабочей рутиной и куда двигаться дальше?

Reading time6 min
Views11K
Многие технические специалисты сталкиваются с тем, что достигают максимума в своей вертикали и не понимают, куда двигаться дальше, чтобы работа не превращалась в бесконечную рутину и давала профессиональный рост.

Я уже 18 лет работаю в сфере IT, такое со мной случалось не раз. Сегодня хочу поделиться опытом, как я с этим справлялся на разных этапах своей карьеры и к чему пришел в итоге.
Читать дальше →

Писать веб-сайты на ассемблере полезно и приятно

Reading time5 min
Views141K

Конечно, многие скажут, что это ни-ни и писать для веба нужно только на PHP, ну или на один из модерных языках Питон, Руби, Node.js и т.д.


Но дело в том, что написание сайтов на ассемблере очень полезно, а с подходящими инструментами — легко и приятно.


Вообще-то, это утверждение было лишь гипотезой. Чтобы доказать или отвергнуть ее, этой весной я занялся писать форум на ассемблере.


Раньше у меня уже было веб-приложение на ассемблере — CMS для малого сайта. Только оно работает в режиме "один пишет, многие читают". При том, использует CGI интерфейс и поэтому "многие" читать одновременно тоже не получается.

Читать дальше →

ShIoTiny: малая автоматизация, интернет вещей или «за полгода до отпуска»

Reading time11 min
Views20K



Основные тезисы или о чем эта статья


Так как интересы людей разные, а времени у людей мало, то кратко о содержании статьи.


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


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


Рассмотрена мотивация, идеи и результаты построения контроллера на базе WiFI-чипа ESP8266.

Читать дальше →

PHP-Дайджест № 162 (1 – 12 августа 2019)

Reading time4 min
Views16K

Свежая подборка со ссылками на новости и материалы. В выпуске: О будущем PHP: P++ или PHP2020, принят PSR-12, PHP 7.4 beta 2, Slim 4, и другие релизы, порция полезных инструментов, и многое другое.

Приятного чтения!


Redis Stream — надёжность и масштабируемость ваших систем сообщений

Reading time16 min
Views42K
image

Redis Stream — новый абстрактный тип данных, представленный в Redis с выходом версии 5.0
Концептуально Redis Stream — это List, в который вы можете добавлять записи. Каждая запись имеет уникальный идентификатор. По умолчанию идентификатор генерируется автоматически и включает в себя временную метку. Поэтому вы можете запрашивать диапазоны записей по времени или получать новые данные по мере их поступления в поток, как Unix команда «tail -f» читает лог-файл и замирает в ожидании новых данных. Обратите внимание, что поток могут слушать одновременно несколько клиентов, как многие «tail -f» процессы могут одновременно читать файл, не конфликтуя друг с другом.

Чтобы понять все преимущества нового типа данных, давайте бегло вспомним давно существующие структуры Redis, которые частично повторяют функциональность Redis Stream.
Читать дальше →

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity