Search
Write a publication
Pull to refresh
0
0
Mirror @Mirror

User

Send message

Comet–приложение для Mochiweb c нагрузкой в 1 000 000 пользователей. Часть 1/3

Reading time6 min
Views7.6K
Часть 2
Часть 3

В этом цикле статей я поделюсь тем, что я узнал опытным путем о том, как Mochiweb обрабатывает большое количество открытых соединений, и покажу, как создать Comet-приложение, используя Mochiweb, где каждое соединение зарегистрировано в маршрутизаторе. Мы закончим рабочим приложением, которое в состоянии справиться с 1000 000 параллельных соединенией, и узнаем, как много памяти нам для этого потребуется.

В части первой:
• Создание простого Comet — приложение, которое посылает клиентам сообщение каждые 10 секунд.
• Настройка ядра Linux для поддержки большого количества соединений.
• Создание тестирующей утилиты для создания большого количества соединений.
• Определение необходимого количества памяти.

Следующие части этого цикла расскажут, как построить реальную систему, покажут дополнительные уловки, чтобы уменьшить использование памяти, и содержат тесты с 100 000 и 1 000 000 параллельных соединений.

Предполагается, что Вы знакомы с bash, и немного с Erlang.
Читать дальше →

История развития и оптимизаций одного высоконагруженного ресурса

Reading time5 min
Views14K


Введение

Все началось с того, что я стал системным администратором у одного провинциального Интернет-провайдера. Помимо администрирования различного рода ресурсов, мне в присмотр достался один молодой, но бурно развивающийся ресурс. Ресурс представлял из себя классический LAMP проект. Сайт, на котором генераторами контента являлись обычные пользователи.
* К слову, в то время я ничего не понимал в *nix системах, хоть и все сервера которые мне достались, были именно на нем, разбирался я во всем этом достаточно быстро.

Как обычно бывает с ресурсами, набирающими популярность, железки на которых все крутится, перестают справляться. Ресурс стоял на стареньком двухпроцессорном сервере, на котором крутились практически все сервисы для пользователей. В то время начальство не воспринимало ресурс как нечто стоящее вложений, поэтому, к моему сожалению (а позже – счастью), денег под новую железку мне не выделяли.
Читать дальше →

На чем Опера зарабатывает деньги (aka самый часто задаваемый вопрос)

Reading time1 min
Views15K
Чаще всего пользователи браузера Opera (и не только) задаются вопросом: «Так как же вы, ребята, зарабатываете деньги?» Ответ прост:

Под катом раскроем модель садовых гномов

Разработка с использованием паттерна проектирования Model-View-ViewModel на примере Twitter клиента шаг за шагом

Reading time12 min
Views41K
Введение

Статья посвящена работе с MVVM и WPF. В ней описывается процесс разработки twitter client. Процесс разработки разбит на шаги. В конце каждого шага читатель параллельно пишущий приложение должен иметь работающее приложение. Каждый последующий шаг добавляет какую-то функциональность к написанному на предыдущем шаге. Используется thirdparty библиотека TweetSharp. Ссылку на исходный код, а так же оригинал статьи, написанный мной на английском, можно найти тут.
Статья рассчитана на новичков в WPF разработке. Но предполагается, что читатель имеет некоторый начальный опыт работы с WPF, в частности освоил data binding.
Я не буду писать зачем нужно использовать MVVM – считаю, что об этом хорошо написано в статье “Приложения WPF с шаблоном проектирования модель-представление-модель представления” от Джоша Смита. Если вы не хотите читать эту статью – просто поверьте мне – неверное спроектированное GUI в случае с WPF превращается в большую головную боль.

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

Tips & tricks в разработке букмарклетов

Reading time6 min
Views2.7K
Так получилось, что в течение нескольких месяцев я занимался разработкой букмарклетов, сделав их около десятка. Использовал как jQuery, так и native JavaScript. О том, с какими подводными камнями я столкнулся, что нового узнал и нашел — об этом пойдет речь под катом.
Читать дальше →

eBay Talent Search Contest

Reading time2 min
Views481
image

Всё больше и больше крупных IT компаний начали проводить контесты по программированию с целью набрать себе новых сотрудников — IBM, Microsoft, Google, Facebook, Yandex,… Недавно к их числу добавилась и компания eBay.

Компания eBay совместно с yodacode проводит контест, длительностью в месяц, с целью поиска новых талантов.
Читать дальше →

Графематический модуль. Выделение предложений

Reading time2 min
Views5.4K
Выделение предложений из сплошного текста – процедура необходимая для дальнейшего анализа текста в любой системе анализа естественных языков.

Что такое предложение?


Первый ответ на этот вопрос – это что-то, заканчивающееся на символы «.», «!», или «?». Но если рассмотреть встречающиеся тексты более внимательно, то можно обнаружить, что «.» используется не только для определения конца предложения, но и для аббревиатур и сокращений, а иногда выполняет обе эти роли. Вне зависимости от этого точка в 90% случаев является индикатором конца предложения (Riley 1989).
Читать дальше →

Linux: Ускоряем софтрейд и RAID6 в домашнем сервере

Reading time4 min
Views32K
Чем можно заниматься в 0 часов 0 минут в Москве? Сидеть за праздничным столом и праздновать? Как бы не так. В этот праздничный миг я хочу поделиться с вами моими сегодняшними изысканиями по тюнингу производительности софтрейда в домашнем сервере. Можно пропустить теорию и сразу читать последний абзац где основная соль.

Почему RAID-6?


Как известно, RAID-5 выдерживает смерть одного веника, и после этой самой смерти – до момента когда закончится восстановление рейда с новым винчестером ваши данные под угрозой – восстановление обычно занимало до 70 часов для больших массивов и еще один веник может легко умереть в это время.
RAID-6 выдерживает смерть 2-х любых веников. Из минусов – общепризнанное мнение что тормозит, особенно запись, даже по сравнению с RAID-5. Что-ж, проверим.
Читать дальше →

Документация по API платежных систем

Reading time1 min
Views7.3K
За прошедший год в рамках проектов довелось поработать с рядом отечественных платежных системам. После чего, помимо опыта, осталось немного документации, которой и хочу поделиться. Возможно, кому-то пригодится в будущем.
Читать дальше →

ThinkPad X201: испытание на прочность

Reading time7 min
Views64K
Ноутбук ThinkPad T410s из предыдущего материала достаточно легко отделался: мы всего лишь загружали его десятком различных программ практически постоянно на протяжении пяти дней, но работал он при этом в комфортных условиях. Вместе с нами в Санкт-Петербург отправился еще один ноутбук – компактный 12-дюймовый ThinkPad X201, и вот ему как раз достались самое сложное испытание: выжить в серии краш-тестов. В этой модели многое сделано для того, чтобы ноутбук продолжал работать после типичных «офисных» несчастных случаев или просто неаккуратного обращения. И хотя наш экземпляр с честью выдержал все издевательства, пострадав только по части внешнего вида, на всякий случай отмечу: такие эксперименты с вашим собственным ThinkPad в любом случае лишат вас гарантии :)

Внутри – описание линейки ThinkPad X201, краткий обзор доступных в продаже моделей, немного тестов и три видеоролика с испытаниями.
Читать дальше →

Расширение Opera: поиск по открытому сайту

Reading time2 min
Views3.9K
16 декабря вышла финальная версия браузера Opera 11. Одно из ключевых нововведений – расширения, которые позволяют легко добавлять в браузер нужные вам функции. Для знакомства с новым API я решил разработать расширение, которое будет выполнять поиск по открытому (в текущей вкладке) сайту (не путать с Ctrl+F).
Читать дальше →

Жрецы программирования

Reading time4 min
Views7K
Совсем недавно я понял, отчего многие программисты, использующие PHP, отличаются от программистов «в целом». Основой для моего понимания стали слова Руслана Косолапова: «Это PHP. Понять невозможно, только запомнить». А ведь действительно, это так. Объясню, почему.
Читать дальше →

Современные «письма счастья» или «Менеджеры верят в ангелов»

Reading time7 min
Views27K
Статья посвящена одной из проблем Информационной Безопасности – борьбе с последовательными рассылками, которые также называются “письма счастья” в честь рукописных прародителей. Первые подобные сообщения под названием «небесные» или «святые письма» (Himmelsbriefe) появились в средние века. Однако, мы не будем отвлекаться от темы, и рассмотрим угрозу “писем счастья” с точки зрения Информационной Безопасности:

Скрытая опасность “писем счастья” и аналогичных последовательных рассылок



Многим понятно, что данные рассылки создают паразитную нагрузку на корпоративное оборудование и каналы связи. Это на самом деле так, однако, это не самая большая опасность: создание подобной цепочки является одним из механизмов получения базы достоверных адресов спамерами. Еще большая опасность кроется в “засветке” штатной структуры предприятий, что позволяет злоумышленникам использовать эту информацию в самых разнообразных целях. А самая большая опасность, вообще на первый взгляд незаметна – это социальная инженерия, по выявлению потенциально ненадежных и легко поддающихся влиянию извне сотрудников. Получив подобный список, злоумышленники могут использовать эту информацию в самых разнообразных целях.
К примеру
Читать дальше →

Основы Linux от основателя Gentoo. Часть 3 (4/4): Настройка пользовательского окружения

Reading time8 min
Views39K
Заключительная глава третьей части серии руководств Linux для новичков. Основы конфигурирования рабочей оболочки, настройка переменных окружения, а также подведение итогов всей третьей части.

Навигация по основам Linux от основателя Gentoo:

Часть I:
  1. BASH, основы навигации
  2. Управление файлами и директориями
  3. Ссылки, а также удаление файлов и директорий
  4. Glob-подстановки
Читать дальше →

Практические советы тем, кто хочет построить веб-сообщество ч.4

Reading time4 min
Views1.2K
Вот созрела и 4-ая часть моей статейки с советами стартаперам, основанной на примере развития своего проекта — сообщества автотуристов.

Предыдущие части: Часть 1, Часть 2 и Часть 3

Глава 10. Где же мои рекламодатели?

image

В 9-ой главе предыдущей части я писал про необходимость составления и рассылки презентации, наглядно показывающей Вашим потенциальным рекламодателям все рекламные возможности Вашего проекта, краткий срез его аудитории и условия сотрудничества. Но главный вопрос я так и оставил не раскрытым: а куда слать-то презентацию и, послав, как понять, что она не покоится в «Спаме» ящика рекламодателя, а, хотя бы, была прочитана.
Читать дальше →

В OpenBSD пока не найдено бэкдоров ФБР

Reading time2 min
Views2.8K
Ведущий разработчик OpenBSD, канадский программист и хакер Тэо де Раадт (Theo de Raadt) восстановил события десятилетней давности, когда создавался стек протоколов шифрования IPSec. Он называет имена двух основных разработчиков стека (как сейчас выяснилось, они выполняли заказы для ФБР) и пишет, что написанный ими код до сих пор используется в ключевых модулях системы и не только в IPSec.

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

С одной стороны, проверена только малая часть кода. С другой стороны, есть основания полагать, что бэкдоров нет вообще. Разбирательство продолжается.
Читать дальше →

Google Earth Pro запретили

Reading time1 min
Views38K
Как сообщает портал Неогеография, приостановлены на неопределённое время официальные продажи на территории России профессиональной версии Google Earth.

Предполагаемая причина — нежелание Google скрывать режимные объекты по требованию госструктур. Но мы то знаем истинную причину, он просто не выдержал конкуренции с геопорталом Роскосмоса!

PS Новость вполне серьезная, для примера что было и как стало

Политика управления частотой процессора «ondemand» и iowait в Ubuntu

Reading time2 min
Views33K
В современных версиях Ubuntu по умолчанию включена политика управления частотой процессора «ondemand». Эта штука весьма полезна в плане энергосбережения, поскольку устанавливает частоту процессора на минимально возможную, когда нагрузка на процессор невелика.

Однако, недавно я заметил, что у неё есть один недостаток: «ondemand» воспринимает нагрузку на процессор, вызванную операциями ввода-вывода, как «idle». Что это значит? Это значит, что при загрузке процессора операциями ввода-вывода частота процессора зачастую остаётся на пониженном уровне, что создаёт проблемы, если ваша система страдает от печально известного линуксового бага с iowait.
Как это исправить?

5 основных ошибок интернет-магазинов

Reading time7 min
Views20K
Приятно удивившись ажиотажу вокруг предыдущего материала, я решил пойти дальше. На этот раз, под прицелом – интернет-магазины. Их ошибки, глупости и т.п.

image

Итак…

1. Отсутствие фирменной концепции (логотипа, слогана, и т.п.).


Первое, во что упирается мой взгляд при заходе на страницу – логотип сайта и слоган под ним. И благо, если на сайтах магазинов есть хотя бы логотип. Из 50 магазинов, выданных гуглом по разным конкурентным запросам, логотипа не было у 6. Не так уж и много, но и не так уж мало.

Многие владельцы интернет-магазинов банально не понимают (лично спрашивал) – огромная часть продаж строится на бренде. У человека в голове есть ряд ячеек, заполненных брендами известных фирм. К примеру, «наушники – Koss», «операционная система – MacOS X», «газировка – Coca-Cola», и т.д. и т.п. Первоочерёдная задача фирменой концепции – заполнить ячейку «интернет-магазин — ?» вашим названием. Тогда пользователь будет возвращаться снова и снова.
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity