DevBrain
3.41K subscribers
25 photos
2 videos
9 files
689 links
Новости, статьи, книги и видео из мира разработки софта

Автор @adilkhash

Веду блог https://khashtamov.com/
Download Telegram
В блоге у компании Sentry нашел свежую и классную серию статей про Django Performance Improvements:

- Part 1: Database Optimizations
- Part 2: Code Optimization
- Part 3: Frontend Optimizations
- Part 4: Caching in Django Applications
Как стать хорошим бэкенд-инженером?

Наткнулся на интересную статью от известного в узких кругах инженера Hussein Nasser про фундаментальные знания для бэкэнд-разработчика — How To Become a Good Backend Enginner. У автора более 18 лет опыта в разработке бэкенда и для себя он выделяет несколько основных фундаментов на которые опирается хорошее бэкенд-приложение:

- Протоколы транспортного уровня TCP и UDP. Самые популярные протоколы прикладного уровня так или иначе базируются либо на TCP либо на UDP.

- Нюансы работы веб-сервера, будь то nginx, apache httpd/tomcat и т.д. Я полностью согласен с автором, т.к. понимание как работает веб-сервер значительно упрощает решение проблем с производительностью приложения. У автора есть статья про разбор архитектуры nginx.

- Базы данных. Бесспорно база данных это сердце практически любого бэкенд-приложения. Понимание как работают индексы, что значит ACID Compliance, как база хранит данные на диске сделают вас лучшим инженером. От себя добавлю, что важно понимать плюсы и минусы той или иной БД, чтобы ваш выбор был максимально взвешенным и обоснованным. Чем с большим количеством баз вы столкнётесь на практике тем более взвешенным будет ваше решение о её выборе.

- Прокси-серверы. В эпоху микросервисной архитектуры появилось множество сервисов для проксирования запросов как транспортного уровня (например, HAProxy) так и прикладного (nginx http reverse-proxy, HAProxy HTTP). Область их применения разнообразная: балансировка нагрузки между серверами, кеширование, проверка авторизации/аутентификации и т.д.

- Системы обмена сообщениями (Messaging systems). Apache Kafka, RabbitMQ, Redis и многие другие популярные системы обмена сообщениями прочно вошли в нашу жизнь в эпоху распределённых приложений. Помимо преимуществ в масштабировании ваших сервисов, системы обмена сообщениями также значительно снижают связность между приложениями. Автор статьи рекомендует читателю разобраться в тонкостях той или иной системы, а именно в механизме создания и получения сообщения, нюансам доставки сообщений (at most once, at least once)

- Формат сообщений. XML, JSON, ProtoBuf, MessagePack и другие. Существует множество форматов кодирования информации для обмена между системами и у каждой есть свои минусы и плюсы (кроме XML, шутка). Если вы уменьшаете размер пересылаемой информации (например, выбирая сжатый формат), то не забывайте про накладные расходы CPU при десериализации сообщения.

- Безопасность. Знания об основах безопаности никогда не будут лишними. Для веб-разработчиков рекомендую ознакомиться с Топ-10 наиболее популярных уязвимостей в веб-приложениях: https://owasp.org/www-project-top-ten/

А что бы вы добавили от себя? Пишите в комментариях.
Django 4.2 LTS

Вчера вышла LTS версия Django 4.2. Из значимых изменений:

— поддержка psycopg3 (асинхронный режим для работы с PostgreSQL)
— возможность добавлять комментарии к таблицам/моделям
— тёмный режим в админке Django
— асинхронный интерфейс для Related Managers
Бесплатный курс об изучении языка Rust. Курс рассчитан на 12 полных недель. Каждую неделю открывается новый материал для изучения, сейчас доступен материал 1-й недели.
В сети появились долгожданные доклады с прошедшей в конце апреля конференции PyCon US 2023: https://bit.ly/3WLW0oG
ML Research Engineer
GOAT.Al
4.000 to 5.000 USD NET per month
Almaty Office

GOAT.Al is a research lab on Human <> AI engagement.
The team behind the popular app GoatChat.Al.
We are working on solving the problems of large language models, including hallucination, mode collapse, and context length limitations
.

Responsibilities:
• Conduct cutting-edge research on large language models
• Write and publish academic papers describing new research

Requirements:
• Broad knowledge of academic research in the field of deep learning, with a focus on the latest trends and papers
• Experience with PyTorch and related frameworks like DeepSpeed and HuggingFace
• Knowledge of state-of-the-art training techniques, including mixed-precision training
• Proficiency in MLOps and experience with distributed training

Optional skills: Experience with natural language processing (NLP) or reinforcement learning (RL) is preferred, but not required.

Contacts:
📧 yerzat.d@goat.ai
@rempact
Налетай, разбирай. В Ютубе появились доклады с прошедшей конференции EuroPython 2023: https://www.youtube.com/playlist?list=PL8uoeex94UhFcwvAfWHybD7SfNgIUBRo-
23 октября вышла первая бета Django 5.0: https://www.djangoproject.com/weblog/2023/oct/23/django-50-beta-1-released/
Django 5.0 будет поддерживать Python 3.10 и выше. Версия 4.2 это последняя ветка, которая поддерживала 3.8 и 3.9. Если планируете обновиться, то имейте это в виду. Чуть позже в блоге будет разбор новых фич. Финальный релиз запланирован на начало декабря 2023 года.
django-trix-editor

Написал интеграцию WYSIWYG-редактора Trix от 37signals для Django: django-trix-editor

Удобный и минималистичный редактор для вашего веб-приложения =) Накидайте звёздочек в репу, пожалуйста ⭐️⭐️⭐️⭐️⭐️
DjangoCon US 2023

В сети появились доклады с DjangoCon US 2023: https://bit.ly/3teUC3P
Forwarded from DataEng
Всем привет!

Я сделал курс по Luigi бесплатным для всех, велком изучать — Введение в Data Engineering: дата-пайплайны

Luigi это компактный инструмент для построения зависимых между собой задач на базе нескольких сущностей: Task, Target. Он идеально подойдёт там, где Airflow кажется избыточным инструментом. В далёком 2017 году я писал небольшой обзорный пост на Luigi у себя в блоге: Строим Data Pipeline на Python и Luigi. С тех пор мало что изменилось в концепции инструмента, он по прежнему компактный и простой, именно в этом вся его прелесть.
Forwarded from DataEng
Курс про Apache Airflow бесплатно

Решил выложить свой курс про Apache Airflow абсолютно бесплатно для всех: Apache Airflow 2.2: практический курс
За то время что существует курс, Apache Airflow успел обрасти множеством новых фич, которые только предстоит покрыть в будущем, возможно в виде отдельных роликов на Ютуб или в виде статей у себя в блоге.

В любом случае курс не потерял своей актуальности и может послужить неплохим введением для новичков и более опытных пользователей. Например, в курсе я подробно разбираю как развернуть у себя на сервере production-ready Airflow, а также настроить автодеплой дагов через GitHub Actions.

Велком!