RabbitMQ позволяет взаимодействовать различным программам при помощи протокола AMQP. RabbitMQ является отличным решением для построения SOA (сервис-ориентированной архитектуры) и распределением отложенных ресурсоемких задач.
Под катом перевод первого из шести уроков официального сайта. Примеры на python, но его знание вовсе не обязательно. Аналогичные примеру программы можно воспроизвести практически на любом популярном ЯП. [так выглядят комментарии переводчика, т.е. меня]
Читать полностью »
Рубрика «Веб-разработка» - 306
RabbitMQ — Hello World
2012-08-16 в 9:26, admin, рубрики: AMQP, hello world, pika, python, RabbitMQ, Веб-разработка, метки: AMQP, hello world, pika, python, RabbitMQПриятная мелочь в «Экспресс-офисе» — удобные клавиатуры
2012-08-16 в 8:48, admin, рубрики: Блог компании «Экспресс-офис», Веб-разработка, коворкинг в москве, Программирование, синдром запястного канала, скидки, метки: коворкинг в москве, синдром запястного канала, скидкиВ ходе обсуждения темы, затронутой Angerslave в посте про увеличение эффективности разработчика, затронули проблему с мобильным рабочим местом и наличием эргономичной клавиатуры. Проблема, собственно, в том, что мобильный разработчик, перемещающийся с ноутбуком, вряд ли носит с собой клавиатуру, оберегающую его запястья от возникновения синдрома тоннельного канала. Поэтому мы уже заказали на пробу две клавиатуры Microsoft Ergonomic Keyboard 4000 и как только получим их от поставщика (22-23 августа), будем предоставлять их желающим пользователям нашего сервиса.Читать полностью »
Новый продукт: первая неделя. День 2
2012-08-16 в 8:14, admin, рубрики: landing page, mobile development, Веб-разработка, конкурентные преимущества, менеджмент, стартап, электронная коммерция, метки: landing page, конкурентные преимущества, менеджмент, стартап
Вчера мы с вами сделали первый важный шаг — сформулировали абстрактную идею в виде четкого документа. Напомню, что мы описываем все важные задачи, которые должны быть сделаны в самые первые дни работой над стартапом. Это никак не вляется инструкцией к действию, а лишь выжимкой опыта работы над несколькими проектами. Статья лишь может помочь вам выбрать, чем заниматься и главное — чем не заниматься и не распылять внимание при рождении нового стартапа.
Во второй день вам предстоит проверить эту идею на суровой реальности. Важная задача на этом этапе — решить, стоит ли ее реализовывать, не существует ли уже схожего решения и есть ли еще возможность для улучшения?
Итак, первая часть — конкурентный анализ. Теперь вы становитесь на роль исследователя. Ваша цель — по возможности найти все сервисы, аналогичные вашему.Читать полностью »
Обзор конструкторов контента (Content Construction Kit) для CMS Joomla
2012-08-16 в 7:46, admin, рубрики: cms, content, Joomla, Веб-разработка, метки: cms, content, Joomla
В данной статье рассказывается о так называемых конструкторах контента (Content Construction Kit) и приводится обзор конструкторов контента для Joomla: K2, Zoo, Cobalt 7, Seblod.
Читать полностью »
Несколько идей по повышению личной продуктивности веб-разработчика
2012-08-15 в 16:14, admin, рубрики: Веб-разработка, продуктивность, Софт, метки: Веб-разработка, продуктивность, софтПольза, которую человек приносит обществу, с одной стороны, крайне субъективна, с другой — по ней оценивается зарплата, вклад в историю, авторитет и многие другие «аспекты» жизни человека. Причём, конечность времени жизни заставляет нас за то же время делать больше или делать то же за меньшее время. Переходя от философии к практике, я хочу представить несколько идей, которые я попробовал, и которые помогли мне повысить свою продуктивность.
Данные идеи я применял как веб-разработчик, но некоторые из них будут полезны и в других областях — дизайне, работе с данными и т.д.Читать полностью »
Миллион одновременных соединений на Node.js
2012-08-15 в 14:23, admin, рубрики: node.js, Веб-разработка, высокая производительность, метки: node.js
TL;DR:
- Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
- На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
- V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
- Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).
Отчёт о неудачной попытке получить заявленную эффективность от prepared statements
2012-08-15 в 8:05, admin, рубрики: mysql, mysqli, php, prepared statements, Веб-разработка, подготовленные выражения, метки: mysql, mysqli, prepared statements, подготовленные выраженияРассказывая в своей статье о типичных заблуждениях, связанных с защитой от SQL инъекций, среди прочих я отметил тот факт, что серверные подготовленные выражения не работают в PHP по заявленному эффективному сценарию — 1 раз prepare(), потом 1000 раз executе().
Ну, то есть, в теории-то они работают — в пределах одного запуска скрипта. Но много ли вы знаете скриптов (написанных профессиональными программистами), которые выполняют кучу одинаковых запросов? Вот я тоже не знаю. Повторяющихся запросов (каких-нибудь множественных апдейтов) — доли процента, а в массе своей запросы уникальные (в пределах одного скрипта).
Соответственно, для нашего уникального запроса сначала выполняется prepare(), потом — execute(), потом скрипт благополучно умирает, чтобы, запустившись для обработки следующего HTTP запроса, заново выполнять prepare()… Как-то не слишком похоже на оптимизацию. Скорее — наоборот.
Но неужели нет способа как-то закэшировать подготовленный запрос между запусками?
Читать полностью »
Bart Chalkboard Generator
2012-08-14 в 22:36, admin, рубрики: canvas, html, html5, html5 canvas, images, javascript, Веб-разработка, метки: Canvas, html5, html5 canvas, images, javascript Здравствуйте.
Мне бы хотелось рассказать про мой «Bart Chalkboard Generator».
Я уверен, что большинство из вас знают сериал «The Simpsons», и вы помните что почти в каждой новой заставке Барт писал на школьной доске что-то новое, типа: «They are laughing at me, not with me». А в интернете часто всплывает картинка с текстом: «I will use google before asking bump questions». И вот однажды я подумал, почему бы не создать простой генератор подобных картинок, да ещё и на Html5, что бы попрактиковаться?
Читать полностью »
Внедрение websocket-ов на клиентские сайты конструктора сайтов
2012-08-14 в 20:08, admin, рубрики: perl, WebSocket, websocket server, websockets, Веб-разработка, высокая производительность, конструктор сайтов, метки: perl, WebSocket, websocket server, websockets, конструктор сайтовWebsocket-ы полезны постоянным дуплексным соединением backend-сервера с браузером клиента, — это прочный мост между сервисом и посетителями, по которому удобно беспрепятственно транспортировать потоки данных в обе стороны.
Перечень «граблей» внедрения websocket-ов на конструктор сайтов
2012-08-14 в 20:08, admin, рубрики: perl, WebSocket, websocket server, websockets, Веб-разработка, высокая производительность, конструктор сайтов, метки: perl, WebSocket, websocket server, websockets, конструктор сайтовWebsocket-ы полезны постоянным дуплексным соединением backend-сервера с браузером клиента, — это прочный мост между сервисом и посетителями, по которому удобно беспрепятственно транспортировать потоки данных в обе стороны.
В результате внедрения websocket-ов наш проект получил возможность в реальном времени менять по своему усмотрению отображение страниц в браузере на протяжении всей клиентской сессии и иметь обратную связь.
В ходе построения всей технологической цепочки мы легко перешагнули через проблемы с браузерами, лишь изредка неподдерживающие либо сами websocket-ы, либо их эмуляцию через flash.
Однако, когда дело дошло до полевых испытаний, обнаружилась масса проблем с ISP, всеми мыслимыми и немыслимыми способами пытающихся сэкономить трафик за счёт своих клиентов. Об этих и других граблях полноценного боевого внедрения websocket-ов читайте под катом.