Рубрика «node.js» - 103

image
Давно хотел написать свою небольшую игрушку. И вот, изучив подходящие технологии, создал «шедевр».
Читать полностью »

TL;DR
Эта обзорная статья. Такое себе "краткое содержание предыдущих серий". Она будет полезна для новичков, или тех, кто не следил за отраслью в последнее время. Для новичков это будет первый шаг во "Вселенную JavaScript", бывалые смогут освежить свои знания.

JavaScript: от начала до концаУ JavaScript очень удивительная судьба. Он преодолел путь от самого не понимаемого до самого удивительного языка. У него было тяжелое детство:
Изначально Автор хотел написать функциональный язык. Но менеджеры хотели получить, «обычный» объектно-ориентированный. И чтобы было легко искать разработчиков для новоиспеченного языка синтаксис решили сделать похожим на Java и даже название сделали похожим.
Но на этом история не заканчивается. Java, JavaScript это торговые марки Sun (а теперь Oracle). Microsoft не мог воспользоваться именем JavaScript (Netcape и Sun дружили против Microsoft). В результате Microsoft решил сделать реверс инжиниринг JavaScript и назвал его JScript. Сделали реверс инжиниринг, и сделали его настолько хорошо, что даже содрали все баги в реализации. Позже решили сделать стандарт и назвали его ECMAScript.
Читать полностью »

Начал изучать NodeJS. Нигде не нашел актуальный стек библиотек (технологий) применяемых в node. Поэтому решил сам составить список.
Читать полностью »

Доброго времени суток. Мне хотелось бы поделится с хабросообществом о своем опыте использования Node.JS на живом проекте. Пять месяцев назад я начал воплощать одну из своих старых задумок — сервис достижений.
Node.JS для стартапа или о проблемах на продакшене
При разработке проектов я предпочитаю придерживаться точке зрения, что выбор технологии должен быть обоснован дешевизной ее использования. Поэтому для своего проекта я выбрал стек — Node.JS + mongoDB, так как это те технологии, которыми я лучше всего владею.

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

Играли в отгадай город по фото, автомобиль по бамперу или фильм по стоп-кадру? Под катом небольшая история о приложении Вконтакте/Facebook которое облегчает этот процесс.
Читать полностью »

При работе с node.js часто приходится подключать файлы, расположенные не в текущей директории, и даже не в поддереве текущего каталога. Поэтому часто в модулях можно наблюдать что-то вроде

var obj = require('../../../a/b/c/someModule');

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

var obj = require(base_dir + '/a/b/c/someModule');

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

var obj = lib.a.b.c.someModule;

Кому интересно решение — прошу под кат.
Читать полностью »

Тег a — это не только ценный мех, но и инициализация window.opener.
В этой статье вас ждет рассказ об одной особенности данного тега и способы решения проблемы.

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

Не так давно, прочитав статью idoroshenko «Почему eval — это не всегда плохо», я задумался, можно ли использовать подход с генерацией тела функции для клонирования объектов. Даже написал небольшую библиотеку для этого. Бенчмарки давали невероятные результаты, но применимость этого подхода ограничивалась лишь множественным клонированием одинаковых объектов.

Поэтому и у меня возник вопрос: неужели в v8 нет другой возможности избежать расходов, связанных со множественным пересозданием скрытых классов? Ведь это составляет основные траты ресурсов, когда мы клонируем объекты. Как оказалось, такая возможность действительно есть: в самом v8 у объектов существует метод v8::Object::Clone. Этот метод клонирует объекты в широком смысле этого слова, то есть собственно объекты, а также массивы, даты, регулярные выражения, функции и т.д., при этом сохраняя все их свойства, в том числе нестандартные (например, именованные свойства массивов) и даже скрытые.

Была только одна маленькая проблема. Этот метод использовался только в недрах node.js, и не был открыт наружу, для javascript'а.
Читать полностью »

Roger Wang 14 декабря объявил о выходе новой версии движка node-webkit — созданного в недрах Intel Open Source Technology Center мощного сочетания WebKit и Node.js, позволяющего создавать кросс-платформенные графические приложения методом веборазработки на языках HTML, CSS и JavaScript.

Новая версия имеет номер 0.3.6 и выглядит вот как:

[скриншот]

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

Прежде всего нетрудно заметить, что окна утратили «округлый» и «синенький» вид, похожий на Google Chrome, а вместо того вновь обрели общесистемный вид и форму. (На иллюстрации я привожу вид окна в Windows XP.) Также вернулся значок в заголовке окна. (Для сегодняшней демонстрации я поместил туда значок сайта Хабрахабра.)

Вот список остальных новшеств этой версии (по сравнению с 0.3.0):

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

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

Вы знакомы с ECT?

ECT это JavaScript шаблонизатор со встроенным CoffeeScript синтаксисом (отсюда и название: Embedded CoffeeScript Templates). ECT изначально разрабатывался с упором на максимальную производительность и при этом он предоставляет разработчику богатый набор функций.

Что нового?

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


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