Pull to refresh
11
0
dkrnl @dkrnl

User

Send message

Краткий обзор MQ (Messages queue) для применения в проектах на РНР. Часть 1

Reading time4 min
Views97K
Параллельно к основной работе, я в «фоне» обдумываю и прикидываю реализации архитектуры для игровых проектов (напомню, что основная область моих интересов и работ — создание онлайновых браузерных игр). Последнее время я все чаще и чаще возвращаюсь к мысли, что интересно было бы реализовать основной игровой сервер на основе очередей сообщений (MQ или Messages queue). То есть, движок такой игры будет представлять собой набор компонентов, которые будут общаться между собой посредством асинхронных сообщений, а каждый компонент может быть как генератором сообщений, так и подписчиком, то есть исполнять другие сообщения.

Такой подход, насколько я понимаю, широко применяется в мире Java, там для этого есть стандарт Java Message Service (JMS) и применяются брокеры сообщений и на этом базируется архитектура Enterprise service bus (ESB), например, Apache ServiceMix. Но для нас это пока высокая сфера крупных проектов, а в специфике веба и веб-ориентированных приложений я бы хотел рассмотреть, можно ли что-то сделать подобное, но с меньшими затратами и обеспечить приложению отказоустойчивость, распределение нагрузки и асинхронную обработку. И конечно, очень желательно, чтобы это было реализовано на РНР как основном языке реализации всех компонентов сервера.
Читать дальше →

Атомарность операций и счетчики в memcached

Reading time5 min
Views8.1K
Серия постов про “Web, кэширование и memcached” продолжается. В первом и втором постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования и кластеризации memcached.

Сегодня речь пойдет о:
  • атомарных операциях в memcached;
  • реализации счетчиков просмотров и онлайнеров.

Следующий пост будет посвящен проблеме одновременного перестроения кэшей.

Что же с атомарностью операций?

HTML parser Jquery style

Reading time1 min
Views7.6K
Наткнулся на вот такой полезный класс, любителям chained вызовов и jquery понравится очень!

PHP Simple HTML DOM Parser:
simplehtmldom.sourceforge.net

Примеры:
// Find all anchors, returns a array of element objects
$ret = $html->find('a');

// Find (N)th anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', 0);

// Find all which attribute id=foo
$ret = $html->find('div[id=foo]');

// Find all with the id attribute
$ret = $html->find('div[id]');

// Find all element has attribute id
$ret = $html->find('[id]');

// or
echo $html->getElementById(«div1»)->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');

simplehtmldom.sourceforge.net/manual.htm — документация и больше примеров

5 советов IT-специалисту на примере вёрстки

Reading time5 min
Views2.7K
Эпидемия советов по вёрстке добралась и до меня (спасибо Юре Артюху) — с удовольствием ими поделюсь. Данные советы довольно общие и в принципе применимы к многим IT-специальностям, — вёрстка здесь используется просто как пример.

Читать дальше →

Десять преимуществ Unobtrusive Javascript

Reading time5 min
Views3.7K
Это дополнение к отличной предыдущей (более практической) статье про ненавязчивый яваскрипт. Вкратце, я хочу сказать, что способность работы при выключенном JS это только видимая верхушка айсберга и, быть может, не главная цель. Есть много других преимуществ использования этого подхода. Под катом вы найдете список с пояснениями (плюс немного примеров хороших js-компонент в конце).
Читать дальше →

Веб-типографика сегодня. Часть I

Reading time7 min
Views27K
Часть IЧасть IIЧасть IIIЧасть IVЧасть V — Часть VI

Часть I



Как-то ко мне обратился знакомый дизайнер с просьбой разобраться в странной по его мнению ситуации. Клиент просил «сделать так же, как у Apple», но с использованием собственных способов расположения блоков, изображений, цветовой гаммы и текста. В общем, дизайн в итоге получался совершенно непохожий на apple.com, но этого, собственно, и добивался клиент. И вроде бы у дизайнера получилось, но… Клиенту по-прежнему не нравилось, он всё равно требовал переделать макет. По его ощущения «что-то было ну совсем не так». А что именно — тот объяснить был не в силах. Вот и возник вопрос у моего коллеги по поводу того, как угодить капризам клиента и понять его чаяния. Оказалось всё не так просто, но вполне объяснимо. Я и раньше сталкивался с данной проблемой. Поэтому решил попробовать изложить свои мысли по этому поводу.

Итак, какова ситуация в области современной веб-типографики и какими способами следует решать возникающие проблемы?
Читать дальше →

15 примеров отличной типографики

Reading time2 min
Views12K
Британский сайт I Love Typography, посвящённый типографике, опубликовал список с примерами отличной типографики. Этот список составлен по итогам II кв. 2008 года. Предыдущие «хит-парады» можно найти здесь и здесь.

Каждый пример сопровождается кратким комментарием, а нажатие на скриншот ведёт на оригинальный сайт.

Seed Conference


Нет флэша, нет картинок, нет лишнего шума; просто хорошо стилизированный шрифт и хорошо написанный текст: реальное доказательство того, что с помощью только шрифта можно получить отличный результат. Хотелось бы увидеть ещё несколько примеров такого рода.


Читать дальше →

Эффективный способ повысить умственную работоспособность

Reading time13 min
Views222K
В прошлой заметке я писал о том, чего не стоит делать, если у вас проблемы с работоспособностью. В этой части я расскажу об эффективном способе, не требующем медикаментов. Медикаменты — это только поддержка, дополнение. Но способ этот требует организованности и силы воли, а потому так нелюбим большинством из нас.
Читать дальше →

Ключевые моменты в управлении временем

Reading time5 min
Views12K

Ключевые моменты в управлении временем



Если ты будешь упорно работать по восемь часов в день, то со временем станешь начальником и получишь право работать по двенадцать часов в день.

Самый большой груз несет самый сильный верблюд.
Законы Мерфи о работе.

1


Нужно помнить, что наше сознание одновременно может оперировать не более 7±2 объектами (число Ирвин-Миллера). Это касается левого полушария. Возможности правого (условно полагаем, что оно отвечает за подсознание) гораздо шире. Поэтому сложные оценочные решения нужно отдавать подсознанию, т.е. развивать то, что называют интуицией.

2


При обучении информация проходит следующие стадии автоматизации. Вначале есть некие знания, которые мы усваиваем. После отработки в практикумах эти знания переходят на уровень умений. То есть когда я не только могу рассказать и ответить на вопросы по области знаний, а умею применять полученные знания для решения практических задач. Когда мы несколько раз решили практические задачи, то умения могут сформироваться в навыки. Навыки — более высокий уровень автоматизации, и они находятся уже в подсознании. Что такое навык? Когда вы можете выполнить задание «не задумываясь», то есть быстро и легко.
Читать дальше →

«Критическая цепь» Голдрата. Конспект книги

Reading time1 min
Views9K
Для того, чтобы познакомиться с общей идеей CCPM (Critical Chain Project Management), нужно обязательно прочесть книгу автора — Элияху Голдрата.
Она написана как художественное произведение, а не как учебник, и по-настоящему заставляет проникнуться идеей. Я попробовал сделать конспект книги в виде mindmap (щелкните на рисунок, чтобы увидеть полноразмерную карту).

Также вы можете ознакомиться с конспектом в формате mmap
Попробуйте его рассмотреть — поможет ли он вам понять основные мысли книги?

Оригинал данной записи опубликован в блоге «Управление проектами в картинках»

Несколько вещей об Ajax, которые должен знать веб-мастер

Reading time4 min
Views5.3K
По-английски AJAX произносится как эй-джэкс, по-русски довольно распространено ая́кс.
Вроде бы всё красиво, но есть несколько подводных камней, о которых я вам ниже и расскажу.

Ajax — это не просто акроним, это идея


Хотя Ajax и является акронимом от «Асинхронный JavaScript и XML», это не раскрывает его идеологию. Ajax – это идеология, которая гласит, что для работы серверного веб-приложения, совсем не обязательно перезагружать всю страницу, бесполезно гоняя данные от сервера к клиенту и обратно. Использование Ajax’a позволяет сделать веб-приложение более гибким и современным, позволяя пользователям работать с веб-приложением более продуктивно и удобно.
Читать дальше →

C++‭ ‬2009

Reading time13 min
Views6.2K
«Самая важная вещь в языке программирования - его имя. 
Язык не будет иметь успеха без хорошего имени. 
Я недавно придумал очень хорошее имя, 
теперь осталось изобрести подходящий язык.»  
Д. Э. Кнут  


Эволюция C++09: флешбек



После первой спецификации C++, ратифицированной в 1998 году, был взят пятилетний перерыв, который позволил разработчикам компиляторов подстроиться под стандарт. Также такое время «радиомолчания» позволило Комитету получить отзывы относительно документа. В конце этого периода комитет стандартов ANSI выпустил обновлённую спецификацию, содержащую исправления и различного рода улучшения. Эти исправления были задокументированы в первом техническом списке ошибок от 2003 года.

Читать дальше →

Стив Егге: динамические языки возвращаются

Reading time3 min
Views1.9K
Небезызвестный Стив Егге опубликовал стенограмму своего доклада в Стенфордском университете. Он затронул целый ряд вопросов, которые недавно активно обсуждались на Хабре: оптимизация программного кода, «нетрадиционные» языки программирования и др. Кроме того, для тех, кто «в теме», доклад содержит ссылки на интересные публикации по компиляции и методам оптимизации.

Ниже я постарался сделать выжимку из весьма объёмного текста. Местами с намеренно провокационными, в духе Стива, заявлениями.

Основные тезисы доклада

Элемент управления, TrackBar но с двумя ползунками

Reading time1 min
Views10K
Понадобилась тут такая «штука», как TrackBar только с двумя ползунками, готового решения на jQuery не нашел, решил писать самостоятельно, правда не на jQuery а на чистом JS. Вроде от этого хуже не стало. «Штука» эта нужна была для выбора числовых значений в формах информационного киоска.
Читать дальше →

Оптимизация параллельных загрузок для минимизации издержек

Reading time1 min
Views770
Примечание: ниже находится перевод статьи «Optimize Parallel Downloads to Minimize Object Overhead», в которой авторы рассматривают параллельную загрузку объектов, и как она влияет на производительность веб-страницы. Мои комментарии далее курсивом.

Средняя веб-страница содержит более, чем 50 объектов (Krishnamurthy и Wills 2006), при этом издержки на число объектов доминируют над всеми остальными задержками при загрузке большинства веб-страниц (Yuan 2005). Браузеры, следуя рекомендациям спецификации HTTP 1.1, обычно устанавливают не более 2 одновременных соединений (это справедливо только для IE6/7, для Firefox и Opera этот параметр настраиваемый, составляет не меньше 4, по умолчанию. Для IE8, по словам Алекса Могилевского, скорее всего, будет 6) с одним хостом. При увеличении числа HTTP запросов, требуемых для отображения страницы, с 3 до 23 время, затрачиваемое именно на «чистую» загрузку объектов, от общего времени загрузки падает с 50% до всего 14% (см. Рисунок 1).

читать дальше на webo.in →

Information

Rating
Does not participate
Location
Красноярск, Красноярский край, Россия
Date of birth
Registered
Activity