Хочу научиться программировать на Python: инструкция для продолжающих
Рассказываем, что учить, как получать практику и где брать идеи для своего проекта.
72К открытий72К показов
В прошлой статье мы рассказали, как изучать Питон с нуля. В этом материале рассказываем, что делать, когда вы изучили азы и решаете простые задачи.
Что учить?
В первую очередь:
- алгоритмы и структуры данных;
- архитектуры информационных систем;
- генераторы и итераторы;
- дескрипторы;
- работа с модулями;
- основные принципы объектно-ориентированного программирования (императивный и декларативный стили, замыкания и интроспекция, асинхронная концепция программирования);
- кодировки;
- операционные системы (потоки, процессы, сокеты, стек протоколов TCP/IP);
- основы работы в Linux (работа в sh, типы виртуализации, настройка виртуальных машин через vagrant или подобные инструменты, работа с GIT);
- сетевой протокол прикладного уровня SSH;
- протокол прикладного уровня передачи данных HTTP;
- форматы данных XML, HTML, JSON;
- стандарт WSGI;
- SQL, базы данных (например, PostgreSQL, MySQL, а также INSERT, UPDATE, SELECT, JOIN, CRUD, GROUP BY для реляционных баз);
- принципы работы с NoSQL (например, MongoDB);
- веб-сервер и почтовый прокси-сервер nginx;
- способ синхронизации потоков GIL;
- менеджеры пакетов (например, pip);
- понимание традиционных методологий разработки, например, Agile (Scrum).
Фреймворки:
- асинхронные (Tornado, gevent, aiohttp, Celery);
- синхронные (Pyramid, Flask, Django);
- тестирование (doctest, py.test, Selenium, unittest/pyUnit).
А также
Учитесь читать чужой код
Иногда быстрее и проще написать собственный код, чем переписывать чужой, но такой навык имеет преимущества. Вы сможете перенять интересные идеи и подходы для своих проектов, учитесь находить ошибки. Сюда же — code review. Главное — изучайте хороший код. Такие есть на GitHub: создайте профиль, изучайте проекты, присоединяйтесь к ним.
Учитесь делать рефакторинг
Рефакторинг поможет найти ошибки в коде, упростить его и сделать понятным для других.
Подтяните английский язык до уровня понимания технической литературы
Он нужен как минимум для чтения документации, книг, задач и общения с другими разработчиками.
Изучайте инструменты для оптимизации кода
Первая пятерка — в нашем материале. Также полезно читать о хитрых приемах на Python и применять их на практике.
Ищите библиотеки
Изучить все пакеты вряд ли получится, но некоторые знать полезно. Некоторые из них мы собрали в статье.
Где учить?
Продвинутый уровень требует поиска материалов из разных источников. Онлайн-курсы по большей части полезны для начинающих, хотя есть пара вариантов для продолжающих: курс от Geekbrains на русском языке и Python3 Advanced Tutorial на английском. Еще несколько хороших книг — в подборке Tproger.
Все выучил, что делать дальше?
Например, решать задачи. Создайте мозаику из случайных изображений, расшифруйте строку, создайте инструменты командной строки. Еще задания — в нашей подборке и на сайтах checkio.org, codingame.com и codewars.com.
Попробуйте создать собственный проект — здесь вы найдете список из более чем 100 идей. А здесь — список из 49 клонов игр, которые напишете самостоятельно. Дальше можно готовиться к собеседованию на позицию Python-разработчика.
72К открытий72К показов