понедельник, 26 апреля 2010 г.

Ericsson входит в долю с LG


Компания Ericsson заключила соглашение о покупке принадлежащего Nortel контрольного пакета акций (50%+1 акция) в совместном предприятии компаний LG Electronics и Nortel Networks — LG-Nortel. Сделка должна быть одобрена соответствующими регулирующими органами.



Данное приобретение позволит Ericsson значительно увеличить свое присутствие на корейском рынке и получить налаженный канал продаж, а также хорошие возможности для проведения научно-исследовательских работ в стране. Более того, в результате сделки Ericsson получит производственную базу и возможность установления взаимоотношений с новыми клиентами.


У СП заключены важные контракты с корейскими операторами, такими как KT, LG Telecom и SK Telecom.


LG-Ericsson станет одним из крупнейших игроков на телекоммуникационном рынке Кореи.


«Корея является одним из крупнейших телекоммуникационных рынков, где наблюдается повышенный спрос на новые услуги. Укрепление наших позиций за счет сотрудничества с нашим новым партнером LG Electronics позволит нам лучше подготовиться к дальнейшему переходу на новые технологии, такие как LTE», — заявил Ханс Вестберг (Hans Vestberg), президент и главный исполнительный директор Ericsson.


«Компания LGE рада, что нашим новым партнером в этом совместном предприятии стала компания Ericsson, — сообщил Йонг Нам (Yong Nam), вице-председатель и главный исполнительный директор LG Electronics. — Опыт работы Ericsson на рынках по всему миру и технические решения Ericsson пойдут на благо и клиентам, и сотрудникам. Мы с нетерпением ждем начала нашего плодотворного сотрудничества».


«Благодаря лидирующей позиции Ericsson на телекоммуникационном рынке, LG-Ericsson сможет представить на корейском рынке передовые технологии и средства поддержки клиентов. Мы чрезвычайно рады новым перспективам нашей компании», — заявил Дже Рюнг Ли (Jae Ryung Lee), главный исполнительный директор LG-Nortel.


СП было основано в 2005 году путем объединения подразделения LG Electronics, занимающегося телекоммуникационными системами, и подразделения Nortel, осуществляющего сбыт продукции на корейском рынке. Основной задачей СП являются разработка и вывод на рынок крупных телекоммуникационных систем, таких как WCDMA, CDMA и LTE, предназначенных для поставщиков услуг связи в Корее, а также корпоративных продуктов и услуг. В 2009 году объем продаж LG-Nortel составил примерно 650 млн долларов США, а штат насчитывал 1300 человек.


Главный офис СП останется в Республике Корея в Сеуле.


В июле 2009 года Ericsson и правительство Кореи заключили договор о сотрудничестве в области создания «зеленой» экосистемы на базе технологий 4G. Ожидается, что опыт СП LG-Ericsson позволит ему внести свой вклад в эту инициативу.


Как ожидается, сделка окажет позитивное влияние на рост прибыли Ericsson уже через год.


В данной сделке в качестве эксклюзивного финансового советника Ericsson выступает банк SEB Enskilda.


ГНАУ начала блокировать подачу отчетов через Интернет - HITech.Expert


Районные инспекции Государственной налоговой инспекции Украины (ГНАУ) в г.Киев начали блокировать предпринимателям возможность подачи отчетов в электронном виде через Интернет. Об этом сообщает HITech.Expert со ссылкой на жалобы киевских предпринимателей.


В частности в пятницу 16 апреля 2010 года во многих районных налоговых инспекциях были заблокированы шлюзы приема отчетов в электронном виде для многих предприятий города.

Выяснить причины принятия такого решения, граничащего с произволом, а также количество пострадавших от данного решения предприятий HITech.Expert выяснить не удалось.

Как объяснили изданию в пострадавших компаниях ГНАУ считает свои действия законными, поскольку блокирует возможность сдавать отчетность в электронном виде только тем предприятиям, которые не находятся по месту своей регистрации.

Всем пострадавшим компания пришлось сдавать отчеты в бумажном виде. При этом отчеты не принимались с заявленной суммой налоговой кредита, а подаче отчета предшествовало неформальное общение руководства компании с сотрудниками районной налоговой милиции.

Маленький штрих, если до 16 апреля 2010 года сервер приема отчетов работал в круглосуточном режиме, то с обозначенной даты прием отчетов в нерабочее время заблокирован, что позволяет сделать предположение о том, что осуществляется переход на ручной контроль входящей информации.

Комментарий HITech.Expert: На сегодняшний день ЭЦП в Украине реально используется только для подписи и подачи отчетов в налоговые органы и органы Пенсионного фонда Украины. При этом предприниматели за собственные деньги покупают возможность подавать отчеты в электронном виде (подключение к Интернету, сертификаты ЭЦП, программное обеспечение и прочее) в контролирующие органы. А подобные факты свидетельствую о том, что подача электронной отчетности становится привилегией для предпринимателей. Какое информационное общество строит Украина?



воскресенье, 25 апреля 2010 г.

Красное вино защищает мозг


red_wineУченые из Медицинской школы при Университете Джонса Хопкинса (США) обнаружили, что красное вино защищает мозг от повреждений после инсульта.



Защитные свойства благородному напитку обеспечивает ресвератол — химическое соединение, присутствующее в кожуре и косточках красного винограда. Это вещество снижает свертываемость крови и препятствует образованию тромбов в сосудах мозга. В результате повреждения мозга после инсульта уменьшаются на 40%.


Это наблюдение подтверждает версию о том, что ресвератол повышает уровень фермента, защищающего нервные клетки мозга от разрушения. Предыдущие исследования также показывали, что ресвератрол сдерживает процессы старения, способствует выздоровлению после вирусной инфекции, предотвращает формирование кровяных бляшек и противодействует раку, пишет compulenta.ru.


Эксперты провели исследование на мышах: через два часа после приема частью грызунов небольшой дозы ресвератола ученые прерывали у них мозговое кровообращение, чем провоцировали образование тромбов или ишемический инсульт. У получавших ресвератол мышей мозг повреждался не столь значительно.


life:) меняет бренд и тарифы


turkcell-logoМобильный оператор «Астелит» (ТМ life:)) меняет рыночную стратегию. Оператор проведет массированную кампанию по качеству своей сети, сменит тарифы и бренд, который будет включать больше цветов, основные из которых – желтый и голубой.




Об этом в интервью газете “Коммерсантъ-Украина” сообщил генеральный директор «Астелита» Тансу Еэн.


“Прежде всего изменения коснутся наших корпоративных цветов, логотипа и девиза компании. Раньше он звучал “Возможно все!”, теперь он меняется на “Стремись к лучшему!”, — отметил Еэн. — Старый слоган мы использовали последние три года. И обратили внимание на то, что конкуренты перенимают очень многое из нашего бренд-стиля. Иногда при просмотре рекламного ролика сложно понять, наш это ролик или одного из конкурентов. Увы, пока не имею права показать новый бренд, но его стиль включает в себя больше цветов, главные из которых – желтый и голубой. По той простой причине, что мы единственный оператор, у которого есть украинские акционеры. Изменения начнутся с 24 апреля”.


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


Оператор также сменит тарифную политику.


“Цена больше не является нашей главной отличительной чертой. Мы будем фокусироваться на продукте, его качестве и характеристиках, а не на том, дорогой это продукт или дешевый. Новое позиционирование базируется на справедливом соотношении цены и качества. Но наша справедливая цена все еще может оставаться наиболее низкой”, — заявил Тансу Еэн.


Первый украинский конкурс в жанре «SMS-литература»


23 апреля, 121 год назад, Антон Павлович Чехов в письме брату написал фразу, ставшую крылатой: «Краткость — сестра таланта». По случаю Дня рождения этого известного афоризма МТС в сотрудничестве с информационным журналом «Харьков – что? где? когда?» и литературным журналом «Союз писателей» впервые в Украине учредили премию за лучшее произведение в абсолютно новом для страны жанре – «SMS-литература».



Особенностью литературной премии станет необычно краткий формат конкурсных работ. Законченное литературное произведение необходимо уместить в 160 символов – стандартное количество знаков, которое можно передать в одном SMS-сообщении.


Харьков – первый украинский город, жители которого могут попробовать свои силы в жанре микро-литературы. Все конкурсные работы должны быть посвящены Харькову. Начиная с 1 августа, наиболее интересные произведения будут радовать харьковчан на биг-бордах города. Победитель и призеры премии будут объявлены во время празднования Дня города 23 августа, ровно через четыре месяца с момента объявления премии.


«Совсем недавно, 12 апреля, мы отмечали 16-летие мобильной связи в Харькове. Целое поколение выросло с тех пор, как в Харькове раздался первый звонок по мобильному. Нынешние ровесники мобильной связи воспринимают телефон, как привычную и необходимую в повседневной жизни вещь. Абоненты МТС в Украине ежедневно отправляют около 8 млн. текстовых сообщений. Текст в формате SMS стал так же естественен, как письмо, статья или рассказ. Шестнадцать лет назад мы творили историю, запускали первую в Харькове сеть мобильной связи. А сегодня предлагаем новаторский для Украины формат, который, надеемся, вдохновит поколение «SMS» к литературному творчеству, и, возможно, поможет открыть в себе талант писателя», – отметил Василий Петровский, директор Северного территориального управления МТС-Украина.


«Отличная идея оператора мобильной связи МТС. Я надеюсь, что она сможет приобщить большое число харьковчан к литературному процессу. Мне сейчас даже трудно предположить тот спектр текстов, который нам прийдется прочитать. Главное в этом проекте – использование дискурса классической литературы в современных технологиях и использование массового объекта коммуникаций для творчества. А вдруг за SMS-рассказами будущее?»,– говорит Константин Мациевский, главный редактор информационного журнала «Харьков – что? где? когда?».


Работы будут приниматься с 23 апреля до 23 июля. Чтобы претендовать на получение премии, участнику необходимо прислать свое литературное произведение, посвященное родному городу, в SMS-сообщении со своего мобильного телефона на номер 095 380 23 08. В конкурсе могут принимать участие абоненты всех мобильных операторов. Стоимость отправки соответствует стандартной стоимости SMS в тарифном пакете. Абоненты тарифного плана «Супер МТС + SMS» могут отправлять сообщения на номера МТС всего за 1 копейку. Сообщение должно содержать не более 160 символов, это стандартная длина 1 SMS-сообщения, набранного латинским шрифтом. Помимо технических критериев, жюри конкурса будет оценивать художественную ценность произведения, а также соответствие тематике конкурса.


Первопроходцем в написании собственных литературных произведений на языке SMS был китайский литератор Кан Фучан. Еще в 2004 году в произведении под названием «По ту сторону осажденной крепости» он рассказал о «наполненной страстью истории запретной любви между женатым мужчиной и замужней женщиной». Каждая из шестидесяти глав романа состоит из семидесяти иероглифов – это максимальный размер SMS-сообщения. Помимо невиданного формата роман обладает неоспоримыми художественными достоинствами. В 2005 году в Китае была основана премия «SMS Literature Awards», раздающая золотые, серебряные и бронзовые статуэтки авторам лучших SMS-произведений.


Еще до китайского эксперимента специалисты компании Microsoft сократили «Илиаду» Гомера до SMS-размера. После «перевода» первых 5 из 24 книг поэмы (в подлиннике Гомера 37 000 слов) у специалистов из Microsoft получилось 32 SMS-послания. Текст античной «Илиады» оказался написан современным подростковым языком и изобиловал «смайликами» и сердечками.


В Великобритании классические тексты активно переводят на язык SMS-сообщений. К примеру, знаменитый монолог Гамлета «Быть или не быть?» («To be or not to be? That is a question») теперь выглядит так: 2b?Ntb?=? Мода на мобильные книги привела к тому, что уже создаются целые библиотеки подобных текстов.


Представители Библейского общества Австралии перевели на язык SMS все 31 173 библейских стиха и утверждают, что в таком виде текст Библии остался неизменным, другим стало лишь «правописание».


Microsoft и Facebook запустили Docs.com


docscomMicrosoft все больше внимания уделяет использованию социальных элементов в своих программных продуктах и онлайновых решениях. На днях совместно с социальной сетью Facebook корпорация Microsoft представила новый онлайновый сервис работы с документами Docs.com.



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


Сервис умеет работать с документами в форматах Word, Excel и Power Point. Пользователи сервиса могут делать доступными свои документы для своих друзей из социальной сети Facebook, при этом доступна настройка списка друзей – документы можно открывать для всех или только для некоторых пользователей. Список документов, над которыми работает пользователь, можно отображать на своей странице в Facebook.


Для работы с сервисом достаточно быть зарегистрированным в Facebook. Пока сервис работает в режиме закрытого тестирования и поэтому он недоступен всем желающим.


Сервис Docs.com создан на основе разработок Microsoft, в частности – онлайнового офисного пакета Microsoft Office 2010. Документы можно создавать непосредственно в окне браузера через интерфейс Docs.com либо с помощью клиентской версии Microsoft Office – оффлайнового набора приложений последней версии пакета.


суббота, 24 апреля 2010 г.

Делаем ленту обновлений на MongoDB + PHP

Делаем ленту обновлений на MongoDB + PHP


Вы, конечно, много раз видели ленту обновлений на фейсбуке и твиттере. В двух словах — это список событий, которые произошли недвано на сайте и касаются Вас (чаще всего это деятельность Ваших друзей). Это очень удобный инструмент информирования пользователей и неотъемлемая часть современных социальных проектов. А как обстоит дело с реализацией?


На первый взгляд все очень просто, а на практике все сложно. Давайте разберемся детально (на примере MongoDB + PHP, заодно посмотрим на эту новую шумную СУБД).


Что такое эта “лента обновлений”?


лента обновлений


На этом скрине Вы видите ленту обновлений или “news feed” с фейсбука (facebook.com). Там представлены все события Ваших друзей.


Как будем делать? На первый взгляд все кажется довольно просто. У нас есть ограниченный набор действий (загрузить фото, обновить статус и т.п.). Для реализации подобной ленты новостей нужно выбрать все такие действия для каждого друга и отсортировать их по времени. Но сразу же становится видна недальновидность такого подхода:



  • Очень тяжелые выборки в нескольких таблицах (выбрать все фотки, все статусы и т.п.)

  • Требуется дополнительная сортировка и агрегирование данных на стороне системы (а не СУБД)

  • Кеширование будет неоправданным, т.к. сделает ленту неактуальной

  • Решение не масштабируется (не возможен шардинг)


Проведем небольшой анализ:



  1. Новые события в ленте могут появляться довольно динамично и сразу должны становиться доступны друзьям (загрузил фотку — друзья сразу об этом узнали). Тем не менее короткие задержки тут не критичны (в пределах минут).

  2. Продвинутый функционал ленты обычно включает в себя управление приватностью (кто из друзей и какие действия может видеть)

  3. Решение должно горизонтально масштабироваться. Учитывая то, что в больших системах количество генерируемых событий будет огромным, это самый важный момент


Архитектурное решение


Для начала уйдем от необходимости собирать все события с разных таблиц. Создадим одну таблицу типа “обновления” и будем складывать туда все события с такой информацией:



  • кто совершил действие (автор)

  • время действия

  • доп. данные о действии (напр., список загруженных фоток)


Для генерации ленты обновлений нам нужно выбрать из этой таблицы все действия, совершенные друзьями пользователя:


SELECT * FROM updates WHERE user_id IN (1,2,3,4) ORDER BY time DESC

Тут 1,2,3,4 — это ID друзей пользователя


Уже лучше. Сортировку можно делать прямо на стороне СУБД, не нужно делать дополнительную агрегацию. Но остаются следующие проблемы:



  • Таблица не шардится (ее невозможно разделить по какому-либо критерию для горизонтального масштабирования ввиду неопределенности списков друзей)

  • Учитывая возможный большой размер таблицы, запросы к ней могут быть очень медленными

  • Если понадобится учитывать приватность сообщений, запросы будут крайне тяжелыми


Опять не подойдет, думаем дальше:


Генерация пользовательской ленты


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



  1. Выбераем список друзей пользователя

  2. Проверяем правила приватности для каждого из них

  3. Вставляем событие в персональную ленту тем, кому нужно


В этом случае мы избавляемся от проблемы медленной генерации ленты, т.к. ее теперь не нужно генерировать. Мы просто читаем ее из СУБД (элементарный запрос, никаких преобразований). Самое важное — пользовательская лента теперь на 100% персональная (из нее даже можно что-нибудь удалить, не затронув остальных пользователей).


Но теперь при каждом событии будет выполняться довольно много операций проверок и вставки события в нужную ленту. Это может очень замедлить работу сайта. Выход очень простой. Все эти действия очень хорошо подходят для выполения на фоне (смотрите очереди сообщений). Например:



  1. Пользователь загружает фотку

  2. Обрабатываем его запрос, сохраняем фото и отправляем пользователю ответ

  3. В фоне (асинхронно) выполняем обработку события и обновляем ленты его друзей


Платформа


Для управления лентами нам понадобятся простые операции работы со списками: добавить/удалить элемент, сортировка и возможно фильтрация.

Понятно, что использовать тяжелую СУБД, такую как MySQL, нецелесообразно для таких простых операций. Очень хорошо в этом случае подойдет, например, Redis или же MongoDB.


В этом примере мы рассмотрим реализацию на основе MongoDB. Для хранения ленты будет использовать внутренний массив документа. В качестве клиентской реализации используем PHPMongo.


Для выполнения задач на фоне можно использовать любую удобную систему очередей (например, RabbitMQ).


Пример


Для начала опишем главную функцию — вывод ленты обновлений (функцию get_feed() опишем позже):



<?
# Получаем ленту
# $user_id содержит идентификатор текущего пользователя
$feed = get_feed($user_id);

echo "<h3>Что делают Ваши друзья</h3>";

# Выводим все события из ленты
foreach ( $feed as $feed_item )
{
# Время, имя пользователя и текст события
echo "{$feed_item['time']} :: {$feed_item['user_name']} {$feed_item['text']}<br />";
}

Обновление ленты


Теперь посмотрим, как будет выглядет типичное действие, которое обновляет ленты друзей пользователя. Например, пользователь меняет свой статус. Обработчик будет выглядеть следующим образом:



<?
$status = $_POST['status'];

# коннектимся к Mongo (по умолчанию — localhost:27017)
$m = new Mongo();

# Обновляем статус пользователя (БД user, коллекция status)
# "'upsert' => true" — вставить запись, если ее нет
$m->user->status->update(
array('user_id' => $user_id),
array('$set' => array('status' => $status)),
array('upsert' => true)
);

# Регистрируем событие для лент (реализация дальше)
update_feed($user_id, 'обновил статус: ' . $status );

Регистрация события


В предыдущем кусочке кода функция update_feed() регистрировала событие для добавления в ленты друзей. Реализация этой функции будет следующая:



<?
function update_feed($user_id, $text )
{
# Получаем список друзей пользователя
$friends = get_friends($user_id);

$m = new Mongo();

# Вставляем событие каждому другу в ленту
foreach ( $friends as $id )
{
# Получаем имя друга
$user_name = get_user_name($id);

# $data = array(
'time' => date('H:i (m.d)'),
'user_name' => $user_name,
'text' => $text
);

# Вставляем событие в массив Mongo-объекта "list"
# БД user, коллекция feed
$m->user->feed->update(
array('user_id' => $user_id),
array('$push' => array('list' => $data)),
array('upsert' => true)
);
}
}

Чтение ленты


Осталось описать функцию чтения ленты для пользователя:



<?
function get_feed($user_id)
{
$m = new Mongo();

# Выбираем события из БД
$data = $m->user->feed->findOne( array('user_id' => $user_id) );

return $data['list'];
}

Некоторые замечания


Нужно следить, чтобы количество элементов в массиве не росло очень сильно (например, сотни тысяч), иначе объекты будут очень тяжелыми. Массивы необходимо периодически обрезать (пока в MongoDB нет удобного механизма это делать — надеюсь, появится).


Для реализации приватности необходимо в функцию update_feed() добавить функционал по проверке прав доступа для каждого пользователя.


В MongoDB пока довольно ограниченный набор функционала с вложенными массивами, поэтому фильтрацию ленты (если понадобится) придется делать на стороне PHP. Будем следить за развитием MongoDB.


Не забудьте поставить индексы на колонки по которым делаете выборки в Mongo (как это делать?).



Google Bookmarks Digg I.ua Ru-marks Ruspace Zakladok.net Reddit delicious Technorati Yahoo My Web News2.ru БобрДобр.ru Memori.ru rucity.com



Related posts:

  1. Твиттер на основе MemcacheDB и PHP
  2. PHP + Redis платформа “Ключ=Значение”
  3. Mongo DB — документо-ориентированная база данных и MySQL