Как стать автором
Обновить
9.5
Карма
0
Рейтинг
Алексей Розман @alexyr

Python developer

  • Подписчики 1
  • Подписки 1
  • Публикации
  • Комментарии

Как и зачем хранить домашние каталоги пользователей в Git-репозиториях

Блог компании МаклаудOpen source*Git*Резервное копирование*Хранение данных*
Перевод

В этой статье расскажу, как с помощью Git я управляю файлами в своём домашнем каталоге и синхронизирую их на других устройствах.

У меня несколько устройств: лэптоп на работе, стационарный комп дома, Raspberry Pi, портативный компьютер Pocket CHIP, а также Chromebook с несколькими версиями Linux на борту. Давно хотел, чтобы на таких разных устройствах я мог выполнять примерно одинаковые действия для настройки окружений. Поначалу я просто не знал, как этого добиться. Например, команды Bash alias я чаще использовал на работе, а многие вспомогательные скрипты хорошо работали в моём домашнем окружении.

С годами грань между моими рабочими и домашними устройствами начала стираться. Задач стало больше, увеличился и объём разнородных неупорядоченных данных в домашних каталогах, с которыми надо было как-то разбираться.
Читать дальше →
Всего голосов 37: ↑32 и ↓5+27
Просмотры15K
Комментарии 20

Raspberry Pi + FreeBPX(asterisk) + Mikrotik = АТС мини

Asterisk*Разработка на Raspberry Pi*DIY или Сделай сам
Из песочницы
Tutorial

Настройка "с нуля"

Пошаговая настройка миниАТС FreePBX с GSM модемом на Raspberry Pi для себя или небольшого офиса.

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

Освещение дома и «удалёнка»

Лайфхаки для гиковЗдоровье
Из песочницы

Много сейчас пишут статей о светодиодных лампах, еще больше о "умных" лампах - в которых можно менять цветовую температуру, яркость и цвет свечения. В некоторых встроена bluetooth колонка, новогодняя гирлянда и прочее, не особо нужное источнику света… Многие производители «носятся» сейчас с CRI, поговаривая что он больше 95 у них (странно что не больше 100), как и срок службы лампочки > 50 000 часов… Не об этом речь пойдет в данной статье, а о том что зима на пороге, удаленка и…

…и недостаток света на рабочем месте, в данном случае квартире. Раньше, во времена «теплого лампового» света лампочки на 100Вт было достаточно на кухне, но там только готовили и ели… А потом дети бежали на улицу… Сейчас все сидят по домам, пытаются работать, учить уроки, сидеть за монитором/ноутбуком/планшетом. Тема «мерцающих» экранов раскрыта довольно подробно в интернете, скажу лишь одно – что при помощи калибратора можно настроить монитор приемлемо и (почти)убрать ШИМ. Ставить яркость на максимум и уменьшить ее с помощью цветового профиля. Тогда не будет вылезать ШИМ подсветки некачественного монитора. Теперь к освещению, проблема офиса в квартире – это свет, а точнее его недостаток. Ведь многие используют 1-3 лампочки на всю комнату… А это очень и очень мало. Вспомните офисы, там сборки ламп 18х4 и довольно часто на потолке.

Все красивые слова о светодиодах разбиваются о три проблемы –

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

Спектры ламп (масштаб чуть отличается, но на проблему это не влияет) МГЛ 3000k Philips CDM-T(TC), 4200k Philips CDM-T(TC), 4000k Philips LED tube+

на пороге, удаленка и…
Всего голосов 32: ↑30 и ↓2+28
Просмотры14K
Комментарии 65

Кунг-фу стиля Linux: устранение неполадок в работе incron

Блог компании RUVDS.comНастройка Linux*Системное администрирование*
Перевод
Возможно, вам знакома утилита cron, которая позволяет планировать запуск различных задач в заданное время. Мы, кроме того, уже говорили о программе incron, которая реагирует не на события, связанные со временем, а на изменения в файловой системе. Возможно, вам когда-нибудь надо было написать программу, которая, например, обнаруживает изменения в файле и автоматически прошивает какой-нибудь контроллер, или делает резервную копию файла, или отправляет файл по электронной почте. Для решения подобных задач вполне можно воспользоваться incron. Мы обсуждали основы incron, но надо сказать, что в работе этой утилиты есть некоторые особенности, которые сильно усложняют поиск и устранение неполадок, возникающих при её применении. Здесь я хочу рассказать о некоторых приёмах, которыми я пользовался для того чтобы привести в рабочее состояние проекты, основанные на incron.

В моём случае речь идёт о разработке простой системы для работы с документами, хранящимися в директории, находящейся под контролем git. А именно, при изменении Markdown-файла с расширением .md, находящегося в этой директории, генерируются эквивалентные ему .docx- и .pdf-документы. Аналогично — при измерении .docx-документа воссоздаются .md- и .pdf-файлы.



Работать с документами можно с помощью pandoc. Эта программа поддерживает множество форматов документов. Главная сложность тут — запуск процедуры сразу после изменения файлов и обработка только тех файлов, которые были изменены. Это — не такая уж и сложная, хотя и нетривиальная задача. Поэтому у меня ушло некоторое время на то, чтобы заставить мою систему правильно работать.
Читать дальше →
Всего голосов 33: ↑31 и ↓2+29
Просмотры4K
Комментарии 3

Приседания по программе Пола Уэйда

Читальный залЗдоровье
Перевод

image


Техника / как выполнять


Правило первое: правильная постановка ног


Перед началом приседаний надо посмотреть на позицию ног. Также как ладони продолжают руки, так и от положения ступней зависит позиция ног. Начинайте, расположив ступни симметрично с носками развёрнутыми наружу под углом 30-40 градусов. Однако, продолжайте экспериментировать, чтобы добиться удобного положения под себя. Колени смотрят в ту же сторону, что и носки. Они не должны быть параллельны друг другу.


image


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


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

Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Просмотры22K
Комментарии 32

Особенности работы Postfix

Блог компании InfoWatchИнформационная безопасность*
image

Добрый день, сообщество. В этой статье хочу поговорить о Postfix – о том, каковы принципы его работы, и о возможностях диагностики проблем. В силу специфики работы приходится с ним сталкиваться — либо для решения своих задач, либо для понимания того, как работает чужая инфраструктура. В интернете о Postfix много информации, однако в основной массе это готовые конфиги для развертывания почтового сервера с нуля. Здесь же я постараюсь охватить основные аспекты администрирования Postfix.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Просмотры12K
Комментарии 9

DLL & Python

Python*Программирование*C*
Из песочницы

DLL & Python


image


Недавно меня заинтересовала тема использования DLL из Python. Кроме того было интересно разобраться в их структуре, на тот случай, если придется менять исходники библиотек. После изучения различных ресурсов и примеров на эту тему, стало понятно, что применение динамических библиотек может сильно расширить возможности Python. Собственные цели были достигнуты, а чтобы опыт не был забыт, я решил подвести итог в виде статьи — структурировать свой знания и полезные источники, а заодно ещё лучше разобраться в данной теме.


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

Читать дальше →
Всего голосов 32: ↑29 и ↓3+26
Просмотры26K
Комментарии 12

Открытие портов 4321 и 9898 на шлюзе Xiaomi Gateway 2

Умный дом

Введение


Отдыхая на новогодних праздниках, я загорелся идеей создания «Умного дома». Среди «народных» экосистем наиболее популярным в силу дешевизны и обилия всевозможных подключаемых устройств мне сразу показалось решение от Xiaomi. Сразу отказавшись от управления своим домом через китайские сервера (возможные задержки, безопасность и привязка к устройствам одного производителя), я принялся изучать всевозможные системы управления умным домом и подбирать для них совместимое оборудование.

После часов поисков я решил, что мне подходит Home Assistant. Строить всё на начальном этапе я решил с использованием Raspberry Pi 4 Model B (2GB) и датчиков от Xiaomi. Купив шлюз (нужна версия с артикулом DGNWG02LM) и включив протокол связи локальной сети, я столкнулся с тем, что порты 4321 и 9898, необходимые для интеграции в Home Assistant, по-прежнему остались закрытыми.
Читать дальше →
Всего голосов 24: ↑23 и ↓1+22
Просмотры24K
Комментарии 33

Создание динамических параметров в Jenkins job, или как сделать вашу задачу user-friendly

DevOps*
Из песочницы

Доброго времени суток, Хабр!


Сегодня я хотел бы поделиться одним из способов, как с помощью Active Choices Plugin сделать задачу в Jenkins наиболее унифицированной и понятной для пользователя.


Введение


Такая аббревиатура как DevOps уже давно не является чем-то новым для IT сообщества. У многих людей фраза «сделать DevOps» ассоциируется с какой-то волшебной кнопкой, при нажатии на которую код приложения автоматически превращается в развернутое и протестированное приложение (все на самом деле сложнее, но мы абстрагируемся от всех процессов).


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


В нашем случае мы будем использовать Jenkins.

Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Просмотры10K
Комментарии 15

Маджонг с детьми: для чего, когда и как

МозгЛогические игры


Когда мы готовим ребенка к поступлению в школу и помогаем ему адаптироваться к школе, поддерживая его интеллектуальное развитие, то одно из классических игровых средств – это обыкновенные игральные карты. Обучая ребенка карточным играм, мы можем давать нагрузку на все когнитивные функции. Зрительное восприятие понадобится, чтобы различать символы мастей (не путать пики и червы, в частности). Память – чтобы следить за тем, какие карты уже сыграны. Мышление – чтобы составлять комбинации и просчитывать выгодные ходы. Внимание – чтобы не проморгать в своей руке те карты, которые позволят эти выигрышные ходы сделать. Играя по разным правилам одной и той же колодой, мы совершенствуем произвольную регуляцию деятельности и учим гибкому, нелинейному поведению. В общем, игральные карты – это замечательная вещь. Но у них есть существенный недостаток: в нашей культуре они плотно ассоциированы с азартной игрой на деньги и воспринимаются поэтому как нечто порицаемое. Это означает, что специалист, играя в карты с ребенком, будет провоцировать реакции вида «чему вы тут его учите?» со стороны семьи, а ребенок не сможет принести игральные карты в школу, чтобы поиграть на перемене, не провоцируя аналогичных реакций со стороны педагогов. Причем понятно, что этот культурный стереотип к жизни давно уже имеет весьма опосредованное отношение, и какая-нибудь браузерная многопользовательская игра с куда большим успехом приобщит ребенка к игре на деньги, чем колода карт на перемене. Но перед нами все же встает проблема того, что ребенок может начать ощущать, будто делает что-то аморальное и неприличное. Это его либо отвратит от игры (и потеряется смысл игры как самоподдерживающейся развивающей деятельности), либо негативно скажется на самовосприятии – а у нас нет цели заставить ребенка ощущать себя хулиганом и правонарушителем.

Вариант решения этой проблемы – играть с ребенком не в карты, а в маджонг.
Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Просмотры13K
Комментарии 40

Нет комарам! Обзор антимоскитных «фитобоеприпасов»

Научно-популярноеБиотехнологииЛайфхаки для гиковЗдоровьеЭкология
Tutorial
Написав статью про растения отпугивающие клещей я получил большое количество вопросов по поводу других насекомых. И тут уж комары — лидеры. Им этот обзор и посвящается, объединил в одно сообщение все заметки из своего канала с хэштегом #mosquitocide


Скажем НЕТ Комарам!
Всего голосов 60: ↑58 и ↓2+56
Просмотры26K
Комментарии 74

Графический интерфейс на Python за 5 минут

Блог компании EdisonPython*Программирование*Интерфейсы*Учебный процесс в IT
Перевод
image

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

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

Библиотеки Python, которые можно использовать для графического интерфейса


По сути, есть 3 большие библиотеки Python для графического интерфейса; Tkinter, wxPython и PyQT. Рассматривая их, я не нашел там ничего из того, что мне нравится в Python. Библиотеки Python, как правило, очень хорошо абстрагируются от супер-технических моментов. Если бы мне нужно было работать с объектно-ориентированным программированием, я мог бы с таким же успехом загрузить Java или .Net.
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Просмотры127K
Комментарии 9

MicroPyServer простой HTTP сервер для ESP8266 и ESP32

Программирование микроконтроллеров*Умный домDIY или Сделай самЭлектроника для начинающих
Из песочницы

Промо


Всем привет!


Хочу рассказать о библиотеке MicroPyServer написанной на Python, которая позволяет взаимодействовать с устройствами ESP8266 и ESP32 посредством простого HTTP сервера.


Что такое MicroPyServer?


MicroPyServer это простой HTTP сервер предназначенный для проектов написанных на Micropython.


Основная концепция работы с библиотекой — это перехватывание запросов к устройству при помощи создания роутов (route) и функций обработчиков (handler).

Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Просмотры32K
Комментарии 19

Во что поиграть от топографического кретинизма: игры на зрительно-пространственную функцию

Игры и игровые приставкиМозгЛогические игры


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

У некоторых детей освоение ориентировки на плоскости, а потом и в пространстве вызывает больше затруднений, чем у других. Например, она труднее дается левшам и девочкам, причем по одной и той же причине – из-за особенностей межполушарного взаимодействия. Когда женщина говорит, что надо повернуть налево, имея в виду, что надо повернуть направо, то это как раз про то, что у нее есть небольшой дефицит зрительно-пространственной функции. Многим женщинам из-за этого трудно читать карты, и чтобы понять, в какую сторону идти, им вначале нужно сориентировать карту так, чтобы она совпадала с местностью.
Читать дальше →
Всего голосов 43: ↑43 и ↓0+43
Просмотры21K
Комментарии 29

Linux tips & tricks: сервер, откройся

Системное администрирование**nix*
Из песочницы

Тем, кому надо обеспечить себе, любимому, доступ к своим серверам из любой точки мира по SSH/RDP/иное — небольшое RTFM/шпора.

Читать дальше →
Всего голосов 25: ↑24 и ↓1+23
Просмотры18K
Комментарии 33

Скрипт настройки Windows 10

Системное администрирование*PowerShell*
Из песочницы
Tutorial

image
Давно хотел поделиться своим скриптом по автоматизации настройки Windows 10 (на данный момент актуальная версия 19041), да все руки не доходили. Возможно, он будет кому-то полезен целиком или только его части. Конечно, будет проблематично описать все пункты настройки, но постараюсь выделить самое важное.

Если кому-то интересно, то добро пожаловать под кат.

Читать дальше →
Всего голосов 88: ↑77 и ↓11+66
Просмотры142K
Комментарии 297

Как дебажить переменные окружения в Linux

Блог компании BadooНастройка Linux*Системное администрирование*DevOps*
Часто бывает так, что приходишь на машину и обнаруживаешь какой-то скрипт, запущенный под системным пользователем неделю назад. Кто его запустил? Где искать этот run.php? Или добавляешь запись в /etc/crontab, а скрипт там падает с ошибкой «command not found». Почему? И что делать? 

У меня есть ответы на эти вопросы.

Читать дальше →
Всего голосов 88: ↑86 и ↓2+84
Просмотры23K
Комментарии 22

Разработка чат-бота (telegram + youtube)

PHP*
Tutorial
Почему это вообще появилось здесь?

Недавно я написал статью о разработке бота на php с использование laravel+botman для telegram. Самое первое, что написали, цитирую, “стрельба из пушки по воробьям”. Я согласен с этим, даже осознавал это во время разработки, но мне был интересен laravel.

image
Читать дальше →
Всего голосов 24: ↑17 и ↓7+10
Просмотры15K
Комментарии 13

Пишем telegram-бота на python с помощью библиотеки telebot часть 2

Python*
Tutorial
Всем привет! Это вторая часть статьи, в которой я посвящу время запросам и серверам telegram. Если кто-то еще не видел первую часть, то рекомендую её почитать. В третьей части скорее всего будет описана работа с базами данных. Ну и если у вас опять возникли вопросы, то пишите мне в телеграм: dimagorovtsov

Что такое message?


Наверное многие, кто писал бота по моей предыдущей статье задались вопросом, что такое message и почему к примеру, чтобы отправить сообщение мы должны указать message.chat.id в параметрах функции send_message? Для того, чтобы узнать это давайте выведем message в консоль:

@bot.message_handler(commands=['start'])
def start(message):
    print(message)

Теперь когда мы вводим команду /start, наш бот присылает огромное кол-во информации. Все, что мы сейчас получили — это ответ в формате json. Json — это простой формат для хранения структурированных данных. Все выводится в формате: 'ключ': значение. Давайте посмотрим на то, что получил я:
Читать дальше →
Всего голосов 13: ↑9 и ↓4+5
Просмотры64K
Комментарии 4

Информация

В рейтинге
Не участвует
Откуда
Иерусалим, Иерусалим, Израиль
Дата рождения
Зарегистрирован
Активность