Материалы для новичков в python

О чем здесь
Часто у новичков, которые только начинают знакомиться с программированием на python, возникает чувство некой пустоты, будто есть что-то, чем со всеми поделились но мне забыли дать. Конечно такое чувство возникает из-за не уверенности, начиная новое дело, в новой области, в которой мы нечего не знаем и не ориентируемся.
Чтобы добавить уверенности, немного расширить кругозор, и начать ориентироваться в ИТ стоит изучить много материала. Не всегда легко распознать что есть "хороший" контент, а потреблять все подряд не хочется и жизни на это не хватит.
Для это создал небольшой список интересных стоющих книг/курсов/статей, который стоит рано или поздно изучить, прочитать. В какой момент стоит читать ту или иную книгу решать вам, но я советую пользоваться условными уровнями, если материал на level 1 вам кажется простым тогда переходите к level 2 и level 3, читать все из данного списка хоть и желательно но ни как не обязательно.
Алгоритмы и структуры данных level 1
- "Грокаем-алгоритмы"
Для начала достаточно одной этой книги, некоторые советуют повременить с ней, но мне кажется чем раньше начнем изучать алгоритмы тем будет лучше.
Введение в python level 1
- "Learning Python", 5-е изадание (пока можно обойтись и 4)
- https://docs.python.org/3.6/reference/datamodel.html
- https://tutorial.djangogirls.org/ru/
- http://flask.pocoo.org/docs/1.0/tutorial/
Остальное level 1
- "Программирование без дураков"
- https://12factor.net/
- https://www.w3schools.com/sql/
SQL до сих пор остается важной частью любого web проекта, его изучение может показаться скучным и мало применимым к практическим задачам, я тоже считаю что sql надо учить только на практике, но учить его надо и чем раньше тем лучше. Последний курс даст вам не плохое представление о языке запросов и его возможностях.
Паттерны и структуры данных level 2
- MVC - https://djangobook.com/mdj2-django-structure/
- "Programming Python: Powerful Object-Oriented Programming"
- Базы данных - https://www.youtube.com/watch?v=SfYaAQ9-RnE
- Что такое NoSQL бд - https://tproger.ru/translations/sql-nosql-database-models/
Python level 2
- "Learn Python the Hard Way"
- "Programming Python: Powerful Object-Oriented Programming"
- "Fluent Python: Clear, Concise, and Effective Programming"
- "Python Crash Course"
Другие инструменты level 2
- "Git для профессионального программиста"
- Redis - https://github.com/akandratovich/the-little-redis-book/blob/master/ru/redis-ru.pdf
- MongoDB - https://realpython.com/introduction-to-mongodb-and-python/
- Docker - книга: "Использование Docker"
- SQL Cookbook - Книга, Энтони Молинаро
Алгоритмы и патерны level 3
- "Совершенный код" - Стив Макконнелл.
- "Экстремальное программирование" - Мартин Фаулер
- "Экстремальное программирование. Разработка через тестирование" - на русском
Python level 3
- async io - https://habr.com/ru/post/337420/ (хороший перевод )
- https://ru.coursera.org/lecture/diving-in-python/rabota-s-asyncio-kFBtQ - Хоршая лекция по работе async.io из бесплатного курса МФТИ по python
- "Python Tricks: The Book" - Dan Bader
- GIL - https://www.youtube.com/watch?v=AWX4JnAnjBE - (отличный доклад Григория Петрова на moscow python meetup)
- GIL - https://habr.com/ru/post/84629/ (хороший перевод конспекта выступления David Beazley)
- High Performance Python: Practical Performant Programming for Humans - Micha Gorelick, Ian Ozsvald
Прочий технологии level 3
- TDD - "Python. Разработка на основе тестирования" (Гарри Персиваль)
- Введение в анализ данных с помощью Pandas
- Введение в интерпретатор с JIT на PyPy
- Безумная оптимизация python