Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Устанавливаем Home Assistant Supervised

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров13K

Сегодня мы будем устанавливать Home Assistant Supervised на Debian 12 по официальной инструкции. "Шо, опять?" - спросят многие. Да, но просто так устанавливать по инструкции скучно и обязательно столкнемся с проблемами, про которые даже не упоминается в инструкции.

Читать далее
Всего голосов 2: ↑2 и ↓0+3
Комментарии17

Скотч, кабель, Интернет: умный съемный дом

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров19K

Я люблю автоматизацию, гаджеты и IoT

Поэтому, места где я живу, рано или поздно становятся автоматизированными и обвешанными интернетом вещей

Да чего там, у меня даже бойлер по расписанию работает!

Под катом, я хочу рассказать, что я для этого делаю и как устроена моя домашняя инфраструктура, которая превращает уютную бетонную коробку в ее автоматизированную версию

Автоматизируй это
Всего голосов 55: ↑51 и ↓4+59
Комментарии64

MajorDoMo, делаем контроль датчика открытия замка. Голосовые уведомления и создания телефонного оповещения

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров4K
Добрый день, читатели Хабра!

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

Постановка задачи довольно простая: при открытии замка и в случае его не закрытия, через 3 минуты локально уведомлять посредством голосового сообщения через аудиовыход сервера Умного Дома и отправка на голосовые терминалы (в т.ч. и Яндекс станции). В случае, если замок так и не закрыт, то ещё через 2 минуты оповестить простым звонком на телефон с проигрыванием сообщения. Немного усложнил для себя задачу – без всякого стороннего вмешательство в работу телефона (установки дополнительных программ и приложений, глобальных перенастроек смартфона).
Публикация является продолжением моей предыдущей статьи. В ней немного затронем общую информацию о системе домашней автоматизации MajorDoMo, настройках, и создании автоматизаций (сценариев), а так же уведомлений и сообщений «Умного Дома»,
Во второй части, научим систему «Умного Дома» оповещать о критическом событии звонком на телефон (к примеру мобильный). Данную часть, думаю можно реализовать не только в MajorDoMo, но и в любой открытой системе «Умного Дома».
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии3

Сравнение архитектурных паттернов GetX и BLoC

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.7K

Всем привет! Я Айдар Мавлетбаев, Flutter-разработчик в AGIMA. В самом начале любого проекта очень важно выбрать архитектурный паттерн, ведь именно это может спасти ваш проект на более поздних этапах. В статье сравним архитектуры BLoC и MVC, подробно рассмотрим библиотеку GetX, выделим ее плюсы и минусы. В этом нам помогут два простых примера: это функция авторизации и List Data.

Читать далее
Всего голосов 12: ↑10 и ↓2+10
Комментарии14

В общих словах про ЯП Dart

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров8.2K

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

История Darth Vader началась в 2011 году. Целью создания Dart было предложить альтернативу JavaScript, которая позволила бы создавать более сложные, высокопроизводительные веб-приложения, облегчая при этом процесс разработки.

Со временем Dart претерпел множество апдейтов, но его основной рывок произошел с запуском Flutter — фреймворка для создания нативных интерфейсов для мобильных, веб- и настольных приложений из единой кодовой базы.

Язык поддерживает ООП с классами и множественным наследованием, а также функциональные возможности, такие как высшие порядки функций, замыкания и асинхронность и т.п.

Система типов в Dart поддерживает как статическую типизацию, так и типизацию во время выполнения.

Читать далее
Всего голосов 16: ↑8 и ↓8+2
Комментарии8

Типы-расширения в Dart

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров1.7K

Тип-расширение (extension type) – это абстракция, которая происходит на этапе компиляции и "оборачивает" существующий тип, предоставляя для него новый, сугубо статический интерфейс. Типы-расширения являются важным компонентом статической интеграции с JavaScript (static JS interop), поскольку они позволяют легко изменять интерфейс существующего типа (что критически важно для любого вида взаимодействия) без затрат на создание реального объекта-обёртки.

Типы-расширения позволяют строго определить набор операций (или интерфейс), доступных для объектов базового типа, который называется типом представления. При определении интерфейса для типа-расширения вы можете оставить некоторые методы типа представления, отбросить другие, заменить некоторые из них и добавить новую функциональность.

Читать далее
Всего голосов 4: ↑3 и ↓1+4
Комментарии0

Соединяем Flutter, Firebase и ESP32 в единую систему

Уровень сложностиСложный
Время на прочтение15 мин
Количество просмотров7K

Всем привет! Это Мурат Насиров, Flutter-разработчик в Friflex. Мы разрабатываем высоконагруженные мобильные приложения для бизнеса и специализируемся на Flutter. 

Сегодня расскажу, как использовать микроконтроллер ESP32 в связке с Flutter-приложением. В качестве примера покажу, как снимать показания температуры и влажности с помощью датчика DHT11 и передавать эти данные через Firebase Realtime Database в приложение.

Читать далее
Всего голосов 6: ↑5 и ↓1+5
Комментарии6

Операционные усилители: 10 схем на (почти) все случаи жизни

Время на прочтение15 мин
Количество просмотров479K
Всем привет!

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


Читать дальше →
Всего голосов 102: ↑100 и ↓2+135
Комментарии54

Одноплатники начала 2024 года: 5 моделей для самых разных целей

Время на прочтение5 мин
Количество просмотров28K

В самом начале 2024 года появилось очень много информации о новых устройствах и системах, представленных на CES 2024. Среди них есть весьма примечательные девайсы. Но и кроме техновыставки у производителей есть, чем нас порадовать. Речь, в первую очередь, про одноплатники, которые могут пригодиться как любителям DIY, так и разным компаниям. Подробности — под катом.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+38
Комментарии41

Как я повысил производительность flutter приложения с помощью FragmentShader. Часть 1

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров2.2K

Статья о том, как я добавил фичу с рисованием пальцем на экране с помощью CustomPaint во flutter приложении и далее пошагово занимался оптимизацией

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии2

Погружение в мир адаптивной верстки с Flutter

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров9.4K

Я Магин Максим, Flutter-разработчик агентства мобильной разработки Instadev. Поговорим о таком понятии как “адаптивная верстка”. Разберем, для чего она нужна, чем отличается от других видов верстки и какие подводные камни могут встретиться при использовании.

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

Для того, чтобы понять, каким образом следует выстроить процесс формирования UI приложения, для начала необходимо разобраться, какие подходы используются в принципе.

Существует 4 основных подхода к верстке: фиксированный, резиновый, адаптивный и отзывчивый. Каждый из этих подходов имеет свои плюсы и минусы. Разберем их чуть подробнее.

Фиксированный подход

Его суть  заключается в том, чтобы задать жесткие размеры и расстояния для всех элементов, отображаемых на экране. Иными словами мы “фиксируем” положение каждого виджета на экране. Преимущество очевидно – мы всегда знаем величину того или иного используемого элемента. С другой стороны, если мы возьмем устройство, которое хоть немного отличается размером от того, на котором мы производим тесты, все наши расчеты оказываются неподходящими для него: в лучшем случае, может появиться больше пустого пространства или, наоборот, элементы сильно прижмутся друг к другу, в худшем – мы получим ошибку рендеринга. Это говорит нам о том, что в чистом виде данный подход лучше не использовать.

Читать далее
Всего голосов 20: ↑20 и ↓0+20
Комментарии4

Самая дешевая заводская панель управления умным домом, которая отлично работает

Уровень сложностиСложный
Время на прочтение4 мин
Количество просмотров79K

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

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

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

Выбор пал на NSPanel из‑за цены около 3,5 тысяч рублей, а также возможности установки в подрозетник или покупки настольной подставки — как у меня на фото.

Панель в подрозетник или на стол
Всего голосов 81: ↑78 и ↓3+99
Комментарии126

OpenConnect: недетектируемый VPN, который вам понравится

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров273K

Я уже написал здесь много статей на тему прокси-протоколов и прокси-клиентов, которые очень сложно детектировать и заблокировать, и которые используют пользователи в Китае, Иране, Ираке, Туркменистане, и теперь вот в России (мы здесь в отличной компании, правда?). Но довольно часто мне в комментариях писали, мол, это все отлично, но мне нужен именно VPN для целей именно VPN - доступа в частные локальные сети, либо для соединения клиентов между собой, и желательно так, чтобы его не заблокировали обезьяны с гранатой. Поэтому сегодня мы поговорим именно о VPN.

Классические OpenVPN, Wireguard и IPSec отметаем сразу - их уже давно умеют блокировать и блокировали не раз. Модифицированный Wireguard от проекта Amnezia под названием AmneziaWG — отличная задумка, но есть одно но...

Читать далее
Всего голосов 273: ↑272 и ↓1+323
Комментарии348

Проектирование архитектуры для микросервисов с использованием gRPC

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров18K

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

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

gRPC – высокопроизводительный и мощный инструмент для построения микросервисных систем.

Читать далее
Всего голосов 13: ↑9 и ↓4+7
Комментарии10

Открытие корпоративных счетов в Китае и Гонконге: Практическое руководство для бизнеса

Время на прочтение18 мин
Количество просмотров3.7K

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

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

Читать далее
Всего голосов 5: ↑2 и ↓3+3
Комментарии0

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

Время на прочтение5 мин
Количество просмотров3.3K

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

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

Читать далее
Всего голосов 10: ↑8 и ↓2+8
Комментарии3

Использование python-docx-template для динамического создания закладок и ссылок на них в документах Word

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров8.2K

Я использую модуль python-docx-template для генерации файлов docx по шаблону.

Подробнее о модуле можно почитать здесь.

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

Здесь я предлагаю свой способ вставки закладок (bookmarks) и ссылок (hyperlinks) на них при помощи python-docx-template.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Как сделать из Python-скрипта исполняемый файл

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров121K

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

Читать далее
Всего голосов 27: ↑16 и ↓11+7
Комментарии31

Как и о чём мне нужно информировать налоговую в России, если я переехал в Грузию, работаю и живу здесь?

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров8.1K

Привет! Меня зовут Майя, я финансовый, налоговый и инвестиционный советник. Значительная часть моих клиентов сейчас находится за границей. Достаточно часто они сталкиваются с непониманием того, как взаимодействуют между собой русская и грузинская/турецкая/сербская финансовые системы. С учетом того, что в большинстве своем это фрилансеры и люди, работающие на удалёнке, которые не погружены в вопрос, я всегда рада помочь им не получить ненужный штраф.

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

Читать далее
Всего голосов 22: ↑10 и ↓12+3
Комментарии41

Работа в стартапах для разработчиков: шансы и риски

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров3.4K

Всем привет, меня зовут Август Вилакия!

У меня бывает так, что сижу я себе, пишу код, а тут - бац! - и ко мне какой-нибудь энергичный братишка приходит: "Эй, чувак, тащись к нам в стартап! Мы уже почти подняли крупный раунд". А иногда встречаются еще более везучие ребята, которые уже раздобыли бабло и предлагают обменять мои кровь, пот и слёзы (читай: время) не только на зарплату, но и на опционы или долю в компании.

Вот эти самые стартапы, особенно те, которые растут и превращаются в "единорогов" (так называют компании, оцененные в космические $1 миллиард и больше), могут подсунуть под нос своим работягам опционы на акции. И, бро, эти опционы могут принести миллионы долларов, если стартап оторвется и улетит в космос.

Читать далее
Всего голосов 6: ↑1 и ↓5-4
Комментарии5

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность