• 31Jan

    pycamp-logo-newСегодня рано утром вернулся с pycamp, который прошел в Киеве 30ого января в учебном центре i-klass.

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

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

    Александр Шигин (гость из солнечного Рамблера) «Почему Python — тормоз и как заставить его меньше тормозить». Были небольшие обзорчики кода, со сравнениями производительности. Сравнение результатов работы алгоритмов, реализованные разными способами — картежи, дикты, классы. Первые быстрее, но мы и так это знали. Хотя местами были довольно интересные результаты. Был упомянут Cython, но только вскользь, хотя мне бы тема была куда интереснее. Так что после в кулуарах мы написали небольшой хелло ворлд на cython, получили сошник и заюзали в самом питоне.

    Кратко выглядит примерно так

    ваш скрипт

    1. print "Hello World"

    скрипт setup.py:

    1. from distutils.core import setup
    2. from distutils.extension import Extension
    3. from Cython.Distutils import build_ext
    4.  
    5. setup(
    6.     cmdclass = {'build_ext': build_ext},
    7.     ext_modules = [Extension("helloworld", ["helloworld.pyx"])]
    8. )

    получаем сошник

    1. $ python setup.py build_ext –inplace

    и дальше его используем в ваших скриптах.

    1. >>> import helloworld
    2. 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″
    … пишите в комментах ссылки на свои посты о кемпе …

    Share and Enjoy:
    • Facebook
    • LinkedIn
    • del.icio.us
    • StumbleUpon
    • MySpace
    • Reddit
    • Digg
    • Google Bookmarks
    • Technorati
    • email
    • Print
    • Sphinn
    • Mixx
    • Blogplay
    • Add to favorites
    • Linkter
    • Live
    • MSN Reporter
    • NewsVine
    • RSS
    • Yahoo! Bookmarks
    • Yahoo! Buzz
    • Yigg
    Rating 3.00 out of 5
    [?]

    Posted by Oduvan @ 6:09 pm

    Tags: , ,

Facebook comments:

  • Не выдержала моя душа, вот по поводу идиотизма которого тебе тут наговорили http://app-engine.tumblr.com/post/369134675/gae
  • Не слушай идиотов. Есть лимиты, какого типа думаю ты бы перечислил за 1 минуту сам в пустой комнате. Лимиты ровно там где ты их ожидаешь. После того как выходишь за их пределы то, да таки, платишь. Правда в обычном хостинге ты платишь сразу вне зависимости от того предоставлялась тебе услуга и потреблял ли ты ее. Тут только тогда когда выходишь за пределы. Пределы эти достаточно большие, по их словам в месяц можно отгрузить миллион просмотров страниц. Вот и считай сколько тебе бы обошелся хостинг этого сайта в месяц.
  • Oduvan
    вы правы.

    тогда абривиатуркой "WebSockets в tDI"

    так.. ладно... хватит.. а то затянулась шутка..
  • можно. но название не влезло бы на титульный слайд
  • Oduvan
    можно было расширить доклад с "WebSockets в twisted" до "WebSockets в twisted в Debian на базе процессора Intel" :)
  • не спорю, лаконично :)
  • Oduvan
    О.. Дякую... Первый слайд из трех "Twisted!" :)
  • Oduvan
    Вот черт, так и знал, что что-то да пропущу :)

    Может и призенташка ваша в сети лежит, яб ссылкочку приписал, да и сам еще раз просмотрел.
  • Да, Deepwalker прав, логов нет. Мне самому было бы очень интересно почитать что там народ исполнял :)

    PS: А про Twisted у меня аж три слайда.
  • Oduvan
    @SMiGL
    >Ну он же не Стив Джобс и имеет свое мнение о том как нужно подать свои мысли
    Я знаю, поэтому я и сказал "я бы на его месте такой продукт подавал как..."

    >Кстати, фишка Джобса далеко не в том какой он текст говорит.
    А а чем?
  • >Александр Соловьев... Но я бы на его месте такой продукт подавал как Стив Джобс — Макбук Аир. «Представте систему, которая быстрее мемкеша но данные сторит на винте, с типизацией ячеек и т.д. и т.п. И в конце Редис» Ну что-то в этом стиле.

    Ну он же не Стив Джобс и имеет свое мнение о том как нужно подать свои мысли :). Кстати, фишка Джобса далеко не в том какой он текст говорит.
  • Oduvan
    @Deepwalker ооо...отлично

    Теперь я знаю кого я буду дергать по вопросам твистеда. Он мне конечно же поддается, но всегда с такими боями!!
  • Доклад был не мой : ) Я просто люблю twisted, и много с ним играюсь, в результате чего смог быстро сориентироваться в коде. А сам код здесь - http://bitbucket.org/rushman/tx-websockets/src/
  • Oduvan
    @sergey статью я дополнил ссылками на посты коллег о прошедшем мероприятии, возможно в их обзорах вы найдете то, что ищите.
  • Oduvan
    @sergey Я к оценкам подобных мероприятий отношусь довольно прогматично. В 8 из 12 презентаций мне было что подчеркнуть для себя и я считаю это хорошим результатом. А на каких-то заминках или задержках или нехватке чего-то во время кофебрейков я не люблю заострять.

    Для комментов давно хочу прикрутить http://disqus.com/comments/. Может первая жалоба - это уже повод?

    @Deepwalker спасибо, немного дополнил статью предложением о гринлетах. А исходников я не видел. Но очень жаль, что нет логов. На следующий доклад выкладывайте в ведением логов.
  • Спасибо большое за статью, очень жалко, что я не смог попасть на конференцию.

    Надеюсь, что еще не одна такая будет в Киеве.
  • Спасибо за позитивный отзыв!
    Доклад выложил тут http://goo.gl/f4Cd

    PS: Прикрутите к блогу OpenID, с ним удобнее ведь :)
  • Поправлю вас - в стаклес фишка не с тредами, а с сопрограммами. Но так как для стаклеса много чего нет, из сишных модулей, то я бы советовал посмотреть на гринлеты, которые работают поверх обычного CPython.

    Если бы посмотрели в исходники чата, то увидели бы, что там нет сохранения истории : )
  • sergey
    и у меня был ещё один вопрос, а именно "Опишите про негО?":


    > поэтому просто небольшой обзорчик того, что понравилось и запомнилось.

    вряд ли он не запомнился; следуюет резонный вывод; простая логика;

    ладно, комментить в Вашем блоге просто жуть -- капча только с третьего раза распознаётся ,коммент не сохраняется...

    Если расширите обзор, будет здорово!
  • Oduvan
    да я вроде не говорил, что он был плох.
  • sergey
    уж так ли был плох PyCharm? Опишите про негО?
blog comments powered by Disqus