Home
Event Log Messages
20 most recent entries

Date:2007-05-26 16:09
Subject:И снова в этом зале нет пустого места )
Security:Public

Всем привет!

Вот уже в пятый раз провожу семинар по моему любимому языку программирования Python. Комьюнити в Украине развивается семимильными шагами. За последние полгода появилась масса новых вакансий для питонистов, об этом языке заговорили большие компании и уже сделали свои первые успешные шаги в направлении к разработке на Python. И это не может не радовать.

На этот раз, семинар вновь соберет программистов, которые по-настоящему увлечены работой и преданы своему делу. Когда я вижу этих заинтересованных людей с горящими глазами, которые с интересом поглащают инфу, то на душе становится приятно ;-) Все эти увлекательные беседы во время кофе-паузы, смешные моменты во время докладов, пиво после семинара - все это очень здорово!

Итак, 2 июня 2007 года в Киеве состоится очередной семинар по программированию на языке Python - Exception #05.

Темой пятого семинара будет тема построения и использования гибкой компонентной модели в веб-проектах и GUI-приложениях. Докладчики расскажут о взаимодействии интерфейсов вместо взаимодействия объектов, о достоинствах различных реализаций для одного описания интерфейса на примере динамической смены скина, дадут оценку производительности, расскажут о личном опыте применения, а так же приведут исчерпывающие примеры использования компонентной модели.

Доклады непосредственно связаны с новой версией объектно-ориентированного сервера приложений Zope3 (в частности zope.interface), а так же с фреймворком для GUI-приложений Ocean, который разработал наш докладчик Андрей Светлов.

Вход бесплатный, как всегда =)

Подробнее...
Регистрация...

10 comments | post a comment



Date:2007-05-04 12:07
Subject:С чем едят GotAPI
Security:Public

Всем привет!

Хочу поделиться ссылкой на очень полезный и крайне удобный справочный сервис, который я использую по тысячу раз на день.

Встречайте, gotAPI.com!

Что же такое gotAPI?

gotAPI.com - quick developer reference for CSS, HTML, JavaScript, PHP, AJAX, SQL and more

Чем является gotAPI лично для меня:
1. Быстрый и очень удобный поиск нужной функции или метода для JavaScript или Python.
2. Мгновенное получение необходимой информации о свойстве CSS или о SQL-команде для PostgreSQL.
3. gotAPI позволяет мне вспоминать названия функций, медотов, свойств, команд и т.д., которые я вдруг забыл.
4. Удобный интерфейс с добавлением/удалением закладок.
5. gotAPI подсказывает ключевые слова поиска пока я набираю то, что мне нужно.

В чем идея gotAPI?
gotAPI знает много онлайновых мануалов и осуществляет быстрый поиск по ним. Это, как бы, отправная точка для поиска нужной документации. gotAPI избавляет программиста от хождения по различным докам, которые находятся на разных ресурсах.

Что "знает" gotAPI?
HTML, CSS, CSS2, JavaScript/DOM, Google GWT, Prototype.js, jQuery 1.0.3, Yahoo! UI, XML, XSL, XPath, C, C++, PHP, Ruby, RoR, Python, Perl, ActionScript, Groovy, Drupal CMS, Flickr API, Prolog, MySQL, PostgreSQL, Oracle, Java, J2SE, J2EE, Struts, Hibernate, Spring, JUnit, J2ME, Apache Ant... и многое другое.

Лично я храню gotAPI на панели закладок своего браузера, чего и вам советую :-)

23 comments | post a comment



Date:2007-04-05 02:11
Subject:PHP: светлые воспоминания
Security:Public

[info]mourk: Кстати, после джавы я не могу понять, почему в PHP нету команды gc()?
[info]mkdir: Потому что автоматическая отчистка мусора есть.
Zurg: Так в джаве, ведь, тоже есть.
Mkdir: Зато PHP - это простой, удобный и чисто объектно-ориентированный язык.
Mkdir: PHP очень гибок!
Zurg: И красив.
Mkdir: Согласен. Читаемость кода очень высока.
Mkdir: Выше чем у перла.
Zurg: А масштабирование в PHP -- просто сказка, куда лучше чем в Pascal!
Mkdir: И лучше поддерживается, нежели разные диалекты языка Basic.
Zurg: За что очень люблю PHP, так это за четкое следование его создателями простых и удобных code conventions!
Mkdir: Пожалуй, в этом самое главное преимущество этого языка. А еще PHP хорошо справляется с задачами, которые я решаю с его помощью. Ведь не в языке дело, а в том, насколько он успешно решает мои задачи. Поэтому мой выбор - PHP!
Zurg: Нельзя не упомянуть профессионализм сообщества PHP-разработчиков, да, заработкам этих ребят можно позавидовать.
Zurg: Типичный код на PHP имеет хорошую стройную архитектуру. В этом можно убедиться, зайдя в любую библиотеку бесплатных скриптов.
Mkdir: Да, PHP действительно имеет богатейшую базу кода -- сотни абстрктных классов для работы с MySQL, тысячи высококлассных CMS-систем!
Zurg: Кроме того, PHP-программисты всегда обрабатывают ошибки, а не выводят стектрейс пользователям. А так же используют мощную базу MySQL, даже не представляю более удобной СУБД!
Mkdir: Согласен с тобою по всем пунктам.

1 comment | post a comment



Date:2007-02-21 13:43
Subject:Активный форум для питонистов.
Security:Public

Всем привет.

Хочу рассказать об одном из самых активных русскоязычных форумов (или даже о самом активном форуме) по языку Python.
Это форум на сайте python.com.ua: http://python.com.ua/forum/
Основной контингент форума по странам: Россия, Украина, Белоруссия и Казахстан.

Размеры и активность форума растут на удивление быстро.
Темы форума охватывают практически все области применения python.
Форумчане демонстрируют дружелюбность и соучастие. Вместе решают проблемы, вместе переводят документации и вместе радуются этому замечательному языку программирования =)

Сразу хочу оговориться, что я не являюсь заинтересованной стороною и пишу пост не для пиара, а просто в качестве рекомендации хорошего и правильного ресурса.

26 comments | post a comment



Date:2007-01-31 14:15
Subject:SSH через модуль Pexpect
Security:Public

На блоге Douglas Palovick'а нашёл запись в блоге "Python SSH SCP and Expect Example Script", в которой рассказывается о простом способе использования SSH и SCP без SSH-ключей при помощи модуля Pexpect.

читать ...

1 comment | post a comment



Date:2007-01-31 11:25
Subject:Exception #03
Security:Public

28 января 2007 года - прошёл очередной семинар по языку Python в Киеве - "Exception #03".
Семинар проводился в конференц-зале гостиницы "Санкт-Петербург" (бул. Т. Шевченко 4) и длился 3 часа.

Сергей Щетинин рассказал о метапрограммировании в Python на примере декораторов (прим. декораторы в Python аналогичны annotations в Java). Олег Нога портировал Traits на Python и поведал о том, как можно решить некоторые проблемы множественного наследования.
Доклады были интересны и познавательны.

В конце семинара провели дискуссию. Участники семинара разделились на два лагеря: те кто поддерживает Traits и те, кто против него =)
Были приведены интересные доводы "за" и "против" Traits и множественного наследования вообще.

Уютная атмосфера семинара способствовала плодотворному общению и обмену опытом.
Кто приходил, оставьте, пожалуйста, свои отзывы )

Фотографии

15 comments | post a comment



Date:2007-01-31 11:08
Subject:Python sidebar
Security:Public

Python sidebar - это "плагин" для браузера FireFox, который позволяет получать быстрый и более удобный доступ к документации по языку Python.

python-sidebar screenshot

4 comments | post a comment



Date:2006-11-21 11:46
Subject:Семинар по языку Python в Киеве
Security:Public



30 ноября 2006 - в Киеве состоится очередной семинар по языку программирования Python - "Exception #02".

Главной темой второго семинара будет тема использования Python совместно с другими языками программирования. Докладчики поведают об особенностях взаимодействия Python с языками C и C++ на примере применения таких инструментов как FFI, SWIG, Boost::Python, SIP, Ctypes, и приведут множество примеров где Python хорошо зарекомендовал себя как вспомогательный язык, облегчающий процесс разработки на C/C++.

Семинар "Exception #02" будет интересен как системным программистам, так и разработчикам прикладных программ, которые нуждаются в расширении функциональности за счёт внедрения скриптового языка. Так же, Python отлично подходит в качестве скриптового языка для прототипирования и умелое применение его с этой целью выведет процесс разработки вашего программного обеспечения на новый качественный уровень.

На этом преимущества данного мероприятия не исчерпываются. На семинаре у вас есть шанс обрести единомышленников, найти друзей, задать интересующие вопросы, обменяться опытом, а так же встретить потенциальных партнёров по работе =)

Всех заинтересовавшихся просим к регистрации: http://exception.org.ua/exception_02/register.html


P.S.: Главным организатором семинара по-прежнему остаюсь я.

14 comments | post a comment



Date:2006-11-15 10:54
Subject:Как я живу под Ubuntu GNU/Linux
Security:Public

Решил поделиться с общественностью своими скриншотами и заодно рассказать о софте, который использую.

Пожалуй, начну с десктопа. У меня стоит XGL + Beryl.
Замечательная штука! "Плавающие" резиновые окна, десктопы, располагающиеся на кубе, который можно вращать мышью, куча различных эффектов сворачивания/разворачивания окон (например, при сворачивании, окно сжимается и стягивается вниз или воспламеняется), Zoom десктопа и многое многое другое.

Что такое XGL + Beryl и с чем его едят можно увидеть, поискав в YouTube и Google Video.
Вот несколько ссылочек для начала: раз, два, три.
Возможно, когда-нибудь и своё видео сделаю =)

Поехали дальше. Первые два окна демонстрируют прозрачность и обрамление окон.

    


На следующем скриншоте можно увидеть как работает Internet Explorer 6.0. Кстати, у меня одновременно стоят IE5.0, IE5.5 и IE6.0 :-)




Вот так выглядит мой FireFox 2.0:




Тут Eclipse с плагином PyDev:




А эти два скриншота демонстрируют работу словаря StarDict.
Кстати, он мне больше нравится чем Lingvo: удобнее интерфейс + больше словарей.
Чтобы получить перевод слова достаточно его выделить. Ну разве это не замечательно?! =)

    


Так и живём. Кстати, пост посвящается выходу новой Windows Vista =)

UPDATE: В комментах мне открыли глаза на криво настроенные шрифты.
Я исправляюсь:

96 comments | post a comment



Date:2006-11-05 10:55
Subject:Семинар по python прошёл успешно!
Security:Public


Всем привет!
В своём предыдущем посте я писал о том, что намереваюсь провести семинар по языку программирования Python в Киеве - "Exception".

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

Фотографии, материалы и видео с моей взволнованной речью можно найти на сайте: http://exception.org.ua/

P.S.: Единственный недочёт - это отсутствие аудио.
Я взял диктофон, но подвели аккумуляторы в самый ответственный момент.
Аккумуляторы заряжались непосредственно перед семинаром. Видимо, сдохли.

15 comments | post a comment



Date:2006-10-16 14:49
Subject:Семинар по языку Python в Киеве
Security:Public



Привет, друзья!
Хочу немного похвастаться и заодно попиарить себя и мероприятие, организатором которого являюсь =)
24 октября в Киеве пройдёт первый в Украине семинар по языку Python. Название: "Exception #01".

Надобность в серьёзном собрании была осознана в следствии проведения мною четырёх сходок питонистов.
Сходки показали что в Киеве достаточно много людей, интересующихся питоном и зарабатывающих питоном на жизнь.
Поэтому нужно создавать и развивать комьюнити! Популяризировать язык, активно делиться опытом в виде докладов и дискуссий.

На Execption #01 будут представлены два доклада, основной темой которых является веб-разработка: веб-фреймворки, их скорость, достоинства/недостатки, много будет сказано о Django, докладчики уделят внимание FastCGI, WSGI, agile development, setuptools, mod_python, будет рассказано о скорости интерпретатора и о работе с памятью.

Так же, после докладов и уютного кофе-брейка, намечается дискуссия на тему "Так ли необходим Python в веб-разработке?" =) Павел Шевело берёт на себя роль противника веб-разработки на python'e и будет защищать сторону PHP и Perl, а остальные участники должны будут отстоять свою точку зрения =)

Подведя итог, скажу, что данное мероприятие обещает быть очень интересным и полезным.
Желающие прийти должны зарегистрироваться в обязательном порядке.

Внимание! Вход бесплатный.

Страничка мероприятия с подробной информацией

Фотографии помещения )

14 comments | post a comment



Date:2006-08-15 09:43
Subject:Emacs. Больше чем редактор.
Security:Public

Пожалуй, одними из самых лучших редакторов в мире являются Vim и Emacs.
Какой из них лучше, рассуждать не буду. И тот и другой являются мощными инструментами для редактирования кода. И тот и другой - лучшее продолжение рук для хорошего программиста =)

Но всё вышесказанное не является очевидным для коренных пользователей MS Windows, которые привыкли к стандартным интерфейсам и стандартным shortcut'ам виндовых редакторов. Доказывать долго не нужно: посадите любого приверженца Windows за Emacs и дайте ему поредактировать код. Ровно через 3 минуты он забудет о нём как о кошмарном сне =) Результатом будет негативное впечатление и недоумение "как этим вообще можно пользоваться?".

Так уж исторически сложилось, что я сам являюсь пользователем Windows =) И, поскольку меня периодически навещает патриотическое opensource-настроение, я снова и снова совершаю попытки перейти на Vim. Прохожу туториал, настраиваю подсветку кода, некоторое время редактирую в нём код, пытаясь не обращать внимание на неудобства которые связанны с непривычкой, и всё напрасно. Инерция вновь и вновь возвращает меня к виндовым редакторам, как наркомана к наркотикам =)

Несколько раз пробовал Emacs. Впрочем, "пробовал" звучит несколько не точно. Правильнее сказать - "запускал и тут же закрывал". А всё из-за того, что привык к стандартным интерфейсам винды, которые позволяют без особых усилий разобраться в неизвестном софте. Но в случае с Emacs и Vim всё по-другому - сперва нужно было потратить некоторое время на ознакомление с интерфейсом и возможностями, которые не доступны интуитивно, а уж потом пользоваться. "Время терять не хотелось", - думал я, оправдывая свою лень =)

В результате, долгое время я пребывал во тьме невежества =) Периодически искал нормальные редакторы под windows, менял их, искал снова. В каждом обнаруживались свои недостатки. В одних они были незначительны, в других не хватало возможностей, третьи тормозили. В последнее время долго пользовался SciTE. Хороший редактор, но хотелось еще большего.

И вот, в один прекрасный момент, я увидел как [info]dan_kom использует win-версию Emacs для редактирования исходников на питоне. Тогда я задал Диме очевидный вопрос: "А почему именно Emacs?" и получил ответ: "Потому что других редакторов я не знаю". Сперва я подумал, что он действительно не знает других редакторов, но, как оказалось, Дима в своё время перепробовал очень много различных вариантов и остановился на Emacs'е как на лучшем.

Когда я увидел Emacs в действии, то снова был вдохновлён! В тот момент я твёрдо решил "пересесть" на Emacs, понимая что придётся некоторое время преодолевать инерцию windows-like редакторов, непривычный подход к shortcut'ам и нежелание читать документацию ;-) И я сделал это. Теперь в моих руках хороший инструмент, которым я доволен и которым я восхищаюсь.

Итоги: Я не агитирую использовать Emacs или Vim. Я просто хочу сказать, что не использовать первый или второй - это большое заблуждение =)

Под катом скриншотичег с описанием )

+ Bonus: полезная ссылка по Emacs: EmacsWiki

66 comments | post a comment



Date:2006-08-11 15:45
Subject:New version of pycolorizer
Security:Public

Новость: появился на свет pycolorizer v0.3b

Изменения:
* Bugfix: не открывались файлы, если в пути были русские буквы.
* Bugfix: колорайзер не подсвечивал ключевое слово 'elif'.
* Bugfix: файл lastpath.dat создавался в директории из которой запускалось приложение. Теперь в директории с запускным файлом.

Downloads:
* Windows installer [2,85Mb]
* Sources [9,66Kb]

3 comments | post a comment



Date:2006-08-02 12:50
Subject:GUI for PyColorizer 0.2b
Security:Public

Привет!
Продолжаю тему расцветки питоновского синтаксиса для постинга в ЖЖ.
Колорайзер работает замечательно, но из командной строки юзать его несколько неудобно. Поэтому я дописал GUI на wxPython'e и сделал инсталлятор под Windows.

Downloads:
Инсталлятор под Win32 обновлённая версия [2,82Mb]
source of version 0.2b [2,86Kb]

P.S.: Инсталлятор не требует питона.
Enjoy!

UPDATE: Благодаря [info]lexasoft вышла версия 0.2b. Теперь колорайзер умеет "на лету" разукрашивать исходники из Clipboard'a.

+Bonus: Самая свежая версия: http://mkdir.livejournal.com/10214.html

26 comments | post a comment



Date:2006-07-31 15:01
Subject:parse_url
Security:Public

Написал полный аналог PHP-шной функции parse_url на питоне.
Код под катом )
Демо:

from parseurl import parseurl

url = "http://username:password@hostname/path?arg=value#anchor"
res = parseurl(url)
for k, v in res.items():
    print k, "=>", v

Результаты:
fragment => anchor
pass => password
host => hostname
user => username
query => arg=value
path => /path
scheme => http

12 comments | post a comment



Date:2006-07-30 02:53
Subject:PyColorizer v0.1b - подсветка питоновских исходников.
Security:Public

Привет!

В комментариях меня часто спрашивают чем я делаю расцветку питоновских исходников в своих постах. Реальность заключается в том, что делаю я это вручную при помощи поиска/замены по регулярным выражениям в текстовом редакторе.

Но любому терпению рано или поздно наступает конец. Два или три раза можно позволить себе поиграться таким образом, после чего охота отпадает напрочь =)

Итак, ленивый [info]mkdir решил написать колорайзер питоновских исходников, предназначенный для вставки в ЖЖ-посты. На самом деле, я изобрёл велосипед. В природе уже существуют готовые разукрашиватели, такие как py2html. Но исходный код моего "велосипеда" гораздо меньше, не требует внешних библиотек и полностью отвечает моим нуждам =)

Забрать колорайзер можно здесь: pycolorizer.py

Под катом демонстрация результатов работы колорайзера )

+Bonus: Теперь есть GUI. См: http://mkdir.livejournal.com/9930.html
++Bonus: Самая свежая версия: http://mkdir.livejournal.com/10214.html

14 comments | post a comment



Date:2006-03-29 16:30
Subject:TaskTimer
Security:Public

Выложил еще два скриншота для TaskTimer on Ajax.

Скриншот №1
Скриншот №2
Старый скриншот

post a comment



Date:2006-03-28 13:35
Subject:Python и Crontab. Блокировка повторного запуска.
Security:Public

Продолжение предыдущего поста про блокировку.
Всё то же самое, но на языке Python.

Использование модуля:

import pidLock
lock = pidLock.pidLock("/var/lock", "lockName")

Исходник на языке Python )

5 comments | post a comment



Date:2006-03-21 09:34
Subject:PHP-CLI и Crontab. Блокировка повторного запуска.
Security:Public

Не часто приходится сталкиваться с cron-скриптами, время выполнения которых может занять больше чем полчаса. Но такие скрипты в природе реально существуют и, в принципе, имеют право быть.

Довелось мне писать несколько spider'ов на PHP. Каждый выполняет свою задачу во время путешествия по "паутине".
Время выполнения некоторых из них может занять как две минуты, так и целый час, в зависимости от того, насколько "далеко" полезет паучок.

Итак, задача: Spider'ы запускаются по крону. Например, каждые 5 минут. Если один из них не успел выполнить свою задачу за этот промежуток времени, то при повторном запуске должна срабатывать блокировка, предотвращающая двойной запуск одного и того же паука.

Решение:
Решил задачу применением файлов с расширением .lock. Внутри этого файла находится pid процесса, который создал этот .lock-файл. Все .lock-файлы лежат в отдельной директории locks.

1. Спайдер запускается и первым делом смотрит: "Есть ли в директории locks файл, блокирующий меня?".
2. Если файла нет, то спайдер создаёт его и продолжает работу.
3. Если файл есть, то спайдер читает из него pid и проверяет "Выполняется ли в данный момент процесс с этим pid?".
4. Если такой pid существует, то спайдер отваливается.
5. Если процесс с таким pid уже не существует (например, был убит командой kill), то спайдер пересоздаёт файл и работает дальше.

Под катом красивое решение с применением класса )

46 comments | post a comment



Date:2006-03-18 09:02
Subject:Фрактал "Папоротник"
Security:Public

Скачал себе PIL (Python Imaging Library), поставил и, на радостях, решил создать какой-нибудь "шедевр" =)
После часа кропотливой работы мозга, получилось вот это:



Долго бьюсь головою об стену и не могу понять причину таких "худых" листьев папоротника.
По-идее они должны быть на порядок шире и ветвистее...

Под катом исходник на языке Python )

23 comments | post a comment


browse
my journal