284

Ответ trdm в «Яндекс и "Цифровые профессии"»2

Предложу своё видение материалов для начинающего python-разработчика на 2022 год. Есть общая часть для любого backend developer, она же годится для старта в data science и devops.


Сразу скажу, что 80% успеха в изучении — это самостоятельная работа. Ни один курс или преподаватель не сделает из вас специалиста, это доступно только вам. Помочь может размеренное изучение — 1 час изучения каждый день куда эффективнее, чем 10 часов в воскресенье.


Подборка бесплатного материала по python:

0. При погружении в новую область знаний сразу возникает вопрос, куда копать и с чего начать. Ответ можно найти в книгах, обзорных статьях, видео и других источниках. Одним из вариантов визуализации подобных знаний является roadmap. Это такая "дорожная карта" с пометками, что следует освоить. Самым популярным проектом является roadmap.sh. В их github 220к звёзд, настолько это общее место для индустрии. Прописаны roadmap для самых разных специализаций и технологий, в том числе по python. Недавно к каждому навыку они стали прикреплять пачку статей и видео из изучения. Roadmap позволяет выявить пробелы в текущих знаниях и наметить актуальные вопросы для изучения.


1. Классическим хорошим курсом для начала из бесплатных считаются Поколения Python на stepik для начинающих и для продвинутых от школы BEEGEEK. Первые два курса (для начинающих и для продвинутых) бесплатные, третий (для профессионалов) платный, стоит в районе 3к. В каждом курсе порядка 200+ тестов и ~300 интерактивных задач. Для начинающих покрывает базовые типы данных, циклы и ветвления, строки, списки, функции и не большой мини-проект в конце. Для продвинутых вложенные списки, кортежи, множества, словари, работа с файлами. Для профессионалов - исключения, итераторы, генераторы, регулярки.


2. Дополнить текст можно годными лекциями Тимофей Хирьянова из МФТИ.


3. Python: основы и применение на stepik. Тут пространства имён, классы, наследование, исключения, итераторы и генераторы, файловая система, лямбды, pep8, регулярки, немного про http и API.


4. Не питоном единым, поэтому надо ещё и немного в базы. Начинать однозначно стоит с реляционных баз. Можно посмотреть на Интерактивный тренажер по SQL. Тут и про реляционную модель в целом, про запросы, групповые операции, CRUD, и много практики


5. Надо освоить git, достаточно 4 глав из книги Pro Git. Сейчас git без вариантов, у него 97% рынка. Не писать код без локального git-репозитория вообще. Использовать серверный github/gitlab по желанию.


6. Дополнительно можно практиковаться на codewars и leetcode. Берём и решаем по задаче в день. Конкретно leetcode популярен при подготовке к собеседованиям.


7. Для общего развития есть крутой вводный курс в computer science CS50 от Гарварда. Он большой и на английском, начинается с Си и алгоритмов, а дальше про память, структуры данных, python, SQL, HTML, CSS, javascript и даже Flask. Такая сборная солянка. Есть видео-лекции, лабораторные работы с заданиями и всё такое. Говорят, что яндекс.браузер умеет на лету всё переводить, но я не пользовался.


8. Связанный с предыдущим пункт. Без английского нынче никуда. Кто посоветует, как тут можно начать? Мне кажется, что нужны основы языка (база типа грамматика по любому учебнику), а потом много практики уровня "перевод со словарём". Словарный запас всему голова.


9. В современном проекта никуда без тестов. Для python лидером является pytest, могу порекомендовать гайд Python Testing with pytest. Просто, Быстро, Эффективно и Масштабируемо


10. Без linux никуда, все сервера работают на linux. Кто знает хороший гайд для начинающего? Легко сказать "поставь ubuntu и разберись", но это сложно.


11. Без docker тоже никуда. Мне нравится огромный гайд Introduction to Containers в виде 829-страничной презентации. Тут и теория, и практика. Для углубления знаний есть Best Practices.


Когда есть базовый опыт на питоне, дальнейшим развитием является свой проект. Не гонитесь за чем-то уникальным, просто самостоятельно реализуйте что-то уже существующее. В процессе реализации вы начнёте сталкиваться со злым реальным миром, что даст вам много опыта. Например, можно повторить мой часовой стрим по созданию небольшого проекта на python с нуля до небольшого логического завершения.


Из книг для более глубокого понимания внутренностей Python рекомендую Лутца (двухтомник, нужно свежее 5 издание 2019-2020 годов). Многие жалуются, что книга тяжёлая для начинающего. Крутой книгой для повышения уровня я считаю Python. К вершинам мастерства Лучано Рамальо (в 2022 году вышло второе издание, лучше его).


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


Постоянным источником материалов может быть телеграмм-канал devfm, где мы разбираем разные нюансы из жизни разработчика на Python и не только. Зачем нужен докер, что такое WSGI, чему стоит научиться в вузе, шаблоны проектирования микросервисов с недавнего highload++. По пятницам у нас культурный код с фильмами, книгами и всяким разным.

Программирование на python

907 постов11.9K подписчика

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

3
Автор поста оценил этот комментарий
Cs50 есть в переводе русском на Ютубе
раскрыть ветку (1)
4
Автор поста оценил этот комментарий

На ютубе старая редакция 2015 года - оригинальный курс обновляется каждый год

6
Автор поста оценил этот комментарий
Лучи добра тебе за пост ^-^
раскрыть ветку (1)
3
Автор поста оценил этот комментарий

Спасибо. Похихикал с твоего поста про полезную функцию кота :)

10
Автор поста оценил этот комментарий

как первый учебник очень понравился "Тони Гэддис - Начинаем программировать на Python (5-е изд) - 2022". Понял 100% материала без проблем, при том что там 880 страниц. Каждая строка в примерах разжевана, задания тоже понравились

раскрыть ветку (1)
2
Автор поста оценил этот комментарий

Судя по оглавлению, вполне достойно. В копилку, спасибо!

1
Автор поста оценил этот комментарий
Мил человек, раз уж гайд по linux за 28 дней так никто и не предложил, расскажи как ты его постигал?
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

Вот думаю, с чего начать. Я просто юзал убунту, и в процессе разбирал разное. Плюс книжки читал. А вот как последовательно и кратко эти знания передать... Пока не знаю

показать ответы
1
Автор поста оценил этот комментарий

Добрый день. Вопрос по программированию на python.

Codewars: Это является нормальной практикой, стараться все уместить в одну строку?

А то я пишу спокойно не жалея строк для if, for. А в топе все в одну строку.

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

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


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


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

ps: а в топе оно потому, что "гляди, как могу"

2
DELETED
Автор поста оценил этот комментарий

Мб вопрос не совсем по теме. Я учусь на инженера-проектировщика, сейчас хочу перейти со специалиста на бакалавра. Могу либо 2 года доучиться на инженера, и потом начать втягиваться в айти, либо поступить на написание ПО, либо программная инженерея с потерей семестров. Будет ли полезна инженерная база? Или забить на это и сразу на айтишника учиться?

раскрыть ветку (1)
1
Автор поста оценил этот комментарий

В ИТ очень многое на самообразовании. Есть крутые программисты вообще без высшего образования, есть те, кто считает институт потерянным временем


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


Зависит от учебного заведения, мотивации (может, программировать не понравится) и кучи других факторов

показать ответы
2
Автор поста оценил этот комментарий

"Python. К вершинам мастерства" абсолютно бесполезная книжка для людей без опыта работы.

Может второе издания совсем другое. Я читал только первое.
раскрыть ветку (1)
1
Автор поста оценил этот комментарий

С этой точки зрения второе издание не изменилось, оно всё ещё не для начинающих :)


Мне нравится эта книга, не смог не добавить. Пометил её, как "для повышения уровня". Но отдельно темы там очень классно разобраны, например, итераторы

1
Автор поста оценил этот комментарий
А это уже мобильный юзер агент в браузере.
Иллюстрация к комментарию
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Круто, спасибо. Попробую потыкать сам

1
Автор поста оценил этот комментарий
Проходил, очень круто сделано, практика есть. Но ещё на виртуалке убунту для доп практики ставил.
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

А без виртуалки там какая практика по умолчанию?

показать ответы
1
Автор поста оценил этот комментарий

Вот основы Линукса на Хекслете https://ru.hexlet.io/courses/cli-basics

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Ты проходил? Как оно?

показать ответы
0
Автор поста оценил этот комментарий

кстати, после абсолютно понятного переведенного!! пособия Геддиса проходить курс степика от русских авторов - это полный пиздец. Его писали как будто на алиэкспрессовском языке. Для интереса попробовал самые первые занятия, вообще не понял что от меня хотят. Судя по заплюсованным на +1000 комментам к задачам, проблемы не у одного меня))

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

О каком именно курсе речь?

1
Автор поста оценил этот комментарий
По докеру недавно вышел бесплатный курс по базе от Карпова https://karpov.courses/docker?utm_source=vk&utm_medium=p...
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Программа выглядит адекватно. Посмотрю, спасибо

3
Автор поста оценил этот комментарий
Мне в качестве первого учебника по python понравился:
Автоматизация рутинных задач с помощью Python, практическое руководство для начинающих, Свейгарт Эл
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Спасибо, по оценкам хорошая книга. При этом ругают перевод (что термины по-разному переводят в разных местах)

https://www.livelib.ru/book/1001938083-avtomatizatsiya-rutin...