Журнал

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

1 2 3 4 5 6 7 8 11 12
web

Browser Security Handbook

Dmitry Vasiliev 23:02, 2009 1 1

Google выпустил, на мой взгляд, отличную книжку Browser Security Handbook, где в одном месте собрано большое количество информации по всем основным браузерам. Обычно такого рода информация собирается по крупицам при попытках тестирования ошибок о которых сообщают пользователи Web-приложений. В целом - рекомендуется всем, кто занимается Web-разработкой.

Несколько лет назад на сайте был мой файл конфигурации для Vim. Позже, при изменении сайта я его убрал, но недавно меня настойчиво :-) просили его вернуть. Итак, встречаем - пример полной конфигурации для Vim: vimrc. Ссылка на файл находится на страничке с примерами т.к. у всех разные предпочтения и использовать чужую конфигурацию без внесения изменений может быть не комфортно, но при этом она может быть хорошей стартовой точкой для собственной конфигурации.

Выложил очередную статью, которую я писал для журнала Системный Администратор - описание HTTP-сервера Nginx.

Как-то я немного выпал из разработки Zope 3, да собственно и впечатление было, что большинство разработчиков занялись своими проектами. Вроде собирались делать регулярные релизы и потом как-то все заглохло. При этом жизнь вокруг Zope продолжается - всего пару недель назад был на IRC-собрании фонда Zope по поводу принятия нового устава. Устав, кстати, приняли единогласно. :-)

В итоге, сегодня обнаружил ветку обсуждений в рассылке Zope3-Users насчет состояния Zope 3. Получается, что как-то по-тихому решили больше не выпускать релизы, а просто потихоньку делать отдельные пакеты. Как-то я этот момент упустил, хотя все нужные рассылки постоянно читаю. Плюс мне такое решение не очень нравится - получается, что флагманский проект по этой технологии растворили в других проектах... :-(

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

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

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

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

Новая версия подсветки 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 00:13, 2008 10 21

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

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

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

AJAX и IE

Dmitry Vasiliev 20:47, 2008 10 20

Последнее время стал уделять много времени 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 для только что добавленой записи?".

1 2 3 4 5 6 7 8 11 12