Skip to content

Commit 4bb93d5

Browse files
Provide new data for flows, archive old flows.
1 parent 553396c commit 4bb93d5

8 files changed

Lines changed: 178 additions & 55 deletions

File tree

learnpython/data/about.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,9 @@ title: Learn Python
44

55
* `Игорь Давыденко <http://igordavydenko.com/>`_ (web поток)
66

7-
Python разработчик с 6-летним стажем.
7+
Python разработчик с 7-летним стажем.
88

9-
* `Андрей Светлов <http://asvetlov.blogspot.com>`_ (advanced поток)
9+
* `Андрей Светлов <http://asvetlov.blogspot.com>`_ (async поток, cython поток)
1010

1111
Python core developer.
1212

learnpython/data/archive.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
title: Архив занятий
2+
3+
Здесь вы можете найти программу уже закончившихся курсов Learn Python.
4+
5+
`Первый набор </flows/archive/1>`_
6+
*Длительность*: декабрь 2012 - март 2013.
7+
*Занятий*: 12.
8+
*Потоки*: web, advanced
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,4 +23,4 @@ order: 2
2323
Каждое занятие длится 2 часа и делится на два урока по 45 минут, с перерывом на
2424
15 минут и 15 минутами после урока для вопросов/ответов.
2525

26-
Курс ведет **Андрей Светлов**.
26+
Курс вел **Андрей Светлов**.

learnpython/data/archive/1/web.yml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
title: Web поток
2+
active: 1
3+
order: 1
4+
5+
**Список занятий по неделям:**
6+
7+
1. Стандартная библиотека Python
8+
2. Бутстрап проекта
9+
3. Что такое WSGI и зачем он нужен?
10+
4. Базы данных
11+
5. Тестирование
12+
6. Знакомство с фреймворками для создания веб-приложений
13+
7. Соединяем базы данных и веб-фреймворки
14+
8. Шаблонизаторы
15+
9. Повторно используемый код, лучшие практики
16+
10. Локализация и интернационализация
17+
11. Деплоймент веб-приложений
18+
12. Создаем Python пакеты правильно
19+
20+
Целью потока будет создание веб-приложения, используя фреймворк
21+
`Flask <http://flask.pocoo.org/>`_ или
22+
`Django <http://www.djangoproject.com/>`_, а также углубленное изучение работы
23+
в команде при создании интернет-проектов.
24+
25+
Каждое занятие длится 2 часа и делится на два урока по 45 минут, с перерывом на
26+
15 минут и 15 минутами после урока для вопросов/ответов.
27+
28+
Курс вел **Игорь Давыденко**.

learnpython/data/flows/async.yml

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
title: Async поток
2+
active: 1
3+
order: 1
4+
5+
**Асинхронное программирование**
6+
7+
Сетевые библиотеки, например `twisted <http://twistedmatrix.com/>`_, `tornado
8+
<http://www.tornadoweb.org/>`_, `gevent <http://www.gevent.org/>`_, `tulip
9+
<http://www.python.org/dev/peps/pep-3156/>`_ — при кажущейся разнице в подходах
10+
имеют очень похожее ядро, называемое reactor, io loop, hub, event loop
11+
соответственно. Именно созданием этого ядра с нуля своими руками мы и займемся.
12+
13+
**Цель курса:** дать знания о том, как происходит работа с сетевыми
14+
подключениями (сокетами) на примере создания собственной библиотеки.
15+
16+
**Требования к участникам:** знание Python на достаточно приличном уровне.
17+
Введения в программирование не будет, с другой стороны создаваемый код не
18+
потребует чего-то сложного. Все сложности будут в работе с сетью а не в
19+
создании хитрых питоновских конструкций.
20+
21+
Потребуется Python 3.3. Хотя код мало зависит от версии языка, всё же в Python
22+
3.3 появились некоторые удобные штуки которыми мы воспользуемся.
23+
24+
**Операционная система:** Linux, MacOS X или FreeBSD на выбор. Если есть
25+
сильное желание писать на Windows — тоже можно.
26+
27+
**Коротко о чём будут занятия:**
28+
29+
* Написание примитивного клиент-серверного кода на потоках.
30+
* Объяснение почему производительные программы такой подход не используют.
31+
Нужно делать на epoll или kqueue, в крайнем случае select. Создание своего
32+
event loop. Сначала для обработки отложенных событий. Что это такое и какой
33+
должен быть интерфейс — расскажу по ходу дела.
34+
* Описание того, как работает select/epoll/kqueue. Добавляем к event loop
35+
работу с TCP сокетами, основанную на обратных вызовах. Правильная обработка
36+
ошибок.
37+
* Добавляем понятия транспорта-протокола.
38+
* Строим поверх этого удобный интерфейс для пользовательского кода. На yeild
39+
from или greenlets — по желанию.
40+
* Окончательный разбор результатов, ответы на возникшие вопросы.
41+
42+
Получившийся код в целом будет в основе следовать дизайну tulip в сильно
43+
упрощённом виде.
44+
45+
Курс состоит из шести занятий. Лектор: **Андрей Светлов**
46+
47+
Каждое занятие длится 2 часа.
48+
49+
Стоимость занятия: 300 грн.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
title: Оптимизация
2+
active: 0
3+
order: 3
4+
5+
**Оптимизация Python кода**
6+
7+
Чтобы делать высокоэффективный код нужно уметь пользоваться профайлером,
8+
читать байткод, выполнять алгоритмическую оптимизацию и писать Python C
9+
Extensions если алгоритмически выжать уже ничего не получается.
10+
11+
Всем этим мы и займемся.
12+
13+
**Требования к участникам:** уметь программировать на Python и C. Последнее
14+
очень желательно хотя бы на уровне истаточных знаний из институтского курса —
15+
половина рассматриваемого кода будет на С.
16+
17+
Python 3.3, операционная система любая.
18+
19+
**Краткое содержание курса:**
20+
21+
* Профилирование через cProfile и timeit, анализ измеренных результатов.
22+
Рассматриваем из чего состоит функция с точки зрения Python и добираемся до
23+
байткода. Несколько простых вариантов оптимизации.
24+
* Создаём простейший модуль Python C Extension.
25+
* Учимся делать Python классы на C.
26+
* Теперь пишем на Cython и радуемся как легко всё получается. В нагрузку ctypes.
27+
* Показываю, как устроена виртуальная CPython машина изнутри. Интерпретаторы,
28+
потоки, стек. GIL. Как PyEval_EvalFrameEx исполняет байткод.
29+
30+
Курс состоит из пяти занятий. Лектор: **Андрей Светлов**.
31+
32+
Каждое занятие длится 2 часа.
33+
34+
Стоимость занятия: 300 грн.

learnpython/data/flows/web.yml

Lines changed: 40 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,41 @@
11
title: Web поток
2-
active: 1
3-
order: 1
4-
5-
**Список занятий по неделям:**
6-
7-
1. Стандартная библиотека Python
8-
2. Бутстрап проекта
9-
3. Что такое WSGI и зачем он нужен?
10-
4. Базы данных
11-
5. Тестирование
12-
6. Знакомство с фреймворками для создания веб-приложений
13-
7. Соединяем базы данных и веб-фреймворки
14-
8. Шаблонизаторы
15-
9. Повторно используемый код, лучшие практики
16-
10. Локализация и интернационализация
17-
11. Деплоймент веб-приложений
18-
12. Создаем Python пакеты правильно
19-
20-
Целью потока будет создание веб-приложения, используя фреймворк
21-
`Flask <http://flask.pocoo.org/>`_ или
22-
`Django <http://www.djangoproject.com/>`_, а также углубленное изучение работы
23-
в команде при создании интернет-проектов.
24-
25-
Каждое занятие длится 2 часа и делится на два урока по 45 минут, с перерывом на
26-
15 минут и 15 минутами после урока для вопросов/ответов.
27-
28-
Курс ведет **Игорь Давыденко**.
2+
active: 0
3+
order: 2
4+
5+
**Создание эффективных web-приложений**
6+
7+
В 2013м году никого не удивишь веб-приложением, построенным при помощи `Django
8+
<http://www.djangoproject.com/>`_, `Pyramid <http://www.pyramidproject.com/>`_
9+
или даже `Flask <http://flask.pocoo.org/>`_. Однако куда сложнее удивить
10+
грамотным и эффективным web-приложением, способным одинаково успешно справлятся
11+
с нагрузкой реального мира и оставаться простым и легким для разработки.
12+
13+
Поэтому главной целью курса будет показать, как создавать высоконагруженные
14+
приложения, какие инструменты помогут в этом, при чем при здесь тестирование,
15+
профайлинг, деплоймент и изначально правильно выбранная архитектура и откуда
16+
приходят основные ошибки.
17+
18+
На протяжении всего курса мы будем создавать веб-приложение, ориентированное на
19+
работу на ARM микро-компьютере `Raspberry PI <http://www.raspberrypi.org/>`_.
20+
21+
**Требования к участникам:** опыт в создании сайтов или проектов при помощи
22+
Python и популярных фреймворков. Учить создавать сайты с нуля не буду, буду
23+
помогать перейти на новый уровень и избегать довольно популярных и тем не
24+
менее назойливых ошибок.
25+
26+
**Краткое содержания курса:**
27+
28+
* Архитектура высоконагруженного приложения, разделение проекта на бэкенд и
29+
фронтэнд, удаленное выполнение задач
30+
* Оптимизация архитектуры и оптимизация кода, что идет за чем
31+
* Тестирование как двигатель разработки, а не наоборот
32+
* Непрерывная интеграция и непрерывный деплоймент, сравнение мест для развертки
33+
проектов
34+
* Откуда берутся основные ошибки веб-приложений, зачем мы наступаем на одни и
35+
те же грабли
36+
37+
Курс состоит из шести занятий. Лектор: **Игорь Давыденко**
38+
39+
Каждое занятие длится 2 часа с перерывом в 15 минут.
40+
41+
Стоимость занятия: 200 грн, стоимость полного курса: 1000 грн.

learnpython/data/index.yml

Lines changed: 16 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
title: Учим Python в Киеве
22

3-
С радостью сообщаем, что оба потока курсов сформированы и начали свою работу.
4-
Advanced поток стартовал 1го декабря и идет по субботам, web поток стартовал
5-
5го декабря и идет по средам. Приблизительная дата конца курсов: начало марта
6-
2013 года. До того времени набор на новые потоки закрыт.
3+
Объявляем набор участников на наши новые потоки курсов о Python: `Aсинхронное
4+
программирование </flows#async>`_, `Создание эффективных веб-приложений
5+
</flows#web>`_ и `Оптимизация Python кода </flows#cython>`_. В этот раз потоки
6+
будут длиться по 6 занятий. Планируемая дата начала занятий: **июнь 2013
7+
года**.
78

8-
Также мы получили много запросов насчет удаленных курсов, это очень интересная
9-
идея и мы постараемся ко старту следующего набора подготовить все необходимое
10-
для ее реализации.
9+
Вся другая информация о потоке, такая как стоимость, темы лекций, требования к
10+
участникам и т.д. находится на странице потока.
1111

12-
Для всех других новостей подписывайтесь на наш твиттер `@learnpythoninua
13-
<https://twitter.com/learnpythoninua>`_, а также кому интересно следите за
14-
обновлениями репозиториев на нашем GitHub'е `learnpython
15-
<https://github.com/learnpyton>`_.
12+
Также не забывайте подписыватся на наш твиттер `@learnpythoninua
13+
<https://twitter.com/learnpythoninua>`_ и следить за обновлениями репозиториев
14+
на нашем GitHub'е `learnpython <https://github.com/learnpyton>`_.
1615

1716
----
1817

@@ -30,20 +29,12 @@ Advanced поток стартовал 1го декабря и идет по с
3029
`Instagram <http://instagram.com/>`_, `Disqus <http://www.disqus.com/>`_ и
3130
многие другие.
3231

33-
----
34-
35-
С другой стороны эффективная разработка веб-приложений требует определенных
36-
знаний, умений и техник и именно поэтому мы представляем вашему вниманию
37-
курсы по Python в Киеве.
38-
39-
12 занятий в 2 потока, первый из которых, `web </flows#web>`_, полностью
40-
ориентирован на создание веб-приложений при помощи Django или Flask, а второй,
41-
`advanced </flows#advanced>`_, больше ориентирован на углубленное изучение
42-
возможностей Python 3 и плавный переход на новую ветку. С планируемой
43-
программой каждого из потоков вы можете ознакомиться по ссылкам выше.
32+
С другой стороны эффективная разработка приложений требует определенных знаний,
33+
умений и техник и именно поэтому мы представляем вашему вниманию курсы по
34+
Python в Киеве.
4435

45-
В данный момент два потока сформированы и занятия по ним начались, даты
46-
проведения следующих курсов будут объявлены позже. Если у вас возникли вопросы
47-
или предложения - воспользуйтесь нашей `контактной формой </contacts>`_.
36+
В данный момент мы формируем второй набор участников на курсы. Если у вас
37+
возникли дополнительные вопросы или предложения - воспользуйтесь нашей
38+
`контактной формой </contacts>`_.
4839

4940
**И да прибудет с нами Python!**

0 commit comments

Comments
 (0)