-
-
Save corbands/c17906d56f5c3dfebef4 to your computer and use it in GitHub Desktop.
python developer
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Опишу какие вещи нужно знать и уметь с ними работать | |
******* | |
Python | |
******* | |
основы: | |
- базовые типы данных (int, str, float), более сложные (list, dict, tuple) | |
рекомендую посмотреть сайт tutorialspoint - там можно найти базовые методы для работы со строками и сложными типами | |
например, для листа - http://www.tutorialspoint.com/python/python_lists.htm | |
там же можно посмотреть строки, dict, tuple | |
- условия, циклы | |
- функции - аргументы функций (позиционные, именнованные, аргументы по умолчанию) | |
- файлы - чтение, запись | |
ООП: | |
- классы, объекты | |
- конструктор | |
- наследование, переопределение методов в дочерних классах, множественное наследование | |
- методы - staticmethod, classmethod | |
тоже нужно знать: | |
- генераторы, итераторы | |
меня на собеседовании просили написать простой генератор списка, генератор словаря | |
- декораторы | |
- контекстный менеджер | |
эти штуки знать как и зачем использовать, как написать свои - знать не нужно (но это несложно, можно врубиться впоследсвии) | |
******* | |
Django | |
******* | |
Вот тут нужно порядочно сломать мозг :) | |
Первое время сориентироваться в джанго непросто - можно и приуныть - так что будь готов, что не с первого раза всё пойдет. | |
У меня так было несколько заходов, пока не стал врубаться | |
Рекомендую сразу посмотореть статьи обзорные (на хабре, например) про джанго и про архитектурный паттерн MVC - на нём джанго основан | |
и пройти туториал на оф. сайте | |
https://docs.djangoproject.com/en/1.8/intro/tutorial01/ - там 6 шагов | |
и почитать книгу | |
Форсье Дж., Биссекс П., Чан У. - Django. Разработка веб-приложений на Python (High tech) - 2009 | |
в этой книге хорошо бы прочиать всё до примеров (примеры тоже можно посмотреть выборочно) - это важно чтобы начать врубаться в предметную область. Чтобы знать из чего фреймворк состоит. | |
** | |
После этого можно придумать себе проект и начать его делать (отдельно напишу, какого типа проект можно замутить) | |
**************** | |
Вообще про веб | |
**************** | |
- как происходит взаимодействие клиент-сервер. Знать что происходит, когда пользователь на сайте нажимает ссылки - что происходит с точки зрения клиента и сервера | |
- протокол http. типы запросов (GET, POST, PUT, PATCH, DELETE) - когда какие запросы применяются | |
*********** | |
БД | |
*********** | |
основные запросы | |
select | |
insert | |
update | |
delete | |
уметь писать простые запросы типа на SQL | |
select name, age, nation from student; | |
Тут достаточно простого туториала по SQL пройти | |
И знать общие сведения, что значит реляционные БД | |
Большим плюсом будет знание как писать запросы с JOIN'ами | |
****** | |
LINUX | |
****** | |
нужно уметь ориентироваться с терминале. | |
Если у тебя не линукс, очень рекомендую все обучение проходить именно под линуксом - в основном, вся веб-разработка ведется под линуксами. | |
Или под маками (в алитиксе - Нет) - но там тот же shell - так что лишним точно не будет | |
минимум тут примерно следующий: | |
- перемещаться по файловой системе, создавать папки, файлы, удалять их. | |
- запускать .sh скрипты | |
- убивать процессы | |
- знать про ssh | |
- grep, find | |
что касается ssh, то это штуковина для ежедневного использования - врубишься, если например, поднимешь собственный сервак в облаке или поднимешь виртуалку под вагрантом. | |
***************************************** | |
системы контроля версий, в частности, git | |
***************************************** | |
рекомендую сразу применять git в домашнем проекте. | |
Нужно знать основной flow - тут туториалов существует много | |
******** | |
advanced | |
******** | |
Это в общем-то не нужно для джунира, но про многопоточное программирование базу было бы хорошо знать | |
большим плюсом будут знания: | |
- по многопоточному программированию (в случае Python - многопроцессорного) | |
- по rest api веб-приложения (в алитиксе используется tastypie) | |
- celery - это тоже испльзуется в алитиксе - для запуска асинхронных процессов (в них всякие ресурсоемкие операции выполняются) | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
хороший ресурс по Джанго - http://gettingstartedwithdjango.com/en/lessons/introduction-and-launch/
это я бы рекомендовал точно после туториала, и мб после книги
Тут полезная информация как поднять виртуалку и вагрант - окружение для разработки