Как стать автором
Поиск
Написать публикацию
Обновить
0
@allldoread⁠-⁠only

Пользователь

Отправить сообщение

Разбираем HTTP/2 по байтам

Уровень сложностиСредний
Время на прочтение24 мин
Количество просмотров43K

image


Откройте любую статью с обзором HTTP/1.1. Скорее всего, там найдётся хотя бы один пример запроса и ответа, допустим, такие:


GET / HTTP/1.1
Host: localhost

HTTP/1.1 200 OK
Date: Sat, 09 Oct 2010 14:28:02 GMT
Server: Apache
Content-Length: 38
Content-Type: text/html; charset=utf-8

<!DOCTYPE html>
<h1>Привет!</h1>

Теперь откройте статью с обзором HTTP/2 или HTTP/3. Вы узнаете о мультиплексировании запросов, о сжатии заголовков, о поддержке push-технологий, но вряд ли увидите хоть одно конкретное сообщение. Ясно, почему так: HTTP/1.1 — текстовый протокол, тогда как сиквелы к нему бинарные. Это очевидное изменение открывает дорогу ко множеству оптимизаций, но упраздняет возможность просто и доступно записать сообщения.


Поэтому в этой статье предлагаю покопаться в кишках у HTTP/2: разобрать алгоритмы установки соединения, формат кадров, примеры взаимодействия клиента с сервером.

Читать дальше →

Python-разработка: подборка материалов для самостоятельного изучения

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров10K

Всем привет! Собрали для вас подборку вспомогательных материалов для изучения Python — они помогут разработчикам решать более сложные задачи и чувствовать себя увереннее в работе. Нам помогали авторы курсов по Python-разработке в Яндекс Практикуме: Рома Володин, Женя Бартенев и Миша Николаев. 

Книги и другие материалы из подборки не дублируют содержание курсов  «Python-разработчик» и «Мидл Python-разработчик». Они позволят глубже разобраться в темах, которые в них поднимаются, и в целом больше узнать о Python и его применении.

Читать далее

Книга «Грокаем глубокое обучение с подкреплением»

Время на прочтение13 мин
Количество просмотров13K
image Привет, Хаброжители!

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

Давайте научимся создавать системы глубокого обучения на примере увлекательных упражнений, сопровождаемых кодом на Python с подробными комментариями и понятными объяснениями. Вы увидите, как работают алгоритмы, и научитесь создавать собственных агентов глубокого обучения с подкреплением, используя оценочную обратную связь.
Читать дальше →

Python декораторы на максималках. Универсальный рецепт по написанию и аннотированию от мала до велика

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров63K

Декорирование функций - это, наверное, самая сложная среди базовых и самая простая среди продвинутых фич языка Python. С декораторами, наверное, знакомы все джуны (хотя бы в рамках подготовки к собеседованиям). Однако, крайне мало разработчиков пишут их правильно. Особенно принимая во внимания тенденции последних нескольких лет к аннотированию всего и вся. Даже популярные open-source проекты (если основная часть их кода была написана до 2018 года) вряд ли дадут вам примеры декораторов, отвечающих всем современным требованиям к коду.

Так давайте разбираться!

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

В рамках статьи мы разберемся с декорированием функций в Python от простого к самому сложному. Рассмотрим, как их правильно писать и аннотировать, чтобы другие потребители вашего кода не страдали от близкого знакомства с ним. Уверен, что даже если вы чрезвычайно опытный разработчик, вы найдете для себя полезные советы (хотя и можете пропустить солидную часть материала).

Давайте разбираться

Полное руководство по модулю asyncio в Python. Часть 1

Время на прочтение11 мин
Количество просмотров172K

Python-модуль asyncio позволяет заниматься асинхронным программированием с применением конкурентного выполнения кода, основанного на корутинах. Хотя этот модуль имеется в Python уже много лет, он остаётся одним из самых интересных механизмов языка. Но asyncio, при этом, можно назвать ещё и одним из модулей, которые вызывают больше всего недоразумений. Дело в том, что начинающим разработчикам бывает трудно приступить к использованию asyncio.

Перед вами — подробное и всестороннее руководство по использованию модуля asyncio в Python. В частности, здесь будут рассмотрены следующие основные вопросы:

Читать далее

С чего начинаются игры: первые шаги при создании игры

Время на прочтение4 мин
Количество просмотров14K

Приветствую!

Сегодня хочу рассказать о том, как делаются игры (громко звучит, но на самом деле ничего сверхъестественного). А точнее, с чего вообще начинается работа над игрой. Самые самые первые шаги. Еще до исследований рынка, до четкого прописывания USP, до GDD, до прототипа, дизайна уровней и детализации.

Статья пригодится начинающим геймдизайнерам, да и всем, наверное, у кого мало опыта в проектировании чего-либо и вы просто не знаете, с чего начать. Попробуем разложить по полочкам. Итак, поехали =)

Читать далее

Измерение покрытия python сервисов для end-to-end тестов

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров5.3K

Как измерить покрытие автотестами? Данный вопрос всегда вызывает жаркие дискуссии в рядах тестировщиков. Измерять покрытие становится сложнее, когда мы движемся вверх по пирамиде тестирования и уровень наших тестов растет. Как здорово на уровне Unit тестов, там отлично показывается сколько строк кода покрыто, процент и т.д. Вот если бы подобный отчет можно было сделать для end-to-end тестов или UI, то сразу было бы понятно реальное тестовое покрытие и каких тестов не хватает. К счастью, есть такой инструмент, который позволяет строить подробный отчет по покрытию Python сервисов.

Читать далее

VoiceChat c Vorbis кодеком на несколько человек с блэкджеком и (Web?)UI над UDP socket python

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров5.6K

Ругает VoIP, discord и др. за фатальный недостаток

Пару лет назад, когда все эти гитхабры для меня были птичьим пением, а делать мне было нечего — писал я значит небольшие проекты на python. Среди них был простенький голосовой чат на двоих через TCP. Но вот я нашел его и захотел допилить. Лучший способ допилить что‑то — это придумать заново. Всё что вы прочитаете далее — есть мой гайд по изготовлению велосипеда и не претендует на звание полноценного презентабельного проекта.

Кнопка Читать далее с крутым текстом, вот!

Больше книг о СУБД — для тех, кто хочет погрузиться в работу с PostgreSQL

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.8K
image

Недавно мы подготовили подборку литературы для тех специалистов, кто хочет поближе познакомиться с Redis. Сегодня мы продолжаем тему и говорим о настоящей легенде. Шутка ли — PostgreSQL развивают с 1996 года. За это время СУБД успела «обрасти» крупным сообществом и не потеряла актуальности. На рынок до сих пор выходят посвящённые ей книги. Мы собрали наиболее свежие издания — им не более двух лет. Все материалы в подборке получили высокие оценки и рекомендации от резидентов Hacker News и Reddit.

Читать дальше →

Учимся разрабатывать REST API на Go на примере сокращателя ссылок

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров94K

В этой статье мы напишем полноценный REST API сервис — URL Shortener — и задеплоим его на виртуальный сервер с помощью GitHub Actions.

Говоря «полноценный», я имею в виду, что это будет не игрушечный проект, а готовый к использованию:

  • мы выберем для него актуальный http-роутер,
  • позаботимся о логах,
  • напишем тесты: unit-тесты, тесты хэндлеров и функциональные,
  • настроим автоматический деплой через GitHub Actions и др.

Но важно понимать, что «готовый к продакшену» != «энтерпрайз».

Кратко обо мне: меня зовут Николай Тузов, я много лет занимаюсь разработкой на Go, очень люблю этот язык. Также веду свой YouTube-канал, на котором есть видеоверсия текущего гайда, с более подробными объяснениями.
Читать дальше →

Системный подход в Канбан-методе. STATIK — сервисная археология

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров10K

Всем привет! Я Евгений Степченко, деливери-менеджер в Тинькофф. Расскажу про подход к анализу и улучшению процессов, который называется STATIK, System Thinking Approach To Introducing Kanban — применение системного мышления при анализе и проектировании канбан-систем. Поговорим о том, как устроен этот подход и как он помогает запускать эволюционные изменения.

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

Читать далее
2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность