PJ Dev
480 subscribers
58 photos
1 video
1 file
67 links
История в прямом эфире о том, как я стал разработчиком, изменил свои привычки и улучшил качество жизни

https://pjdev.ru/
Download Telegram
После собеседования я спросил у Антона, насколько он был честен в своей оценке. По его словам, мои знания core-python на хорошем уровне, но этого мало для того, чтобы начать работать, да еще и есть что подтянуть.

А дальше он дал рекомендации:
1. Разобраться с асинхронным и конкурентным программированием.
2. Изучить SQL на более серьёзном уровне.

Я решил начать с асинхронного программирования, и опять же, по рекомендации Антона, начал изучение с книги "Asyncio и конкурентное программирование на Python" автора Мэтью Фаулер. Книга действительно популярная, не раз мне её рекомендовали.

Все началось с простых понятий: процесс, поток, конкуренция и параллелизм. Далее тебя знакомят с командами async и await. Объясняют, что такое GIL, а дальше начинаются сложности. Автор предлагает написать свой асинхронный эхо-сервер с неблокирующими сокетами и использованием модуля selectors для построения цикла событий сокетов.

Тут потребовалась вся моя концентрация, но многое до сих пор осталось непонятным. Нужно больше практики.

Автор рекомендует обязательно осилить 4 главы, которые являются базой, а дальше пользоваться книгой по необходимости. Так что в планах закончить четвертую главу и написать что-то собственное на базе изученной теории.

#программирование #python #asyncio
🔥163👍1
Дочитал я, в общем, первые четыре главы книги "Asyncio и конкурентное программирование на Python", которые рекомендует осилить автор. И сел думать: "А что дальше... и где это применять?!"

Почитал еще другие ресурсы, а там пишут, что асинхронное программирование чаще всего используется в крупных микросервисах, что логично. Ведь там возникает множество различных запросов, а скорость выполнения ограничена скоростью ввода\вывода (IO-bound). Еще пишут, что асинхронное программирование часто используют в парсерах и в ТГ ботах. А у меня таких проектов, к сожалению, нет.

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

В любом случае это был полезный опыт. Я стал лучше понимать, как работает процессор, что такое процессы и потоки. В чем разница между IO-bound и CPU-bound. Да и в целом для чего нужен асинхронный код и где его можно использовать, а где он вовсе может навредить. Уверен, что в будущем мне эти знания пригодятся.

И так план на ближайшие пару недель:
1. Завершить курс по GIT, который я давно начал, но бросил из-за более приоритетных дел. Постараюсь написать на него обзор с публикацией на Habr. Будет мой первый пост.

2. Я вступил в сообщество "Ботаним с Диджитализируй!", где ребята разбирают умные книги, касающиеся разработки. Пойду по их следам, и начну читать книгу "PostgreSQL Основы языка SQL : учебное пособие Евгений Моргунов". Постараюсь побольше попрактиковаться с SQL, может как-то более широко внедрить его в свою игру или напишу какой-нибудь новый учебный проект под это дело. Автор клуба предлагает работать с БД через Docker, заодно вспомню что такое контейнеры.

#программирование #python #asyncio #книги
🔥9👍5👌1