Как стать автором
Обновить
2
0
Евгений Балаганский @twixus_vulgaris

Инженер VoIP

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

Визуализация в IoT: или как самому развернуть систему сбора и отображения данных на MQTT+Telegraf+InfluxDB+Grafana

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

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

Многие статьи или инструкции, которые есть в интернете, в части работы с Influx и Telegraf – имеют отношения к довольно старым версиям рассматриваемого ПО, в виду чего у меня ушло какое-то время, чтобы со всем разобраться. Хотелось бы оставить небольшое обновление по инструкциям здесь, возможно, они помогут кому-то сэкономить время и нервы, так как информация агрегирована в виде summury моего погружения в реализацию данного решения. 

Кому интересно, welcome :)

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

Шифруем передаваемые на сайт данные с алгоритмом на основе хаотической системы Лоренца

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

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

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

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

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

Исследуем граф «мир тесен» при помощи Neo4j

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

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

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

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

В главе 20 книги Networks Crowds and Markets ее авторы Дэвид Изли и Джон Клейнберг дают теоретический аппарат, описывающий, как в реальном мире могут возникать феномены, укладывающиеся в граф «мир тесен». В этой теории сочетается идея гомофилии, согласно которой схожие люди кучкуются вместе, и идея слабых связей, где отношения ветвятся в масштабах всей сети. Объяснение основано на работе Дункана Уоттса и Стива Строгаца. Давайте проследим эти примеры при помощи кода, написанного при помощи Neo4j.

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

Инструкция: как расширить файловую систему в Linux. Часть 2: работа с виртуальной машиной

Время на прочтение3 мин
Количество просмотров6.3K
image

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

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

Матрица вероятностей (рисков) и влияния управления проектов

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

Все любят говорить о планировании. Но планирование – это не просто составление списков задач и того, что можно было бы реализовать. Задача правильного планирования – привести к такому состоянию, когда конечный (реальный) результат будет максимально соответствовать ожиданиям, то есть плану. И чем масштабнее совпадение, тем выше качество планирования.

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

Так вот, опытный руководитель — это тот, кто умеет планировать не только деятельность вверенных ему людей, бизнес-процессов, ресурсов, но и рисков. Рисками тоже нужно уметь управлять.

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

Asterisk. Доставка SIP Message после возврата абонента из off-line'а

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

В предыдущих статьях я описал как настроил и собрал GSM <> SIP систему на базе Asterisk. В этой статье расскажу как быть с входящими SMS, если получатель не в сети.

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

Тестируем методы тайм-менеджмента. Часть 3: GTD и джедайские техники

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

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

Это последняя часть нашей серии статей про тестирование методов тайм-менеджмента. Первую вы найдете здесь, а вторую здесь. Сегодня мы расскажем про одну крупную систему организации времени GTD (Getting Things Done) Дэвида Аллена и про приемы из книги Максима Дорофеева «Джедайские техники». В формате теста, конечно! Как и до этого, про тестирование расскажет Анна, маркетолог и один из авторов контента Click.ru.

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

Инструкция: как расширить файловую систему в Linux. Часть 1

Время на прочтение9 мин
Количество просмотров62K
image

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

Материал будет интересен начинающим системным администраторам, а также разработчикам, которые хотят ближе познакомиться с файловыми системами.
Читать дальше →
Всего голосов 12: ↑8 и ↓4+5
Комментарии5

На пенсию до 45: как поменялось сообщество FIRE за последние три года

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

Привет! Это команда сервиса для безопасных сделок с фрилансерами Solar Staff. В этой статье мы расскажем о движении FIRE и о том, что изменилось внутри комьюнити за последние несколько лет.

Читать далее
Всего голосов 14: ↑11 и ↓3+14
Комментарии146

PyWinAuto + Maya 3D — записки начинающего автоматизатора

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

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

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

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

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

Превращение месяцев в недели — тут.
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Что не так с курсами по программированию, и зачем мы запустили еще один по Python

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

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

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

Как организовать код в Python-проекте, чтобы потом не пожалеть

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

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

Бенджамин Франклин

Python отличается от таких языков программирования, как C# или Java, заставляющих программиста давать классам имена, соответствующие именам файлов, в которых находится код этих классов.

Python — это самый гибкий язык программирования из тех, с которыми мне приходилось сталкиваться. А когда имеешь дело с чем-то «слишком гибким» — возрастает вероятность принятия неправильных решений.

Читать далее
Всего голосов 28: ↑25 и ↓3+32
Комментарии34

Еще один велосипед для удобного просмотра логов в Notepad++

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

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

Читать далее
Всего голосов 26: ↑21 и ↓5+20
Комментарии14

Hi-Tech DIY: Турбореактивный микрогенератор электричества. Изучаем возможности

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

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

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

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

Читать дальше →
Всего голосов 58: ↑56 и ↓2+77
Комментарии47

Как работают регулярные выражения, или Движок regex с анимацией

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

К старту курса по Fullstack-разработке на Python показываем, как работают регулярные выражения, на примере их движка с визуализацией, которую вы видите на КДПВ. Под катом подробности и код.

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

Manticore — альтернатива Эластику на C++ с 21-летней историей

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

5 лет назад мы форкнули Manticore из open source версии некогда популярного open source поискового движка Sphinx 2.3.2. У нас было два пакетика травы, семьдесят пять ампул мескалина, три C++ разработчика, один саппорт-инженер, опытный пользователь, менеджер, мать пятерых детей, помогающая нам на полставки и гора багов, крэшей и технических долгов. И вот, по прошествии 5 лет и сотен новых пользователей мы готовы сказать, что Manticore можно использовать как альтернативу Elasticsearch и для полнотекстового поиска и для аналитики данных.

В этой статье хочется: вспомнить как всё начиналось и что было до SOLR и Elasticsearch, максимально объективно обрисовать текущую ситуацию, попытаться понять куда нам двигаться дальше.

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

Сопоставляем с образцом как Pythonista

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

Одним из самых нашумевших нововведений Python 3.10 стало так называемое структурное сопоставление с образцом (structural pattern matching). Этот мощный инструмент берёт своё начало в функциональных языках программирования, а в последнее время постепенно появляется и во многих мейнстримовых языках (Java, C#, Kotlin, Swift, и т.д.). Как всегда, Python старается не отставать и идти в ногу со временем. Так зачем же популярные языки программирования добавляют поддержку этого механизма? В чём его отличие от простого условного оператора if? И вообще, в чём практическая польза сопоставления с образцом? Пробуем разобраться далее.

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

Магия ssh

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

Разве что ленивый не писал про ssh и несмотря на это, данный протокол и его возможности не перестают меня восхищать. Здесь я хочу поделиться исключительно своим опытом использования сего замечательного инструмента в своих задачах (При этом активно применяю его даже при разработке на Windows).

Поскольку я программист, то инструментарий ssh часто нужен мне в разработке и для личных нужд. Самые частые задачи, которые я выполняю с его помощью (по частоте использования):

  • Удалённый доступ — логично, ведь для этого он и предназначался.
  • Монтирование папок по сети — очень удобно для работы с кодом на удалённой машине.
  • Удалённое выполнение команд — нечастая, но используемая мной операция. Удобно получать выхлоп команды в канал другой команды на текущей машине.
  • Запуск графических приложений на удалённой машине.
  • Проксирование трафика — способ перенаправления трафика. Этакий быстрый и простой аналог VPN.
  • Обратный ssh — использую для проброса портов к системам, находящимися за NAT, когда лень настраивать firewall.

Далее вкратце разберу каждый пункт, и особенно пути эффективного и простого использования под Windows.
Читать дальше →
Всего голосов 82: ↑74 и ↓8+89
Комментарии133

Найти вероятность выпадения k (сумма выпавших значений) при бросании n кубиков (часть 1 из 2)

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

Решение задачи и пояснение алгоритма: Есть n стандартных игральных костей (6-ти гранных кубиков) со стандартным обозначением всех граней от 1 до 6. Бросаем все n кубики разом. Нужно найти вероятность выпадения числа k, а именно суммы всех значений, выпавших на этих кубиках

Читать далее
Всего голосов 12: ↑8 и ↓4+5
Комментарии30

Работаем с «малинкой»: 8 лучших аксессуаров для Raspberry Pi лета 2022 года

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

Привет, Хабр! Продолжаем изучать возможности одноплатника Raspberry Pi. Разные модели и сами по себе неплохие, но с разными аксессуарами и расширениями круг возможностей этого устройства расширяется. Наверное, многие читатели Хабра, кто работает с микроэлектроникой, имеет собственные предпочтения в плане дополнительных девайсов для «малинки». Ну а под катом — 5 аксессуаров, которые понравились нашей команде. Если у вас есть, что добавить — давайте обсудим в комментариях.
Читать дальше →
Всего голосов 44: ↑35 и ↓9+37
Комментарии31

Информация

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

Специализация

System Administration, Network Engineer
Senior
От 150 000 ₽
Ansible
Asterisk
Linux
Zabbix
Mikrotik
Debian
Python
Bash