Search
Write a publication
Pull to refresh
4
0

User

Send message

Простой мини-чат на FastApi: Современный интерфейс, вебсокеты и SQLAlchemy с деплоем

Reading time40 min
Views29K

Привет, друзья! Сегодня я подготовил для вас увлекательную практическую статью о создании мини-чата на FastApi. Мы погрузимся в мир вебсокетов, узнаем, зачем они нужны и как применяются в реальных приложениях. Также я продемонстрирую работу с асинхронной SQLAlchemy на примере взаимодействия с базой данных SQLite.

Для создания современного интерфейса мы обратимся к интересному и бесплатному сервису Websim.ai, который за пару минут сгенерирует нам интерфейс, включая страничку для входа/регистрации и страницу самого чата.

Чтобы наш чат мог обслуживать множество пользователей одновременно, мы выполним деплой нашего FastApi приложения. Для этого воспользуемся сервисом Amvera Cloud. Нам нужно будет подготовить файлы приложения, написать код, создать файл с настройками (можно сгенерировать на сайте или скопировать мой код), а затем доставить файлы на сервис. Для доставки можно использовать встроенный терминал или GIT, используя стандартные команды PUSH/PULL.

Но прежде чем мы погрузимся в код, давайте кратко обсудим, что такое вебсокеты и как они работают в контексте FastApi.

Читать далее

Достаточно ли защищен ваш GraphQL API?

Level of difficultyMedium
Reading time4 min
Views2.6K

На связи Юлия Полозкова, ведущий разработчик отдела архитектурных решений и перспективной разработки «БАРС Груп». В этой статье делюсь опытом, как обеспечить достаточный уровень кибербезопасности бизнес-приложений. Разбираю техники и средства защиты Graph API, такие как отключение интроспекции средствами HotChocolate, лимиты размеров запроса, его глубины вложенности и количества запрашиваемых объектов

Читать далее

OpenAPI/Swagger для начинающих

Level of difficultyEasy
Reading time7 min
Views156K

Эта статья в основном для аналитиков, которые впервые сталкиваются с необходимостью описания запросов в Swagger, но может быть полезна всем, кто хочет разобраться или ищет подсказку.

Читать далее

PyQt6 — полное руководство для новичков

Reading time30 min
Views431K

К старту курса по разработке на Python делимся детальным руководством по работе с современным PyQt для новичков. Чтобы читать было удобнее, мы объединили несколько статей в одну:

1. Первое приложение

2. Слоты и сигналы

3. Виджеты

За подробностями приглашаем под кат.

Читать далее

Как системный аналитик может data-культуру развивать

Level of difficultyEasy
Reading time5 min
Views2.8K

Всем привет! Я Вера Сапожникова, системный аналитик. В этой статье я расскажу: что такое data governance, какие проблемы поможет решить data governance и как применить data governance на практике.

Сразу хочу оговориться, что data governance – это масштабная, всеобъемлющая область, которая позволяет выстроить процессы и подходы работы с данными на разных уровнях. Поэтому я считаю, что каждый аналитик тоже может влиять на data-культуру и использовать подходы DataGov в масштабе своей команды и в разрезе своих задач.

Читать далее

Гайд по 3D-моделированию: Анимация в Blender для детей

Level of difficultyEasy
Reading time6 min
Views9.8K

3D-моделирование без сомнений остается одной из самых востребованных и перспективных ИТ-отраслей. По прогнозам, общий среднегодовой темп роста отрасли с 2024 по 2032 составит 13,5%, а это миллиарды долларов. Такой спрос объясняется тем, что трехмерное моделирование находит применение практически во всех отраслях. Традиционным для 3D является индустрия развлечений и игр, но это далеко не все. Так, в масштабе эти технологии используют для улучшения и моделирования умных городов, строят огромные метавселенные, используют для прототипирования на производстве и в туризме для виртуальных туров.

Так что перспективы развиваться как специалист в 3D очевидны. А начинать можно уже со школьного возраста на базе программы Blender. И пусть она используется повсеместно профессионалами, это не значит, что ребенок с ней не разберется. И вот, чем хорош Blender:

Читать далее

Собираем бюджетный домашний NAS на 14 ТБ

Level of difficultyMedium
Reading time13 min
Views125K


Начав заниматься фотографией, я быстро ощутил нехватку места на компьютере. Фотографии в RAW имеют большой вес, а про видео говорить ещё страшнее. Решение проблемы очень простое — собрать NAS.

О моём опыте сборки бюджетного NAS на 14 ТБ я напишу далее в статье.
Читать дальше →

VLESS vs ShadowSocks. Рассказываем про протокол, который придет на смену SS

Level of difficultyEasy
Reading time2 min
Views147K

Если вы когда-нибудь искали бесплатные outline-ключи, то вам будет полезно узнать про VLESS — новый протокол, который постепенно приходит на смену Shadowsocks. Поговорим о том, чем они отличаются и какие у них есть преимущества.

Читать далее

Секционирование в SQL Server

Reading time13 min
Views77K
Секционирование («партицирование») в SQL Server, при кажущейся простоте («да чего там – размазываешь таблицу и индексы по файловым группам, получаешь профит в администрировании и производительности») – достаточно обширная тема. Ниже я попробую описать как создать и применить функцию и схему секционирования и с какими проблемами можно столкнуться. О преимуществах я говорить не буду, кроме одного — переключение секций, когда вы моментально убираете из таблицы огромный набор данных, либо наоборот — моментально загружаете в таблицу не менее огромный набор.
Читать дальше →

Создание аналога Google Photos на собственном сервере

Level of difficultyEasy
Reading time4 min
Views41K

Создание собственного облачного хранилища с автоматическим менеджером фотографий.

Изучение опенсорс софта, нацеленного на автоматический менеджинг фотографий, сравнение софта между собой, установка на тестовый сервер, просмотр с разных устройств.

Читать далее

Различные вычисления, многопоточность, асинхронность и мультипроцессность в Python

Level of difficultyMedium
Reading time9 min
Views16K

Всем привет! Меня зовут Дмитрий Первушин, я лидер Python-компетенций трайба ИСУ в Сбере. 

Эта статья рассчитана на людей, которые уже знакомы с Python, хотя бы на уровне junior+. Я объясню, какие есть отличия и особенности в многопоточности, асинхронности и мультипроцессорности в Python, где и когда они используются. Как говорится в пословице: «Всё познаётся в сравнении», именно в таком стиле я подготовил примеры. Кроме этого, буду специально делать ошибки и рассматривать неправильные подходы, чтобы можно было сразу разобраться, убедиться и запомнить, почему так делать нельзя и какой другой подход в этом случае нужно использовать.

Читать далее

Давайте сделаем крупное приложение на Flask (язык Python)

Reading time18 min
Views26K

На Хабре я часто вижу статьи о реализации тех или иных фич на Python-фреймворках. Я объединил все эти фичи в реальный проект с открытым исходным кодом, чтобы у вас сложилась целостная картина. Мы с вами создадим UX/UI на Figma, напишем фронтенд на HTML, CSS, SASS, Bootstrap и JavaScript, создадим ER-диаграмму в MySQL Workbench, напишем бекэнд на Flask, создадим регистрацию через социальные сети OAuth 2.0 в один клик, используем брокер сообщений и асинхронную очередь Celery для отправки писем на электронную почту, сделаем WYSIWYG-редактор, реализуем полнотекстовый поиск Elasticsearch, закешируем Redis, покроем тестами pytest и запустим в Docker-контейнерах, поговорим о многопроцессности для WSGI-шлюза Gunicorn.

Читать далее

SSH-туннели — пробрасываем порт

Reading time2 min
Views437K
Не всегда есть возможность, да и не всегда надо, строить полноценный туннель с интерфейсной парой адресов. Иногда нам нужно лишь «прокинуть» вполне определённые порты.

Тут важно понимать, что туннель можно организовать как изнутри сети, к ресурсам которой вы хотите получить доступ, на внешний ssh-сервер. Также можно организовать туннель с хоста в Интернете на пограничный ssh-сервер сети, чтобы получить доступ к внутренним ресурсам.
Читать дальше →

Получаем белый IP с помощью VDS за копейки

Level of difficultyEasy
Reading time2 min
Views37K

Всем привет! В этой статье я расскажу, как получить белый IP-адрес без помощи провайдера и настройки вашего роутера, используя обычный VDS (виртуальный выделенный сервер), или как его ещё называют "Дедик". С помощью VDS вы сможете подключаться к вашему компьютеру по IP-адресу VDS с любого интернета и любой точки мира, размещать сайт на своём железе и использовать его IP-адрес.

Для чего это может быть нужно?

Все зависит от ваших потребностей и нужд. Вот несколько примеров использования:

Читать далее

Делаем вентилятор умным или как улучшить микроклимат в ванной комнате с помощью домашней автоматизации

Level of difficultyMedium
Reading time6 min
Views33K


Привет, Хабр!

Наверное многие из вас понимают, что одним из ключевых моментов при эксплуатации ванной комнаты является поддержание оптимального микроклимата, поскольку избыточная влажность создает идеальную среду для развития плесени и грибка на любых пористых поверхностях, будь-то штукатурка или межшовное пространство кафеля. Для нормализации уровня влажности, в первую очередь необходимо обеспечить нормальную вентиляцию, как правило, данная задача решается установкой вытяжного вентилятора. Вместе с тем, для обеспечения эффективности, немаловажно автоматизировать процесс работы вытяжной вентиляции. В данной статье я хочу поделиться своим опытом реализации «домашней» автоматизации для решения этого вопроса. Впереди DIY и много картинок, присоединяйтесь!
Читать дальше →

Сквозная аналитика в HR

Level of difficultyEasy
Reading time7 min
Views4.6K

Сквозная аналитика в HR в виде приложения в Power BI.

После первой встречи с HR отделом в лице руководителя, специалиста, занимавшегося сбором данных и оформлением отчетов в таблицах Excel, выяснилось, что источники с необходимыми данными находятся в регулярных выгрузках из 1С Предприятие, Google Sheets, Битрикс24, PostgreSQL, iSpring. По визуальному оформлению как таковых «жестких» требований не было, была лишь просьба, учесть наглядность представляемых данных и «желательно как в таблицах Excel».

После чего я приступил к созданию дашборда из нескольких дашбордов с получением данных из первоисточников ежедневно.

Читать далее

Как расширить JPA для работы с PostgreSQL

Level of difficultyMedium
Reading time4 min
Views6.6K

Всем привет! Меня зовут Антон, я — архитектор компании ITFB Group. Пережив несколько проектов, на которых встречается стек PostgreSQL с использованием связки PostgreSQL + JPA, мне удалось устранить большое количество проблем, связанных с неоптимальной интеграцией функциональности PostgresSQL в Java-приложения. В этой cтатье мы максимально подробно разберем, как можно настроить JPA для эффективной работы с PostgreSQL. Всем, кому интересна эта тема, добро пожаловать под кат)

Читать далее

Telegram Боты на Aiogram 3.x: Деплой бота через Docker

Level of difficultyMedium
Reading time7 min
Views21K

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

Дисклеймер

Цель данного руководства — не обучение Docker, а пример использования этой технологии в контекте телеграмм ботов на aiogram 3. Я не буду сильно акцентировать внимание на таких вещах, как слои, volume, docker-compos, bridge и прочей технической информации более глубокого уровня, чем необходимо для деплоя ботов на VPS сервере.

Далее вы получите пример использования Docker и общее описание методов (команд). Если вам нужны мои обучающие публикации по Docker, сообщите мне об этом любым удобным способом.

Подготовка

Для начала вам нужно обзавестись базой данных PostgreSQL. О том, как развернуть ее на VPS сервере, я писал ТУТ. Также потребуется установить Docker. Новичкам будет удобнее поставить Docker Desktop, если с технологией уже знакомы, используйте консольный вариант.

Читать далее

Построение отказоустойчивого кластера PostgreSQL для 1С. HAProxy, давай до свидания. Рецепты от Капитана

Level of difficultyMedium
Reading time11 min
Views11K
Одна из завершающих публикаций цикла «В облако на работу:… Рецепты от Капитана» в ходе которых был собран полнофункциональный рабочий контур 1С в сети на отечественной Ред ОС. С веб-серверами, доменной авторизацией, архивированием и прочая прочая…
Это основное блюдо, на закуску разберемся с отказоустойчивостью.
В этой публикации для PostgreSQL, заодно попробуем сделать это по новому.
Читать дальше →

Information

Rating
Does not participate
Registered
Activity