Стартовая страница

# Andrew Lobanov to All @ Эталонная реализация idec @ idec.talks 17/07/19 09:26

Давненько уже я начал работу над сабжем, но некоторые события жизни и длинный отпуск существенно замедлили события. Сегодня я, вроде как, закончил вчерне всё. Доступно это добро тут https://gitlab.com/spline1986/idec

Очень бы хотелось услышать замечания и рекомендации от многоуважаемого All =)



# Difrex to Andrew Lobanov @ Re: Эталонная реализация idec @ idec.talks 17/07/19 11:10

AL> Очень бы хотелось услышать замечания и рекомендации от многоуважаемого All =)
Сделал ПР.

Замечания:
* Не импортируй звездочки из модулей
* Форматирование строк через % устарело
* PEP8

+++ At work. idec.el/0.1



# vit01 to Andrew Lobanov @ Re: Эталонная реализация idec @ idec.talks 02/08/19 16:51

AL> Очень бы хотелось услышать замечания и рекомендации от многоуважаемого All =)

Слабая валидация POST данных. Особенно на тех же файловых эхах

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

Мои пожелания:

1. Складывать все конфиги, файлы, относящиеся к эхам и файлэхам, в отдельный каталог вроде "data"
Уже часто начал замечать, что при таком подходе гораздо проще делать бэкапы и отделять файлы репозитория от изменяемых файлов.

// все блэклисты и изменяемые конфиги полностью туда

К конфигам удобнее добавить готовые примеры, чтобы ещё быстрее ускорить развёртывание станции.

2. Объединить cli-скрипты в единый интерфейс и запускать вроде

====
idec.py run
idec.py points add Vasya
idec.py stats -f ... -t ...
idec.py stats --help
====



3. Туда же, к cli-интерфейсам. Не надо городить велосипедов к парсингу параметров командной строки, ведь есть модуль argparse из стандартной библиотеки. Он же поможет тебе объединить все скрипты в один

https://docs.python.org/3/library/argparse.html

4. Текстовая БД не единственный тип БД. Я понимаю, что у нас это классика, но в боевых условиях, на десятках тысяч сообщений это не вариант. Только если в виде PoC

+++ Отправлено через IDEC Mobile
+++ GNU/Linux, Android, physics, MLP:FIM