angle-uparrow-clockwisearrow-counterclockwisearrow-down-uparrow-leftatcalendarcard-listchatcheckenvelopefolderhouseinfo-circlepencilpeoplepersonperson-fillperson-plusphoneplusquestion-circlesearchtagtrashx

О

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

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

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

Комментарии (4)

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

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

avatar

Hallo Peter,
Super dat je zoveel kennis deelt op je site, goed leesbaar en je kan er wat van leren! IK volg i.p.v. Kivi https://beeware.org/. Wel een complexe setup en tot nu toe nog weinig ontwikkelingen voor het web, meer voor APPS.
Groet,
Marcel

avatar
peter 4 года назад Анонимный посетитель (не вошел в систему)

Hallo Marcel,
Nog bedankt voor je bericht. Beeware ziet er ook goed uit. Ben even gestopt met Kivy i.v.m. tijdgebrek. Was wel een leuk project om Flask op mijn OnePlus One met Ubuntu Touch te laten werken. Groeten, Peter

avatar

рукеру56гвекрнвек56ргевнк6

avatar

Muchas gracias por el blog, pero tienes publicado el código del blog?