Category Archives: node.js
phridge — phantomjs bridge к node.js для высокой скорости
Основная фишка — в том, что между запросами PhantomJs не убивается, а используется повторно. Учитывая, что запуск процесса занимает примерно секунду, производительность должна сильно вырасти. https://github.com/peerigon/phridge/blob/master/README.md Ну а нужно это для генерации на бэкенде страниц для поисковиков для одностраничных приложений.
PageSpeed для локальных ресурсов, используя ngrok
http://www.jamescryer.com/2014/06/12/grunt-pagespeed-and-ngrok-locally-testing/ https://ngrok.com/
Сборник скринкастов по node.js на русском
от Ильи Кантора — http://learn.javascript.ru/nodejs-screencast. Я к этому товарищу отношусь без особого пиетета, да и с дикцией у него не так хорошо, но для начального уровня — вполне неплохо.
Node.js: конвертация buffer в строку
Делал proxy на Node.js. Некоторые типы ответов сервера мне нужно было парсить и подменять небольшие кусочки. Создаю всё функцией
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
function makeProxy(req, res, cb) { delete req.headers.host; delete req.headers['accept-encoding']; // to prevent gzipping data on api server var options = { hostname: apiHost, port: 80, path: req.url, method: req.method, headers: req.headers }, proxy = http.request(options, cb || noop); proxy.on('response', function (proxyResponse) { fixCookies(proxyResponse.headers, apiHost); res.writeHead(proxyResponse.statusCode, proxyResponse.headers); }); return proxy; } |
Но тело ответа всегда приходит буфером. Много всякого читал, как вместо буферов принимать строки, пытался через промежуточный поток типа transform всё сделать (http://nodejs.org/api/stream.html#stream_class_stream_transform_1), но ничего не получалось. А потом случайно наткнулся на пост http://stackoverflow.com/questions/12121775/convert-buffer-to-utf8-string#comment31200460_12122668. Достаточно …
Как побороться с XSS на Node.js
Чтобы экранировать пользовательский ввод, достаточно использовать что-то вроде escape(input) — replace , & and » with HTML entities https://github.com/chriso/validator.js#sanitizers
Brunch — ещё одна система тасков на node.js
Аналог grunt, но вроде быстрее — http://brunch.io/compare.html. Надо бы попробовать.
Написал Grunt-таск для бэкапа wordpress в репозиторий
Идея — делать бэкапы кода и базы в репозиторий на bitbucket. Запуск через крон. Сам код (если кому интересно) опубликую попозже. А вот полезные ссылки: https://npmjs.org/package/grunt-git (чтобы склонировать проект) https://npmjs.org/package/grunt-contrib-copy (для копирования кода) https://npmjs.org/package/grunt-file-process (для распарсивания конфига, чтобы узнать настройки доступа к базе) https://npmjs.org/package/grunt-mysql-dump (хотел дампить базу, но не взлетело) https://npmjs.org/package/grunt-shell (для дампа базы, для …
Node.js-сервер для отдачи Angular.js-шаблонов и проксирования ajax-вызовов
Вот оно — https://gist.github.com/bullgare/f3e225abc9e8a441b0db. Основная проблема — работа с блитцовыми конструкциями в шаблоне индексной страницы. Ссылки по теме: http://nodejs.ru/443 http://stackoverflow.com/questions/10058814/get-data-from-fs-readfile http://stackoverflow.com/questions/9540978/nodejs-how-to-read-and-output-jpg-image http://nodejs.org/api/fs.html#fs_fs_readfile_filename_options_callback
Введение в node.js
Что-то вроде «Dive into python», только для node.js. https://github.com/maxogden/art-of-node