[Из песочницы] Реализация алгоритма шинглов на Node.JS. Поиск нечетких дубликатов для английских текстов
2014-01-21 14:11:17
При работе с информацией часто возникают задачи парсинга веб-страниц. Одной из проблем в этом ...
+ развернуть текст сохранённая копия
При работе с информацией часто возникают задачи парсинга веб-страниц. Одной из проблем в этом деле является определение похожих страниц. Хороший пример такого алгоритма — «Алгоритм шинглов для веб-документов».
Часть проекта по парсингу реализована на Node.JS, поэтому и алгоритм нужно было реализовать на нем. Реализаций на javascript или npm-пакетов я не нашел — пришлось писать свою.
Читать дальше →
Тэги:
node.js,
алгоритм,
алгоритмы,
веб-разработка,
поиска,
шинглов,
шинглы
[Из песочницы] Компоненты by T.J.Holowaychuk
2014-01-17 16:58:16
Доклад на девятой конференции «Свободное программное обеспечение в высшей школе», 25–26 января ...
+ развернуть текст сохранённая копия
Доклад на девятой конференции «Свободное программное обеспечение в высшей школе», 25–26 января 2014. Исходный код заметок и примеров к ним доступен на https://github.com/mbykov/articles.
- первое знакомство с component — unix way в веб-программировании
- пример создания компоненты
- юнит-тестирование — консоль
- юнит-тестирование — express
- юнит-тестирование — браузер
- make vs. gulp vs. grunt, & watch
- Z's dead, baby
- компоненты и couchapps
Все, кто работает с
node.js
, знают TJ Головайчука, автора веб-сервера express, библиотеки для тестирования mocha, и прочая, и прочая. Но, наверное, самый блестящий его проект на сегодня — это Component — http://github.com/component. На русском пока немного литературы о Компонентах, попробую восполнить этот пробел. TJ опубликовал первое сообщение о Компонентах в своем блоге 19 декабря 2012 г. Сейчас, после взрывного роста, количество компонент уже зашкаливает за тысячу, и растет каждый день.
первое знакомство с компонентами
Тэги:
component.js,
couchapp,
make,
node.js,
tj.holowaychuk,
watch,
веб-разработка,
программирование
HuGu — коллективный плейер музыки Вконтакте на node.js
2014-01-16 12:53:53
Зачем это надо? А вспомним ситуацию: в офисе работают несколько человек, и у одного к ...
+ развернуть текст сохранённая копия
Зачем это надо? А вспомним ситуацию: в офисе работают несколько человек, и у одного к компьютеру подключены музыкальные колонки. — «Вась, смени LoveRadio! Поставь Рамштайна!» И Вася, отвлекаясь от отчета/игры/мысли: «Надоел Рамштайн, давайте лучше „Поющие трусы“ поставлю? Мегазачотные песни!»
А может ли каждый добавлять свои любимые музыкальные композиции в общий плейлист? Через браузер? Из плейлиста Вконтакте? Да, может.
Читать дальше →
Тэги:
api,
javascript,
music,
node.js,
vkontakte,
веб-разработка
Кластеризация nodejs web-сервера с помощью node-clusterize-cli
2014-01-13 16:43:06
Последние полгода я занимаюсь разработкой достаточно большого web-приложения, под капотом ...
+ развернуть текст сохранённая копия
Последние полгода я занимаюсь разработкой достаточно большого web-приложения, под капотом которого ревет и дымится NodeJS. Когда дело дошло до деплоя на продакшн я задумался: «почему бы мне не использовать несколько тредов с инстансом приложения?».
Реализовав кластер, я увидел, что производительность от его использования возросла в 1,5 раза, что очень даже не плохо, учитывая малый объем потраченных усилий. Но я решил не останавливаться на этом, и сделать удобный CLI для работы с кластером, чтобы отвязать код, который отвечает за запуск кластера от конкретного приложения. Кроме того, очень хотелось демонизировать кластер, чтобы он висел себе молча в процессах, поднимал упавшие воркеры, писал в логи, и никого больше не отвлекал.
Так появился node-clusterize-cli — утилита работающая из командной строки, не затрагивающая кода приложения. Основанная на оригинальном модуле «cluster» NodeJS.
Читать дальше →
Тэги:
cli,
clustering,
clusterization,
node.js,
администрирование,
веб-разработка,
серверное
GulpJS — фантастически быстрый сборщик проектов
2014-01-13 13:42:18
Gulp.js это потоковый сборщик проектов на JS. Он использует Stream и действительно является ...
+ развернуть текст сохранённая копия
Gulp.js это потоковый сборщик проектов на JS. Он использует Stream и действительно является очень быстрым. Для примера у меня есть проект где около тысячи stylus файлов, GruntJS нужно примерно 2.5 секунды на сборку и 2 секунды на обработку autoprefixer'ом. Gulp все это делает за 0.5 секунды выигрывая у GruntJS минимум в 4 раза.
Вас может отпугнуть молодость проекта, отсутствие плагинов и небольшое сообщество. Но это не так, на данный момент ведется активная разработка проекта, написано достаточное количество плагинов под задачи для популярных инструментов. На данный момент существует 165 плагинов, посмотреть их вы можете тут.
В этой статье будет больше практики, мы соберем среду разработки фронтенда используя Jade и Stylus, запустим локальный сервер и подключим Livereload. Проект я выложил на Github, экспериментируйте.
Читать дальше →
Тэги:
grunt,
gulp,
javascript,
node.js,
nodejs,
веб-разработка