BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
большой ресурс по всему что касается управления памятью, колекторами памяти и прочему
https://www.memorymanagement.org/index.html
1
== The Essential Django Deployment Guide
https://www.saaspegasus.com/guides/django-deployment/

Where we're headed
The components of a production Django application
Choosing your deployment architecture
VPS-based deployments
PaaS-based deployments
Choosing between a VPS and PaaS
Choosing a hosting company
Choosing a Django PaaS Provider
Choosing a Django VPS Provider
Figuring out your supporting infrastructure
Recommended supporting infrastructure on a PaaS
Web server
Django
Database
Static Files
Considerations if deploying on a VPS
The other details that matter
Build and release commands
Managing settings and secrets
Security
Monitoring
Backups
Considerations for a VPS
иногда один день бывает куда продуктивней полугодий

я за сегодняшний выходной успел дофига
1) почистил вкладки - из 1.5к вкладок, открытых по разным причинам выкинул почти все и оставил только 400, которые в ближайшие недели разберу и оставлю около 100. хочу промолчать, правда, сколько скопилось статей в pocket и видео ютюба в плэйлисте "watch later" но вцелом, смысла висеть этим вкладкам в памяти нет никакого (у мня файрфокс, и оно не жрет память, только напрягает уже визуально просто). вцелом даже такая куча всего для меня не была проблемой, значительно больше перевариваю за пол года. но тут накопилось то что уже пораждалось прочиткой и просто появлялось в рекомандациях. но из 6 открытых окон браузера остались только 3, в каждом уже счетное количество. становится удобней

2) закончил несколько плейлиство с курсами, которые давно висели

3) собрал план на доклад по ембеддингам и обработке текста для работы с ИИ

4) сел наконец за бота для векторной базы данных и семантическому поиску по своей БД

5) разобрал кучу накопившегося хлама на столах

6) собрал небольшой столик для ноута, который теперь будет всегда рядом (пятый монитор, епта)

7) перебрал вещи, и отложил то чем уже не буду пользоваться. и надо передать как то отцу, ему нужней

8) не обошлось без проблем, чот слайсер принтера начал городить какую то хрень. удивлен прям доневозможности. новое обновление принесло страдания какие то не понятные. не ожидал совсем таких багов. даже на самой картинке на предпросмотре видно дичь
🔥1
Я вам говорю, скоро он их обоих подожмёт
Docker 4.19 теперь поддерживает python в docker init

docker init - это утилита, которая упрощает добавление docker в проект. Она просто пробежит по вопросам, спросит версию проекта, какой командой он запускается и сгенерирует Dockerfile и compose-файл.

Мелочь, а приятно :)

#docker
Попался на глаза отличный перевод статьи "Writing Python like it's Rust", который скорее говорит о возможностях аннотаций типов и структур которые их используют (и еще немного про контекстные менеджеры).

Очень много примеров и очень много полезных советов :)

#статья #хабр
Forwarded from Python/ django
🔥 13 Django Packages to Every Developer Must Install

13 маст хэв пакетов Django, которые установить каждый разработчик.

1. Django Debug Toolbar

Этот мощный пакет предоставляет визуальный интерфейс для отладки, который выводит подробную информацию о SQL-запросах и их показателях производительности.
pip install django-debug-toolbar

2. Django Rest Framework

Этот комплексный пакет упрощает создание RESTful API, предоставляя надежные инструменты для сериализации, аутентификации и тд.
pip install djangorestframework

3. Celery

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

pip install celery

4. Django-Crispy-Forms

Этот удобный инструмент упрощает процесс рендеринга и стилизации форм.
pip install django-crispy-forms

5. Django-Cache

Этот пакет позволяет хранить часто используемые данные в памяти, уменьшая количество повторяющихся запросов к базе данных.
pip install django-cache

6. Django Allauth

Этот пакет предлагает комплексные функции регистрации пользователей, входа в систему и управления учетными записями.
pip install django-allauth

10. Django Guardian

Этот пакет позволяет вам управлять разрешениями на уровне объектов, позволяя определять контроль доступа для отдельных экземпляров моделей.
pip install django-guardian

11. Django Storages

Этот пакет интегрируется с популярными провайдерами облачных хранилищ, такими как Amazon S3 и Google Cloud Storage.
pip install django-storages

12. Django Compressor

Этот пакет автоматически объединяет и сжимает файлы CSS и JavaScript, уменьшая количество HTTP-запросов и улучшая время загрузки страниц.
pip install django-compressor

13. Django Haystack

Этот пакет интегрирует различные поисковые системы, такие как Elasticsearch и Solr, позволяя вам создать надежные поисковые возможности для вашего приложения.
pip install django-haystack

@pythonl
Как раз сегодня искал фреимворк для организации работы консьюмера RabbitMQ и на глаза попался Propan - декларативный фреимворк для работы с очередями сообщений.

Для чего это нужно? На базе очередей можно построить асинхронную коммуникацию сервисов, а это привет микросервисной архитектуре!

Для сравнения, вот столько кода нам нужно написать, чтобы сделать консьюмер при помощи aio_pika:

import asyncio
import aio_pika
async def main():
connection = await aio_pika.connect_robust(
"amqp://guest:guest@127.0.0.1/"
)
queue_name = "test_queue"
async with connection:
channel = await connection.channel()
queue = await channel.declare_queue(queue_name)
async with queue.iterator() as queue_iter:
async for message in queue_iter:
async with message.process():
print(message.body)
asyncio.run(main())

А вот столько с Propan:

from propan import PropanApp, RabbitBroker
broker = RabbitBroker("amqp://guest:guest@localhost:5672/")
app = PropanApp(broker)
@broker.handle("test_queue")
async def base_handler(body):
print(body)

Чистый кайф, не правда ли? Выглядит просто и понятно.

Что ещё умеет?
1) Кастить типы сообщений в модельки при помощи Pydantic.
2) Умеет работать с зависимостями (привет DI)
3) Имеет CLI утилитку, которая поможет сгенерировать проект, запустить несколько процессов воркеров, запустить хот-релоад для разработки.
4) А ещё есть огромное количество примеров, как им пользоваться.
5) Бонус - похоже у автора в планах прикрутить AsyncAPI (это как OpenAPI, только для очередей).

На данный момент стабильно работает с RabbitMQ, Redis и Nats. Kafka и SQS в бете, а NatsJs, MQTT, Redis Streams и Pulsar в планах.
Ну и накиньте звёзд автору, выглядит как то, что в будущем выстрелит :)

Github | Документация

#библиотека
Коробка с питоном
Как раз сегодня искал фреимворк для организации работы консьюмера RabbitMQ и на глаза попался Propan - декларативный фреимворк для работы с очередями сообщений. Для чего это нужно? На базе очередей можно построить асинхронную коммуникацию сервисов, а это…
эх. где оно было раньше ? не мучался бы (
только сейчас ведь стал популярным этот пакет.

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