KMiNT21: Personal Blog
  • Home
  • About

MailTwitterFacebookFlickr
Июл 20 2017

Приобщился к миру open source

Posted by KMiNT21
Tweet

Делал когда-то для себя утилитку, которая визуализирует ARP-cache и следит за тем, чтобы дефолтный gateway был привязан статически (arp -s IP MAC). Дабы обезопасить себя от “Man in the middle” – атак.

arp-defender
Делал на Python-е с использованием тогда PySide (привязка к Qt) для интерфейса (так как PyQt лицензия имеет ограничения). Но до готового вида, когда можно это выложить так и не довел. А стандарты у человека, который привык делать продукт для простых пользователей, как вы понимаете, не самые низкие. Даже если это утилитка с одним окошком. 🙂

В общем, вернулся я к этой тулзе и решил довести до ума. Тем более, что не так давно еще дошли руки сделать что-то поприличней, чем одностраничник на http://binaryplant.com/ (использовал генератор статических сайтов Hugo). И раз уж сделал по эту программку страницу – надо допилить заготовку.

Посмотрел я снова на этот PySide, вспомнил все подводные камни и решил плюнуть да и взять PyQt5, которая под лицензией GPL3. Кстати, я так еще и не успел разобраться как там теперь надо правильно лицензию разместить.

Заодно, наконец, почитал про модный нынче функциональный подход. А конкретно – на python. И с новыми знаниями я все переделал. Точнее, просто сделал с нуля. Что интересно, в процессе переделки я выработал для себя оптимальный вариант совмещения разных подходов. Это ЧИТАБЕЛЬНОСТЬ.

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

Короче, генераторы списков, “чистые функции”, map, filter, lamda-функции и т.д. – все это довольно приятная штука, которая позволяет код делать все более и более “само-комментируемым”.

Я довел исходник до вида, когда мне больше ничего не хочется улучшать (не считая имен переменных, конечно). https://github.com/KMiNT21/binaryplant-arp-defender/ – barpdef.py

Comments

comments

Комментариев нет.

Add a comment Cancel Reply

5 + три =

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Languages

  • Русский

ABOUT ME

Hi there. It's blog about my life and all related to it. You can find my posts about IT, foto, soccer, traveling, music etc here...

Свежие записи

  • Микроскопирование триходермы и ее “соседей по палате”
  • Первый бактериальный посев
  • Советские чашки Петри, метиленовый синий и фиалиды триходермы
  • Приобрел нормальный микроскоп, наконец
  • Заглубленная теплица №2

Свежие комментарии

  • KMiNT21 on Стритовальщики – читеры
  • KMiNT21 on Как придумать хороший геймплей?
  • Igor on Как придумать хороший геймплей?
  • DimaX on Два колеса – хорошо, но четыре – лучше
  • KMiNT21 on Два колеса – хорошо, но четыре – лучше

FROM TWITTER

Flickr Photos

Рубрики

  • Cooking
  • IT
  • Traveling
  • Без категории
  • Микробиология
  • Фото

FROM TWITTER

Flickr Photos

Connect

Twitter
Facebook
Google+
Flicker
LinkedIn
Vk.com

  • Русский