28.09.2010
Для дальнейшей работы с node.js нам потребуется еще несколько библиотек. Для того чтобы поставить эти библиотеки нам потребуется пакетный менеджер для node.js – npm.
Для выполнения всех действий делаем следующие шаги:
-
Ставим последнюю версию node.js
$ fetch 'http://nodejs.org/dist/node-v0.2.2.tar.gz'
$ tar -xvf node-v0.2.2.tar.gz
$ cd node-v0.2.2.tar.gz
$ ./configure
$ make
$ make install
$ rehash
-
Ставим пакетный менеджер npm
$ fetch 'http://download.github.com/isaacs-npm-v0.2.2-0-g00adb09.tar.gz'
$ tar -xvf isaacs-npm-v0.2.2-0-g00adb09.tar.gz
$ cd isaacs-npm-6acdb76
$ make
$ rehash
-
Ставим библиотеку htmlparser
-
Ставим библиотеку jsdom
-
Ставим библиотеку http-agent
Далее можно подключать jQuery и делать паука. Но об этом в следующих статьях
22.09.2010
Доброго всем дня!
Решил вот тут попробовать такого зверя как node.js. Говорят на нем хорошо писать веб-пауков, особенно если прикрутить jQuery – то это становится просто удовольствием. От слов к делу. Для начала поставим nginx.
$ cd /usr/ports/www/nginx
$ make install clean
пропишем автозапуск
# nginx
nginx_enable="YES"
отредактируем файл настроек nginx’а
user www;
worker_processes 1;
pid /var/run/nginx.pid;
events
{
worker_connections 1024;
}
http
{
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] $request'
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log off;
sendfile on;
keepalive_timeout 65;
gzip on;
server
{
listen *:80;
server_name localhost;
location /
{
}
}
и запускаем nginx
$ /usr/local/etc/rc.d/nginx start
Теперь приступим к установке node.js. Для начала удостоверимся что у нас в системе стоит libexecinfo. Для этого выполним команду
После этого устанавливаем собственно ноду
$ mkdir /usr/tmp
$ cd /usr/tmp
$ fetch 'http://s3.amazonaws.com/four.livejournal/20100120/node-v0.1.26.tar.gz'
$ tar -xzvf node-v0.1.26.tar.gz
$ cd node-v0.1.26
$ ./configure --prefix=/usr/local
$ make
$ make install
$ rehash
Для проверки правильности компиляции и установки ноды создадим простой скрипт
var sys = require('sys');
sys.puts('Hello, World!');
и проверим его
Должны увидеть Hello, World. Теперь интегрируем все это безобразие с Nginx. Для этого добавим в секцию Server конфига nginx’а следующее:
...
location /nodejs/ {
proxy_pass http://127.0.0.1:8081/;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
...
Создадим простой серверный скрипт:
var sys = require('sys');
var http = require('http');
http.createServer(function (req, res) {
res.sendHeader(200, {'Content-Type': 'text/plain'});
res.sendBody('Hello, World!', 'utf8');
res.finish();
}).listen(8081);
sys.puts('Server running at port 8081');
Запускаем тестовый сервер
если теперь зайти сюда http://<ваш ip="">/nodejs то вы должны увидеть приветствиеваш>
17.09.2010
Если вдруг на диске по каким-то причинам закончилось место, а Вы точно уверены, что ничего такого туда не записывали, то возможно диск занят какими-то нужными или ненужными файлами. Поэтому тут представляю ряд способов почистить место на диске.
1. Поиск больших файлов
$ find / -size +500M -exec ls -l {} \;
2. Очистка портов
$ /usr/ports/Tools/scripts/distclean.sh
$ rm -rf /usr/ports/*/*/work
или для portupgrade
portsclean -D
portsclean -C
13.09.2010
Требуется решить следующую проблему. Есть таблица. Первичный ключ id, кроме всех прочих полей есть поле name. Оказывается, что существует несколько строк с разными id, но одним и тем же name.
Понятно, что в некоторых случаях имеет место неправильный выбор первичного ключа. Причина и последствия этого оставим за гранью статьи. Задача – сделать так, чтобы была только одна строка с таким name. То есть требуется удалить дубликаты.
Колдовать это в mysql можно по разному, вплоть до временных таблиц и т.д. Однако есть способ проще – с помощью создания уникального индекса.
Итак
CREATE TABLE copy_table SELECT * FROM `таблица`;
ALTER IGNORE TABLE copy_table ADD UNIQUE ( Name );
А теперь внимательно смотрите на дубликаты. Вуаля!
13.09.2010
Всех коллег поздравляю с профессиональным праздником!
