Архив за 15 ноября 2013 - 7

Ключевые выступления третьего дня саммита продолжил Brendan Iribe - представитель компании Oculus VR, разрабатывающей шлем виртуальной реальности Oculus Rift, о котором мы вам рассказывали вчера на основе личного опыта. Его выступление было интереснее уже потому, что Oculus Rift находится ещё в разработке и есть ещё много того, что нужно сделать до выхода на рынок.

Ключевые выступления с третьего дня саммита разработчиков AMD APU13: Oculus VR

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

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

Ключевые выступления с третьего дня саммита разработчиков AMD APU13: Sony

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

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

Если вы знаете, что такое нормальные числа, и вам интересно, как их строить — пожалуйте под кат. Если вы не знаете, что такое нормальные числа — прочитайте предыдущую статью (ссылка выше), затем пожалуйте под кат. Если же вам неинтересно, как строить нормальное число — всё равно пожалуйте под кат, потому что там я буду рассказывать про циклы де Брёйна, которые сами по себе очень интересные штуки.

image

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

Здравствуйте. Некоторое время назад начал заниматься сопровождением довольно объемного программного продукта. Правка за правкой и как-то незаметно ко мне подкрались взаимоблокировки. Я быстро выяснил источник проблем — это вложенные блокировки. По незнанию основ программного продукта я неявно нарушил порядок вложения блокировок. Но найти вручную источник проблем не удалось.

Боржоми пить поздно, причитать насчёт архитектуры бессмысленно. Подключаем тяжелую артиллерию.
Читать полностью »

Как вы уже поняли из предыдущих постов, Meople.Net — это агрегатор ваших персональных (и не только) новостей из социальных сетей, реализованный для WEB и Windows 8. Многие из вас могут законно сказать, что сервис далеко не революционный. Но в этой статье я бы хотел остановиться на том, что его делает уникальным с технической (функциональной) точки зрения, а не с пользовательской.

Итак, как происходит работа с социальными сетями: большинство социальных сетей предоставляют REST API функционал для сторонних разработчиков, которые хотят построить свои приложения на платформах/данных социальных сетей. То есть, если вы хотите использовать данные Facebook или ВКонтакте в своем приложении, то это то, что вам нужно.
Я опущу общие шаги, которые должен сделать любой разработчик:
● регистрация приложения на сайте соц. сети и получение секретных ключей приложения;
● реализация (в большинстве случаев) OАuth 2.0 авторизации (http://tools.ietf.org/html/rfc6749);
● собственно отправление подписанного запроса в соц. сеть для получения необходимых вам данных.

Авторизация

Авторизация делится на клиентскую и серверную. 99% приложений, которые построены на платформе социальной сети, делают серверную авторизацию, что дает им возможность проксировать все запросы и сохранять ваши авторизационные данные на своих серверах. Они, собственно, это и делают. Так как в противном случае вам пришлось бы постоянно вводить пароль от вашего аккаунта в соц. сети (либо постоянно подтверждать разрешение на пользование вашего аккаунта для стороннего приложения). Ваши авторизационные данные в таком случае хранятся на сторонних серверах, не принадлежащих соц. сети. Там с ними может произойти все что угодно — ими даже могут воспользоваться без вашего ведома: например, поставить лайк на какую-то страницу, подписать вас на какие-то новости, в целях рекламы отправить вашим друзьям сообщение, что вы начали использовать какое-то приложение и тд.
Наш сервис использует клиентскую авторизацию там, где это возможно. В результате чего ваши авторизационные данные находятся в вашем же браузере (cookies, data storage) или устройстве и не сохраняются на наших серверах. Подписка запросов, отправляющихся в сеть, также происходит на клиенте. То есть, когда вы не используете наш сервис, у нас нет даже теоритической возможности воспользоваться вашими данными.

Отправление запросов на получение данных

При серверной авторизации для получения актуальных данных подпись запроса происходит на стороннем сервере, это означает, чтобы получить какие-то данные запрос из вашего браузера идет на сторонний сервер, оттуда в дата центр соц.сети, из соц.сети обратно на сторонний сервер и возвращается к вам. Казалось бы, все хорошо, но представьте себе, что вы находитесь в России (а раз вы читаете этот пост, то вы, скорее всего, там находитесь), а сервер стороннего приложения в большинстве случаев (и у нас в том числе) в США. Это означает, что ваш запрос образно пропутешествует вот так: Россия -> США сторонний сервер -> США соц.сеть (у ВКонтакте не уверен есть ли там сервера) -> США сторонний сервер -> Россия.
В итоге мы видим кучу запросов и на каждом из них многочисленные задержки. Особенно в случае запросов Россия — США. В результате производительность приложения падает. Частично это решается кешированием на некоторое время данных на сторонних серверах (это еще одна вещь, которой всегда хочется избежать) — но при этом вы лишаетесь возможности получить актуальные на данную секунду данные, а получаете данные с задержкой.

В нашем случае работа происходит по-другому. Подписанный запрос на получение данных отправляется напрямую из вашего браузера до ближайшего дата центра соц.сети, то есть путешествие примерно такое: Россия -> Россия соц.сеть -> Россия. Таким образом — нет промежуточных сторонних серверов, что позволяет получить данные максимально быстро и быть уверенным в безопасности запроса. Как видим, наш сервис использует инфраструктуру соц. сетей по всему миру для достижения производительности.

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

Построение конических сечений

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

image
Рассмотрим, насколько безопасно пользоваться такими штуками

Тема излучения базовых станций вызвала явный интерес читателей. Однако базовые станции, как правило, находятся далеко от нас — висят на вышках и зданиях. А мобильные телефоны, планшеты и другие мобильные терминалы, которые тоже являются источниками радиоизлучений, мы носим с собой и даже прикладываем к голове во время разговора. К сожалению, тема излучения мобильных телефонов уже обросла множеством ложных мифов и легенд, которые порождены иногда невежеством или некомпетентностью, а иногда и созданы намеренно, возможно даже с неблагородными целями.,

Ниже вы найдёте:

  • Анализ выходных мощностей излучаемых мобильными терминалами (телефонами, модемами, роутерами и т.д.) поддерживающими GSM, UMTS, LTE, Bluetooth, Wi-Fi;
  • Разбор мифов и легенд, возникших вокруг этой темы;
  • Как избегать излишнего воздействия излучений в типичных ситуациях пользования мобильной связью.

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

Компания G.Skill представила новые модули памяти для мобильных систем (SO-DIMM). Новинки относятся к серии Ripjaws и могут похвастаться тем, что функционируют на частоте 2133 МГц. При этом модули предназначены для работы при напряжении 1,35 В.

G.Skill представила память для ноутбуков, функционирующую на частоте 2133 МГц при напряжении 1,35 В

Производитель акцентирует внимание, что никакой специальной настройки для работы модулей на указанной частоте не требуется. Всё происходит в автоматическом режиме. Модули (2х4 ГБ) работают с задержкой CAS 11.Читать полностью »

Обзор материалов для изучения Drupal«Одна голова хорошо, а много лучше» — подумала я и решила спросить у Drupal-разработчиков, откуда они черпали свои знания.

Так появился проект «3 ссылки, которые сделали вас друпалером» на базе Drupal-сообщества в Санкт-Петербурге: опытные и начинающие друпалеры делятся материалами, которые помогли лично им в изучении этой замечательной CMS.

В этом посте мы собрали ссылки на лучшие ресурсы для изучения Drupal.

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

Python digest #2. Новости, интересные проекты, статьи и интервью [8 ноября 2013 — 15 ноября 2013]Теперь статей и проектов стало больше — включены новости с pycoders, pythonplanet и по-прежнему мониторятся новые пакеты и релизы уже популярных проектов на PyPI и github.
Увы, все также мало материалов на русском языке. Присылайте мне пожалуйста ссылки если находите достойные и актуальны статьи.

Огромное спасибо гитхабо-пользователю и земляку axcel, благодаря которому на
нашем инструменте для сбора новостей появились rss лента и optimistic locks при сохранении объектов.

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


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