Pull to refresh
  • by relevance
  • by date
  • by rating

Веб-сокеты временно отменяются

Browsers
Ровно год назад, 9 декабря 2009, разработчики Google Chrome взбудоражили общественность, объявив внедрение поддержки веб-сокетов в будущих версиях Chrome. О том, что такое Web Sockets и что это дает, см. почти годовалый пост на хабре.

Веб-сокеты — это, действительно, вкусно.

С точки зрения веб-стандартов, Web Sockets — это отдельная спецификация, вынесенная из спецификации HTML5 еще весной 2009 для дальнейшей проработки внутри рабочей группы по веб-приложениям (WebApps WG). В настоящий момент документ находится в состоянии Working Draft.

Интересной особенность веб-сокетов является то, что это не просто API в браузере: механизм работы веб-сокетов завязывается на соответствующий протокол — WebSocket Protocol, разрабатываемый в рамках IETF, и требует соответствующей поддержки со стороны сервера. Текущая редакция драфта – 03 (17 октября), до этого было еще 76 ревизий. С последней в начале лета была неприятная история, когда новая ревизия оказалась несовместимой со старой.

Поддержка веб-сокетов была заявлена в Chrome и Safari, а также, насколько я понимаю, должна была быть доступна в предварительных версиях Opera 10.70-11 и Firefox 4b. (Ок, очевидно, что IE9 в этом списке нет, однако, справедливости ради: разработчики не раз заявляли, что в первую очередь внедряют стабильные и устояшиеся вещи, которые не приведут к обратным несовместимостям через несколько месяцев.)

Протокол, равно как и стандарт, все еще дорабатывается. И на самом деле хорошо, что его вынесли из HTML5, так как это позволяет отдельно прорабатывать и стабилизировать независимые куски, а не смешивать в одну кучу разметку и API для веб-приложений на JavaScript.
Что же произошло?
Total votes 59: ↑55 and ↓4 +51
Views 8.9K
Comments 48

TornadIO2 = Tornado + Socket.IO

Python *

Что такое Socket.IO?


Это библиотека предназначенная для организации постоянного соединения между сервером и браузером.

Главное преимущество библиотеки: она автоматически подстраивается под возможности браузера и использует наиболее эффективный транспортный протокол из поддерживаемых.

Браузер умеет веб сокеты? Отлично, будем использовать их. Браузер умеет AJAX? Будем использовать long polling. Это древний Internet Explorer? Будем использовать html file object. Ну и так далее.

О socket.io уже писали на Хабре. «Родной» сервер Socket.IO написан на node.js.
Читать дальше →
Total votes 45: ↑45 and ↓0 +45
Views 14K
Comments 13

Распределенные эволюционные вычисления

Algorithms *


Одна из моих любимых тем в программировании – эволюционные вычисления и генетические алгоритмы в частности. Пару лет назад я поднимал эту (в целом уже заезженную) тему на Хабре, но сейчас глядя на то видео немного стыдно – слишком уж туманно и сумбурно было объяснение.

Сегодня я постараюсь объяснить генетические алгоритмы проще и нагляднее, а заодно рассказать вкратце о прототипе очень простого JavaScript-фреймворка для распределенных генетических вычислений degas.js. В двух словах – degas.js запускает генетический алгоритм в виде «треда» в браузере клиента используя web workers и обменивается информацией о полученных в ходе эволюции индивидуумах с сервером и другими клиентами с помощью web sockets. Сервер использует node.js.

Degas.js пока в супер-зародышевом состоянии, функционал еще примитивен, а код некрасив, но если кто-то захочет присоединиться к разработке – было бы здорово.
Total votes 31: ↑30 and ↓1 +29
Views 4.9K
Comments 5

Что нового в IIS 8?

System administration *
Translation


С выходом бета-версии Windows 8, сервер Internet Information Services (IIS) 8 стал доступен для публичного тестирования и тестирования в промышленной среде. Многим системным администратором не терпится узнать, какие изменения были внесены и что нового появилось.

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

Полноценное регулирование нагрузки CPU (CPU Throttling)


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

Читать дальше →
Total votes 58: ↑37 and ↓21 +16
Views 25K
Comments 18

Асинхронный HTTP в Play Framework

NAUMEN corporate blog Scala *
При написании собственных веб-приложений часто возникают такие ситуации, в которых приходится делать выбор между синхронным и асинхронным выполнением запросов. С одной стороны, идея синхронной работы выглядит вполне логичной: мы запускаем некоторый процесс, дожидаемся его завершения и после этого продолжаем работу. Но на деле такой подход хорош только в случае простых вычислений. Представьте, что в процессе выполнения вам нужно, к примеру, сделать сложный запрос к базе данных — а то и, еще лучше, отправить запрос к другому серверу и дождаться от него результатов. В этом случае дальнейшая работа потока будет остановлена на довольно продолжительное время — а это, понятное дело, далеко не всегда является приемлемым. Именно в таких случаях на помощь приходят асинхронные запросы. Давайте посмотрим, как работа с ними реализована в Play framework.
Подробности
Total votes 24: ↑22 and ↓2 +20
Views 8.2K
Comments 10

Вышла версия 1.0 библиотеки Socket.IO

JavaScript *Node.JS *
28 мая библиотека для создания приложений реального времени на Node.js Socket.IO доросла до версии 1.0. Socket.IO возникла практически сразу же после появления Node.js и быстро стала одним из самых популярных и востребованных проектов экосистемы Node. Socket.IO реализует коммуникацию сервера и клиента в реальном времени с помощью Web Sockets, а при отсутствии этого API в старых браузерах эмулирует сокеты с помощью других доступных технологий — сокетов Adobe Flash, запросов AJAX или JSONP.
Читать дальше →
Total votes 39: ↑37 and ↓2 +35
Views 11K
Comments 5

Система трекинга загрузки игрового клиента

Plarium corporate blog Programming *.NET *Game development *C# *


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

Диагностирование ошибок, возникающих во время загрузки игрового клиента, в столь разнообразных условиях становится совсем не тривиальной задачей. И даже применение таких передовых решений, как Google Analytics, не позволяет в полном объеме решить проблему. Именно поэтому нам пришлось спроектировать и написать свою систему трекинга загрузки игрового клиента.
Читать дальше →
Total votes 9: ↑8 and ↓1 +7
Views 8.5K
Comments 0

Система трекинга загрузки игрового клиента. Часть 2

Plarium corporate blog Programming *.NET *Game development *C# *
В этой статье мы поговорим о сервисе GeoIP, который определяет геоданные по IP-адресу запроса, веб-сокетах, реализации polling сервера, AngularJS, Highcharts и проведем краткий анализ системы трекинга загрузки игрового клиента.


Читать дальше →
Total votes 18: ↑17 and ↓1 +16
Views 7.2K
Comments 3