SQL [Tceh] Учимся программировать на Python за 3 месяца (2016/2017)

Роджерc
Роджерc

Роджерc

Хмельной монах
Премиум
badge 5 лет с нами! badge Награда за 1000 очков репутации badge За шикарный аватар! badge За 500 сообщений!
Регистрация
23/03/2018
Сообщения
2.855
Репутация
2.356
  • 1
  • #1
Автор: Tceh
Название: Учимся программировать на Python за 3 месяца


[Tceh] Учимся программировать на Python за 3 месяца (2016/2017)



Полный курс программирования на языке Python для людей любого уровня подготовки. Любого. Главное, чтобы был ноутбук и базовое знание английского. Можно со словарём.

На курсе вы научитесь создавать программы, web-проекты и скрипты для серверов, а также много других интересных вещей. И делать всё это быстро и классно.

Python идеален в качестве первого языка программирования. Он прост и понятен, а для изучения нужны только ноутбук и базовые знания английского языка. Можно со словарём.

Python — мощный, высокоуровневый язык, который используется в разработке YouTube, Dropbox и других топовых площадок.

Подробнее о курсе

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

На курсе в #tceh вы получите базовые навыки web-разработки (Git, тестирование, документация), научитесь писать программы на Python, а также управлять разработкой от идеи до работающего продукта.

У Python есть своя философия структурирования «Дзэн Пайтон», которая пропагандирует красоту, спокойствие и удобство при кодинге и позволяет значительно экономить время.

Чему я научусь
  • Управлять разработкой, руководить командой программистов.

  • Основным знаниям языка Python, фреймворкам Flask и Django.

  • Писать чистый html и css.

  • Навыкам работы с базами данных, языку запросов SQL.

  • Языку JavaScript на базовом уровне, плюс основам jQuery.

  • Работе с Git (система контроля версий, чтобы командой разрабатывать и хранить код).

  • Тестированию приложений.
Курс ведёт Никита Соболев, работал над Python проектами для Logibox и Idea-Logic
Никита 5 лет пишет на Python. Всего профессионально занимается программированием 8 лет. Вёл семинары в НИУ ВШЭ. В течение всей карьеры занимался собственными проектами и outsource‑поддержкой на практике

Подробнее:
Авторизуйтесь, чтобы посмотреть скрытый контент.

Скачать:
Авторизуйтесь, чтобы посмотреть скрытый контент.
 

Отзывов в теме: 1

Перекачал все курсы с шервуда, пока это самый адекватный и не скучный курс. Хороший спикер годный интерактив и структура. Рекомендую
 
Нашел программу курса. Выглядит достойно.

Первый блок. Занятия 1-7.
Занятие 1: Введение
Результат занятия: настроенная среда, библиотека с основами синтаксиса и типов данных, на которые можно опереться в дальнейшем.
  • Общее знакомство с `Python`, его историей и перспективами
  • Общее знакомство с версиями `Python` 2.7 и 3
  • Настройка и установка `Python` 2.7 и 3 на локальные машины
  • Установка `SublimeText`(Text Editor)
  • Настройка и установка `git`, регистрация на github
  • `print 'Hello Pythonic world!'`, первый commit и push на github
  • Детальный разбор, что же произошло в пункте выше
  • Знакомство с базовым синтаксисом, базовые типы данных
  • Что такое переменная? Как ее объявить, и где ее видно?
  • Знакомство со структурами языка: ветвления, циклы, условия
  • Stackoverflow-driven development, секция о том, как самому найти ответы на свои вопросы
Занятие 2: Первое приложение
Результат занятия: приложение-игра, "крестики-нолики" в консоли.
  • Знакомство с командной строкой
  • Управление зависимостями, `pip`, установка первых внешних пакетов
  • Знакомство с `virtualenv`, создание среды
  • Установка `PyCharm`(IDE)
  • Продолжение знакомства с типами данных в `Python`, принцип "присваивание никогда не копирует данные": массивы, словари, кортежи
  • Что такое Функция? Введение в функциональное программирование
  • Обработка исплючений
  • Дебаг приложения
  • Написание игры "крестики-нолики" в функциональном стиле
Занятие 3: Объектно-ориентированное программирование
Результат занятия: приложение "список дел и покупок".
  • Что такое Объект? Знакомство с ООП
  • Принципы ООП: абстракция, наследование, инкапсуляция, полиморфизм
  • Волшебные методы и константы: `__init__()`, `__str__()` и `__dict__`
  • `Python`'s `super()`, `mro()`, новые и старые классы
  • `@staticmethod` и `@classmethod`, переменные класса
  • Принципы проектирования: наследование, агрегация и композиция
  • Продолжение знакомства с языком `Python`: декораторы, свойства, генераторы, `lambda`, `list-comprehension`
  • Zen of Python
  • Написание приложения "список дел и покупок" в объектном стиле
Занятие 4: Версии Python, межверсионный код
  • В чем основные отличия `Python` 2 и 3?
  • `str` и `unicode`
  • Другие важные изменения
  • Какую версию интерпретатора выбрать для нового проекта?
  • Как писать код под обе версии `Python`? Знакомство с `six`, `2to3`, `3to2`
  • Наступившее будущее: что нового в `Python` 3.5?
  • Могу ли я улучшить `Python`? Или что такое `PEP`
Занятие 5: Усложнение программ
Результат занятия: приложение-игра "морской бой" с ИИ.
  • Принципы разработки ПО: DRY, KISS, YAGNI, SOLID
  • Частые ошибки при написании кода
  • Работа с файлами
  • Текстовые форматы обмена данными: `.json`, `.csv`, и как с ними работать
  • Какие есть способы завершить приложение?
  • Написания игры "морской бой" с ИИ с сохранением игры, в объектном стиле
Занятие 6: Создание веб-паука
Результат занятия: приложение, которое бы заходило на страницу соц.сети и забирало оттуда все статусы и/или фотографии.
  • Как устроен интернет? Знакомство с `TCP/IP`, `DNS` и клиент-серверной архитектурой
  • Зачем нам `http` перед адресом? Знакомство с протоколом `HTTP` с модулем `urllib`
  • Что такое регулярное выражение? Модуль `re`
  • Что такое веб-страница? Основы `HTML` разметки, знакомство с `HTML5` тегами
  • Написание веб-паука на основе `Scrapy`, который будет получать статусы со страницы соц.сети и сохранять результаты в файле
Занятие 7: Первый web-проект, backend
Результат занятия: приложение-блог без базы данных, без стилей и скриптов
  • Что такое backend и frontend?
  • Как работает сервер на примере `Flask`?
  • Какой путь проходит запрос, и какие бывают запросы?
  • Введение в `MVC` и `MTV`
  • Как происходит роутинг?
  • Что такое шаблон? И как работать с `Jinja2`?
  • Зачем нужны формы, и как с ними работать?
  • Написание первого web-приложения
Второй блок. Занятия 8-14.
Занятие 8: Основы баз данных
Результат занятия: приложение блог с базой данных и кешем, постраничным выводом статей, без стилей и скриптов.
  • Какие бывают базы данных? Знакомство с `MySQL`, `PostgresSQL`, `SQLite` и `Redis`
  • Основы РСУБД: таблицы и связи между ними (OneToOne, OneToMany, ManyToMany)
  • Введение в `SQL`
  • Проектирование баз данных, нормальные формы
  • Транзакции, индексы
  • Введение в `NoSQL`: `key-value` хранилище, установка `Redis`
  • Введение в `ORM` на примере `SQLAlchemy` (для `SQLite`) и `redis-py`
  • Написание моделей для блога, создание кеша в `Redis`, добавление постраничного вида
Занятие 9: Первый web-проект, frontend: CSS
Результат занятия: приложение блог, с css стилями
  • Что такое `CSS`? Как работают селекторы?
  • Классы, id, теги
  • Зачем веб-страницам нужна сетка?
  • Что такое адапативный дизайн? Знакомство с `media-query`
  • Что такое `fallback`?
  • Подходы к написанию `CSS`: mobile-first и наоборот
  • Прогрессивное улучшение
  • Методологии написания `CSS`: `bem` и другие
  • Что такое компонент? И что такое `styleguide`?
  • Установка `node.js`, `npm` и `bower`
  • Почему так часто используют `Twitter Bootstrap`? Знакомство с библиотекой
  • Написание стилей для своего блога
Занятие 10: Введение в JS
Результат занятия: небольшой проект на JS
  • В чем схожести и отличия `javascript` от `Python`?
  • Какой бывает `javascript`?
  • Типы данных
  • Структуры языка
  • Область видимости переменных
  • Функции, и что такое `this`?
  • Объекты `window` и `document`
  • Что такое `polyfill`?
  • Как дебажить `js` приложение?
  • Написание своего небольшого frontend-проекта
Занятие 11: Первый web-проект, frontend: jQuery
Результат занятия: предварительный frontend для своего приложения
  • Что такое библиотека `jQuery`?
  • Когда она нужна, когда без нее можно обойтись, а когда она нежелательна?
  • Методологии огранизации кода или "Как варить лапшу"
  • Событийная модель браузера
  • Знакомство с `$.ajax()` и `CORS`
  • Манипуляции с `DOM`
  • Улучшение производительности кода
  • Написание frontend для своего проекта
Занятие 12: Автоматизация рутинных задач с Grunt
Результаты занятий: готовый frontend для своего приложения
  • Зачем нужна автоматизация задач?
  • В чем разница между ``
  • Улучшение `CSS` с `autoprefixer`
  • Знакомство с `PostCSS` и два слова о препроцессорах
  • Уменьшение размера текстовых файлов и картинок
  • Модульная система для `js` на примере `browserify`
  • Моментальное изменение страницы с `liveserver`
  • Зачем нужна система версий для статических файлов?
  • Создание `Gruntfile.js`, первый build frontend'а
Занятие 13: Django
Результат занятия: написан скелет будущего приложения Django
  • Что такое `Django`? И как работает данный фреймворк?
  • Какой путь проходит запрос в жизненном цикле приложения?
  • Знакомство с Middleware
  • url-routing, `include()` и `reverse()`
  • `Django`'s MVT, знакомство с `Django-Templates`
  • `views` и `class-based views`
  • Простые формы, валидация форм
  • Статические файлы
  • Организация настроек приложения
  • Написание скелета будущего проекта
Занятие 14: Django ORM
Результат занятия: написание моделей к приложению
  • Знакомство с моделями
  • Установка и настройка `PostgreSQL`
  • Отношения моделей между собой: `OneToOne`, `ManyToMany` и `ForeingKey`
  • Как написать запрос?
  • Как написать сложный запрос? `annotate()`, `aggregate()`
  • Сигналы
  • Миграции, обзор исторического `South` и текущего `Django-Migrations`
  • Написание моделей к приложению
Третий блок Занятия 15-21.
Занятие 15: Работа с моделями в Django
Результат занятия: доработка моделей, оптимизация и отладка
  • Как сделать сложный запрос проще? `select_related()`, `values()`
  • Следим за запросами с помощью `django-debug-toolbar`
  • Создание и валидация `ModelForm`
  • Работа в `FileField` и `ImageField`, сохранение пользовательских медиа файлов
  • Наследование моделей, абстрактные модели и миксины
  • Менеджеры
  • `raw queries`: плюсы и минусы
  • Доработка своего приложения
Занятие 16: Администрирование Django приложения
Результат занятия: написанная админская часть приложения
  • Как устроена админская панель?
  • Как администрировать приложение?
  • Авторизация пользователей, группы и права доступа
  • Создание собственных `admin-view`
  • Знакомство с `django-admin-tools`
  • `Django Management Commands`, создание своих комманд
  • Как правильно вести логи?
Занятие 17: Тестирование Python приложения
Результат занятия: законченное приложение блог с базой данных, дизайном и с тестами.
  • Что такое тест, и зачем тестировать приложение?
  • Какие бывают тесты? В чем разница между unit-тестыми и интеграционными тестами?
  • Модуль `unittest` в `Python`
  • Что такое "изоляция"? Знакомство с модулем `mock`
  • Тесты для нескольких версий `Python` с `tox`
  • Интеграционные тесты с `selenium`
  • Сколько кода покрыто тестами? Введение в `coverage`
  • Написание тестов к своему проекту, достижение покрытия в 70-80%
Занятие 18: Тестирование Javascript приложения
Результат занятия: напиание тестов для своего приложения
  • Почему у `js` так много фреймфорков для тестирования?
  • Тестировани при помощи `mocha`, `Chai` и `Sinon`
  • Изоляция: моки, шпионы и удары в спину
  • Тестирование картинками, или как работает `gemini`
  • Как запустить все тесты сразу? Знакомство с `polytester`
  • Автотесты локально на примере `Grunt` и удаленно на примере Travis CI
Занятие 19: Введение в TDD и BDD
Результат занятия: написание модуля в TDD стиле, создание BDD тестов
  • Что такое `Test Driven Development`?
  • Плюсы и минусы такого похода
  • Тестирование `Django` приложения при помощи `LiveServerTestCase` и `StaticLiveServerTestCase`
  • Почему TDD и BDD часто сравнивают?
  • Как описать поведение приложения? Введение в псевдо-язык `gherkin`
  • Сравнение BDD фреймворков для `Python`
  • Запуск BDD тестов
  • Когда такие подходы нужны, применимы и потивопоказаны? И когда писать какие тесты?
Занятие 20: Celery
Результат занятия: написание асинхронных задач для своего проекта
  • Настройка и установка `Celery with Redis`
  • Знакомство с асинхронными задачами
  • Периодичные задания с `Celery Beat`
  • Конроль выполнения задач с `Celerycam`
  • Мониторинг `Redis`
  • Как дебажить `Celery`?
  • Написание асинхронных задач
Занятие 21: Полезности для Django разработчика
Результат занятия:
  • Краткое знакомство с популярными библиотеками
  • `python-social-auth`
  • `django-rest-framework`
  • `django-cms`
  • `Elasticsearch`
  • `Sentry` и `Raven` (+ `raven.js`)
Четвёртый блок. Занятия 22-26.
Занятие 22: Безопасность
Результат занятия: скрипты для XSS атаки, добавление дополнительных настроек безопасности в проект
  • Какие бывают атаки?
  • Какие средства предлагает `Django`, чтобы избежать потенциальных атак?
  • Content Security Policy
  • Пишем свой XSS
  • Протокол HTTPS
  • Аудит сайта на безопасность
Занятие 23: Документация
Результат занятия: Документирование своих приложений, генерация документации
  • Как документировать `Python` приложение?
  • Умные `doc-string`, знакомство со `Sphinx`
  • Тесты в документации
  • Как документировать `CSS` и зачем? Знакомство с `KSS`
  • Создаем свой `styleguide` в два клика
  • Документривание `js`
  • Генерация документации по проектам
Занятие 24: Математика в Python
  • Что такое `anaconda`?
  • Фреймворк `Pandas`
  • Знакомство с `numpy`
  • `iPython Notebook`
  • `matplotlib`
Занятие 25: Деплой на UNIX сервер
Результат занятия: деплой своего приложения на сервер, создание шаблонов конфигураций
  • Отличия боевого сервера от сервера разработки
  • Создание окружения
  • `gunicorn` vs `uwsgi`
  • Создание сервисов в `supervisor`
  • Установка и конфигурация `nginx`
  • Установка дополнительных сервисов
  • Установка `pydevd` и удаленный дебаг
Занятие 26: Приложение в реальной жизни
  • Что делать, когда все пойдет не так
  • Как поддерживать свое приложение?
  • Как поддерживать чужое приложение?
  • Метрики (CTR, конверсия), AB-тестирование
  • Куда расти и что делать?
 
пишет архив поврежден или имеет неизвестный формат
 
Выдает ошибку при распаковке архива
 
пароль неверный
 
пишет архив поврежден или имеет неизвестный формат
Выдает ошибку при распаковке архива
пароль неверный
Здравствуйте. Ознакомьтесь - https://s1.sharewood.co/help/courseproblems
 
Шляпа! Курс НЕПОЛНЫЙ!!! Пришлось перекачивать с торрента, сравните содержимое. Слева, обвёл красным папка с торрента, а справа отсюда. И так в каждой папке.

123.png
 
Шляпа! Курс НЕПОЛНЫЙ!!! Пришлось перекачивать с торрента, сравните содержимое. Слева, обвёл красным папка с торрента, а справа отсюда. И так в каждой папке.

Посмотреть вложение 37088
В курсе full stuck веб-разработчик на python тоже из шервуда всего 10 модулей из 24, еще видел темы, там тоже жаловались на неполноту курсов.
 
Шляпа! Курс НЕПОЛНЫЙ!!! Пришлось перекачивать с торрента, сравните содержимое. Слева, обвёл красным папка с торрента, а справа отсюда. И так в каждой папке.

Посмотреть вложение 37088
Братишка, ну так поделись полной версией :) будь разбойником
 
Есть актуальная ссылка? В архиве топикстартера 3 из 4х файлов битые, только первый открывается через 7z.
Сайты по остальным ссылкам просто не открываются
 
Есть актуальная ссылка? В архиве топикстартера 3 из 4х файлов битые, только первый открывается через 7z.
Сайты по остальным ссылкам просто не открываются

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

Многотомный архив, это такой архив, когда если не хватает какой-то части, то он не распакуется целиком без ошибок, только часть.
 
Этот курс актуален на сегодня?
 
Подача материала у лектора отличная
 
Нашел программу курса. Выглядит достойно.

Первый блок. Занятия 1-7.
Занятие 1: Введение
Результат занятия: настроенная среда, библиотека с основами синтаксиса и типов данных, на которые можно опереться в дальнейшем.
  • Общее знакомство с `Python`, его историей и перспективами
  • Общее знакомство с версиями `Python` 2.7 и 3
  • Настройка и установка `Python` 2.7 и 3 на локальные машины
  • Установка `SublimeText`(Text Editor)
  • Настройка и установка `git`, регистрация на github
  • `print 'Hello Pythonic world!'`, первый commit и push на github
  • Детальный разбор, что же произошло в пункте выше
  • Знакомство с базовым синтаксисом, базовые типы данных
  • Что такое переменная? Как ее объявить, и где ее видно?
  • Знакомство со структурами языка: ветвления, циклы, условия
  • Stackoverflow-driven development, секция о том, как самому найти ответы на свои вопросы
Занятие 2: Первое приложение
Результат занятия: приложение-игра, "крестики-нолики" в консоли.
  • Знакомство с командной строкой
  • Управление зависимостями, `pip`, установка первых внешних пакетов
  • Знакомство с `virtualenv`, создание среды
  • Установка `PyCharm`(IDE)
  • Продолжение знакомства с типами данных в `Python`, принцип "присваивание никогда не копирует данные": массивы, словари, кортежи
  • Что такое Функция? Введение в функциональное программирование
  • Обработка исплючений
  • Дебаг приложения
  • Написание игры "крестики-нолики" в функциональном стиле
Занятие 3: Объектно-ориентированное программирование
Результат занятия: приложение "список дел и покупок".
  • Что такое Объект? Знакомство с ООП
  • Принципы ООП: абстракция, наследование, инкапсуляция, полиморфизм
  • Волшебные методы и константы: `__init__()`, `__str__()` и `__dict__`
  • `Python`'s `super()`, `mro()`, новые и старые классы
  • `@staticmethod` и `@classmethod`, переменные класса
  • Принципы проектирования: наследование, агрегация и композиция
  • Продолжение знакомства с языком `Python`: декораторы, свойства, генераторы, `lambda`, `list-comprehension`
  • Zen of Python
  • Написание приложения "список дел и покупок" в объектном стиле
Занятие 4: Версии Python, межверсионный код
  • В чем основные отличия `Python` 2 и 3?
  • `str` и `unicode`
  • Другие важные изменения
  • Какую версию интерпретатора выбрать для нового проекта?
  • Как писать код под обе версии `Python`? Знакомство с `six`, `2to3`, `3to2`
  • Наступившее будущее: что нового в `Python` 3.5?
  • Могу ли я улучшить `Python`? Или что такое `PEP`
Занятие 5: Усложнение программ
Результат занятия: приложение-игра "морской бой" с ИИ.
  • Принципы разработки ПО: DRY, KISS, YAGNI, SOLID
  • Частые ошибки при написании кода
  • Работа с файлами
  • Текстовые форматы обмена данными: `.json`, `.csv`, и как с ними работать
  • Какие есть способы завершить приложение?
  • Написания игры "морской бой" с ИИ с сохранением игры, в объектном стиле
Занятие 6: Создание веб-паука
Результат занятия: приложение, которое бы заходило на страницу соц.сети и забирало оттуда все статусы и/или фотографии.
  • Как устроен интернет? Знакомство с `TCP/IP`, `DNS` и клиент-серверной архитектурой
  • Зачем нам `http` перед адресом? Знакомство с протоколом `HTTP` с модулем `urllib`
  • Что такое регулярное выражение? Модуль `re`
  • Что такое веб-страница? Основы `HTML` разметки, знакомство с `HTML5` тегами
  • Написание веб-паука на основе `Scrapy`, который будет получать статусы со страницы соц.сети и сохранять результаты в файле
Занятие 7: Первый web-проект, backend
Результат занятия: приложение-блог без базы данных, без стилей и скриптов
  • Что такое backend и frontend?
  • Как работает сервер на примере `Flask`?
  • Какой путь проходит запрос, и какие бывают запросы?
  • Введение в `MVC` и `MTV`
  • Как происходит роутинг?
  • Что такое шаблон? И как работать с `Jinja2`?
  • Зачем нужны формы, и как с ними работать?
  • Написание первого web-приложения
Второй блок. Занятия 8-14.
Занятие 8: Основы баз данных
Результат занятия: приложение блог с базой данных и кешем, постраничным выводом статей, без стилей и скриптов.
  • Какие бывают базы данных? Знакомство с `MySQL`, `PostgresSQL`, `SQLite` и `Redis`
  • Основы РСУБД: таблицы и связи между ними (OneToOne, OneToMany, ManyToMany)
  • Введение в `SQL`
  • Проектирование баз данных, нормальные формы
  • Транзакции, индексы
  • Введение в `NoSQL`: `key-value` хранилище, установка `Redis`
  • Введение в `ORM` на примере `SQLAlchemy` (для `SQLite`) и `redis-py`
  • Написание моделей для блога, создание кеша в `Redis`, добавление постраничного вида
Занятие 9: Первый web-проект, frontend: CSS
Результат занятия: приложение блог, с css стилями
  • Что такое `CSS`? Как работают селекторы?
  • Классы, id, теги
  • Зачем веб-страницам нужна сетка?
  • Что такое адапативный дизайн? Знакомство с `media-query`
  • Что такое `fallback`?
  • Подходы к написанию `CSS`: mobile-first и наоборот
  • Прогрессивное улучшение
  • Методологии написания `CSS`: `bem` и другие
  • Что такое компонент? И что такое `styleguide`?
  • Установка `node.js`, `npm` и `bower`
  • Почему так часто используют `Twitter Bootstrap`? Знакомство с библиотекой
  • Написание стилей для своего блога
Занятие 10: Введение в JS
Результат занятия: небольшой проект на JS
  • В чем схожести и отличия `javascript` от `Python`?
  • Какой бывает `javascript`?
  • Типы данных
  • Структуры языка
  • Область видимости переменных
  • Функции, и что такое `this`?
  • Объекты `window` и `document`
  • Что такое `polyfill`?
  • Как дебажить `js` приложение?
  • Написание своего небольшого frontend-проекта
Занятие 11: Первый web-проект, frontend: jQuery
Результат занятия: предварительный frontend для своего приложения
  • Что такое библиотека `jQuery`?
  • Когда она нужна, когда без нее можно обойтись, а когда она нежелательна?
  • Методологии огранизации кода или "Как варить лапшу"
  • Событийная модель браузера
  • Знакомство с `$.ajax()` и `CORS`
  • Манипуляции с `DOM`
  • Улучшение производительности кода
  • Написание frontend для своего проекта
Занятие 12: Автоматизация рутинных задач с Grunt
Результаты занятий: готовый frontend для своего приложения
  • Зачем нужна автоматизация задач?
  • В чем разница между ``
  • Улучшение `CSS` с `autoprefixer`
  • Знакомство с `PostCSS` и два слова о препроцессорах
  • Уменьшение размера текстовых файлов и картинок
  • Модульная система для `js` на примере `browserify`
  • Моментальное изменение страницы с `liveserver`
  • Зачем нужна система версий для статических файлов?
  • Создание `Gruntfile.js`, первый build frontend'а
Занятие 13: Django
Результат занятия: написан скелет будущего приложения Django
  • Что такое `Django`? И как работает данный фреймворк?
  • Какой путь проходит запрос в жизненном цикле приложения?
  • Знакомство с Middleware
  • url-routing, `include()` и `reverse()`
  • `Django`'s MVT, знакомство с `Django-Templates`
  • `views` и `class-based views`
  • Простые формы, валидация форм
  • Статические файлы
  • Организация настроек приложения
  • Написание скелета будущего проекта
Занятие 14: Django ORM
Результат занятия: написание моделей к приложению
  • Знакомство с моделями
  • Установка и настройка `PostgreSQL`
  • Отношения моделей между собой: `OneToOne`, `ManyToMany` и `ForeingKey`
  • Как написать запрос?
  • Как написать сложный запрос? `annotate()`, `aggregate()`
  • Сигналы
  • Миграции, обзор исторического `South` и текущего `Django-Migrations`
  • Написание моделей к приложению
Третий блок Занятия 15-21.
Занятие 15: Работа с моделями в Django
Результат занятия: доработка моделей, оптимизация и отладка
  • Как сделать сложный запрос проще? `select_related()`, `values()`
  • Следим за запросами с помощью `django-debug-toolbar`
  • Создание и валидация `ModelForm`
  • Работа в `FileField` и `ImageField`, сохранение пользовательских медиа файлов
  • Наследование моделей, абстрактные модели и миксины
  • Менеджеры
  • `raw queries`: плюсы и минусы
  • Доработка своего приложения
Занятие 16: Администрирование Django приложения
Результат занятия: написанная админская часть приложения
  • Как устроена админская панель?
  • Как администрировать приложение?
  • Авторизация пользователей, группы и права доступа
  • Создание собственных `admin-view`
  • Знакомство с `django-admin-tools`
  • `Django Management Commands`, создание своих комманд
  • Как правильно вести логи?
Занятие 17: Тестирование Python приложения
Результат занятия: законченное приложение блог с базой данных, дизайном и с тестами.
  • Что такое тест, и зачем тестировать приложение?
  • Какие бывают тесты? В чем разница между unit-тестыми и интеграционными тестами?
  • Модуль `unittest` в `Python`
  • Что такое "изоляция"? Знакомство с модулем `mock`
  • Тесты для нескольких версий `Python` с `tox`
  • Интеграционные тесты с `selenium`
  • Сколько кода покрыто тестами? Введение в `coverage`
  • Написание тестов к своему проекту, достижение покрытия в 70-80%
Занятие 18: Тестирование Javascript приложения
Результат занятия: напиание тестов для своего приложения
  • Почему у `js` так много фреймфорков для тестирования?
  • Тестировани при помощи `mocha`, `Chai` и `Sinon`
  • Изоляция: моки, шпионы и удары в спину
  • Тестирование картинками, или как работает `gemini`
  • Как запустить все тесты сразу? Знакомство с `polytester`
  • Автотесты локально на примере `Grunt` и удаленно на примере Travis CI
Занятие 19: Введение в TDD и BDD
Результат занятия: написание модуля в TDD стиле, создание BDD тестов
  • Что такое `Test Driven Development`?
  • Плюсы и минусы такого похода
  • Тестирование `Django` приложения при помощи `LiveServerTestCase` и `StaticLiveServerTestCase`
  • Почему TDD и BDD часто сравнивают?
  • Как описать поведение приложения? Введение в псевдо-язык `gherkin`
  • Сравнение BDD фреймворков для `Python`
  • Запуск BDD тестов
  • Когда такие подходы нужны, применимы и потивопоказаны? И когда писать какие тесты?
Занятие 20: Celery
Результат занятия: написание асинхронных задач для своего проекта
  • Настройка и установка `Celery with Redis`
  • Знакомство с асинхронными задачами
  • Периодичные задания с `Celery Beat`
  • Конроль выполнения задач с `Celerycam`
  • Мониторинг `Redis`
  • Как дебажить `Celery`?
  • Написание асинхронных задач
Занятие 21: Полезности для Django разработчика
Результат занятия:
  • Краткое знакомство с популярными библиотеками
  • `python-social-auth`
  • `django-rest-framework`
  • `django-cms`
  • `Elasticsearch`
  • `Sentry` и `Raven` (+ `raven.js`)
Четвёртый блок. Занятия 22-26.
Занятие 22: Безопасность
Результат занятия: скрипты для XSS атаки, добавление дополнительных настроек безопасности в проект
  • Какие бывают атаки?
  • Какие средства предлагает `Django`, чтобы избежать потенциальных атак?
  • Content Security Policy
  • Пишем свой XSS
  • Протокол HTTPS
  • Аудит сайта на безопасность
Занятие 23: Документация
Результат занятия: Документирование своих приложений, генерация документации
  • Как документировать `Python` приложение?
  • Умные `doc-string`, знакомство со `Sphinx`
  • Тесты в документации
  • Как документировать `CSS` и зачем? Знакомство с `KSS`
  • Создаем свой `styleguide` в два клика
  • Документривание `js`
  • Генерация документации по проектам
Занятие 24: Математика в Python
  • Что такое `anaconda`?
  • Фреймворк `Pandas`
  • Знакомство с `numpy`
  • `iPython Notebook`
  • `matplotlib`
Занятие 25: Деплой на UNIX сервер
Результат занятия: деплой своего приложения на сервер, создание шаблонов конфигураций
  • Отличия боевого сервера от сервера разработки
  • Создание окружения
  • `gunicorn` vs `uwsgi`
  • Создание сервисов в `supervisor`
  • Установка и конфигурация `nginx`
  • Установка дополнительных сервисов
  • Установка `pydevd` и удаленный дебаг
Занятие 26: Приложение в реальной жизни
  • Что делать, когда все пойдет не так
  • Как поддерживать свое приложение?
  • Как поддерживать чужое приложение?
  • Метрики (CTR, конверсия), AB-тестирование
  • Куда расти и что делать?
почему в первом блоке в архиве задания не такие как указаны здесь ?
 

Создайте учетную запись или войдите, чтобы комментировать или скачивать материалы!

У вас должна быть учетная запись, чтобы оставлять комментарии

Зарегистрироваться

Создайте учетную запись. Это просто!

Авторизоваться

У вас уже есть аккаунт? Войдите здесь.

Похожие темы

Брат Тук
Ответы
1
Просмотры
2K
Jonik
Брат Тук
Ответы
0
Просмотры
720
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
3K
Брат Тук
Брат Тук
Брат Тук
Ответы
3
Просмотры
2K
Els i El
Брат Тук
Ответы
2
Просмотры
2K
karischaster
karischaster
Cooper_grisha
Ответы
14
Просмотры
6K
Dagian
Малыш Джон
Ответы
5
Просмотры
13K
kenny briggs
Алан-э-Дейл
Ответы
8
Просмотры
7K
=Hydra=
=Hydra=
Сверху Снизу