Pull to refresh
0
0
Send message

Создание собственного API на Python (FastAPI): Подключаем фронтенд и статические файлы

Level of difficultyMedium
Reading time33 min
Views11K

Друзья, приветствую. Надеюсь, что вы ждали выхода данной публикации. На текущий момент, если вы следовали моим статья, то к настоящему моменту вы уже освоили:

- Основы создания простого приложения с использованием FastAPI.

- Основные HTTP‑запросы: POST, GET, PUT и DELETE.

- Принципы работы с Pydantic моделями и их интеграцию в FastAPI.

- Использование инструментов Alembic и SQLAlchemy для управления базой данных.

- Настройку асинхронной работы с базой данных PostgreSQL в SQLAlchemy.

- Реализацию кастомной авторизации и аутентификации в FastAPI.

На данный момент мы уже умеем создавать достаточно функциональное API с приличным набором возможностей, но что дальше? Кто и в каких ситуациях ним будет пользоваться, ведь API пишется именно для этого.

Читать далее
Total votes 11: ↑10 and ↓1+10
Comments0

Как правильно разработать интерактивный прототип?

Level of difficultyMedium
Reading time6 min
Views3.2K

Привет! Меня зовут Московкина Наталия, я старший бизнес-аналитик. Эта статья будет полезна бизнес-аналитикам, которые работают c системами управления данными и часто сталкиваются с тем, что заказчику сложно принять решение по реализации системы на основании статичных макетов. Также бывают случаи, когда передача системы в разработку требует большого количества коммуникаций и уточнений с разработчиками для обсуждения функциональности. В таких ситуациях решить проблему поможет интерактивный прототип.

Читать далее
Total votes 7: ↑7 and ↓0+9
Comments1

Аккумуляторы жадного человека

Level of difficultyMedium
Reading time4 min
Views25K

Жадность плохое чувство, вроде бы. Но, как и лень, она иногда дает свои плоды в виде экономии чего-либо. Вот неприятно осознавать, что в последовательно соединенных аккумуляторах доступная энергия определяется наименее емким элементом. И к моменту его полного разряда, в других аккумуляторах батареи ещё может быть изрядное количество энергии.

А при зарядке батареи аккумуляторов с системой балансировки часть энергии просто сливается в тепло. И чем больше разница в емкости между аккумуляторами батареи, тем больше энергии сливается. При сильном разбалансе и высоком зарядном токе, балансировщик может не справиться со своими обязанностями. К тому же нельзя использовать одновременно аккумуляторы с разной химией.

Всё это сильно раздражает жабу и требует найти возможность использовать всю имеющуюся в аккумуляторах энергию. И заряжать до максимума и не больше. Как же у каждого аккумулятора взять столько энергии сколько он может дать, и зарядить до максимального уровня не теряя на балансировке?

Читать далее
Total votes 18: ↑17 and ↓1+22
Comments14

Готовим k8s кластер на OrangePi 3 LTS

Level of difficultyMedium
Reading time11 min
Views7.5K

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

Самый простой способ - это использовать виртуальные машины или различные контейнерные решения (как, например, Minikube), однако мне не нравится такой подход из-за ограничений виртуализации и ресурсов. Я стремлюсь создать кластер, который можно использовать в реальном бизнесе и который обеспечит надежность в случае сбоев.

Идеальным и бюджетным решением являются микрокомпьютеры на базе архитектуры ARM, например Orange Pi 3 LTS. Я слышал о российских аналогах, таких как Repka Pi, но пока не имел опыта работы с ними, а Raspberry Pi, хоть и обладает множеством модулей, но является дороговатым вариантом. Orange Pi 3 LTS компактный, достаточно мощный и поставляется с образом OC Debian 11. Это устройство оснащено 4 ядрами, 2 ГБ оперативной памяти и процессором с тактовой частотой 1,8 ГГц. Стоимость этого устройства, на момент написания статьи, весьма демократичная - около 4000 ₽.

Читать далее
Total votes 13: ↑13 and ↓0+16
Comments31

Создание статических сайтов из Markdown без HTML (pandoc, mkdocs, hugo и jekyll)

Level of difficultyEasy
Reading time21 min
Views3.8K

Всем привет! На протяжении нескольких лет практики написания скриптов на PowerShell, я веду заметки преимущественно связанные с данным языком и периодически фиксирую их в своем репозитории на GitHub. Недавно задумался, почему бы не попробовать создать из файла в формате Markdown статический сайт, который можно очень просто, и главное бесплатно разместить на том же GitHub. Во всех примерах, я использовал стандартный файл README.md, который применяется для описания любого репозитория на GitHub. Данная статья будет скорее кратким обзором, чем сравнением, и так как в этом деле я новичок, то расскажу про полезные инструменты, которые использовал в процессе изучения данной темы и нюансы, с которыми столкнулся.

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments1

FastAPI: веб-разработка на Python

Reading time14 min
Views14K
image Привет, Хаброжители!

FastAPI — относительно новый, но надежный фреймворк с чистым дизайном, использующий преимущества актуальных возможностей Python. Как следует из названия, FastAPI отличается высоким быстродействием и способен конкурировать в этом с аналогичными фреймворками на таких языках, как Golang. Эта практическая книга расскажет разработчикам, знакомым с Python, как FastAPI позволяет достичь большего за меньшее время и с меньшим количеством кода.

Билл Любанович рассказывает о тонкостях разработки с применением FastAPI и предлагает множество рекомендаций по таким темам, как формы, доступ к базам данных, графика, карты и многое другое, что поможет освоить основы и даже пойти дальше. Кроме того, вы познакомитесь с RESTful API, приемами валидации данных, авторизации и повышения производительности. Благодаря сходству с такими фреймворками, как Flask и Django, вы легко начнете работу с FastAPI.
Читать дальше →
Total votes 9: ↑9 and ↓0+11
Comments3

Моя первая встраиваемая система под управлением Linux

Level of difficultyMedium
Reading time14 min
Views18K

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

Первая часть статьи может показаться не совсем по теме, но в ходе прочтения вы поймёте, что она также имеет отношение к основному тексту. В общем, рекомендую терпеливо прочесть всю историю.
Читать дальше →
Total votes 45: ↑44 and ↓1+65
Comments24

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

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

Как мы повысили продуктивность написания админ-панелей, используя Filament

Level of difficultyEasy
Reading time4 min
Views5.7K

Сегодня мы хотим поделиться нашим опытом разработки админ-панелей (CMS) с использованием Filament — чрезвычайно мощной библиотеки Fullstack-компонентов, основанной на фреймворке Laravel и технологии Livewire.

Мы используем Laravel в качестве основного фреймворка для разработки бэкенда всех наших проектов, и однажды возник вопрос: какое решение для админ-панелей выбрать? Мы остановились на Filament — тогда еще сырой, маленькой, почти незадокументированной open-source админке.

Как показало время, не зря.

В этой статье  мы не будем сравнивать Filament с другими админками, так как это не особо вписывается в формат (тем более, это  уже делали другие). Однако важно подметить, что мы достаточно долго выбирали между Filament и другой, на наш взгляд, более популярной среди русскоязычного комьюнити Laravel, библиотеки — Orchid (отечественная админ-панель с философией DIY).

Мы работали над  несколькими проектами на Orchid параллельно с проектами на Filament и остановились на последнем. Постараемся объяснить, почему мы считаем, что Filament — пожалуй, лучший выбор, который вы можете сделать, если ваша деятельность связана с написанием CMS.

Читать далее
Total votes 4: ↑3 and ↓1+6
Comments12

Обзор открытых свободных инструментов для создания резервных копий СУБД PostgreSQL

Level of difficultyMedium
Reading time9 min
Views6.3K

Перефразируя древнюю мудрость: все люди делятся на 10 типов: те, кто не знает, зачем нужны резервные копии, и те, кто делает резервные копии.
В данном обзоре я попробую мал-мала расшифровать свою давнюю табличку (внеся в неё некоторое количество изменений):
Обзор наиболее популярных средств для создания резервных копий PostgreSQL.
Ибо не вижу я ни подобных обзоров в информационном поле, ни грамотного, с технической точки зрения, подхода к выбору инструмента вообще, и для создания резервных копий (РК) СУБД PostgreSQL в тех организациях, куда заносит профессиональная деятельность, в частности. Основной аргумент выбора: знания и умения текущего системного администратора. Доводилось встречаться со сменой инструмента по причине того, что новый администратор баз данных не знал и не умел уже использовавшийся продукт. Причём использовался вполне себе достойный, но... (конкретики не будет, по причинам, например, секретным, увы мне).

Читать далее
Total votes 12: ↑8 and ↓4+7
Comments21

Сложно о простом. Модель OSI и TCP/IP

Level of difficultyEasy
Reading time5 min
Views53K

Приветствую, коллеги! Меня зовут @ProstoKirReal, и я сетевой инженер, который пришел в эту профессию из совершенно другой сферы. На начальном этапе было особенно трудно разобраться в сложных терминах и принципах работы сетевых протоколов и оборудования. Мне захотелось написать цикл статей, посвященных специфике работы сетей и сетевых протоколов. Прежде всего, я делаю это для себя, чтобы наконец разобраться в тех понятиях, которые до конца не понимаю. Надеюсь, эта информация будет полезна и вам, а если нет, то послужит хорошей шпаргалкой для меня самого.

В первой статье цикла я хочу начать с базовых понятий, которые пригодятся всем начинающим сетевым инженерам, студентам и тем, кто связан с сетевыми технологиями. Это модель OSI и TCP/IP. Это база, которую необходимо знать. Вначале мне было трудно запомнить и понять суть этих моделей и их связь с настройками обычного коммутатора. Однако понимание модели OSI облегчает понимание работы различных протоколов и позволяет общаться с коллегами на одном языке. Меня раньше часто поправляли из-за того, что я говорил неправильно, не зная базовых понятий.

Итак, давайте разберемся с базовой информацией.

Модель OSI (Open Systems Interconnection) — это эталонная модель, разработанная для описания функций телекоммуникационных или вычислительных систем, необходимых для сетевого взаимодействия. Она разделяет процесс сетевого взаимодействия на семь взаимосвязанных уровней. Каждый уровень выполняет специфические функции и взаимодействует с уровнями непосредственно выше и ниже.

Читать далее
Total votes 30: ↑27 and ↓3+26
Comments36

Простая имитационная модель мобильного робота в ROS и Gazebo

Level of difficultyHard
Reading time49 min
Views3.3K

В данной работе представлен процесс разработки и симуляции мобильного робота с использованием платформы ROS Noetic и среды Gazebo. Описано создание URDF-модели робота, которая включает в себя детальное описание всех его компонентов. Рассмотрена разработка Docker контейнера, что позволяет обеспечить унификацию и воспроизводимость среды разработки. Также описаны файлы конфигурации для управления моделью в Gazebo и настройка PID контроллеров для оптимизации управления движением. Проект включает в себя формирование собственного мира в Gazebo, что позволяет тестировать робота в контролируемой и настраиваемой среде.

Читать далее
Total votes 9: ↑8 and ↓1+9
Comments0

К вопросу о диодах (идеальных)

Level of difficultyEasy
Reading time7 min
Views11K

Очередная зарисовка, как всегда, выросшая из практической задачи.
Имеется устройство -аккумуляторная батарея, состоящая из трех секций аккумуляторных ячеек (АЯ) (литий-ионных, хотя это неважно) и необходимо обеспечить их совместную работу на общую нагрузку. Для решения данной задачи поставлены три ключа на полевых транзисторах, индивидуально управляемых с микроконтроллера. Естественно, что каждый ключ образован двумя последовательно включенными транзисторами, управляемыми минусом на затворе (я постоянно путаю буквы n и p, так что пользуюсь такой терминологией), так что стоят они в плюсах батарей - пока ничего нового, таких схем двенадцать на дюжину, см рис.1.

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

И что было дальше ?
Total votes 39: ↑39 and ↓0+56
Comments30

Мастер-класс по съемке и сшивке панорамных изображений

Reading time12 min
Views3.5K

Введение

В первую очередь статья будет касаться сферических панорам, но этими же правилами необходимо руководствоваться при съемке и склейке "обычных" широкоформатных панорам.

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

Читать далее
Total votes 10: ↑10 and ↓0+11
Comments44

Лампочки ЭРА и OSRAM из магазина Fix Price

Level of difficultyEasy
Reading time3 min
Views51K
В «Фикс Прайсе» рядом на одной полке стоят лампы ЭРА 15 Вт за 79 рублей и OSRAM 10,5 Вт за 99 рублей. Наверняка большинство покупателей выбирает «более мощную и дешёвую», но наверное вы уже догадываетесь о подвохе. Я купил обе лампочки и измерил их параметры.


Читать дальше →
Total votes 177: ↑177 and ↓0+195
Comments54

Мега-Учебник Flask Глава 5: Логины пользователей (издание 2024)

Level of difficultyMedium
Reading time17 min
Views9.9K

Это пятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать подсистему входа пользователей.

Начать изучение
Total votes 9: ↑8 and ↓1+11
Comments7

Китай не принимает платежи из России. Где заказать печатные платы в Китае в 2024 году

Level of difficultyEasy
Reading time3 min
Views42K

Полгода назад я писал, как решал проблему с ушедшими JLCPCB. И вот с марта возникла новая проблема ахахах (истерический смех) —  китайские банки начали блокировать оплату от российских компаний за компоненты для сборки электроники. Оплаты не проходят даже у тех компаний, которые заключили долгосрочные контракты с китайскими производственными площадками.

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

Я порезал свой первый обзор + добавил несколько новых компаний, которые сейчас напрямую поставляют компоненты и печатные платы из Китая. В конце - сводная таблица с итогами.

Читать далее
Total votes 59: ↑58 and ↓1+71
Comments63

5 неочевидных нейросетей для оптимизации текстов на русском языке

Reading time5 min
Views5.3K

Специалисты Precedence Research отметили, что на 2023 год объем мирового рынка ИИ оценивается в 538,13 млрд долларов. Но, с учетом прогнозируемого темпа роста в 19%, к 2032 году эта цифра может увеличиться до 2,575 триллионов.

Позитивную тенденцию показали и в Gertner – в ходе опроса 2500 организаций 68% руководителей поставили пользу от нейросетей выше риска их использования.

Поэтому неудивительно, что ИИ становятся неотъемлемой частью практически каждой digital-профессии, особенно копирайтинга. О том, какие нейросервисы лучше подходят для оптимизации текстового контента, подробнее обсудим в этой статье.

Читать далее
Total votes 4: ↑3 and ↓1+4
Comments1

Одноплатные ПК весны 2024 года: что предлагает рынок разработчику?

Reading time6 min
Views23K

Как всегда, производители электроники продолжают выпускать новые модели одноплатных ПК. Их становится все больше, что не может не радовать — ведь мы получаем системы, способные решать самые разные задачи. В начале весны 2024 года появилось несколько интересных моделей, о которых стоит рассказать подробнее.
Читать дальше →
Total votes 41: ↑38 and ↓3+50
Comments45

Information

Rating
5,513-th
Registered
Activity

Specialization

Chief Technology Officer (CTO)