Журнал

Страница с последними записями.

1 2 3 4 5 6 7 8 11 12
программирование

Маленькие открытия

Dmitry Vasiliev 10:12 PM, December 8, 2008

Думаю не стоит сомневаться, что каждый из нас постоянно делает для себя какие-либо маленькие открытия. О некоторых можно даже написать. Вот, например, пара интересных моментов которые я недавно для себя открыл:

  • Где-то месяц назад я выбирал подходящий механизм сериализации данных для передачи их по сети. В итоге оставалось посмотреть на два варианта:

    В конце концов оказалось, что эти механизмы сериализации практически идентичны. Только если в Banana у байта типа установлен старший бит, а у данных старшие биты сброшены, то в Protocol Buffers все с точностью до наоборот. Кстати, не очень понятно почему в Google сделали именно так - мне кажется, что версия Twisted более оптимальна...

  • Второй момент совсем свежий и связан с библиотекой GPGME (GnuPG Made Easy). Все началось с того, что для одной из задач мы быстро набросали обвязку для GnuPG с помощью модуля subprocess. Позже у меня появилось время оптимизировать этот код и я подумал, что наиболее оптимальным вариантом будет написать Python-обвязку для библиотеки GPGME. При этом я рассчитывал через нее получить прямой доступ к функциям GPG... Было смешно узнать, что эта библиотека делает тоже самое, что мы написали с помощью subprocess. :-)

python vim

Подсветка Python 3.0 для Vim версии 3.0.0

Dmitry Vasiliev 7:32 PM, December 7, 2008

Новая версия подсветки Python 3.0 для Vim версии 3.0.0. Внимание: Только для Python 3.0! Изменения:

  • Добавлена поддержка для интернациональных идентификаторов;
  • Добавлена поддержка для новых строк и бинарных данных (bytes);
  • Обновлена поддержка для чисел;
  • Обновлена поддержка для str.format;
  • Добавлены новые встроенные функции появившиеся в Python 2.6: "ascii", "exec", "memoryview", "print";
  • Добавлено новое ключевое слово: "nonlocal";
  • Удалено исключение "StandardError";
  • Удалены встроенные функции: "apply", "basestring", "buffer", "callable", "coerce", "execfile", "file", "help", "intern", "long", "raw_input", "reduce", "reload", "unichr", "unicode", "xrange";

Скачать можно здесь:

Пришлось достаточно долго повозиться с этой подсветкой - слишком много изменений. Отчеты об ошибках приветствуются. :-)

Ухх, уже полтора месяца я ничего не писал здесь. Для меня одним из самых интересных событий, произошедших за это время, был выпуск Python 3.0. Большинство новых возможностей появившихся в нем я уже описывал в отдельной статье. Конечно, нужно еще многое сделать, что бы все внимание разработчиков перешло к 3-й ветке Python, но выпуск первой версии - это уже большой шаг.

Также я обещал постепенно выкладывать статьи которые я пишу для журнала Системный Администратор и сегодня я добавил очередную статью про распределенную систему контроля версий Bazaar.

статьи

Статья про GNU Screen

Dmitry Vasiliev 12:13 AM, October 21, 2008

Как и обещал, выкладываю первую статью которую я написал для журнала "Системный Администратор" (#8 за 2008 год). Читаем - "Профессиональное использование консоли с помощью GNU Screen".

Теперь буду раз в месяц выкладывать остальные (еще 2 уже точно есть). Самое смешное, что статью про Screen я задумал написать еще в году 2001-м, наверное, и в итоге написал только под давлением жестких сроков. :-)

ajax web программирование

AJAX и IE

Dmitry Vasiliev 8:47 PM, October 20, 2008

Последнее время стал уделять много времени AJAX (возможно даже из этого получится что-то интересное ;-) и больше всего проблем, как и всегда, с Internet Explorer. Вот пара моментов:

  • IE жестко кэширует все HTTP запросы через JavaScript. Соответственно, если не добавлять к HTTP ответам, например, вот такие заголовки:

    Cache-Control: no-store, no-cache, must-revalidate
    Pragma: no-cache
    

    , то каждый запрос сработает ровно по одному разу.

  • Если в IE динамически создавать таблицу через DOM, то нужно в обязательном порядке создавать элемент tbody. Без него таблицу никто не увидит.

Только сейчас заметил интересное изменение появившееся в PostgreSQL 8.2. Для INSERT и UPDATE добавили опцию RETURNING и теперь можно делать вот так:

INSERT INTO table (value) VALUES ('value') RETURNING id;

Теперь потерял свою актуальность наиболее часто встречавшийся вопрос: "Как получить значение поля SERIAL для только что добавленой записи?".

vim

Рецепты для Vim

Dmitry Vasiliev 9:41 AM, September 30, 2008

Сегодня решил создать новую страничку в разделе про Vim - Рецепты для Vim. Что бы и самому не забывать и с другими поделиться. Постепенно буду добавлять туда всякие полезные при использовании Vim мелочи.

python vim

Подсветка Python для Vim версии 2.6.3

Dmitry Vasiliev 5:02 PM, September 29, 2008

Новая версия подсветки Python для Vim версии 2.6.3:

  • Возвращена поддержка для чисел с 'L' на конце. Она была удалена для Python 3.0, но не в том файле;

Скачать можно здесь:

bazaar vcs статьи

Вышла статья про Bazaar

Dmitry Vasiliev 1:42 PM, September 29, 2008

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

В следующий номер буду писать про NginX - многим интересная тема. И совсем хорошая новость - скоро выложу первую статью на сайт и потом буду выкладывать по статье в месяц.

python vim

Подсветка Python для Vim версии 2.6.2

Dmitry Vasiliev 11:27 PM, September 22, 2008

Еще немного обновил подсветку Python для Vim на пути к подсветке для Python 3.0:

  • Добавлено исключение "VMSError";
  • Добавлена поддержка для синтаксиса строк b"...";
  • Добавлена поддержка экранирования фигурных скобок для str.format;

Скачать можно здесь:

1 2 3 4 5 6 7 8 11 12