Pull to refresh
0
Олег @oleg3711read⁠-⁠only

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

Send message

Стильный код на Python, или учимся использовать Flake8

Reading time7 min
Views162K

Автор: Анатолий Соловей, developer

Язык программирования Python очень востребован на современном рынке, он развивается изо дня в день, и вокруг него сложилось активное сообщество. Во избежание конфликтов между разработчиками-питонистами, создатели языка написали соглашение PEP 8, описывающее правила оформления кода, однако даже там отмечено, что:
Many projects have their own coding style guidelines. In the event of any conflicts, such project-specific guides take precedence for that project.

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

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

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

На помощь в этом случае приходят линтеры — инструменты, контролирующие оформление кода в проекте. Именно они помогают поддерживать его чистоту и, в нашем случае, предотвращать создание коммитов, которые могут содержать ошибки. Я для контроля качества использую Flake8 и сейчас постараюсь объяснить, почему выбрал именно его, и расскажу, как его настроить, чтобы получить максимальный результат. Заинтересовались? Добро пожаловать под кат.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments16

VPN за 60 секунд

Reading time2 min
Views66K
Если Вы предпочитаете простые и красивые решения, или Вам нравится всё, что попадает под категорию It Just Works, то эта статья для Вас. Для запуска шифрованного подключения достаточно иметь на своем компьютере SSH-клиент, установить sshuttle (об этом чуть позже) и приобрести VPS с любым тарифным планом в интересующей Вас стране. На удалённой VPS-машине в большинстве случаев абсолютно ничего настраивать не нужно (достаточно, чтобы были установлены пакеты python и сервер SSH).


Читать дальше →
Total votes 40: ↑37 and ↓3+34
Comments37

Let's Encrypt и nginx: настройка в Debian и Ubuntu

Reading time13 min
Views309K

image


Если вдруг вся эта история прошла мимо вас, Let's Encrypt — центр сертификации от некоммерческой организации ISRG, существующий при поддержке EFF и многих компаний, взявшей на себя миссию дать людям бесплатные SSL/TLS сертификаты для сайтов и серверов. Сертификаты от Let's Encrypt уже используются на более чем 10 миллионах доменов.


Кроме очевидной бесплатности у сертификатов от Let's Encrypt есть особое, отсутствующее у любых других коммерческих сертификационных центров, достоинство: если вы однажды получили сертификат от Let's Encrypt, то, при прочих равных, это навсегда. Не нужно раз в год-два вручную обновлять сертификаты. Не нужно вообще вспоминать что сертификаты где-то есть. Получил, настроил и забыл!


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


Организации автоматического обновления сертификатов в статье уделено пристальное внимание, с тем чтобы вы могли в полной мере оценить это принципиальное преимущество Let's Encrypt.

Читать дальше →
Total votes 48: ↑46 and ↓2+44
Comments96

SSH вместо VPN

Reading time3 min
Views62K
image

Наверняка многие системные администраторы сталкивались с ситуацией когда количество удалённых пользователей в компании становилось больше одного столько, что мысли о нормальном VPN вместо nat-а на скорую руку не давали покоя и становились навязчивой идеей. И уверен каждый морщился, когда понимал, что предстоит объяснять пользователям, что и где нажимать. А в моём, персональном случае ещё и позиция в отношении подопечных: «они не должны даже задумываться как это работает».
Читать дальше →
Total votes 47: ↑38 and ↓9+29
Comments54

Проприоцепция для неспециалистов. Часть 1: Ровная спина стоя за 10 секунд

Reading time2 min
Views81K
Совсем недавно мою статью о чувствах человека сильно штормило – оценка пользователей колебалась от +5 до -4. В комментариях отмечались такие забавные моменты, как:

Но да, я почитал про проприоцептивную чувствительность. Не занимательно — вычурные слова для того, чтобы показать превосходство профессионалов данной сферы
И при чем здесь количество чувств? По логике вашей статьи, вы не можете пользоваться кишечником, пока не осознаете как он работает.
Собственно, расписывание на более подробные «чувства» является лишь бесполезным уточнением. Автор же просто вводит удобные ему «чувства», ведь он «Врач-невролог, сертифицированный преподаватель соматики» и учит людей «двигаться легко и без боли» (с).

Урок из данной статьи займёт 10-15 секунд и он позволит вам найти то внутреннее ощущение, которое позволит удобно держать ровную спину стоя длительное время. Вы на собственном опыте сможете убедиться в том, стоит ли выделять отдельно проприоцепцию (суставно-мышечное чувство).
Total votes 35: ↑30 and ↓5+25
Comments65

Телевидение через Acestream на Raspberry PI. Теперь в docker контейнерах

Reading time4 min
Views77K

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


А теперь хорошая новость для обладателей медиаплеера на основе raspberry (OSMC, LibreELEC): нашлась сборка acestream под arm, что позволило установить его прямо на raspberry pi. В этой статье предлагается инструкция по установке acestream, и всего необходимого для просмотра ТВ в докер-контейнерах под raspberry. На момент написания статьи, предлагаемое решение позволяет смотреть бесплатно большое количество телеканалов, впрочем без гарантий: acestream в любой момент может перестать быть бесплатным.


kodi live tv channels list screenshot

Читать дальше →
Total votes 30: ↑27 and ↓3+24
Comments31

Боли в руках при работе за компьютером. Часть 2. Освобождаем надплечья и шею

Reading time4 min
Views70K
Частый совет напряжённому человеку: «Чего напрягся – расслабься, получай удовольствие…». Что происходит в результате? – Человек напрягается еще больше!

В прошлой статье вы познакомились с основными проблемами, вызывающими боли в руках при работе за компьютером.
image

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

Урок займет 15-20 минут, вы можете делать его сидя, не отходя от компьютера. Под катом – видео урока, правила выполнения соматических уроков и текстовая расшифровка расширенной версии урока (осторожно – очень много букв!).

Total votes 28: ↑28 and ↓0+28
Comments33

Боли в руках при работе за компьютером. Часть 1: туннельные синдромы – обзор и диагностика проблем

Reading time3 min
Views98K
Синдром запястного канала — боли, онемение в кисти руки, частый спутник длительно работающих за компьютером людей. Множество популярных публикаций и решений эргономики сводят проблему только к длительной травматизации срединного нерва в запястном канале, что очень упрощает ситуацию и не позволяет получить эффективное решение.

image


Основная проблема в том, что для работы за компьютером используются точные мелкие движения руки в статической позе, из-за чего возникают предпосылки для повреждения сосудисто-нервных пучков на всём протяжении — от шеи до кисти руки. И часто боли в кисти руки являются следствием отдаленных проблем, не связанных с запястным каналом.
Total votes 24: ↑24 and ↓0+24
Comments70

Как я создавал бесшовный Wi-Fi

Reading time7 min
Views202K


У нас в конторе не так давно назрела задача сделать бесшовное Wi-Fi-покрытие, долго терпели и перетаптывались, но в итоге его сделали. Поделюсь опытом, как это было. Началось с того, что два года назад мы полностью перешли на IP-АТС и почти извели аналоговые телефоны включая, в итоге и DECT. Однако, переносные трубки нужны и помимо настольных SIP-телефонов купили несколько Wi-Fi телефонов Tecom. Я и сам, как ответственный за техническую часть в компании постоянно хожу по офису с различными Wi-Fi-ными девайсами, ну и манагеры тоже. У многих на руках упомянутые Wi-Fi SIP-телефоны, + у складских пару Wi-Fi терминалов, есть просто Андроиды и Яблоки с установленными SIP-клиентами от АТС. Раньше все решалось несколькими Wi-Fi роутерами, в принципе, тоже было приемлемо (офис небольшой), но ровно пока ты сидишь на месте – пошел, все, кончился разговор, а Skype-соединение еще быстрее слетает. Это стало изрядно раздражать руководство и менеджеров и пошли наезды что вай-фай не вай-фай. Попытки просто увеличить количество роутеров ясное дело задачу не решило.

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

В общем, по мере изучения задачи проснулся уже спортивный интерес – можно ли сделать гладкое WiFi-покрытие (прям как на форумах) в нормальные деньги и так чтобы без этих контроллеров? Оказалось, можно.
Total votes 41: ↑36 and ↓5+31
Comments92

Ни единого разрыва: как мы создавали беспроводную сеть для 3000 устройств

Reading time12 min
Views27K

Wireless Society by JOSS7

Wi-Fi в офисах Mail.Ru Group за последние десять лет пережил несколько смен оборудования, подходов к построению сети, схем авторизации, администраторов и ответственных за его работу. Начиналась беспроводная сеть, наверное, как и во всех компаниях — с нескольких домашних роутеров, которые вещали какой-то SSID со статичным паролем. Долгое время этого было достаточно, но количество пользователей, площади и количество точек доступа стало расти, домашние D-Linkʼи постепенно заменили на Zyxel NWA-3160. Это уже было относительно продвинутым решением: одна из точек могла выступать в качестве контроллера для остальных и давала единый интерфейс для менеджмента всей сети. Какой-то более глубокой логики и автоматизации софт NWA-3160 не давал, только возможность настройки подключенных к контроллеру точек, пользовательский трафик обрабатывался каждым устройством независимо. Следующей сменой оборудования стал переход на контроллер Cisco AIR-WLC2006-K9 + несколько точек доступа Aironet 1030. Уже совсем взрослое решение, с безмозглыми точками доступа и обработкой всего трафика контроллером беспроводной сети. После еще была миграция на пару AIR-WLC4402-K9, сеть уже выросла до сотни точек Cisco Aironet 1242AG, 1130AG, 1140AG.
Читать дальше →
Total votes 61: ↑57 and ↓4+53
Comments25

Почему нельзя использовать компьютерный ИБП для питания газового котла?

Reading time9 min
Views190K
Год назад я попытался понять, почему обычные автомобильные аккумуляторы нельзя использовать вместо специализированных в источниках бесперебойного питания. В той статье были рассмотрены несколько страшилок от продавцов специализированных аккумуляторный батарей, а так же произведены замеры ёмкости двух батарей, каждая из которых состоит из четырёх автомобильных аккумуляторов, проработавших в ИБП год. К сожалению, я не догадался сделать подобный замер сразу же после установки свежих батарей, но пообещал спустя год повторить замер, чтобы можно было понять, насколько за год уменьшилась ёмкость батарей. Планировал я это сделать в форме комментария с обновлёнными данными, но в процессе замера заметил, что пока ИБП работает от батарей — котёл подключенный к нему — не работает.

Вот это поворот!

Читать дальше →
Total votes 49: ↑47 and ↓2+45
Comments84

Учим английский дешево и эффективно

Reading time9 min
Views160K
Английский можно выучить дешево, иногда даже бесплатно. В этой статье я расскажу про личный опыт: какой софт и ресурсы в Интернет оказались максимально эффективными для меня, и как ими правильно пользоваться.

Если вы не готовы тратить на английский хотя бы 2 часа в день, то дальше можно не читать.
Читать дальше →
Total votes 45: ↑40 and ↓5+35
Comments135

Выясняем, как увеличить зону покрытия WiFi

Reading time9 min
Views147K
Все мы время от времени сталкиваемся с проблемой недостаточного уровня сигнала роутера. Сигнал нестабилен в некоторых точках, часто пропадает или его нет вовсе. Это ощутимо в помещениях с большой площадью: на даче, в частном доме, на базе отдыха, в квартире, в которой больше одной комнаты. В этой статье мы опишем варианты решения этой проблемы.

image
Читать дальше →
Total votes 32: ↑27 and ↓5+22
Comments90

Вышел Zabbix 3.2

Reading time5 min
Views44K


Хотим сообщить о выходе новой версии open source системы мониторинга Zabbix. Релиз несет принципиально новые возможности такие как:

  • Дополнительные поля событий (тэги)
  • Ручное закрытие проблем
  • Корреляцию событий
  • Вложенные группы узлов сети
  • Определение отдельных условий для создания аварий и их восстановления
  • Non-strict расчет триггерных выражений
  • Интерфейс в подгружаемых модулях для репликации исторических данных во внешнее хранилище

…и многое другое. Под катом кратко расскажем о некоторых нововведениях
Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments60

Ускорение печати из терминальной сессии Windows Server или доработка EasyPrint напильником

Reading time3 min
Views43K
И вот он настал, этот день, когда в очередной раз, ожидая распечатки от томно подмигивающего принтера, я, наконец, решил, что мое терпение не безгранично. Посвящается тем, кого тоже достала медленная печать на перенаправленных принтерах. Все знают про достоинства технологии EasyPrint, теперь поговорим о ее недостатках и методах борьбы с ними.
Читать дальше →
Total votes 18: ↑14 and ↓4+10
Comments32

Подборка подкастов по программированию на русском и английском языках

Reading time7 min
Views180K
Всем привет! В этой статье собраны одни из лучших подкастов по программированию как на русском так и на английском языках, которые позволят вам быть всегда в курсе последних новостей.

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

И да, есть много интересных и популярных подкастов для разработчиков и программистов. Подкасты невероятно полезны, они будут держать вас в курсе всего что происходит в интересующей вас сфере, а также помогут вам развить более широкий взгляд на постоянно развивающуюся область информационных технологий.
Читать дальше →
Total votes 74: ↑71 and ↓3+68
Comments63

Медиаплеер из содержимого кладовки

Reading time10 min
Views41K

Автор: Николай Хабаров

Одним прекрасным пятничным вечером я решил посмотреть дома фильм: включил ноутбук, подключил HDMI-кабель через переходник с DisplayPort, взял пульт, включил телевизор, запустил воспроизведение на ноутбуке. И понял, что громкость на телевизоре недостаточна — пришлось снова искать пульт, чтобы ее увеличить… Тут я подумал «А можно ли этот процесс как-то упростить?»

Субботнее утро выдалось крайне плодотворным. Я решил сделать собственный сетевой мультимедиа-проигрыватель, причем такой, каким его представляю я. Почти все детали были взяты из кладовки, сердце плеера — Raspberry Pi. Подробнее, что у него внутри, и как собрать аналогичное устройство, смотрите под катом.
Читать дальше →
Total votes 28: ↑26 and ↓2+24
Comments56

Обзор решений для управления печатью

Reading time7 min
Views53K
Привет, Гиктаймс! Решение проблем, связанных с созданием и обеспечением корпоративных инфраструктур печати, начинается с их мониторинга. Отслеживать состояние устройств печати настоятельно рекомендуется даже в том случае, если компания невелика и все ее потребности закрывает одно единственное сетевое МФУ с общим доступом. Даже в этой ситуации можно в один прекрасный день остаться вообще без принтера, занявшись поисками способов ремонта «по факту». Если же в организации имеется полноценная инфраструктура из нескольких (будь то 10 или 100) принтеров и МФУ, то аудит такого парка – задача не из простых. И здесь не обойтись без специальных программных решений и сервисов, о кторых и пойдет речь под катом.


Читать дальше →
Total votes 17: ↑15 and ↓2+13
Comments9

Основы компьютерных сетей. Тема №1. Основные сетевые термины и сетевые модели

Reading time14 min
Views1.4M
Всем привет. На днях возникла идея написать статьи про основы компьютерных сетей, разобрать работу самых важных протоколов и как строятся сети простым языком. Заинтересовавшихся приглашаю под кат.


Читать дальше →
Total votes 35: ↑30 and ↓5+25
Comments61

Прокачиваем VoIP GSM шлюз Yeastar TG100 до мини-АТС

Reading time10 min
Views27K
Подавляющее большинство готовых IP-АТС рассчитаны на компании численностью сотрудников от десяти и более человек. На деле же, в России полно фирм с двумя-пятью сотрудниками и им тоже как-то необходимо организовывать телефонную связь. Функционал готовых IP-АТС для них избыточен, а стоимость – слишком высока. Можно собрать свою собственную телефонную станцию при помощи обычного компьютера и Asterisk. Можно подключиться к VoIP-оператору связи и воспользоваться услугой «облачная АТС». А можно пойти по другому пути – взять недорогое устройство с уже предустановленным Asterisk, такое, как Yeastar TG100, и немного прокачать его функционал. Тем, кто не ищет легких путей – добро пожаловать под кат.


Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments2

Information

Rating
Does not participate
Location
Волгоград, Волгоградская обл., Россия
Date of birth
Registered
Activity