Pull to refresh
1
Karma
0
Rating
kalbas @kalbas

User

Слезаем с облачной иглы Aqara и подключаем устройства к контроллеру Wiren Board

Wiren Board corporate blog Cloud services *Smart House IOT Systems engineering *
Tutorial

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

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

Затем я откажусь от облака Aqara и перейду на локальное решение Wiren Board 7 с модулем расширенияSprut.stick ZigBee WBE2R-R-ZIGBEE-SH, оболочкой Sprut.hub и Алисой. Сравню результат и процесс с родным облаком.

Читать далее
Total votes 22: ↑21 and ↓1 +20
Views 5.4K
Comments 29

Как получить все сообщения через логическую репликацию Postgres

PostgreSQL *Programming *
Tutorial
Translation

В одной из предыдущих статей я описал Push-based Outbox Pattern (шаблон исходящих сообщений на основе push с логической репликацией Postgres). Идея заключается в том, чтобы сохранить исходящее сообщение (например, событие) в той же транзакции базы данных вместе с изменением состояния. Благодаря этому мы гарантируем, что сообщение не будет потеряно, а наш бизнес-процесс будет продолжаться и станет согласованным.

Postgres может помочь и проинформировать нас, когда добавляется новое сообщение. Мы можем использовать встроенный механизм журнала упреждающей записи (WAL, Write-Ahead Log) вместе с логической репликацией.

Читать далее
Total votes 5: ↑5 and ↓0 +5
Views 2.1K
Comments 0

Личный опыт подтягивания английского к собеседованиям

Learning languages

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

Читать далее
Total votes 29: ↑26 and ↓3 +23
Views 17K
Comments 16

Насколько круто иметь свой сервер в комнате

RUVDS.com corporate blog Open source *Server Administration *Development for Raspberry Pi *Software

Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

Но кажется, что эта эпоха возвращается. Только на новом уровне. Сейчас опять стало очень круто иметь в комнате свой сервер, только он выглядит иначе и выполняет другие функции.
Читать дальше →
Total votes 148: ↑147 and ↓1 +146
Views 75K
Comments 312

Важнейшие критерии при выборе Extract – Load решения для интеграции данных в DWH

OTUS corporate blog Big Data *Data Engineering *

Привет! На связи как всегда Артемий Козырь, Analytics Engineer в Wheely.

Если вопросы о том, зачем нужна интеграция данных, в чем различия ETL и ELT, как правило уже не требуют пояснений и ответов, и очевидны почти всем, то вопросы о том, какой именно Extract - Load сервис использовать, в чем различия между разными решениями, и как не прогадать в долгосрочной перспективе я слышу гораздо более часто.

В этой публикации попробую резюмировать свои знания:

— Каталог поддерживаемых источников и приемников данных

— Метод чтения данных из источников (Extract)

— Способы репликации в целевое Хранилище (Load)

— Работа с изменениями структуры данных (Schema Evolution)

— Трансформации перед загрузкой данных (EtLT)

— Тип развертывания решения (Deployment)

Буду объянять и показывать примеры на сервисах, которые использовал сам: Hevo Data, Fivetran, Airbyte. Однако критерии униварсальны и применимы для любых других систем подбного класса.

Читать далее
Total votes 4: ↑3 and ↓1 +2
Views 1.3K
Comments 2

Замена облакам в нашем кружке «oч.умелые ручки»

*nix *DevOps *Cloud services *
✏️ Technotext 2022

Последнее время доверие к облакам как-то резко упало, и пока кончалась годовая подписка на Google One на 2Т было время подумать, что делать дальше. В итоге родилась старая концепция - 'храним данные дома'. И вот что их этого получилось.

Читать далее
Total votes 25: ↑25 and ↓0 +25
Views 11K
Comments 38

Пробую российский софт для умного дома. Он правда работает?

Wiren Board corporate blog Computer hardware Smart House IOT DIY
Tutorial

Всем привет! С вами снова Дмитрий, не программист. В прошлый раз я установил на Wiren Board 7 визуальную среду Node-RED, не умерев в консоли. И даже проверил четыре популярных сценария: ноду Debug, мастер-выключателя, включения вытяжки при превышении концентрации CO₂, приборной панели (dashboard). Позднее я рассмотрел еще три сценария: темной комнаты, дневного/ночного освещения, термостата для теплого пола и батарей.

Но умный дом можно собрать не только на визуальной среде Node-RED. Российские разработчики давно предлагают программный пакет Sprut.hub для домашней автоматизации. Сценарии можно задавать как через фирменную визуальную среду, так и скриптами js. В Sprut.hub поддерживается большое число различных устройств, а некоторые пользователи считают его даже удобнее и проще Node-RED. Значит, настало время его попробовать! Более подробную информацию о Sprut.hub можно почерпнуть здесь.

Читать далее
Total votes 18: ↑17 and ↓1 +16
Views 8.6K
Comments 9

Строим бюджетный умный домашний кинозал с управлением в HomeKit

Video equipment Monitors and TV Periphery Smart House Sound


Предисловие.

Давно хотел cделать кинотеатр в доме, так как являюсь большим поклонником кинематографа во всех его проявлениях. Наконец появилось время реализовать задуманное и я приступил к реализации.

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

Смотреть далее
Total votes 17: ↑17 and ↓0 +17
Views 8K
Comments 19

Игры для обучения программированию

RUVDS.com corporate blog Programming *Software Games and game consoles Logic games

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

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

Соответствующие способности можно развить, а интеллект — повысить в рамках генетически заданного широкого коридора. Это возможно в любом возрасте. Лучше всего с детства, хотя и взрослым ничто не мешает… Проще всего начинать с игр.
Читать дальше →
Total votes 51: ↑51 and ↓0 +51
Views 23K
Comments 24

Миграция данных из различных RDBMS в HADOOP

Neoflex corporate blog SQL *Apache *Hadoop *

В статье будет рассмотрен процесс экспорта данных в Hadoop из различных РСУБД посредством фреймворка Spark. Для взаимодействия с фреймворком Spark будет использован язык программирования Python с применением api pySpark.

Читать далее
Total votes 7: ↑7 and ↓0 +7
Views 3.6K
Comments 8

Сможете ли вы решить задачки со вступительных экзаменов в Оксфордский университет?

Entertaining tasks
Translation


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

Все три задачки в последние годы задавались во время собеседований при поступлении в Оксфордский университет на философский факультет. В каждой из задач есть первоначальный вопрос, и почти все кандидаты правильно ответили на него. Далее в тексте идут дополнительные вопросы, с которыми справились только лучшие из лучших.
Читать дальше →
Total votes 86: ↑83 and ↓3 +80
Views 70K
Comments 93

Создаем аналитическое хранилище данных командой из 2-3 спецов

Big Data *Data storages *Data Engineering *
Всем привет!
Сделать хорошее аналитическое хранилище (DWH), когда в команде десяток-другой крутых специалистов и пара лет времени — не сложно. Проекты по созданию DWH, Data Lake и BI обычно очень ресурсоёмки и под силу только большим компаниям.
Мне интересно искать и применять практики, которые позволяют компаниям быстро создавать аналитические решения маленькой командой. Этими наработками хочу поделиться в данной статье.
Статья нацелена на:
  • Небольшие команды в начале пути.
  • Создание решений с быстрым возвратом инвестиций.

Коротко о моём DWH опыте (чтобы понимать ограничения моего мышления):
  • Реализовывал три похожих не очень больших проекта по созданию DWH: 5-15 терабайт, 100+ сущностей, в команде 2-4 специалиста, в качестве источника — одна основная база продукта (сервиса) и несколько дополнительных.
  • Участвовал в супер большом проекте DWH: 1+ Петабайт (прирост 1 терабайт в день), 2000+ сущностей, в команде 100+ специалистов. В этой компании жадно изучал Data Vault 2, исходники DWH движка, бизнес-процессы, которые масштабируются на сотни специалистов, правила описания DWH в вики и методы постановки задач.
  • В продакшн работал только с batch процессами, со stream знаком только по обучающим курсам и книгам.

Ценность для бизнеса


Цепочка создания ценности в процессе работы с данными (источник):


Читать дальше →
Total votes 15: ↑15 and ↓0 +15
Views 9.2K
Comments 13

Как сделать стрим в Postgres?

Конференции Олега Бунина (Онтико) corporate blog High performance *PostgreSQL *Database Administration *Data storages *

На одной конференции мне задали вопрос (спасибо Александру!): как сделать стрим в PostgreSQL? Представьте, что имеется bytea и вы к нему хотите что-то дописать. Люди столкнулись с тем, что на это в PostgreSQL  тратится гигантское время  и растет WAL-трафик. 

Расскажу, что с этим возможно сделать — это будет еще один пример оптимизации TOAST (о чем я недавно писал), на на этот раз — для быстрой записи потока бинарных данных. На самом деле мой коллега, Никита Глухов, за несколько часов сделал расширение, которое «вылечило» проблему, и мы даже успели рассказать про это на сессии блиц-докладов на PGConf.Online 2021.

Читать далее
Total votes 33: ↑33 and ↓0 +33
Views 8K
Comments 1

Как работать с Minikube: рекомендации и полезные советы

VK corporate blog System administration *DevOps *Kubernetes *
Translation

Kube Earth by Anarki3000

Minikube — популярное решение для запуска локального кластера Kubernetes на macOS, Linux и Windows. Несмотря на большой набор функций и кроссплатформенную поддержку, Minikube всё же отличается от полнофункционального кластера Kubernetes.

Часто это сбивает с толку разработчиков и новых пользователей Kubernetes, которым нужно протестировать приложение в локальной среде. Команда Kubernetes aaS VK Cloud Solutions перевела статью о том, как наладить беспроблемную работу с Minikube.
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Views 14K
Comments 2

Паттерны асинхронных обменов на платформе Авито

AvitoTech corporate blog Distributed systems *Microservices *

Привет! Меня зовут Павел Агалецкий, я старший инженер в команде архитектуры. Одна из областей ответственности нашей команды — синхронное (RPC) и асинхронное взаимодействие между сервисами. 

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

Читать далее
Total votes 13: ↑13 and ↓0 +13
Views 7.2K
Comments 9

Как мы ускорили выполнение запросов PostgreSQL в 100 раз

CloudMTS corporate blog High performance *Open source *PostgreSQL *Database Administration *
Translation

Существует великое множество статей об оптимизации PostgreSQL — эта «кроличья нора» весьма глубока. Когда несколько лет назад я начал разрабатывать бэкэнд аналитического сервиса, у меня уже был опыт работы с другими СУБД, такими как MySQL и SQL Server. Тем не менее, раньше мне не приходилось так фокусироваться на производительности. В прошлых проектах, над которыми я работал, либо не было жестких требований к времени обработки (DS/ML), либо не требовалось обрабатывать много строк одновременно (обыкновенные веб-приложения). Однако в этот раз мои запросы:

состояли из 3-10 JOIN-ов по коррелирующим запросам;

уielded от 10 до 1,000,000 строк;

должны были выполняться в течение времени, определенного UX-ом;

не могли быть hinted — пока Cloud SQL, управляемый PostgreSQL в Google Cloud, не стал поддерживать pg_hint_plan в конце 2021 года;

запрещали прямой доступ к серверному процессу, чтобы, например, хакнуть некоторые perf — потому что PostgreSQL был managed.

Получение целого миллиона строк в одном API endpoint сигнализирует о проблеме в алгоритме или архитектуре. Конечно, все можно переписать и перепроектировать, но за это нужно платить.

У нас не нашлось «заклинания», которое решило бы все проблемы с производительностью SQL. Тем не менее, я упомяну здесь несколько дельных предложений, которые помогли нам и, надеюсь, смогут помочь читателю. Разумеется, это не какие-то сакральные знания. Но когда мы начинали оптимизацию, я был бы рад их прочитать или услышать.

Читать далее
Total votes 30: ↑27 and ↓3 +24
Views 26K
Comments 2

Распутывание микросервисов или балансировка сложности в распределенных системах

Programming *System Analysis and Design *Perfect code *Designing and refactoring *Microservices *
Translation

Эта статья является переводом материала «Untangling Microservices, or Balancing Complexity in Distributed Systems».

Расцвет микросервисов закончился. Uber преобразовывает тысячи микросервисов в более управляемое решение [1]; Келси Хайтауэр предсказывает, что будущее за монолитами [2]; и даже Сэм Ньюман заявляет, что микросервисы никогда не должны быть выбором по умолчанию, а скорее крайним средством [3].

Что происходит? Почему так много проектов стало невозможно поддерживать, несмотря на обещание микросервисов простоты и гибкости? Или все-таки монолиты лучше?

В этом посте я хочу ответить на эти вопросы. Вы узнаете об общих проблемах проектирования, которые превращают микросервисы в распределенные большие комки грязи (distributed big balls of mud), и, конечно же, о том, как их избежать.

Читать далее
Total votes 22: ↑20 and ↓2 +18
Views 12K
Comments 8

Python и чистая архитектура в 2021 году

Издательский дом «Питер» corporate blog Python *Programming *Big Data *Professional literature *
Translation

Прошло уже почти 3 года с тех пор, как я впервые воспользовался чистой архитектурой на практике. С тех пор я побывал на многочисленных конференциях, где выступал с докладами на эту тему (вот, например, доклад Clean Architecture in Python с конференции PyGotham 2018). Кроме того, я написал статью о чистой архитектуре на Python, которая попала в рассылку RealPython.com … но сейчас заканчивается 2021 год, и мы ушли далеко вперед. Давайте рассмотрим, как развился Python, изучим разные крутые библиотеки, благодаря которым реализовывать чистую архитектуру на Python сегодня стало гораздо проще.

Сначала вспомним о том, зачем она нужна.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Views 18K
Comments 1

Как мы создаем микросервисные проекты с нуля

red_mad_robot corporate blog System Analysis and Design *API *Microservices *

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

Читать далее
Total votes 8: ↑8 and ↓0 +8
Views 7.8K
Comments 24

Information

Rating
Does not participate
Location
Белгород, Белгородская обл., Россия
Registered
Activity