angle-up arrow-clockwise arrow-counterclockwise arrow-down-up arrow-left at calendar card-list chat check envelope folder house info-circle pencil people person person-plus phone plus question-circle search tag trash x

О

11 августа 2019

Этот сайт является многоязычным CMS / Блог, который я создаю с Python, framework Flask и SQLAlchemy. Он устанавливается на мой сервер ISPConfig3 (Nginx + Mariadb) с помощью Docker , который также используется для разработки. Сайт имеет регистрацию user , множество функций администратора, конфиденциальность и безопасность, поэтому это не маленький проект. Некоторые 'основные моменты':

Технический персонал

  • Python 3 (3.7)
  • Flask
  • SQLAlchemy
  • Мариадб
  • Docker, docker-compose
  • Bootstrap4
  • Fontawesome
  • Tinymce
  • ISPConfig3

Развертывание

Шаги - разработка, staging и производство, все с использованием докера и docker-compose. При разработке используется сервер разработки Flask , staging и при производстве - сервер Gunicorn . Наконец, ISPConfig3 используется для управления доменом, базой данных и электронной почтой SMTP , Nignx конфигурируется как reverse proxy.

Конфиденциальность

Не ожидайте найти здесь решения типа использования подключаемых модулей CDNs, Google Analytics, Facebook и др. Конфиденциальность - одна из самых важных вещей в жизни. Хотя невозможно предотвратить слежку за нами и сбор наших ценных приватных данных, я считаю, что мы все должны приложить усилия, чтобы минимизировать это.

Безопасность

Безопасность - это всегда работа. Она начинается с проектирования безопасности, что также означает, что вы должны приложить много усилий для регистрации вещей. Есть такие замечательные инструменты, как OWASP ZAP и онлайн-сервисы, такие как securityheaders.com и detectify.com, которые могут помочь вам в определении уязвимостей.

Многоязычный

Хотя текст этого сайта написан на английском языке, он поддерживает несколько языков, используя расширение Flask-Babel . Тексты на других языках в данный момент переводятся машинным способом с использованием расширения DeepL API и иногда далеки от совершенства, но вы всегда можете отредактировать файлы messages.po .

Машинное обучение

Искусственный интеллект (AI) вторгается в нашу жизнь различными способами. Python - это язык, используемый при машинном обучении и глубоком изучении. Лично мне эти разработки не нравятся, потому что никто не может нести ответственность за принимаемые решения. Но AI также может помочь нам хорошими способами, например, порекомендовать другие новости в конце новости.

Еще: Kivy

Также искал Python GUI. Начал использовать tkinter , но вскоре обнаружил, что это имеет много ограничений для моей цели. Встретили Kivy и приступили к сборке первого приложения с ним. Вы также можете установить приложение Kivy на Android, но хотим ли мы поддерживать экосистему Android ? Также будет опубликована информация о моем проекте Kivy .

Что дальше?

В ближайшие месяцы я постараюсь задокументировать некоторые вещи, которые я сделал, чтобы это работало, например, использование SQLAlchemy без Flask-SQLAlchemy, избегая плохо обслуживаемых расширений Flask , миграции с использованием Alembic, минимизируя размер конфигураций Docker image, docker-compose .

Спасибо, Peter

Оставить комментарий

Комментируйте анонимно или войдите в систему, чтобы прокомментировать.

Комментарии

Оставьте ответ

Ответьте анонимно или войдите в систему, чтобы ответить.