гайд по Django Views: https://spookylukey.github.io/django-views-the-right-way/
Автор Chris Riccomini делится опытом написания технической книги: https://cnr.sh/essays/how-to-write-a-technical-book
cnr.sh
How to Write a Technical Book
I've been asked for advice
about writing a book several times since The Missing README came out in
August. This post is my attempt at an answer. If you've ever thought
about writing a book (or are j
about writing a book several times since The Missing README came out in
August. This post is my attempt at an answer. If you've ever thought
about writing a book (or are j
Forwarded from DataEng
Интересный движ намечается в январе 2022 года — Data Engineer Zoomcamp
Это 9 недельный курс в формате zoom-лекций и практических занятий по дата инжинирингу. Примечательно что он абсолютно бесплатный для всех, нужна лишь предварительная регистрация по ссылке.
У этой инициативы уже есть полупустой репозиторий на гитхабе: https://github.com/DataTalksClub/data-engineering-zoomcamp, там же можно ознакомиться подробнее с предстоящими темами для изучения.
Старт намечен на 17 января 2022 года
Это 9 недельный курс в формате zoom-лекций и практических занятий по дата инжинирингу. Примечательно что он абсолютно бесплатный для всех, нужна лишь предварительная регистрация по ссылке.
У этой инициативы уже есть полупустой репозиторий на гитхабе: https://github.com/DataTalksClub/data-engineering-zoomcamp, там же можно ознакомиться подробнее с предстоящими темами для изучения.
Старт намечен на 17 января 2022 года
Airtable
Airtable | Everyone's app platform
Airtable is a low-code platform for building collaborative apps. Customize your workflow, collaborate, and achieve ambitious outcomes. Get started for free.
Если вы не знаете чем заняться на выходных, то прямо сейчас можно посмотреть бесплатно все курсы по VueJS на платформе Vue Mastery: https://www.vuemastery.com/free-weekend/
Vue Mastery
Free Weekend May 10-12 2024
Join me to watch all of @VueMastery’s courses free through May 10-12
Серия статей про System Design для мобильных разработчиков: https://proandroiddev.com/a-simple-framework-for-mobile-system-design-interviews-89f6f4134b84
Medium
A Simple Framework For Mobile System Design Interviews
The list of posts in this series:
Курс про Go: https://youtu.be/yyUHQIec83I
YouTube
Golang Tutorial for Beginners | Full Go Course
Full Golang Tutorial to learn the Go Programming Language while building a simple CLI application
In this full Golang course you will learn about one of the youngest programming languages that is becoming more and more popular in the cloud engineering world…
In this full Golang course you will learn about one of the youngest programming languages that is becoming more and more popular in the cloud engineering world…
Вчера освежал знания по сборщику мусора в Питоне и наткнулся на отличный доклад на тему: https://www.youtube.com/watch?v=CLW5Lyc1FN8
YouTube
Pablo Galindo Salgado - Time to take out the rubbish: garbage collector - PyCon 2019
"Speaker: Pablo Galindo Salgado
One of the reasons why programming in Python is very straightforward and simple is that we do not have to worry about the lifetime of our objects. That is, once it ceases to be necessary, a variable disappears from the memory…
One of the reasons why programming in Python is very straightforward and simple is that we do not have to worry about the lifetime of our objects. That is, once it ceases to be necessary, a variable disappears from the memory…
Бесплатная книга про шаблоны проектирования веб-приложений на JavaScript и React: https://www.patterns.dev/
www.patterns.dev
Learn JavaScript design and performance patterns for building more powerful web applications.
Видео про работу AWS Lambda от AWS инженера: https://www.youtube.com/watch?v=OOGV81YbuEo
YouTube
HOW LAMBDA WORKS - COLD STARTS? FIRECRACKER? CONTAINER SUPPORT?
Let's look under the hood of AWS Lambda and learn how Lambda works. Marc Brooker - Senior Principal Engineer at AWS and one of the persons behind the AWS Lambda platforms unveils the magic behind AWS Lambda. He shares with us how the platform changed over…
Для любителей алгоритмов и BigO-нотации. Попался на глаза доклад из старых закладок от небезызвестного Ned Batchelder (автор coverage.py): https://www.youtube.com/watch?v=duvZ-2UK0fc
В блоге у него также есть пост по мотивам этого видео: https://nedbatchelder.com/text/bigo.html
В блоге у него также есть пост по мотивам этого видео: https://nedbatchelder.com/text/bigo.html
YouTube
Ned Batchelder - Big-O: How Code Slows as Data Grows - PyCon 2018
Speaker: Ned Batchelder
Big-O is a computer science technique for analyzing how code performs as data gets larger. It's a very handy tool for the working programmer, but it's often shrouded in off-putting mathematics.
In this talk, I'll teach you what…
Big-O is a computer science technique for analyzing how code performs as data gets larger. It's a very handy tool for the working programmer, but it's often shrouded in off-putting mathematics.
In this talk, I'll teach you what…
👍3
Наткнулся на интересную статью с диаграммами про алгоритм кодирования кодов Юникод-символов в байты: https://sethmlarson.dev/blog/utf-8
sethmlarson.dev
How does UTF-8 turn “😂” into “F09F9882”?
If you're anything like me, you love emojis! Emojis appear like an image on the screen, but they aren't an image like a PNG or JPEG. What do emojis look like to computers?
0x820x820x980...
0x820x820x980...
В python 3.11 в модуль asyncio завезли TaskGroup: https://bit.ly/3sNbVVe
Если кратко, то это замена для функции gather, которая запускает сразу несколько корутин. Стандартная функция gather непредсказуема и нужно помнить, что при отмене одной корутины из списка, другие не будут автоматически отменены. Мне приходилось дополнительно писать обёртку, которая обрабатывала возможные ошибки от асинхронных функций и делала явную отмену gather.
С приходом TaskGroup появляется некая атомарность у группы корутин, и соответственно более удобная и наглядная обработка ошибок.
Код взят из исходников EdgeDB: https://github.com/edgedb/edgedb/blob/master/edb/common/taskgroup.py
Если кратко, то это замена для функции gather, которая запускает сразу несколько корутин. Стандартная функция gather непредсказуема и нужно помнить, что при отмене одной корутины из списка, другие не будут автоматически отменены. Мне приходилось дополнительно писать обёртку, которая обрабатывала возможные ошибки от асинхронных функций и делала явную отмену gather.
С приходом TaskGroup появляется некая атомарность у группы корутин, и соответственно более удобная и наглядная обработка ошибок.
Код взят из исходников EdgeDB: https://github.com/edgedb/edgedb/blob/master/edb/common/taskgroup.py
GitHub
bpo-46752: Introduce task groups in asyncio by gvanrossum · Pull Request #31270 · python/cpython
This is EdgeDB's TaskGroup class, adapted for Python 3.11.
In the individual commits you can see how I evolved this from the version in EdgeDB.
Here's a to-do list:
Figure out why in test...
In the individual commits you can see how I evolved this from the version in EdgeDB.
Here's a to-do list:
Figure out why in test...
Намедни попалась на глаза статья про "затыки" в производительности асинхронных фреймворков на примере FastAPI: https://aivarsk.com/2022/01/21/fastapi-concurrency/
По мотивам этой статьи написал свою заметку с замечаниями о производительности asyncio и как работать в условиях CPU-intensive кода.
По мотивам этой статьи написал свою заметку с замечаниями о производительности asyncio и как работать в условиях CPU-intensive кода.
Aivars Kalvāns
FastAPI and cooperative multi-threading
Cal Paterson wrote a great article comparing and describing synchronous and asynchronous Python frameworks and explaining why asynchronous frameworks go a bit wobbly under load. This is a story of how we experienced wobbliness in a recent project.
👍6🔥1👏1
Генерация клиентов для вашего API-сервиса на FastAPI: https://fastapi.tiangolo.com/advanced/generate-clients/
Эта фича стала доступна в версии 0.75.0
Эта фича стала доступна в версии 0.75.0
Tiangolo
Generating SDKs - FastAPI
FastAPI framework, high performance, easy to learn, fast to code, ready for production
👍7
Чтобы получить кратный прирост производительности вашего FastAPI приложения достаточно перевести его на PyPy. Как? Читайте в статье: https://tonybaloney.github.io/posts/pypy-in-production.html
У автора получилось увеличить производительность в 4 раза!
У автора получилось увеличить производительность в 4 раза!
tonybaloney.github.io
PyPy in Production
Deploying a real-world Python application with PyPy
👍6
В JS хотят добавить аннотацию типов: https://devblogs.microsoft.com/typenoscript/a-proposal-for-type-syntax-in-javanoscript/
Microsoft News
A Proposal For Type Syntax in JavaScript
Today we’re excited to announce our support and collaboration on a new Stage 0 proposal to bring optional and erasable type syntax to JavaScript. Because this new syntax wouldn’t change how surrounding code runs, it would effectively act as comments. We think…
👎3👍2🔥2😁1
Вышла долгожданная для многих версия 1.18 языка Go: https://go.dev/blog/go1.18
Долгожданная потому что в ней появились обобщённые типы или дженерики.
Долгожданная потому что в ней появились обобщённые типы или дженерики.
go.dev
Go 1.18 is released! - The Go Programming Language
Go 1.18 adds generics, native fuzzing, workspace mode, performance improvements, and more.
👍5
21 апреля стартует курс по асинхронной архитектуре. Авторы — двое известных чуваков: Федя Борщёв и Антон Давыдов.
Вы научитесь проектировать и разрабатывать сложные распределенные системы — с Kafka, CQRS и сложными транзакциями. Курс — крафтовый: это значит вы не платите гигантской компании, которая просто пригласила пару чуваков из компании с громким именем. Наоборот — ребята давно копили опыт и теперь решили поделиться.
Это фундаментальный курс о проектировании больших систем — о форматах данных, отказоустойчивости, тестировании и даже разговорах с бизнесом. Будет полезен, если собираетесь иметь дело с любым серьёзным проектом, в котором больше одного репозитория.
Даже если вы джун, который пилит монолит в маленьком стартапе, курс вам поможет: мышление проектировщика позволяет писать более понятный и изолированный код.
Учимся 4 недели, по 2 урока в неделю. Будут домашки с разбором, так что на выходе, если не поленитесь — получите проект с асинхронной архитектурой в портфолио.
Для подписчиков скидка 10% по промокоду devbrain. Действует до 10 апреля.
Посмотреть программу и отзывы →
Вы научитесь проектировать и разрабатывать сложные распределенные системы — с Kafka, CQRS и сложными транзакциями. Курс — крафтовый: это значит вы не платите гигантской компании, которая просто пригласила пару чуваков из компании с громким именем. Наоборот — ребята давно копили опыт и теперь решили поделиться.
Это фундаментальный курс о проектировании больших систем — о форматах данных, отказоустойчивости, тестировании и даже разговорах с бизнесом. Будет полезен, если собираетесь иметь дело с любым серьёзным проектом, в котором больше одного репозитория.
Даже если вы джун, который пилит монолит в маленьком стартапе, курс вам поможет: мышление проектировщика позволяет писать более понятный и изолированный код.
Учимся 4 недели, по 2 урока в неделю. Будут домашки с разбором, так что на выходе, если не поленитесь — получите проект с асинхронной архитектурой в портфолио.
Для подписчиков скидка 10% по промокоду devbrain. Действует до 10 апреля.
Посмотреть программу и отзывы →
tough-dev.school
Коммуникации систем
👍4🔥2👎1
Хорошие новости. В AWS Lambda появились HTTPS URL, теперь можно вызывать Lambda по ссылке, минуя настройку через API Gateway: https://aws.amazon.com/ru/blogs/aws/announcing-aws-lambda-function-urls-built-in-https-endpoints-for-single-function-microservices/
Как ни странно, но в Яндекс.Облаке такая фича была изначально, это помогло мне развернуть телеграм-бота и не платить за него ни копейки.
Как ни странно, но в Яндекс.Облаке такая фича была изначально, это помогло мне развернуть телеграм-бота и не платить за него ни копейки.
Amazon
Announcing AWS Lambda Function URLs: Built-in HTTPS Endpoints for Single-Function Microservices | Amazon Web Services
Organizations are adopting microservices architectures to build resilient and scalable applications using AWS Lambda. These applications are composed of multiple serverless functions that implement the business logic. Each function is mapped to API endpoints…
👍2👎1