После собеседования я спросил у Антона, насколько он был честен в своей оценке. По его словам, мои знания core-python на хорошем уровне, но этого мало для того, чтобы начать работать, да еще и есть что подтянуть.
А дальше он дал рекомендации:
1. Разобраться с асинхронным и конкурентным программированием.
2. Изучить SQL на более серьёзном уровне.
Я решил начать с асинхронного программирования, и опять же, по рекомендации Антона, начал изучение с книги "Asyncio и конкурентное программирование на Python" автора Мэтью Фаулер. Книга действительно популярная, не раз мне её рекомендовали.
Все началось с простых понятий: процесс, поток, конкуренция и параллелизм. Далее тебя знакомят с командами async и await. Объясняют, что такое GIL, а дальше начинаются сложности. Автор предлагает написать свой асинхронный эхо-сервер с неблокирующими сокетами и использованием модуля selectors для построения цикла событий сокетов.
Тут потребовалась вся моя концентрация, но многое до сих пор осталось непонятным. Нужно больше практики.
Автор рекомендует обязательно осилить 4 главы, которые являются базой, а дальше пользоваться книгой по необходимости. Так что в планах закончить четвертую главу и написать что-то собственное на базе изученной теории.
#программирование #python #asyncio
А дальше он дал рекомендации:
1. Разобраться с асинхронным и конкурентным программированием.
2. Изучить SQL на более серьёзном уровне.
Я решил начать с асинхронного программирования, и опять же, по рекомендации Антона, начал изучение с книги "Asyncio и конкурентное программирование на Python" автора Мэтью Фаулер. Книга действительно популярная, не раз мне её рекомендовали.
Все началось с простых понятий: процесс, поток, конкуренция и параллелизм. Далее тебя знакомят с командами async и await. Объясняют, что такое GIL, а дальше начинаются сложности. Автор предлагает написать свой асинхронный эхо-сервер с неблокирующими сокетами и использованием модуля selectors для построения цикла событий сокетов.
Тут потребовалась вся моя концентрация, но многое до сих пор осталось непонятным. Нужно больше практики.
Автор рекомендует обязательно осилить 4 главы, которые являются базой, а дальше пользоваться книгой по необходимости. Так что в планах закончить четвертую главу и написать что-то собственное на базе изученной теории.
#программирование #python #asyncio
🔥16❤3👍1
Дочитал я, в общем, первые четыре главы книги "Asyncio и конкурентное программирование на Python", которые рекомендует осилить автор. И сел думать: "А что дальше... и где это применять?!"
Почитал еще другие ресурсы, а там пишут, что асинхронное программирование чаще всего используется в крупных микросервисах, что логично. Ведь там возникает множество различных запросов, а скорость выполнения ограничена скоростью ввода\вывода (IO-bound). Еще пишут, что асинхронное программирование часто используют в парсерах и в ТГ ботах. А у меня таких проектов, к сожалению, нет.
И тут я понял, о чем мне говорили в комментариях: что рано я туда полез и есть множество вещей более важных на данном этапе развития, которые стоит освоить в первую очередь.
В любом случае это был полезный опыт. Я стал лучше понимать, как работает процессор, что такое процессы и потоки. В чем разница между IO-bound и CPU-bound. Да и в целом для чего нужен асинхронный код и где его можно использовать, а где он вовсе может навредить. Уверен, что в будущем мне эти знания пригодятся.
И так план на ближайшие пару недель:
1. Завершить курс по GIT, который я давно начал, но бросил из-за более приоритетных дел. Постараюсь написать на него обзор с публикацией на Habr. Будет мой первый пост.
2. Я вступил в сообщество "Ботаним с Диджитализируй!", где ребята разбирают умные книги, касающиеся разработки. Пойду по их следам, и начну читать книгу "PostgreSQL Основы языка SQL : учебное пособие Евгений Моргунов". Постараюсь побольше попрактиковаться с SQL, может как-то более широко внедрить его в свою игру или напишу какой-нибудь новый учебный проект под это дело. Автор клуба предлагает работать с БД через Docker, заодно вспомню что такое контейнеры.
#программирование #python #asyncio #книги
Почитал еще другие ресурсы, а там пишут, что асинхронное программирование чаще всего используется в крупных микросервисах, что логично. Ведь там возникает множество различных запросов, а скорость выполнения ограничена скоростью ввода\вывода (IO-bound). Еще пишут, что асинхронное программирование часто используют в парсерах и в ТГ ботах. А у меня таких проектов, к сожалению, нет.
И тут я понял, о чем мне говорили в комментариях: что рано я туда полез и есть множество вещей более важных на данном этапе развития, которые стоит освоить в первую очередь.
В любом случае это был полезный опыт. Я стал лучше понимать, как работает процессор, что такое процессы и потоки. В чем разница между IO-bound и CPU-bound. Да и в целом для чего нужен асинхронный код и где его можно использовать, а где он вовсе может навредить. Уверен, что в будущем мне эти знания пригодятся.
И так план на ближайшие пару недель:
1. Завершить курс по GIT, который я давно начал, но бросил из-за более приоритетных дел. Постараюсь написать на него обзор с публикацией на Habr. Будет мой первый пост.
2. Я вступил в сообщество "Ботаним с Диджитализируй!", где ребята разбирают умные книги, касающиеся разработки. Пойду по их следам, и начну читать книгу "PostgreSQL Основы языка SQL : учебное пособие Евгений Моргунов". Постараюсь побольше попрактиковаться с SQL, может как-то более широко внедрить его в свою игру или напишу какой-нибудь новый учебный проект под это дело. Автор клуба предлагает работать с БД через Docker, заодно вспомню что такое контейнеры.
#программирование #python #asyncio #книги
🔥9👍5👌1