All streams
Search
Write a publication
Pull to refresh
22
2.7
Send message

Как работает HTTP/2 и как использовать его в Go

Level of difficultyEasy
Reading time12 min
Views6.8K

HTTP/2 – это значительное обновление по сравнению с HTTP/1.1, решающее его ключевые ограничения, такие как блокировка Head-of-Line (HoL) и неэффективность многократных соединений. В этой статье мы разберёмся, почему HTTP/2 стал стандартом, как он устроен и чем отличается от предыдущей версии протокола. Мы рассмотрим ключевые концепции HTTP/2: мультиплексирование, сжатие заголовков HPACK, бинарный формат фреймов и серверный push.

Во второй части статьи мы покажем, как включить HTTP/2 в Go-приложениях. Вы узнаете, как правильно настроить HTTP-сервер с поддержкой TLS и ALPN, какие пакеты использовать и какие нюансы учитывать при разработке. Также мы обсудим практические аспекты работы с HTTP/2, возможные проблемы и пути их решения.

Читать далее

Как работает сеть в контейнерах: Docker Bridge с нуля

Level of difficultyMedium
Reading time21 min
Views65K

В этой статье мы собираемся разобраться со следующими вопросами:

* Как виртуализировать сетевые ресурсы, чтобы контейнеры думали, что у них есть отдельные сетевые среды?

* Как превратить контейнеры в дружелюбных соседей и научить общаться друг с другом?

* Как выйти во внешний мир (например, в Интернет) изнутри контейнера?

* Как связаться с контейнерами, работающими на хосте Linux, из внешнего мира?

* Как реализовать публикацию портов, подобную Docker?

Читать далее

Новый способ прослушивания событий жизненного цикла приложения во Flutter

Level of difficultyEasy
Reading time6 min
Views4.2K

Обзор нового класса AppLifecycleListener, представленного во Flutter 3.13

Во Flutter 3.13 появилось множество новых функций и улучшений. Одним из них является новый класс под названием AppLifecycleListener, который позволяет прослушивать события жизненного цикла приложения на Flutter. Это улучшение по сравнению с предыдущим способом. В этой статье я сравню старые и новые способы прослушивания событий жизненного цикла приложения и покажу вам, как использовать новый класс AppLifecycleListener.

Читать далее

Асинхронные задачи с FastAPI и Celery

Level of difficultyEasy
Reading time10 min
Views34K

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

Чтобы достичь этого, мы расскажем вам о процессе настройки Celery и Redis для обработки длительно выполняющихся процессов в приложении FastAPI. Мы также будем использовать Docker и Docker Compose, чтобы связать все воедино. Наконец, мы рассмотрим, как протестировать задачи Celery с помощью модульных (unit) и интеграционных тестов.

Читать далее

Все о фабричном конструкторе в Dart

Level of difficultyEasy
Reading time8 min
Views8.6K

Изучив классы фреймворка, пакеты сторонних разработчиков или документацию Dart / Flutter, вы, натыкались на ключевое слово factory и задавались вопросом, что это значит.

В этой статье мы собираемся прояснить:

Значение ключевого слова

Когда вам следует его использовать

Разница между factory и порождающим конструктором

Различия между factory и static

Читать далее

Information

Rating
1,277-th
Registered
Activity