Search
Write a publication
Pull to refresh
4
0
xRay @xRay

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

Send message

Автоматизируем работу системы отопления в квартире без переделки интерьера — умный дом z-wave

Reading time4 min
Views28K
Давно у меня стояла задача по автоматизации работы системы отопления в доме. Дано — классические термостаты теплого пола ballu с крутилкой — покупались в leroymerlin в далеком 2017 году для управления электрическим полом.


Сейчас мне необходимо автоматически включать теплые полы в ванной и на балконе по геолокации, семидневному расписанию или событию. Для своей цели я долго выбирал смарт термостаты и остановился на Heatit Z-TRM3 — термостат с Z-Wave чипом 5го поколения на частоте 869mhz.

В комплекте все что нужно — инструкция на русском языке, ntc type температурный датчик теплого пола и сам термостат со съемной монтажной рамкой для удобства.

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


Сам термостат есть в черном и белом цвете, он позволяет устанавливать температуру теплого пола не только с телефона или контроллера Z-Wave, но и с дисплея на термостате.
Читать дальше →

По вашему запросу найдено: реализация нечеткого поиска

Reading time8 min
Views12K
Все мы совершаем ошибки: в данном случае речь идет о поисковых запросах. Количество сайтов для продажи товаров и услуг растет наряду с потребностями пользователей, однако не всегда они могут найти то, что ищут – только потому, что неправильно вводят название необходимого товара. Решение данной проблемы достигается путем реализации нечеткого поиска, то есть использования алгоритма поиска наиболее близких значений с учетом возможных ошибок или опечаток пользователя. Область применения такого поиска достаточно широка – нам же удалось поработать над поиском для крупного интернет-магазина в фудритейл-сегменте.
Читать дальше →

Переезд инженера в Германию: «Голубая карта», налоги, дети

Reading time15 min
Views105K


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


Топ-5 стран по количеству переехавших российских инженеров в тысячах, Amazing Hiring, 2020
*около 30% инженеров не открывают своих данных для открытого поиска.


Стоит ли Германия релокейта, и что ждет тех, кто переезжает не один? В нашем сегодняшнем материале — плюсы и минусы переезда в страну пива и брецелей.
Читать дальше →

Как переехать в Испанию из Украины по студенческой визе: личный опыт, советы и эмоции

Reading time6 min
Views11K

Вот такие виды открываются из Гранады

Привет, Хабр! Мы давно обсуждали возможность появления в нашем блоге историй от людей, работающих в IT. Решили начать с экспериментального цикла материалов об IT-иммиграции, изучении языков и прочих интересных вещах. Первая история — от коллеги по индустрии, которая переехала из Украины в Испанию по студенческой визе пять лет назад и делится своим опытом. Надеемся, что цикл вам понравится. Мнения, предложения пишите прямо в комментариях, прочитаем и учтем все, обещаем.
От автора: Все события, которые описаны ниже, происходили в 2015 году, когда я с семьей решила переехать в Испанию из Украины по студенческой визе. Возможно за пять лет система подачи документов чуть изменилась. Вероятность невелика, но, если это так, буду благодарна вашим поправкам и рассказам о личном опыте.
Читать дальше →

Оптимизация производительности фронтенда. Часть 2. Event loop, layout, paint, composite

Reading time11 min
Views65K

Ночь. Стук в дверь. Открыть. Стоят двое. "Верите ли вы в Event loop, нашу главную браузерную цепочку?" Вздохнуть. Закрыть дверь. Лечь досыпать. До начала рабочего дня еще 4 часа. А там уже ивент лупы, лейауты и прочая радость…


В первой части мы говорили о первой загрузке и работе с ресурсами. Сегодня я расскажу о второй части оптимизации производительности фронтенда. О том, что происходит с нашей страницей, когда она загружена, на что уходит процессорное время и что с этим делать. Ключевые слова: event loop, paint \ repaint, layout \ reflow, composite.


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

Тесты в Python: все основные подходы, плюсы и минусы. Доклад Яндекса

Reading time23 min
Views90K
Перед вами доклад Марии Зеленовой zelma — разработчика в Едадиле. За час Маша рассказала, в чём состоит тестирование программ, какие тесты бывают, зачем их писать. На простых примерах можно узнать про библиотеки для тестирования Python-кода (unittest, pytest, mock), принципы их работы и отличия между ними.


— Добрый вечер, меня зовут Маша, я работаю в отделе подготовки анализа данных Едадила, и сегодня у нас с вами лекция про тестирование.
Читать дальше →

Некоторые аспекты управления VDS-сервером под Linux

Reading time9 min
Views15K
VDS (Virtual Dedicated Server) — услуга, в рамках которой пользователь получает виртуальный выделенный сервер с максимальными привилегиями. Это эмуляция реального физического сервера, у него есть рутовый доступ, возможность установки произвольных операционных систем и любого софта. При этом он обходится значительно дешевле аренды сопоставимого по мощности физического сервера.

На сервер можно поставить ОС со своего образа или воспользоваться готовым образом в панели управления.



Предположим, мы поставили Debian 10 и веб-сервер Nginx, который идёт в стандартном репозитории (apt install nginx). Давайте посмотрим, какие полезные утилиты и команды помогут в управлении сервером под Linux. Рассмотрим и отдельно Nginx, и сам VDS-сервер в целом.
Читать дальше →

Частотный анализ русского текста и облако слов на Python

Reading time6 min
Views80K
Частотный анализ является одним из сравнительно простых методов обработки текста на естественном языке (NLP). Его результатом является список слов, наиболее часто встречающихся в тексте. Частотный анализ также позволяет получить представление о тематике и основных понятиях текста. Визуализировать его результаты удобно в виде «облака слов». Эта диаграмма содержит слова, размер шрифта которых отражает их популярность в тексте.

Обработку текста на естественном языке удобно производить с помощью Python, поскольку он является достаточно высокоуровневым инструментом программирования, имеет развитую инфраструктуру, хорошо зарекомендовал себя в сфере анализа данных и машинного обучения. Сообществом разработано несколько библиотек и фреймворков для решения задач NLP на Python. Мы в своей работе будем использовать интерактивный веб-инструмент для разработки python-скриптов Jupyter Notebook, библиотеку NLTK для анализа текста и библиотеку wordcloud для построения облака слов.
Читать дальше →

Революция в SEO

Reading time7 min
Views12K

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



За последние 5 лет SEO кардинально изменилось. Многие сохраняют хорошую мину, но как ни крути, в отрасли депрессия, и она сохраняется по сей день.


Что заставило нашу беспокойную, но любимую отрасль меняться? Давайте разбираться.

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

Ядерный шелл поверх ICMP

Reading time9 min
Views16K


TL;DR: пишу модуль ядра, который будет читать команды из пейлоада ICMP и выполнять их на сервере даже в том случае, если у вас упал SSH. Для самых нетерпеливых весь код на github.

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

В комментариях к моей первой статье упомянули SoftEther VPN, который умеет мимикрировать под некоторые «обычные» протоколы, в частности, HTTPS, ICMP и даже DNS. Я представляю себе работу только первого из них, так как хорошо знаком с HTTP(S), а туннелирование поверх ICMP и DNS пришлось изучать.
Читать дальше →

Как запускается сервер: UEFI

Reading time9 min
Views32K

Ранее мы уже разбирали последовательность запуска сервера на примере устаревшего Legacy. Настало время познакомиться с UEFI поближе.

Первая версия того, что сейчас известно как Unified Extensive Firmware Interface (UEFI), разрабатывалась в 90-е годы прошлого тысячелетия специально под системы на Intel® Itanium® и называлась Intel Boot Initiative, а позже — EFI.

Желание «обновить» процесс загрузки было ожидаемо. PC-BIOS, именуемый ныне Legacy, предлагает работать в 16-битном real mode, адресует всего 1 МБ оперативной памяти, а загрузчик вместе с таблицей разделов должен размещаться в первых 512 байтах накопителя. Более того, PC-BIOS передает управление первому найденному загрузчику без возможности возврата назад. При этом обработку случаев с несколькими операционными системами возлагают на плечи загрузчика.
Читать дальше →

Реализация ролевой модели доступа с использованием Row Level Security в PostgreSQL

Reading time5 min
Views7.1K
Развитие темы Этюд по реализации Row Level Secutity в PostgreSQL и для развернутого ответа на комментарий.

Использованная стратегия подразумевает использование концепции «Бизнес-логика в БД», что было чуть подробнее описано здесь — Этюд по реализация бизнес-логики на уровне хранимых функций PostgreSQL

Теоретическая часть отлично описана в документации Postgres ProПолитики защиты строк. Ниже рассмотрена практическая реализация конкретной бизнес задачи — ролевая модель доступа к данным.


В статье ничего нового, нет скрытого смысла и тайных знаний. Просто зарисовка о практической реализации теоретической идеи. Если кому интересно — читайте. Кому не интересно — не тратьте свое время зря.
Читать дальше →

[Подборка] 6 no-code инструментов для быстрого запуска продуктов и автоматизации процессов

Reading time4 min
Views10K


Изображение: Designmodo

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

К счастью, сегодня все большее распространение получают no-code инструменты, которые позволяют решать ранее достаточно сложные задачи легко и без необходимости писать хоть строку кода. В новой статье я собрал несколько таких полезных инструментов, которыми пользуюсь сам, и которые позволяют быстро запускать качественные ИТ-продукты без больших вложений.
Читать дальше →

Как защитить Python-приложения от внедрения вредоносных скриптов

Reading time7 min
Views8K


Python-приложения используют множество скриптов. Этим и пользуются злоумышленники, чтобы подложить нам «свинью» — туда, где мы меньше всего ожидаем её увидеть.

Одним из достоинств Python считается простота использования: чтобы запустить скрипт, нужно просто сохранить его в .py-файле и выполнить команду python с этим файлом (например, python my_file.py). Так же легко разбить наш файл, например, на модули my_app.py и my_lib.py и далее для подключения модулей использовать конструкцию import...from: import my_lib from my_app.py.

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

Создаем thumbnails для видео с python и opencv

Reading time2 min
Views5.2K


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

Создадим небольшую программу, которая создаст thumbnails для каждого из файлов в текущей папке windows, и добавит timeline к вырезанным файлам.
Читать дальше →

Реверс-инжиниринг трафика на шине CAN

Reading time4 min
Views16K

Необработанный сигнал шины CAN

Шина CAN (Controller Area Network) стала стандартом в автомобилестроении: все новые автомобили обязаны поддерживать CAN (с 2001 в Европе и с 2008 в США). Кроме автомобилей, CAN применяется и в широком ряде других устройств. Производители диагностического оборудования для CAN рекламируют его применение, кроме разнообразной автомобильной техники, в мотоциклах, автопогрузчиках, судах, шахтных поездах, батискафах, беспилотных самолетах и пр. Давайте разберемся, что из себя представляет CAN.
Читать дальше →

Мультиварка — это простой и эффективный способ дезинфицировать маски N95

Reading time3 min
Views24K
Проведенное исследование сотрудников университета Иллинойс предполагает, что владельцы мультиварок смогут добавить к их списку функций еще одну: стерилизация респираторных масок N95 для повторного использования.

Стабилизация видео с движущейся камеры, или как перевести всё в неподвижную систему координат

Reading time8 min
Views7.5K

Сейчас возможности Computer Vision (CV) полностью перекраивают ландшафт рынка Public Safety solutions. В то время как традиционными системами видеонаблюдения уже не просто никого не удивить, а странно не найти её в любом общественном месте, использование ИИ в данной области всё ещё вновинку.


Мы исследуем применение CV для различных бизнес-задач в сфере Public safety. В этом посте мы предлагаем вариант перевода видео с движущейся камеры в неподвижную систему координат для последующего анализа.


Полностью проект лежит на GitHub.




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


Зачем это нужно? Очень часто в задачах public surveillance видео, которое нужно анализировать, снято на движущуюся камеру. Из-за этого возникает несколько проблем в определении положения объектов относительно друг друга:


  • Непонятно, чем вызвано изменение координат объекта: движется камера или сам объект;
  • При смене сцены из-за поворота камеры разные объекты могут получить одни и те же координаты, даже если объекты были статичными.

image
Рисунок 1 — Одинаковые объекты имеют разные координаты из-за движения камеры


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


  1. Определить начало координат;
  2. Сопоставить между собой два последовательных фрейма;
  3. Найти преобразование, которое будет переводить координаты объекта на текущем фрейме в координаты относительно начала координат, при этом учитывать все движения камеры (поворот, перемещение, наклон и т.д.).

image
Рисунок 2 — проективное преобразование

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

Склеиваем несколько фотографий в одну длинную с помощью компьютерного зрения

Reading time4 min
Views27K
В предыдущих статьях был описан шеститочечный метод разворачивания этикеток и как мы тренировали нейронную сеть. В этой статье описано, как склеить фрагменты, сделанные из разных ракурсов, в одну длинную картинку.
Читать дальше →

Суммаризация текста: подходы, алгоритмы, рекомендации и перспективы

Reading time8 min
Views29K
Ежедневно каждый из нас сталкивается с огромным информационным потоком. Нам часто необходимо изучить множество объемных текстов (статей, документов) в ограниченное время. Поэтому в области машинного обучения естественным образом родилась задача автоматического составления аннотации текста.

У нас в компании мы активно работаем над автореферированием документов, в эту статью не стал включать все подробности и код, но описал основные подходы и результаты на примере нейтрального датасета: 30 000 футбольных спортивных новостных статей, собранных с информационного портала «Спорт-Экспресс».

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

Information

Rating
Does not participate
Registered
Activity