понедельник, 11 февраля 2013 г.

Новая писькомерка! :)

Появился новый сайтик с тестами - http://smarterer.com/
Гордятся своей "scoring system"- и вроде как не зря, показывает честно - у меня Perl уровень Expert, а Python - Beginner. :)
Можно создать спец. страничку, чтобы мериться письками гордиться - http://smarterer.com/deniszh (причем те области где гордится нечем можно стыдливо спрятать :D )

суббота, 15 декабря 2012 г.

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

воскресенье, 16 сентября 2012 г.

Конец споров MySQL vs PostgreSQL

English is here
Хорошая статья по поводу вечного "срача" MySQL vs PostgreSQL, но на английском. Много букв, но кому лень читать - вот вывод, в моем кривом переводе -
"MySQL разработана с мыслью, что приложения обеспечивают логику, а база данных обеспечивает "тупое" хранение состояния приложения. Хотя это немного изменилось с добавлением определяемых пользователем функций и хранимых процедур, общий дизайн ограничивает MySQL подобным паттерном использования. Это не обязательно плохо, поскольку, традиционно, из за затрат на лицензирование программного обеспечение и требований приложения часто требуется, чтобы даже передовые системы баз данных, такие как Oracle использовались таким образом. MySQL нацелена на мир "мое приложение, моя база данных" и, как правило, для этого достаточно, особенно, когда наименьший общий знаменатель используется для обеспечения портабельности.

PostgreSQL, с другой стороны, разработана с мыслью, что база данных сама по себе является инструментом моделирования, а также о том, что приложения взаимодействуют с ним по API определенным в SQL. Адвокаты объектно-реляционной модели отмечают, что часто для того чтобы получить приемлемую производительность в сложных ситуациях требуется перенести  некоторую логику в базу данных и даже привязать ее к структурам данных в БД. В этой модели, база данных сама по себе является частью платформы, которая предоставляет API, и несколько приложений могут считывать или записывать данные с помощью этих API. Таким образом, БД лучше всего рассматривать как решение для продвинутого моделирования и централизованного хранения данных, а не как простой бекенд для приложения.

Эти различия показывают, что, когда пользователи PostgreSQL жалуются, что MySQL не является "реальной системой управления базами данных" и пользователи MySQL оспаривают это, говоря что это на самом деле разница в определениях, и в этом случае определения обманчиво далеки друг от друга. Понимание этих различий, я думаю, играет ключевую роль в обеспечении осознанного выбора."

воскресенье, 8 июля 2012 г.

Грустная новость, камрады

English text is here.
Грустная новость, камрады.
На Хабре пробегала статья про высокие нагрузки на порносайтах, в которой кто то упомянул презентацию от YouPorn про их архитектуру. Тут и я припомнил, что недавно как раз были новости что YouPorn перешел на Redis и достиг там какой то сумасшедшей производительности - 300K/сек. Ну и YouPorn был раньше славен тем, что был написан на Perl, что всячески упоминалось в разных холиварах, безотносительно порно - как никак сайт из Alexa Top-100 на Perl - это же круто!
Так вот - больше нет.
Открываем вышеупомянутую презентацию (вот ссылка на GoogleDocs / оригинал), читаем -
  • Written in PERL with a very complex architecture
  • First few months dedicated to learning the site, maintain it, and plan the re-write.
  • Re-write started in August 2011 and was originally planned for a delivery in mid-November.
  • Actually launched at the end of January.
То бишь, в конце 2011 года сайт был переписан на PHP+Symfony2, из за чего стал гораздо проще, быстрее ну и девелоперов для PHP находить проще (хотя было упомянуто что новые технологии типа Redis требуют довольно длительного времени для изучения).
В остальном кстати, архитектура у них довольно стандартна - HaProxy + Varnish + Nginx/PHP-FPM/Symfony2 + Redis/MySQL, для логирования используется Syslog-ng, единственно что удивляет - это использование ActiveMQ для записи в БД/Redis - хотя если я правильно понял, им они как раз не очень довольны.

понедельник, 25 июня 2012 г.

А вы знаете про perlsecret?

English test is here
Читаю perlsecret. Оказалось забавная штука, всем советую. Ообенно понравился оператор "~~<>", называемый kite (воздушный змей) или ... sperm (тут и без перевода думаю понятно).
Приведу выдержку из документации полностью -

"Discovered by Philippe Bruhat, 2012. (Alternate nickname: "sperm")
This operator is actually a combination of the inchworm and the diamond operator. It provides scalar context to the readline() builtin, thus returning a single line of input.
It's only useful in list context (since <> already returns a single line of input in scalar and void contexts), for example for getting several lines at once:
@triplets = ( ~~<>, ~~<>, ~~<> ); # three sperms in a single egg?
Like the other operators based on bracketing constructs, the kite is a container, and can carry a payload (a file handle, in this case).
Mnemonic: It provides a feature that is tied to one line, a string, as it were. (Tye McQueen in http://www.perlmonks.org/?node_id=959906)."