Подкаст
http://ruby.rpod.ru/282270.html
Выбрал функции сериализации для бд — bson. Быстрее serialize в >1.5 раза, json — в 3. Да и результат меньше всех остальных.
Найти его можно в расширении для MongoDB.
Результаты далее.
Читать полностью »
Diaspora не взлетела, но попытки построить Open Source распределённую социальную сеть будут продолжаться до тех пор, пока такая сеть не будет создана. Новый и очень многообещающий проект в этом направлении называется Tent. Это открытый фреймворк для социального веба — для социальной сети, где контент находится под полным контролем самих пользователей, а не коммерческих компаний.
Если пользователь хочет, он может предоставить доступ к своим файлам компании Facebook/Twitter/Google/etc., которая создала удобный интерфейс для чтения этих данных, но совершенно необязательно хранить файлы на их серверах, будь то фотографии, социальный граф или просто твиты.
Каждый сервер Tent может соединяться с любым другим сервером Tent. Каждый пользователь может запустить сервер Tent или доверить свои данные другому серверу. Связи между пользователями устанавливаются независимо от сервера, так что можно перейти на другой сервер, не потеряв никакой информации. Каждый пользователь сам устанавливает, какую информацию он открывает для любого другого пользователя. Серверы Tent могут работать в скрытом режиме через Tor для тех, кому нужна анонимность. Каждый может создать веб-приложение, которое подключается к Tent, для отображения или создания пользовательского контента (статусы, микроблоггинг, оповещения о новых фотографиях).
Читать полностью »
Приходилось ли Вам когда-нибудь ломать голову над тем как вернуть из хранимой процедуры PostgreSQL сложную конструкцию с хитрой иерархией, и при этом не писать в приложении огромный костыль для парсинга древовидной структуры, утолканной силами разработчика в плоскую реляционную таблицу? Если ответ положительный, то прошу под кат…
Речь в этой статье пойдет про подключение библиотеки MVC3 в Visual Studio 2010. Но мы не будем использовать шаблон проекта «ASP.NET MVC3 Web Application», а создадим Веб-сайт (Веб-узел) на основе шаблона «Empty Web Site», то есть с нуля. Мы будем подключать библиотеку к пустому Веб сайту, т.к. шаблона MVC для Веб сайта нет.
В конце статьи будет реализован JSON контроллер на основе библиотеки MVC.
Читать полностью »
Всем привет. Большую часть времени я занимаюсь управлением разработкой проектов shopium.ua и zakaz.ua, но инженер внутри меня периодически требует развлечений. Не имея свободного времени на хакатоны, гаражи, стартап-сауны и прочее, я придумал себе свой формат «покодить чего душа пожелает»:
В наших проектах мы шлём пользователям письма. Мы шлём пользователям информационные рассылки, и с этим прекрасно справляется MailChimp, но ниша отсылки транзакционных писем (подтверждения, уведомления и т.д.) до недавнего времени была относительно пуста.
В большинстве проектов, которые я знаю, транзакционные письма прямо в коде создаются из шаблона письма (и хорошо если он вынесен в отдельные файл, а не зашит рядом в коде), и передаются локальному SMTP серверу. И при этом:
Я решил за 24 часа сделать сервис, с помощью которого можно будет надёжно слать красивые письма, быстро менять их текст, и отслеживать статистику. Встречайте Notifout.
Читать полностью »
Привет!
На хабре еще не писали про QJson — отличный и очень простой инструмент для работы с JSON на Qt. Вообще Qt рекоммендуют использовать XML — но мне кажется что в очень многих случаях он бывает чересчур уж избыточным или лишним. В некоторых случаях лучше использовать JSON. В этой заметке я расскажу как скачать, собрать и использовать QJson для работы с JSON в Qt.
Внимание! Этот пост — заметка. Все что вы тут прочитаете можно найти в гугле и на офф сайте проекта — но я думаю что такая заметка не будет лишней.
Читать полностью »
1) Полная документация на русском, покрытие юнит-тестами
2) Привычная работа с JSON в dot-нотации и легкий доступ к данным.
Т.е получение значения var settings = model('user.data.settings');
равнозначно записи в чистом JS var settings = user && user.data && user.data.settings !== undefined ? user.data.settings : null;
Вам больше не нужно заботится о проверке всех частей цепочки доступа к данным.
3) Малый вес библиотеки (~20 кб в минимизированном виде, в gzip будет совсем копейки).
Для сравнения вес других библиотек, решающих похожие задачи:
4) Используйте свой любимый фреймворк для работы с DOM и шаблонизатор (я рекомендую jQuery + JSrender) Читать полностью »
Всем привет!
Хочу поведать сообществу про одну библиотеку, над которой я уже работаю продолжительное время.
В своё время я узнал про такие замечательные инструменты как Knockout и Backbone.
Вначале я прочитал документацию по Backbone, посмотрел демо-пример и это всё меня немного напрягло.
Слишком много абстракции и кода, хотелось что-то попроще, но с той же гибкость разделения логики приложения.
Далее, почитав про KnockoutJS и пощупав его в действии в песочнице я пришел в некоторый восторг от паттерна MVVM.
Немного поработав с Knockout мне так и не удалось попробовать его в реальном проекте (я работаю в яндексе), хотя по ходу работы я прикидывал в целом, подойдет ли он нам или нет.Читать полностью »