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

Всякий, кому из-под «Ростелекома» или другого очевидно российского провайдера доводилось зайти по адресу http://drugoi.livejournal.com/3712998.html (занесённому в «чёрный список» за изображение политического самоубийства), уж конечно видал там козла и надпись «ошибка 451!»:

[козёл и надпись]

Однако можно воспользоваться любым средством просмотра заголовков HTTP-отклика и видеть, что на самом деле там выдаётся ошибка 404 («Not Found»).

Сходным образом обстоят дела и в движке Node.js: код 451 Читать полностью »

Каждый программист, начинающий разрабатывать под Node.js, встаёт перед выбором стратегии организации асинхронного кода в проекте. В то время, как в небольших системных утилитах поддерживать гигиену асинхронного кода достаточно просто, при росте массы кода в проекте решение этой задачи начинает требовать введения дополнительного, так называемого control flow средства.

В этой статье будет рассмотрена небольшая control flow библиотека «Flowy», являющаяся развитием идей проекта Step Тима Касвелла, и ядро которой базируется на концепциях CommonJS Promises, а также приведены аргументы, почему же Promises — это так неудобно.

Не надо давать обещания, или Promises наоборот
Читать полностью »

Джон Резиг об интернационализации JavaScript приложенийНедавно мне пришлось заниматься интернационализацией веб-приложения на Node.js+Express, над которым я сейчас работаю, и, как мне кажется, получилось довольно неплохо (иностранные пользователи очень довольны, и я вижу заметный приток трафика из неанглоязычных стран). Стратегия интернационализации, которую я опишу, не слишком сильно завязана на Node и может подойти любому веб-приложению.

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

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.
В этой статье вас ждет рассказ об одной особенности данного тега и способы решения проблемы.

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


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