Архив за 07 августа 2013 - 6

Игорь Магазинник о том, умрет ли SMS окончательно, кого боятся мобильные операторы и какое мобильное будущее нас ждет завтра.
Читать полностью »

DKIM в Яндекс.Почте для доменов — как развивается безопасность электронной почтыНедавно и в Яндекс.Почте для доменов у писем появилась цифровая подпись DKIM — DomainKeys Identified Mail.

DKIM — это технология, которая удостоверяет подлинность отправителя письма с помощью добавления цифровой подписи, связанной с именем домена. По статистике Яндекс.Спамообороны, в настоящее время уже половина приходящих на сервера Яндекс.Почты писем содержат верную цифровую подпись. И постепенно их становится всё больше — два года назад такие письма составляли 35% ото всех.

В Яндекс.Почте цифровая подпись служит для борьбы со спамом и фишингом. До появления DKIM одним из факторов, с помощью которых Спамооборона понимала нежелательность письма, была верификация отправителя при помощи SPF — Sender Policy Framefork, над которым за время его существования успело поработать множество рабочих групп, включая рабочую группу MARID в IETF.

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

IBM открывает технологию POWER и создаёт консорциум OpenPOWER

Компании IBM, Google, NVIDIA, Mellanox и Tyan вчера объявили о формировании консорциума OpenPOWER — открытого альянса вокруг микропроцессорной архитектуры POWER.

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

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

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

Недолго ждать пришлось первых блокировок сайтов по закону, вступившему в силу с 1-го Августа:

Московский городской суд:

Вместе с тем, суд обязал Федеральную службу по надзору в сфере связи, информационных технологий и массовых коммуникаций и иных лиц прекратить создание технических условий, обеспечивающих размещение, распространение и иное использование вышеуказанных многосерийных фильмовна сайтах rutor.org и turbofilm.tv информационно-телекоммуникационной сети «Интернет».

www.mos-gorsud.ru/news/?id=702

Скрытый текст

Судья Московского городского суда Алексей Князев по итогам рассмотрения двух заявлений ЗАО «Сейчас» о принятии предварительных обеспечительных мер, направленных на обеспечение защиты исключительных прав на фильмы, размещенные в информационно-телекоммуникационной сети «Интернет», вынес определения об удовлетворении требований правообладателя.

Так, в частности, представители ЗАО «Сейчас» просили суд принять предварительные обеспечительные меры, направленные на обеспечение защиты исключительных прав на многосерийные фильмы «Интерны», «САШАТАНЯ», «ХБ», «Универ. Новая общага», которые, по утверждению заявителя, размещены на сайте rutor.org в информационно-телекоммуникационной сети «Интернет», а также на фильмы «TheITCrowd/Компьютерщики (Series 1/1 – 4/4 сезон)», размещенные на сайте turbofilm.tv информационно-телекоммуникационной сети «Интернет» без разрешения правообладателя.

Согласно определениям суда, заявления о принятии предварительных обеспечительных мер подлежит удовлетворению, так как документы, подтверждающие факт использования вышеуказанных многосерийных фильмов, а равно документы, отражающие исключительные права ЗАО «Сейчас» на использование этих фильмов через сеть «Интернет» на территории России, в суд при подаче заявления представлены.

Вместе с тем, суд обязал Федеральную службу по надзору в сфере связи, информационных технологий и массовых коммуникаций и иных лиц прекратить создание технических условий, обеспечивающих размещение, распространение и иное использование вышеуказанных многосерийных фильмовна сайтах rutor.org и turbofilm.tv информационно-телекоммуникационной сети «Интернет».

Кроме того, ЗАО «Сейчас» может подать исковое заявление по требованию, в связи с которым судом приняты меры по обеспечению имущественных интересов заявителя, в течение пятнадцати дней со дня вынесения судом определения.

Если заявителем не будет подано исковое заявление в срок, установленный определением суда о предварительном обеспечении защиты исключительных прав на фильмы, то судом будет рассмотрен вопрос об отмене предварительного обеспечения; в случае подачи заявителем искового заявления по требованию, в связи с которым судом приняты меры по предварительному обеспечению защиты исключительных прав на фильмы, эти меры действуют как меры по обеспечению иска.

СООБЩЕНИЕ ПРЕСС-СЛУЖБЫ
07.08.2013 г.

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

Данный пост публикую по просьбе читателя DmitriyVYN. Пост публикуется без каких-либо искажений и исправлений. Все замечания и пожелания направлять лично автору DmitriyVYN

Сколько себя помню я всегда любил игры.

Добрый день, дорогиее! Эта статья будет полезна всем любителям игр и особенно тем кто хоть раз задумывался о создании собственной игры. В статье я поделюсь собственным опытом и опишу пройденный путь от идеи до релиза.

Россия, Мордовия, примерно в семистах километрах от МКАД есть тихое село Марьяновка в котором я живу:) Сколько себя помню я всегда любил игры. Совсем еще ребенком с замиранием сердца ждал пока загрузится игра в аналоге zx spectrum. Страшные звуки из магнитофона, боязнь даже пошевелиться, бегающие полосы по экрану и постепенная отрисовка логотипа игры.

Dendy, Sega Mega Drive, походы с друзьями в Play Station салоны подарили целую гору воспоминаний. Первый компьютер и разрыв шаблона от ролевой игры «Готика». Сколько раз она была пройдена и не сосчитать. Чем взрослее я становился тем больше я хотел попробовать сделать что то свое.

Закончил школу, отучился в университете, поработал год по специальности, а мысли о создании игры меня так и не покидали. И это решило все остальное… без должных навыков и опыта работы в игровой индустрии я решил во что бы то ни стало создать игру.

image

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

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

Date

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

    public boolean isValid(Date start, Date end) {
        Date now = new Date();
        return start.before(now) && end.after(now); 
    }

Казалось бы — вполне очевидное и правильное решение. В принципе, да, за исключением двух моментов:

  • Использовать Date сегодня в java — уже, пожалуй, моветон, учитывая тот факт, что почти все методы в нем уже Deprecated.
  • Нету смысла создавать новый объект даты, если вполне можно обойтись примитивом long:

    public boolean isValid(Date start, Date end) {
        long now = System.currentTimeMillis();
        return start.getTime() < now && now < end.getTIme(); 
    }
SimpleDateFormat

Очень часто в веб проектах возникает задача перевести строку в дату или наоборот дату в строку. Задача довольно типичная и чаще всего выглядит так:

    return new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z").parse(dateString);

Это правильное и быстрое решение, но если серверу приходится парсить строку на каждый пользовательский реквест в каждом из сотен потоков — это может ощутимо бить по производительности сервера в виду довольно тяжеловесного конструктора SimpleDateFormat, да и помимо самого форматера создается множество других объектов в том числе и не легкий Calendar (размер которого > 400 байт).

Ситуацию можно было бы легко решить, сделав SimpleDateFormat статическим полем, но он не является потокобезопасным. И в конкурентной среде легко можно словить NumberFormatException.

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

Но решения есть и их как минимум 2:

  • Старый, добрый ThreadLocal — cоздаем SimpleDateFormat для каждого потока 1 раз и переиспользуем для каждого последующего запроса. Данный подход поможет ускорить парсинг даты в 2-4 раза за счет избежания создания объектов SimpleDateFormat на каждый запрос.
  • Joda и ее потокобезопасный аналог SimpleDateFormat — DateTimeFormat. Хоть йода в целом и медленнее дефолтного Java Date API в парсинге дат они идут наравне. Несколько тестов можно глянуть тут.

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

Предисловие

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

Давно была идея собрать воедино интересные вопросы, касающиеся сетей.

Объединяет их то, что все они довольно простые, но мы подчас о них не задумываемся (я во всяком случае о них не задумывался).
В общем я их собрал, подбил, нашёл ответы.
Итак, блиц опрос:

Начнём с самых низких уровней и с самых простых вопросов

В1. Почему для витой пары выбран такой странный порядок: синяя пара на 4-5, разрывая зелёную, которая не 3, 6?

Каверзные сетевые вопросы

В2. В стандарте Ethernet между кадрами всегда имеется промежуток, называемый IFG (Inter Frame Gap) длиною 12 байтов. Для чего он нужен, и почему он присутствует в современных стандартах?

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

Помимо данных о распределении рынка планшетов между производителями, в отчете IDC за второй квартал содержится не менее интересная информация о том, ка распределен рынок планшетов между операционными системами. А наличие данных за второй квартал 2012 года дает представление об изменениях, произошедших на рынке за год.

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


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