суббота, 30 марта 2013 г.

Новости Scala :)

Интересная статья в блоге Linkedin - "Play Framework: async I/O without the thread pool and callback hell". Как нетрудно догадаться по названию, статья о программировании с использованием Play Framework на Scala. :) - сначала рассказывается об event-driven модели вообще, потом рассказывается как Scala-specific штуки позволяют избежать типичных проблем асинхронного подхода в виде callback hell и пр.
А те кто не знают Scala могут его выучить с помощью забавной игры Scalatron - нужно писать ботов, которые потом на виртуальной арене будут сражаться за энергию и ресурсы.
А для тех кто предпочитает более классическое обучение - сам Martin Odersky проводит второй курс Functional Programming Principles in Scala на coursera.org c 25 марта, еще можно записаться. Курс весьма интересный, и не очень сложный - даже я с грехом пополам (на 68%) но его смог освоить. :)
Вообще Scala весьма интересный язык. Мне кажется есть что то есть в нем от Perl'a, в смысле какого то впечатления что ли... Наверно потому что он достаточно мощен и лаконичен. 

понедельник, 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 - хотя если я правильно понял, им они как раз не очень довольны.