Обновить
25
0
Акжан @akzhan

CTO, Release manager, Teamlead

Отправить сообщение

Анонс node 0.4 — второй стабильной ветки

Время на прочтение2 мин
Количество просмотров1K
Читать дальше →

Асинхронное программирование на JavaScript — Остаться в живых

Время на прочтение14 мин
Количество просмотров35K
Программисты принимают некоторые особенности как должное — последовательное программирование, к примеру, при записи алгоритма, который делает один шаг только после другого.

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

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

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

Сообщество JavaScript в курсе этого, особенно сообщество Node.JS, так как Node.JS ставит акцент на асинхронном коде.
Читать дальше →

Для разработчиков на PS3 доступен нормальный Web-браузер от EA

Время на прочтение1 мин
Количество просмотров27K
Как известно, Web-браузер, встроенный в приставку Sony Playstation 3, безнадежно устарел, и не удовлетворяет требованиям современного рынка.

Пока компания Sony не делает ничего для изменения данной ситуации, но теперь у разработчиков приложений для Sony Playstation 3 появился выбор.

Компания EA выпустила в свет в рамках проекта Skate 3 новый продукт — EA WebKit, который собирается на платформах Win32, Win64, Playstation 3 и Xbox 360.

Подробности здесь.

Node.JS — формируем результирующий документ, используя другие HTTP-источники

Время на прочтение13 мин
Количество просмотров4.6K
Часто сервера на Node.JS используются как сервисы-агрегаторы, получающие динамические данные с других HTTP-источников и формирующие на основе этих данных агрегированный ответ.

Для обработки полученных данных удобно использовать внешние процессы, обрабатывающие исходный набор файлов (например, утилиты ImageMagick или ffmpeg).

Рассмотрим это на примере HTTP-сервера, выполняющего роль backend для сервера nginx, и формирующего CSS-спрайты для набора изображений.
Читать дальше →

Node.JS — Основы асинхронного программирования, часть 1

Время на прочтение3 мин
Количество просмотров6.5K
Сейчас, после выхода стабильной версии Node.JS 0.2.0, я решил начать цикл статей по программированию с его использованием.

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

Скрываем асинхронную вложенность


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

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

Введение в Nitrode — выделенный HTTP-сервер

Время на прочтение2 мин
Количество просмотров1.1K
Рад представить вам описание Nitrode.

Проблема:

Node.Js не включает в себя модуль FastCGI или аналогичные модули для интеграции приложений, в отличие от других HTTP-серверов, например, nginx.

Решение

Nitrode призван устранить этот пробел, предоставляя быстрый и универсальный HTTP-сервер, построенный на основе Node.JS. Он рассчитан на поддержку большинства основных возможностей nginx, но обладает дополнительным преимуществом, так как Nitrode написан на JavaScript и предоставляет API для существующих приложений, который позволяет осуществлять им полный контроль над сервером, не выходя из текущего процесса.
Читать дальше →

Не строим с нуля. Теперь у Вас есть шаблон для верстки HTML5

Время на прочтение2 мин
Количество просмотров17K
Любовь к HTML5 продолжает вдохновлять Поля Айриша. Во-первых, он подарил нам Modernizr, а сейчас он объединился с Divya Manian для создания шаблона HTML5, который использует передовые техники, чтобы Вы могли начать использовать его в своей практике.

Он, в сущности, является хорошей отправной точкой, состоящей из HTML и CSS, предлагающим также и структуру папок, которая работает. Но созданным с учётом многих лет передового опыта профессионалов в разработке клиентской части. Загляните в исходные тексты, чтобы почувствовать, что находится внутри. А если вы думаете, что этого слишком много, просто удалите лишнее.
Читать дальше →

Пишем свой плагин для jQuery

Время на прочтение3 мин
Количество просмотров7K
Сегодня утром я зашёл на Google Maps и с радостью увидел там слой «Пробки». Сразу же глаз зацепился за интересное интерфейсное решение для выбора времени, на которое будет показана ситуация с пробками.

Сразу же захотелось использовать подобный орган управления в своих проектах.

Самое время вспомнить, как пишутся плагины под jQuery.
image
Читать дальше →

Syn — библиотека синтетических событий, которая делает тестирование проще

Время на прочтение2 мин
Количество просмотров1.3K
Команда Jupiter IT выпустила Syn, библиотеку, которая позволяет вам создавать синтетические события для использования при тестировании. Эта отдельная библиотека предназначена для оказания помощи в тестировании сложного поведения пользовательского интерфейса, имитируя действия пользователя, такие как печать с помощью клавиатуры, нажатие кнопок мыши и перетаскивание с её помощью.
Читать дальше →

Движок V8 для .NET-приложений

Время на прочтение1 мин
Количество просмотров2.8K
В репозитории Codeplex появился Javascript .NET, — проект интеграции движка Google V8 и предоставления его интерфейсов системе CLI.

Javascript .NET на лету компилирует код и выполняет скрипты прямо из .NET-приложений. Также он позволяет выполнять манипуляции с объектами CLI прямо из выполняемого кода Javascript.
Читать дальше →

Немного о Chef 0.9

Время на прочтение1 мин
Количество просмотров1K
20 июня вышел в свет Chef 0.9.0, и затем ещё несколько патчей, устраняющих ошибки в этом продукте. Фактически можно рекомендовать к использованию, начиная с версии 0.9.4.

Изменены протоколы работы клиентов и сервера, поэтому обновление с Chef 0.8 надо производить и на сервере, и на клиентских машинах. Сам процесс обновления тривиален (на сервере при условии установки из гемов — gem install chef chef-server chef-server-api chef-server-webui chef-solr ohai, плюс рестарт сервисов, плюс rake install, на клиенте просто gem i chef).

Основные изменения затронули механизм хранения «кулинарных книг», — теперь можно поддерживать одновременно несколько версий одной книги. Улучшена поддержка Windows-клиентов.
Читать дальше →

Храните ваши клятвы; Отношения с Node

Время на прочтение2 мин
Количество просмотров1.3K
Клятвы могут быть прекрасны. Алексис Селлир, сыскавший славу за разработку «LESS» (и «less.js»), начинает становиться звездой Open Source, выпустив в свет Vows, — каркас для разработки на Node.JS, управляемой асинхронным поведением.

image
Читать дальше →

Сделано в CSS: Иконки iOS и другие…

Время на прочтение3 мин
Количество просмотров2.9K
image

Нравится ли вам мем «посмотрите на меня, делающего что-то крутое на чистом CSS»? Это доставляет. С одной стороны, такие мемы показывают, насколько невероятные вещи могут создать люди, но с другой стороны… они напоминают, что нам нужны инструменты, чтобы сделать нашу жизнь проще. Но, по крайней мере, платформа уже здесь, и инструменты могут появиться позднее.

Льюис Харбо отметил свою покупку iPhone 4 созданием набора иконок iOS на чистом CSS. Теперь мы можем посмотреть на его работу, и автор рассказывает о идеях, лежащих за реализацией:
Читать дальше →

HTML5 уже здесь (он пока просто не для настольных компьютеров)

Время на прочтение3 мин
Количество просмотров1.1K
Когда кальмар чувствует угрозу, он выстреливает чернилами в воду, надеясь сбить с толку и дезориентировать хищников. Нечто подобное сейчас происходит и на арене Сети. Компании Adobe и Microsoft заявляют нам, что HTML5 придёт через 10 лет. Apple говорит нам, — «Нет, нет, он уже здесь, прямо сейчас, взгляните на наши великолепные демонстрации HTML5 (хм, скорее CSS3 + JavaScript)!».

Истина в том, что развивается раздвоение в популяции браузеров Сети. На рабочем столе Internet Explorer и Firefox занимают вместе более 80% рынка. В Internet Explorer поддержки семейства технологий HTML 5 практически не существует, а Firefox отстает в реализации CSS3. И, в любом случае, есть огромная база установленных IE 6, 7, 8 на рабочем столе — в частности, на предприятиях, — и ни один здравомыслящий разработчик приложений не будет разрабатывать настольные приложения для предприятий, которые не работают в, по крайней мере, IE7. Исключая инновационные компании, которые развертывают последние редакции Firefox, Chrome и Safari для своих сотрудников, HTML5-технологии здесь пока обречены на провал.

Но совсем другая история на мобильных устройствах. Жизненные циклы товаров намного быстрее (люди меняют свой телефон в среднем каждые 18 месяцев), и технологически таблетки, телефоны и сенсорные устройства практически живут на другой планете, когда дело касается их браузерных технологий. И это потому, что браузер, по умолчанию, на каждом устройстве, которые значимо на рынке, основан на Webkit.
Читать дальше →

Замены для nginx (Web Sockets)

Время на прочтение1 мин
Количество просмотров9.5K
В своё время nginx стал глотком свежего воздуха для Web-разработки.

В настоящее время, к сожалению, этот продукт тормозит развитие Web, так как является динозавром эпохи HTTP/1.0.

Если Вы используете современные возможности HTTP/1.1, или partial updates, или Web Sockets, нужна рабочая альтернатива.
Читать дальше →

Ruby Tips, Tricks, and Hacks (часть 1, заключительная)

Время на прочтение1 мин
Количество просмотров1K
Да вроде всё и так нормально :) Разве что, — используйте Ruby EE и будет вам счастье…

P.S.: по мотивам Python Tips, Tricks, and Hacks (часть 4, заключительная)

Node.JS: Пример HTTP-сервера в режиме prefork с использованием Web Workers

Время на прочтение2 мин
Количество просмотров8.5K
Как обещал ранее, я публикую исходный код, демонстрирующий, как построить HTTP-сервер в режиме prefork, используя Web Workers и новый API net.Server.listenFD(). Я надеюсь, что этот код будет хорошим примером того, как легко нагрузить несколько ядер сервера, комбинируя пересылку файловых дескрипторов и Web Workers.

Читать дальше →

Node.NET: Выполнение Node.JS на Windows через .NET

Время на прочтение1 мин
Количество просмотров2.3K
Node планирует со временем поддерживать все операционные системы, совместимые с POSIX (включая Windows c MinGW), но в настоящее время он тестируется только на Linux, MacOS X и Solaris.

На встрече пользователей Node.JS в Пало-Альто кто-то спрашивал о работе Node под Windows, но ответ оказался не оптимистичным, — Вы можете заставить их работать вместе, и это обязательно произойдёт. Но сегодня? Непросто. Хотя это и не кажется громадной проблемой.

Однако, если Вам всё же интересно запускать приложения Node под Windows, и эта идея ваc вдохновляет:
C:\> node.exe server.js

… тогда Вы можете быть благодарны за то, что Дэн Ньюкоум создал Node.net, который дает нам:
  • Ту же идеологию работы, что и у Node.JS (однопоточный событийный фасад, неблокируемый ввод/вывод на заднем плане);
  • Совместимость с Node.JS по предоставляемому API;
  • Написан полностью на JavaScript (JScript.NET);
  • Работает на движке .NET.

Bespin переходит на node.js

Время на прочтение1 мин
Количество просмотров1.1K
Как стало известно, после переработки клиентской стороны своего редактора разработчики проекта Bespin, судя по новому плану развития, перепишут серверную часть с Python/WSGI на Node.js.

Радует, что количество серьёзных проектов, переходящих на Node, неуклонно растёт.

Bespin — редактор исходного кода, чей клиент работает внутри web-обозревателя (подробнее о Bespin на Хабре).

Колибри: Обзор вашего интернет-трафика в реальном времени

Время на прочтение2 мин
Количество просмотров1.7K
logo
Михаил Натт и Бенни Вонг создали интересный продукт для интернет-аналитики в реальном времени, названный «Колибри» (Hummingbird). Он создан с использованием таких горячих технологий, как Node, Canvas, Web Sockets, MongoDB.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность