Pull to refresh
-10
0.1

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

Send message

Двухтрубные системы отопления тупикового и попутного типа. Мнимая магия «петли Тихельмана»

Reading time 21 min
Views 46K

Двухтрубные системы отопления тупикового и попутного типа. В чём разница и что об этом говорят современные строительные нормы.

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

Теперь настала очередь рассмотреть особенности проектирования и эксплуатации двухтрубных систем, которые крайне популярны у частных домовладельцев в ИЖС.

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

Далее мы рассмотрим гидравлический расчёт систем для одного этажа частного дома с периметром в те же 50м для дом 10х15м по внутренним стенам (150м.кв на этаж).

А позже попытаемся применить те же подходы для максимальной высоты 50м в стояковой системе высотного дома.

Тупиковая система

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

Читать далее
Total votes 74: ↑70 and ↓4 +66
Comments 173

Проксируем OpenVPN через Shadowsocks или чиним OpenVPN во время блокировок

Level of difficulty Easy
Reading time 3 min
Views 27K

В данной статье рассмотрим как настроить существующее подключение к OpenVPN серверу, которое могло или может перестать работать, через shadowsocks (Outline VPN) туннель на OpenWRT любых версий с помощью openvpn-openssl и shadowsocks-libev.

Понадобятся:

Существующий сервер OpenVPN и настроенный клиент на OpenWRT

Конфиг shadowsocks (Outline) вашего либо чужого сервера.

Свободные 650кб памяти в роутере

Читать далее
Total votes 19: ↑19 and ↓0 +19
Comments 29

Кратко: запросы к API и разбор XML-ответов. Python

Reading time 8 min
Views 28K

Этот пост предназначен в первую очередь для новичков в разработке, впервые столкнувшихся с необходимостью отправить post/get запросы к какому-нибудь API и проанализировать полученный в XML ответ. Постаралась собрать необходимы минимум в одном месте.

Читать далее
Total votes 3: ↑3 and ↓0 +3
Comments 7

SFTP под root-ом в WinSCP для удаленной отладки(PyCharm)

Reading time 3 min
Views 4.8K

Этот пост предназначен в первую очередь для новичков в разработке, впервые столкнувшихся с необходимостью запуска скриптов из-под root-а, взаимодействующих с ресурсами/устройствами, доступ до которых возможен только с сервера приложений, находящимся за NAT-ом. Частая ситуация в телекоме.

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

15 супер полезных примеров команды find в Linux

Reading time 9 min
Views 68K

Практические примеры, которые приведены в этой статье, помогут вам освоить очень эффективную и крайне полезную команду find.
Читать дальше →
Total votes 42: ↑38 and ↓4 +34
Comments 17

Linux с двойным дном

Level of difficulty Medium
Reading time 13 min
Views 48K

Кулхацкеры всех стран — соединяйтесь!

Если у вас паранойя, это не значит, что за вами не следят.

В этой статье я расскажу как сделать так, чтобы ваша линуксовая машинка выглядела невинной игрушкой, но при вводе нескольких команд превращалась в настоящую боевую единицу. Конечно, у вас могут найти на диске сектора с необычно высокой энтропией, несколько подозрительных системных настроек, но никаких явных зашифрованных разделов, файлов, или сторонних шифровалок. Конечно, вас могут спросить - "а для чего тебе cryptsetup, сынок?", на что вы ответите - "это же Linux Mint, это всё искаропки!" Хуже, если бы вас спросили: зачем ты используешь LUKS, или, что ещё хуже, зачем ты поставил VeraCrypt или Shufflecake.

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

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

Читать далее
Total votes 65: ↑65 and ↓0 +65
Comments 82

Профилирование данных из СУБД Oracle с помощью DataHub и Great Expectations. Часть 2

Level of difficulty Medium
Reading time 11 min
Views 1.8K

В первой части статьи мы подключили DataHub к базе данных Oracle, во второй части рассмотрим подключение Great Expectations к DBMS Oracle, сделаем ряд проверок качества данных, а также отправим результаты проверок в DataHub.

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

Messaging для чайников. Утилизируем все возможности RabbitMQ на Python

Level of difficulty Easy
Reading time 9 min
Views 9.8K

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

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

Простых и понятных примеров на Python тоже мало, так как они заставляют вас вникать не только в особенности различных вариантов маршрутизации RabbitMQ, но и в особенности используемых библиотек. Для человека, который видит что-то pika-подобное первый раз, это может быть испытанием.

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

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

Поехали
Total votes 13: ↑13 and ↓0 +13
Comments 9

Диаграммы без боли и страданий: PlantUML

Level of difficulty Medium
Reading time 9 min
Views 33K

Системный аналитик всегда и везде сталкивается с бесконечным количеством диаграмм разного вида, с нотациями (правилами), чтобы нарисовать данные диаграммы и с бесконечным количеством инструментов для их описания. Но мало кто говорит о таком инструменте, как PlantUML. 

Лично мне завесу тайны приоткрыл Альфа-Банк, здесь документация ведется рядом с кодом, и схемы логичнее описывать тоже кодом. Но это не так страшно и не так сложно (почти) как кажется. Давайте я приоткрою ящик Пандоры и сниму кармическое проклятье с  этого инструмента. 

Читать далее
Total votes 76: ↑75 and ↓1 +74
Comments 35

Бюджетное видеонаблюдение для прижимистых «чайников»

Reading time 3 min
Views 137K
Скоро будет 7 лет с момента написания статьи "Видеонаблюдение под Ubuntu для «чайников» (ZoneMinder)". За эти годы она не раз корректировалась и обновлялась в связи с выходом новых версий, но кардинальная проблема, а именно — стоимость IP видеокамер, оставалась прежней. Её обходили оцифровывая аналоговые потоки и эмулируя IP камеры с помощью USB «вебок».

Ситуация изменилась с появлением китайских камер стандарта ONVIF 2.0 (Open Network Video Interface Forum). Теперь любую камеру отвечающую стандарту вы можете настроить с помощью ONVIF Device Manager.


Читать дальше →
Total votes 22: ↑19 and ↓3 +16
Comments 22

Кормушка с видео в ленте телеграмма

Reading time 13 min
Views 7.6K

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

Но самому, тем более на даче, сделать прикольнее и за вечер я довольно быстро её сваял. Насыпал семечек, а птицы не летят. С дачи пора уезжать, а птиц всё нет. Меня начали не давать покоя мысли "А что если птицы прилетят, когда меня не будет?". Просто залипать в веб-камеру и ждать так же как перед окном, только перед монитором мне показалось странно. Во всех камерах давно уже есть датчики движения.

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

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

Получилась такая как бы веб-камера (видео приходят примерно через минуту после события), но только когда что-то происходит. Зачем смотреть на пустую кормушку, если можно наблюдать только за самым интересным?

Читать далее
Total votes 38: ↑38 and ↓0 +38
Comments 29

Основы Linux от основателя Gentoo. Часть 4 (1/4): Файловые системы, разделы и блочные устройства

Reading time 20 min
Views 90K
Первый отрывок четвертой части серии руководств для новичков повествует о блочных устройствах, разделах и файловых системах. Вы научитесь размечать жесткий диск с помощью утилиты fdisk, создавать файловые системы и монтировать их. Познакомитесь с синтаксисом конфигурационного файла fstab.



Навигация по основам Linux от основателя Gentoo:

Часть I: 1, 2, 3, 4

Часть II: 1, 2, 3, 4, 5

Часть III: 1, 2, 3, 4

Часть IV
  1. Файловые системы, разделы и блочные устройства (вступление)
  2. Загрузка системы и уровни загрузки
  3. Квоты файловых систем
  4. Системные логи (итоги и ссылки)


Читать дальше →
Total votes 99: ↑92 and ↓7 +85
Comments 20

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

Reading time 9 min
Views 44K
image

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

Материал будет интересен начинающим системным администраторам, а также разработчикам, которые хотят ближе познакомиться с файловыми системами.
Читать дальше →
Total votes 13: ↑9 and ↓4 +5
Comments 5

Руководство по программированию сокетов на Python. От введения до работающего примера

Reading time 10 min
Views 53K


К концу руководства вы освоите основные функции и методы модуля Python socket, научитесь применять пользовательский класс для отправки сообщений и данных между конечными точками и работать со всем этим в собственных клиент-серверных приложениях. Материалом делимся к старту курса по Fullstack-разработке на Python.
Посмотреть первую часть
Total votes 8: ↑6 and ↓2 +4
Comments 0

Создаем личное файловое облако легко и просто (и дешево)

Reading time 13 min
Views 108K

А сегодня мы с вами быстро и решительно легко и просто поднимем свое личное файловое облако типа Google Drive или Яндекс.Диск, а если повезет, то еще и очень дешево.

Зачем? Ну, например, потому что не хотим зависеть от корпораций с их кабальными лицензионными соглашениями и сменой условий задним числом. Или потому что нам хочется приватности. Или просто потому что можем. А бонусом на нашем сервере вы потом сможете еще установить VPN или прокси для доступа к запрещенным сайтам, или поднять простенький веб-сайтик.

Я специально будут рассказывать все максимально подробно и пошагово, чтобы даже люди без большого опыта системного администрирования смогли все повторить. В наше время, благодаря развитому инструментарию, такому как docker и snap, установить и настроить все что нужно можно очень быстро всего лишь несколькими командами.

Читать далее
Total votes 101: ↑93 and ↓8 +85
Comments 233

Вот почему нужно использовать оператор := в Python

Reading time 8 min
Views 34K


Сегодня рассказываем о самом странном операторе Python — операторе моржа. Для чего он нужен, и как использовать его с учётом других особенностей языка? Подробности к старту курса по Fullstack-разработке на Python — под катом:

Узнать больше
Total votes 23: ↑20 and ↓3 +17
Comments 56

19 способов сделать сокет-сервер на Python. Эволюционный подход. Часть 3. Первый подход к асинхронности

Reading time 11 min
Views 10K

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

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

Но, к счастью, существует и третий вариант — кооперативная многозадачность с помощью системного вызова select и его аналогов (poll, epoll и других). Он позволяет мультеплексировать несколько задач в одном потоке выполнения и в сущности является обычной синхронной программой. А потому никаких дополнительных трат процессорного времени и времени разработчиков не требуется.

Читать далее
Total votes 15: ↑13 and ↓2 +11
Comments 4

F-строки в Python мощнее, чем можно подумать

Reading time 5 min
Views 115K

Форматированные строковые литералы, которые ещё называют f-строками (f-strings), появились довольно давно, в Python 3.6. Поэтому все знают о том, что это такое, и о том, как ими пользоваться. Правда, f-строки обладают кое-какими полезными возможностями, некоторыми особенностями, о которых кто-нибудь может и не знать. Разберёмся с некоторыми интересными возможностями f-строк, которые могут оказаться очень кстати в повседневной работе Python-программиста.

Читать далее
Total votes 98: ↑96 and ↓2 +94
Comments 25

Что делать неизвестным в вашем git репозитории

Reading time 5 min
Views 12K

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

Читать далее
Total votes 38: ↑36 and ↓2 +34
Comments 5

multiboot usb-drive. своими руками

Reading time 7 min
Views 19K

Давненько пользуюсь мультизагрузочным внешним жестким диском, набитым различными дистрибутивами Linux. В свете последних событий и очередной волны импортозамещения понадобилось дополнить его и «отечественными» дистрибутивами. Решил сделать для себя небольшое HOWTO, заодно поделиться с сообществом.

Кому стало неинтересно — расходимся. Никаких сакральных знаний тут не будет.

Читать далее
Total votes 19: ↑18 and ↓1 +17
Comments 40

Information

Rating
3,262-nd
Registered
Activity