Архив за 29 октября 2013 - 6

Мы уже писали о том, как организована работа поиска писем в Яндекс.Почте. С тех много всего изменилось и улучшилось, поэтому мы решили поделиться опытом и рассказать вам об этих изменениях.

В день в Почту приходит порядка 100M писем, 10M из которых — с аттачами. Несмотря на то, что лишь 10% писем содержат вложение, среди писем с вложениями существенная доля тех, в которых файлов больше одного. В среднем получается, что общее количество писем равно суммарному количеству аттачей к ним.

image

Средний размер письма с аттачем составляет 400 кб, а письма без аттача 4 кб. Суммарный размер аттачей в одном письме может достигать 30 мб. ТОП 10 типов аттачей: .jpg, .pdf, .xls, .rar, .doc, .zip, .eml, .mp3, .tif, .docx. Практически все файловые форматы кроме текстового, содержат существенное количество избыточно служебной информации. Так например: .docx формат, содержит всреднем всего 10 % текстовой информации, а из jpg мы получаем всего 0,25% метаинформации для индексации в поиск.

Это дает суммарный объем входящего трафика порядка 25 Тб в сутки, который увеличивается в разы, чтобы обеспечить функционирование большого и сложного продукта Почта. Для обслуживания такой нагрузки в Яндекс.Почте создана большая сетевая, серверная и сервисная инфраструктура, в которую входит несколько кластеров, распределенных по разным датацентрам.
Читать полностью »

Для обеспечения работы всех наших внешних продуктов мы используем популярный nginx. Это быстро и это надежно. Проблем с ним почти нет. Наши продукты также постоянно развиваются, появляются новые сервисы, добавляется новый функционал, расширяется старый. Аудитория и нагрузка только растет. Сейчас мы хотим рассказать о том, как мы ускорили разработку, неплохо увеличили производительность и упростили добавление в наши сервисы этого нового функционала, при этом сохранив доступность и отказоустойчивость затронутых приложений. Речь пойдет о концепции “nginx as web application”.
А именно, о сторонних модулях (в основном LUA), позволяющих делать совершенно магические вещи быстро и надежно.
image
Читать полностью »

На сайте компании PLX Technology, специализирующейся на аппаратных и программных решениях с поддержкой PCI Express (PCIe), появилось сообщение о том, что этот производитель вошел в организацию OpenFabrics Alliance (OFA). Усилия OFA направлены на повышение эффективности вычислительных систем за счет обеспечения максимальной пропускной способности и минимальных задержек в ОС Linux и Microsoft Windows Server.

Читать полностью »

С компьютерами я познакомился очень давно. В те времена, когда «мышка» была чем-то экзотическим даже среди немногочисленных пользователей ПК. Ибо эра Windows еще не наступила, а в остальном спокойно обходились без нее. Даже эпизодические запуски Windows 3.1 были скорее экспериментальными, чем рабочими.

Но со временем этот манипулятор стал все более и более востребованным. А уж с выходом в 1995 году Windows 95 и вовсе незаменимым. Переход в исключительно графическую среду привел к тому, что «мышка» редко покидала мою руку.

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

Смартфоны iconBIT до сих пор мне на глаза практически не попадались. Хотя в портфолио бренда во вкладке «смартфоны» уже восемь моделей, включая объект данного обзора и любопытные «трендовые» часы-смартфон iconBIT Callisto 100. Модель iconBIT NetTAB Mercury Q7, о которой пойдет речь, впервые была показана публике на IFA 2013 в сентябре, а уже в октябре появилась новость о поступлении новинки в продажу.

В первую очередь устройство примечательно своим формфактором «лопата» фаблета, сочетающимся с 6,5-дюймовым экраном формата Full HD. Выборка предложений на «Яндекс.Маркете» по этим двум параметрам (заданные диагонали – от 6 до 7 дюймов) показала всего четыре модели. Если отбросить пару аппаратов с сомнительными шансами наличия метки «РСТ», в конкурентах остается Sony Xperia Z Ultra с ценником, превышающим 20 000 рублей (~$625), – против 11 990 рублей (~$375) за модель iconBIT. В общем, классический пример блицкрига в свободной ценовой нише.

Обзор iconBIT NetTAB Mercury Q7: единственный 6,5 дюймовый смартфон в РоссииЧитать полностью »

Приветствую всех читателей и писателей хабра.

Хочу познакомить вас с компактным фреймворком (4.44KB gzipped, 14.04KB uncompressed), который позволяет несколько изменить взгляд на структурирование приложений. В «Матрешку» вложено чуточку магии, раскрыть которую позволит серия статей, озаглавленных следующим образом:

  • Введение
  • Наследование
  • MK.Object
  • MK.Array

Код для привлечения внимания:

mk.on( 'change:x', function() {
	alert( 'x is changed to ' + this.x );
});
mk.x = 2; // alerts "x is changed to 2"

И это работает в… IE8.

Что такое Матрешка?

Матрешка, как фреймворк
Компактный размер и легкая в изучении архитектура даёт возможность строить крупные расширяемые приложения. Этим сегодня никого не удивишь, но я постараюсь.
Матрешка, как библиотека
Если фичи, предоставляемые Матрешкой вам понравятся, то не обязательно менять свой код. Матрешкой можно пользоваться, как набором классов с интересными методами.
Матрешка, как платформа для создания собственного фреймворка
Матрешка — расширяемый фреймворк общего назначения, который не позиционируется, как MVC, MVVM или %your_design_pattern% фреймворк, поэтому программист имеет возможность реализовать собственную архитектуру, которая будет уметь желаемый набор шаблонов проектирования.

Зачем?

Мне часом надоело думать о представлении и о том, чтоб его менять написанным мной кодом. Все костыли синхронизации данных и представления в Javascript вызывают у меня негативные чувства, и амбиционной, направленной в будущее, целью Матрешки является возможность полностью забыть о том, что у нас есть UI, оперируя только данными. Конечно же, решить эту задачу невозможно на 100%, но мы, программисты, должны выжимать максимум из данных нам инструментам, дабы сделать код чище, короче и гибче. Пора встряхнуть свой код и стать злым.

Гифка для привлечения внимания

Matreshka.js — Введение

Читать полностью »

Мобильный офис

Мобильный офис — крутая штука. Можно получать доступ к рабочим приложениями и документам с планшета или смартфона. Тем, кто работает в дороге или в командировках это экономит время, кто часто «в поле» — просто необходимо, а тем, кто в офисе — более чем удобно.

Правда, с точки зрения безопасников, каждый смартфон или планшет — это дыра в ИБ размером с карьерный самосвал. Поэтому чтобы всё это заработало, нужно выстроить процесс управления мобильными устройствами сотрудников. Как личных, так и закрепленных на корпоративном уровне. И решения для этого есть, в том числе и «из коробки».

После того как мы говорим, что можно, например, задать политику отключения камеры смартфона на территории охраняемой зоны, многие начинают просто лучиться счастьем.Читать полностью »

Запуск обновления Drupal.org подтвержден. На 28-е октября 0 критических ошибок обновления и тесты производительности выглядят неплохо, поэтому дата запуска назначена на четверг, 31-е октября 2013.

Drupal.org будет выключен примерно на 24 часа во время деплоя. Читать полностью »

Это моя первая публикация на сем ресурсе, посему, прошу отнестись с пониманием к допущенным мною ошибкам.

RMI — весьма банальная задача для ЯП, поддерживающих интроспекцию. Но, С++, к сожалению, к ним не относится.

В данной публикации я хочу продемонстрировать возможность реализации весьма юзабильной RMI средствами С++ препроцессора.

Постановка задачи

1. Предоставить максимально простой синтаксис, чтоб невозможно было допустить ошибку.
2. Идентификация(связывание) процедур должна быть скрыта от пользователя для того, чтоб невозможно было допустить ошибку.
3. Синтаксис не должен накладывать ограничения на используемые С++ типы.
4. Должна присутствовать возможность версионности процедур, но, так, чтоб не ломалась совместимость с уже работающими клиентами.
Читать полностью »

image

Компания Motorola заявила о старте проекта Ara, в рамках которого планируется разработать модульные смартфоны, состоящие из заменяемых элементов. Владея таким устройством, пользователь сможет при желании заменить, например, экран, процессор, фотомодуль и т. д.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js