Сегодня рано утром вернулся с pycamp, который прошел в Киеве 30ого января в учебном центре i-klass.
Организаторы сказали, что это их первая попытка организовывать подобные мероприятия, и как по мне — у них для первого раза получилось довольно не плохо, правда розеток было мало, поэтому моя 17ти дюймовая малютка держалась на аккумуляторах.
Доклады мне понравились не все, но негатив я высказывать свой не буду, поэтому просто небольшой обзорчик того, что понравилось и запомнилось.
Александр Шигин (гость из солнечного Рамблера) «Почему Python — тормоз и как заставить его меньше тормозить». Были небольшие обзорчики кода, со сравнениями производительности. Сравнение результатов работы алгоритмов, реализованные разными способами — картежи, дикты, классы. Первые быстрее, но мы и так это знали. Хотя местами были довольно интересные результаты. Был упомянут Cython, но только вскользь, хотя мне бы тема была куда интереснее. Так что после в кулуарах мы написали небольшой хелло ворлд на cython, получили сошник и заюзали в самом питоне.
Кратко выглядит примерно так
ваш скрипт
-
print "Hello World"
скрипт setup.py:
-
from distutils.core import setup
-
from distutils.extension import Extension
-
from Cython.Distutils import build_ext
-
-
setup(
-
cmdclass = {'build_ext': build_ext},
-
ext_modules = [Extension("helloworld", ["helloworld.pyx"])]
-
)
получаем сошник
-
$ python setup.py build_ext –inplace
и дальше его используем в ваших скриптах.
-
>>> import helloworld
-
Hello World
Но также не забываем, что у него есть ограничение, т.е. не любой питонячий код вы можете откомпилить – генераторы, вложенные функции, локалсы, глобалсы вы юзать не можете и небольшие ограничения в определениях классов.
Для себя отметил, что им как раз можно пользоваться для оптимизации питонячего кода практически без ограничений в использовании приятного синтаксиса питона. У себя в бложке буду освежать свои успехи в этом деле.
Юрий Юревич «Рецепты декораторов». Лично для себя ничего нового не увидел, кроме того, что довольно грамотно все разложено по полочкам и что несомненно помогло упорядочить в голове знания.
Михаил Кашкин (замляк из Днепра) «Работа с хранилищами данных в Google App Engine, отличия от реляционной модели». Я Апсы еще не юзал вообще. Но в скором времени мне таки придется уткнуть свой нос у туда. И пока то, что я узнал — мне не очень понравилось. Реляционных БД там нет вообще. Только их не реляционная БД и мемкеш.
Мое первое впечатление — это модели бд, как в классической ОРМ, при этом кладутся данные в виде модели и в виде этой же модели забираются, с вытекающими ограничениями. Фишка которая сразу смутила весь зал — если вы копили-копили данные, а потом захотели добавить еще одно поле в модель, то старые данные, построенные на старой модели не обновятся, а нужно руками доставать каждого и задавать ему новое поле, и по словам Михаила — чем больше вы делаете выборку, тем дольше она получается.
В кулуарах мне рассказали немного больше о самом App Engine. Он не совсем на шару, а в нем есть лимиты, я пологаю, что лимиты на все. Причем при приодалении этих лимитов вам просто закрывают доступ к сайту, хотя по совести их просто надо не давать использовать больше. И хотя питон с джангой были первыми в арсенале App Engine – они там со своими ограничениями. Так что 40 минут доклада оставило для меня много вопросов.
Александр Соловьев. «Redis: Дикий Запад баз данных». Если коротко — то Redis — этот мемкешед, который сторит данные на винте с промежуточным хранилищем в памяти. С типами данными не только строки но и инты, листы, сеты. И с довольно обширным функционалом для их применения. Мастер-Слейв репликация, кстати только в этом наверно редис проигрывает мемкешу, т.к. мемкеш может использовать несколько серверов и данные между ними отлично распределять ( но редис держит данные на винте а не в памяти ). Ну и конечно же, Александр, как авторитетный велосипедист не мог не написать к редису чего-то своего pyredis ( питонячий клиент для редиса )
Не мог не оценить подачу материала Александром. Очень живо, я даже подумал что презентация получилась в стиле теле-магазина: «Вы хитите это — пожалуйсто — редис отлично с этим справляется, это – и это вы можете сделать как 2 пальца об асфальт и то и то…». Но я бы на его месте такой продукт подавал как Стив Джобс — Макбук Аир. «Представте систему, которая быстрее мемкеша но данные сторит на винте, с типизацией ячеек и т.д. и т.п. И в конце Редис» Ну что-то в этом стиле.
В любом случае, Александру спасибо. Будем смотреть, будем пробовать. Интересно, он кешовый бекенд для редиса на джанге уже написал?
Владимир Пузанов и Владимир Кирилов «Расширения и встраивание Python». Эти два молодых хакера рассказали о том где можно применять питон, с чем и как его можно связывать. Jython, IronPython и многое другое, что я еще не запомнил. Надеюсь где нить раздобыть их презентацию. Но для себя отложил Stackless Python — у него очень «крутые» треды, на сколько крутые — я уже буду пробовать ручками сам. И когда я говорю о Stackless мне уже какой раз предлогают глянуть на greenlet. Общее впечатление о докладе осталось очень хорошее – хороший обзор, живая подача материал и оставило много вопросов (как и должно быть в подобных докладах). В конце парни показали прикольный примерчик как они питоном хачат сафари и меняют в нем титл через его жсный движок. Хотелось бы ответить всем бегающим по залу участникам с вопросам «Нафига надо было хачить софари». Объясняю — просто так!!! Просто точка ( довольно прикольная ) в докладе о расширениях и встраиваниях питона, обидно, что многие из всего доклада запомнили только эту точку.
Андрей Мишковски «Использование Python в ГИС» . Проблематика Гиографические Информационные Системы для меня была нова, но подача информации была доступна и понятна даже слушателю не знакомым с темой. Так что если кто хочет может просмотреть презентацию, и дождаться выхода видео.
Сергей Кирилов. «WebSockets в twisted». WebSockets — это новое расширение протокола HTTP в сторону двухстороннего взаимодействия клиент-сервер с одним коннектом, которая описана в стандарте HTML5. Поддерживается пока не всеми ( поэтому пользуемся библиотечкой, которая подменяет стандарт для тех, кто его еще не поддерживает ). Я мог пропустить, но по моему twisted-у был отведен один слайд, на котором выведено 42 строчки кода и сказано, что их 42
Кстати нагугли и хабровскую статью на эту тему.
Не могу не оценить рисковый ход Сергея — реальная демонстрация продукта. Заработало почти с первого раза. У меня так никогда не получалось. Простенький чатик с инпутом и кнопочкой сабмит — впечатлил всех но не демострацией работы а то что почти все, у кого был ноут и получалось воспользоваться вайфаем — начали болтать и прикалываться друг с другом на большом экране, да так что в зале поднялся шум и гам, было очень весело, но по-моему не все успели задать вопросы.
Сергей, если у вас сохранилась копия этой болтавни в чате — выложите куда-то, было прикольно
И последний из понравившихся мне докладов был у Ивана Моргуна, сразу после нее я и убежал, т.к. надо было успеть на поезд обратно. Доклад был о «Работа с платежными системами в Django (PayPal, WebMoney)». Из джанго я ничего интересно для себя не вынес, но некоторые интересные моменты для PayPal подчеркнул.
Организаторам, спонсорам и докладчикам мероприятия огромное спасибо. У вас все отлично получилось. Давайте как нить повторим.
Еще о pycamp:
curvedbrain.org “Мысли по мотивам PyCamp Kyiv”
Макс Ищенко “мысли к вчерашнему pycamp”
Vladimir PyCamp впечатления
Дмитрий Гайворонский “PyCamp @ Kiev, 30 Jan 2010″
… пишите в комментах ссылки на свои посты о кемпе …



January 31st, 2010 at 7:09 pm
уж так ли был плох PyCharm? Опишите про негО?
January 31st, 2010 at 7:18 pm
да я вроде не говорил, что он был плох.
January 31st, 2010 at 7:21 pm
и у меня был ещё один вопрос, а именно “Опишите про негО?”:
> поэтому просто небольшой обзорчик того, что понравилось и запомнилось.
вряд ли он не запомнился; следуюет резонный вывод; простая логика;
ладно, комментить в Вашем блоге просто жуть — капча только с третьего раза распознаётся ,коммент не сохраняется…
Если расширите обзор, будет здорово!
January 31st, 2010 at 8:56 pm
Поправлю вас – в стаклес фишка не с тредами, а с сопрограммами. Но так как для стаклеса много чего нет, из сишных модулей, то я бы советовал посмотреть на гринлеты, которые работают поверх обычного CPython.
Если бы посмотрели в исходники чата, то увидели бы, что там нет сохранения истории : )
January 31st, 2010 at 9:30 pm
Спасибо за позитивный отзыв!
Доклад выложил тут http://goo.gl/f4Cd
PS: Прикрутите к блогу OpenID, с ним удобнее ведь
January 31st, 2010 at 11:05 pm
Спасибо большое за статью, очень жалко, что я не смог попасть на конференцию.
Надеюсь, что еще не одна такая будет в Киеве.
January 31st, 2010 at 11:40 pm
@sergey Я к оценкам подобных мероприятий отношусь довольно прогматично. В 8 из 12 презентаций мне было что подчеркнуть для себя и я считаю это хорошим результатом. А на каких-то заминках или задержках или нехватке чего-то во время кофебрейков я не люблю заострять.
Для комментов давно хочу прикрутить http://disqus.com/comments/. Может первая жалоба – это уже повод?
@Deepwalker спасибо, немного дополнил статью предложением о гринлетах. А исходников я не видел. Но очень жаль, что нет логов. На следующий доклад выкладывайте в ведением логов.
January 31st, 2010 at 11:43 pm
@sergey статью я дополнил ссылками на посты коллег о прошедшем мероприятии, возможно в их обзорах вы найдете то, что ищите.
February 1st, 2010 at 9:28 am
Доклад был не мой : ) Я просто люблю twisted, и много с ним играюсь, в результате чего смог быстро сориентироваться в коде. А сам код здесь – http://bitbucket.org/rushman/tx-websockets/src/
February 1st, 2010 at 9:49 am
@Deepwalker ооо…отлично
Теперь я знаю кого я буду дергать по вопросам твистеда. Он мне конечно же поддается, но всегда с такими боями!!
February 1st, 2010 at 1:56 pm
>Александр Соловьев… Но я бы на его месте такой продукт подавал как Стив Джобс — Макбук Аир. «Представте систему, которая быстрее мемкеша но данные сторит на винте, с типизацией ячеек и т.д. и т.п. И в конце Редис» Ну что-то в этом стиле.
Ну он же не Стив Джобс и имеет свое мнение о том как нужно подать свои мысли
. Кстати, фишка Джобса далеко не в том какой он текст говорит.
February 1st, 2010 at 2:17 pm
@SMiGL
>Ну он же не Стив Джобс и имеет свое мнение о том как нужно подать свои мысли
Я знаю, поэтому я и сказал “я бы на его месте такой продукт подавал как…”
>Кстати, фишка Джобса далеко не в том какой он текст говорит.
А а чем?
February 1st, 2010 at 4:49 pm
Да, Deepwalker прав, логов нет. Мне самому было бы очень интересно почитать что там народ исполнял
PS: А про Twisted у меня аж три слайда.
February 1st, 2010 at 6:07 pm
Вот черт, так и знал, что что-то да пропущу
Может и призенташка ваша в сети лежит, яб ссылкочку приписал, да и сам еще раз просмотрел.
February 1st, 2010 at 6:10 pm
http://www.slideshare.net/rushman/websockets-twisted
February 1st, 2010 at 6:12 pm
О.. Дякую… Первый слайд из трех “Twisted!”
February 1st, 2010 at 6:24 pm
не спорю, лаконично
February 1st, 2010 at 6:28 pm
можно было расширить доклад с “WebSockets в twisted” до “WebSockets в twisted в Debian на базе процессора Intel”
February 1st, 2010 at 6:39 pm
можно. но название не влезло бы на титульный слайд
February 1st, 2010 at 6:42 pm
вы правы.
тогда абривиатуркой “WebSockets в tDI”
так.. ладно… хватит.. а то затянулась шутка..
February 2nd, 2010 at 5:41 pm
[...] This post was mentioned on Twitter by Alex, Alexander Lyabah. Alexander Lyabah said: Мои небольшие заметки по #pycamp http://bit.ly/bwNge8 . Жду ваших комментов и хотелось бы дополнить ссылками на метериалы авторов! #pykyiv [...]
February 3rd, 2010 at 6:10 pm
Не слушай идиотов. Есть лимиты, какого типа думаю ты бы перечислил за 1 минуту сам в пустой комнате. Лимиты ровно там где ты их ожидаешь. После того как выходишь за их пределы то, да таки, платишь. Правда в обычном хостинге ты платишь сразу вне зависимости от того предоставлялась тебе услуга и потреблял ли ты ее. Тут только тогда когда выходишь за пределы. Пределы эти достаточно большие, по их словам в месяц можно отгрузить миллион просмотров страниц. Вот и считай сколько тебе бы обошелся хостинг этого сайта в месяц.
February 3rd, 2010 at 9:26 pm
Не выдержала моя душа, вот по поводу идиотизма которого тебе тут наговорили http://app-engine.tumblr.com/post/369134675/gae