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

Роджерc
Роджерc
Хмельной монах
Премиум
badge badge badge badge
Регистрация
23/03/2018
Сообщения
2.859
Репутация
2.437
  • 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

Slevin
Slevin
Премиум
badge badge badge
Регистрация
24/05/2018
Сообщения
4
Репутация
25
Перекачал все курсы с шервуда, пока это самый адекватный и не скучный курс. Хороший спикер годный интерактив и структура. Рекомендую
 
0xFF
Просветленный
badge badge badge
Регистрация
25/02/2018
Сообщения
19
Репутация
135
Нашел программу курса. Выглядит достойно.

Первый блок. Занятия 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-тестирование
  • Куда расти и что делать?
 
drshverger
Премиум
badge
Регистрация
11/09/2018
Сообщения
3
Репутация
1
пишет архив поврежден или имеет неизвестный формат
 
Zoza95
Zoza95
Премиум
badge badge
Регистрация
18/04/2018
Сообщения
4
Репутация
0
Выдает ошибку при распаковке архива
 
Kiyaas
Премиум
badge
Регистрация
30/03/2019
Сообщения
3
Репутация
1
пароль неверный
 
Arsenn32
Arsenn32
Премиум
Регистрация
08/01/2019
Сообщения
5.841
Репутация
19.808
пишет архив поврежден или имеет неизвестный формат
Выдает ошибку при распаковке архива
пароль неверный
Здравствуйте. Ознакомьтесь - https://s1.sharewood.co/help/courseproblems
 
expwood
expwood
Премиум
badge badge
Регистрация
07/10/2018
Сообщения
3
Репутация
4
Шляпа! Курс НЕПОЛНЫЙ!!! Пришлось перекачивать с торрента, сравните содержимое. Слева, обвёл красным папка с торрента, а справа отсюда. И так в каждой папке.

123.png
 
exyxuz
exyxuz
Премиум
Регистрация
20/02/2019
Сообщения
26
Репутация
55
Шляпа! Курс НЕПОЛНЫЙ!!! Пришлось перекачивать с торрента, сравните содержимое. Слева, обвёл красным папка с торрента, а справа отсюда. И так в каждой папке.

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

Посмотреть вложение 37088
Братишка, ну так поделись полной версией :) будь разбойником
 
Aleks Dominator
Aleks Dominator
Премиум
badge badge badge badge
Регистрация
30/05/2019
Сообщения
33
Репутация
38
esliby
esliby
Премиум
badge badge
Регистрация
27/02/2019
Сообщения
1
Репутация
0
Есть актуальная ссылка? В архиве топикстартера 3 из 4х файлов битые, только первый открывается через 7z.
Сайты по остальным ссылкам просто не открываются
 
0xFF
Просветленный
badge badge badge
Регистрация
25/02/2018
Сообщения
19
Репутация
135
Есть актуальная ссылка? В архиве топикстартера 3 из 4х файлов битые, только первый открывается через 7z.
Сайты по остальным ссылкам просто не открываются

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

Многотомный архив, это такой архив, когда если не хватает какой-то части, то он не распакуется целиком без ошибок, только часть.
 
Midapa
Премиум
badge
Регистрация
29/05/2020
Сообщения
1
Репутация
1
Этот курс актуален на сегодня?
 
hagp
hagp
Премиум
badge badge
Регистрация
11/09/2021
Сообщения
9
Репутация
6
Подача материала у лектора отличная
 
Robertx7
Robertx7
Премиум
badge badge badge
Регистрация
24/04/2019
Сообщения
2
Репутация
41
Нашел программу курса. Выглядит достойно.

Первый блок. Занятия 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-тестирование
  • Куда расти и что делать?
почему в первом блоке в архиве задания не такие как указаны здесь ?
 

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

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

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

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

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

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

Похожие темы

Брат Тук
Ответы
2
Просмотры
1K
karischaster
karischaster
Брат Тук
Ответы
3
Просмотры
2K
Els i El
Брат Тук
Ответы
1
Просмотры
1K
Jonik
Брат Тук
Ответы
0
Просмотры
547
Брат Тук
Брат Тук
Брат Тук
Ответы
0
Просмотры
3K
Брат Тук
Брат Тук
Малыш Джон
Ответы
5
Просмотры
13K
kenny briggs
Cooper_grisha
Ответы
0
Просмотры
3K
Cooper_grisha
Cooper_grisha
Малыш Джон
Ответы
2
Просмотры
2K
Arsenn32
Arsenn32
Брат Тук
Ответы
1
Просмотры
1K
aldsife
aldsife
Роджерc
Ответы
0
Просмотры
2K
Роджерc
Роджерc
Сверху Снизу