Pull to refresh
0
0
Frikazoid @Frikazoid

User

Send message

Где наша бизнес-логика, сынок?

Reading time18 min
Views83K
Спасибо небу за то, что в субботу шел дождь, и я это прочитал (а вы скажите спасибо за то, что перевел). В воскресенье, однако, светило солнце и форматирование текста было отложено.

Отдельное спасибо автору, за разрешение отдельной публикации.

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

не поддайся темной стороне силы usernаme
Total votes 121: ↑112 and ↓9+103
Comments122

RabbitMQ: Введение в AMQP

Reading time2 min
Views57K
Построение больших и сложных систем всегда связано с решением проблем обмена данными между различными их узлами. Дополнительные трудности вносят такие факторы, как требования к отказоустойчивости, географическое разнесение подсистем, наличие узлов, взаимодействующих сразу с несколькими другими. Не всегда удобно использовать пресловутую систему клиент-сервер, да и архитектура точка-точка может оказаться не самым подходящим представлением связей.

Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments15

Удивительная страна Oz, или как принять данные при помощи send

Reading time15 min
Views1.9K
Довольно давно, собирая информацию по средствам параллельного программирования, наткнулся я на элегантный (другими словами сложно описать ощущения) язык Oz http://www.mozart-oz.org. Язык тогда показался мне достойным того, чтобы представить его Habraсообществу. И вот, у меня появилось время и причины это сделать.

Oz — мультипарадигменный язык программирования. Набор базовых абстракций в языке необычный и позволяет, например, написать отправляющую информацию процедуру send так, что при её помощи можно будет так же и получать данные. И без всякого подвоха вроде:

send(socket; buffer; flag) = (if (flag == RECV) (recv(socket; buffer)) or (realsend(socket; buffer))).

Речь идёт именно о том, что отправка и получение данных осуществляются одной и той же последовательностью операций виртуальной машины Oz. Естественно, достигается это за счёт особых абстракций для работы с данными и с параллельными процессами. Описанию этих абстракций и посвящён этот текст, потому как на мой взгляд — они неплохо позволяют почувствовать особенности Oz. Конечно, Oz больше, чем изложенное ниже, но, как мне кажется, тайна хитрого send — материал подходящий для первого знакомства с этим языком и для получения от него удовольствия.

Итак...
Total votes 40: ↑38 and ↓2+36
Comments14

Средневзвешенная система голосования

Reading time3 min
Views3.4K
Вступление. Эту статью написал мой друг — Семён Шторкин, владелец нижегородского сайта-коммьюнити для фотографов (фотогорький). Пока его, к сожалению, нет на Хабре, но попробую этим топиком заработать для него инвайт :)

Добрый день. Хочу поделиться с уважаемым хабрасообществом весьма объективной системой оценок и рейтингов, основанной на средневзвешенной системе с оценками по пятибалльной шкале.
Читать дальше →
Total votes 111: ↑107 and ↓4+103
Comments61

Шпаргалка => Cross Domain AJAX. Dynamic script Tag Hack

Reading time2 min
Views5.6K
Так сложилось исторически (из-за соображений безопасности), что Javascript-обьект XMLHttpRequest, который лежит в основе AJAX, не может делать кросс-доменные вызовы. Это бесполезное ограничение: для злоумышленников не представляет особой проблемы, а для разработчиков создает некоторое неудобство. В следующих поколениях браузеров эту проблему обещали решить, но не раньше чем W3C хотя бы одобрит новые стандарты.

Есть море хаков чтобы обойти это ограничение, но самый популярный это Dynamic Script Tag Hack. Именно через этот хак организован доступ к многим API современных веб-приложений.

Читать дальше →
Total votes 62: ↑44 and ↓18+26
Comments33

10 вещей которые необходимо сделать после установки WordPress (шпаргалка начинающим)

Reading time4 min
Views14K
10-veshey-posle
5-минутная инсталляция WordPress это здорово – так легко создать свой блог! Однако, после установки WordPress, вам необходимо будет сделать еще несколько шагов, чтобы добиться от вашего блога как можно лучшего результата.

Нижеследующая информация может быть использована как памятка или шпаргалка при установке движка.
Читать дальше →
Total votes 97: ↑64 and ↓33+31
Comments61

Представляем Google Wave API: а что можно написать для Wave?

Reading time2 min
Views1.5K
Дуве Осинга, инженер, команда Google Wave API
Алексей Шелестенко, маркетинг Google Россия

По горячим следам анонсированного недавно продукта Google Wave, спешим обрадовать (отчасти) всех заинтересовавшихся программистов и веб-девелоперов: у Google Wave появился свой блог для девелоперов. Там можно узнать о технических аспектах Google Wave, особенно о Google Wave API и Google Wave Federation Protocol. Сейчас мы кратко расскажем о тех Google Wave API, которые мы анонсировали во время девелоперского релиза Google Wave на конференции Google I/O.

Google Wave — это новый инструмент общения, позволяющий людям совместно работать в сети более эффективно. Если вы ещё не видели демонстрацию продукта, сходите на wave.google.com и посмотрите, что может Google Wave.

Есть два варианта Google Wave API: Embed и Extensions. Embed позволяет вам встраивать потоки общения из Wave в ваш собственный сайт, пользуясь простым JavaScript API. Например, встроив поток Wave на сайт, вы поспособствуете более активному общению посетителей. Extensions позволяет писать программы, называемые Роботами или Гаджетами, которые обеспечат богатую функциональность непосредственно внутри веб-клиента Google Wave.

Роботы — это автоматические участники, написанные на стороне сервера и выполняющие задачи от имени пользователей, включая синхронизацию данных с другими сервисами. На данный момент Роботы хостятся на Google App Engine, а библиотеки клиентов имеются на языке Java и Python. Мы работаем над более низкоуровневым API Роботов, которое может храниться на любом сервере в сети. Вот пример приложения, которое можно построить — Робот, которого мы ласково зовём "Tweety". Он облегчает использование Twitter внутри Google Wave.


Гаджеты, о которых вы могли знать из OpenSocial, являются программами на стороне клиента, позволяющими писать полноценные приложения внутри Google Wave. Что интересно, мы создали расширение для API гаджетов OpenSocial, позволяющее воспользоваться функцией совместной работы в Wave при написании гаджета. Например, посмотрите на скриншот гаджета с мультиплееровой игрой Судоку (образец доступен на code.google.com):


Если вы хотите узнать больше о Google Wave API, запросите доступ к sandbox, посмотрите на примеры кода и присоединяйтесь к нам на форуме Google Wave API.

Мы уверены, что Google Wave интересен и российским веб-разработчикам. Если у вас есть мысли и соображения по поводу Google Wave, Google Wave API или Роботам и Гаджетам, которые можно написать для этой платформы, оставляйте комментарии!
Total votes 53: ↑42 and ↓11+31
Comments34

prettyPrint

Reading time1 min
Views9K
imageТе из вас кто следит за автором на Github могли заметить, что недавно он добавил новый проект под названием «prettyPrint».
«prettyPrint» — браузерный дампер переменных для JavaScript аналогичный cfdump для ColdFusion. Он позволяет выводить на экран объекты любого типа в виде таблиц для просмотра во время отладки.
Посмотреть пример.
Читать дальше →
Total votes 44: ↑38 and ↓6+32
Comments16

Прогрессивные технологии, как способ выжать из сервера максимум

Reading time5 min
Views12K

Вступление


Просто красивый rrdtool =)
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.

В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
читать дальше
Total votes 318: ↑314 and ↓4+310
Comments184
12 ...
7

Information

Rating
Does not participate
Registered
Activity