escape ^Ttdefscrollback 1000startup_message offverbose onhardcopydir 'screen/hardcopy'hardcopy_append onvbell onbind ^Gbind w windowlist -bbind u eval "encoding UTF-8"bind e eval "encoding eucJP"bind s eval "encoding SJIS"bind j eval "encoding jis"setenv LANG ja_JP.UTF-8caption always '%?%F%{= gW}%:%{= Kk}%?%2n%f%07=%t%='hardstatus alwayslastline '%m/%d %02c:%s %{= .g}%H%{-} %L=%-w%45L>%{=u g.}%n %t%{-}%+w %-17<%=%{= .y}(%l)'
Geo Location Days
2012年5月20日日曜日
備忘録(screenrc)
備忘録(vmware上の環境)です。.screenrcのメモ
2011年11月11日金曜日
webkitNotifications(デスクトップ通知)
地理空間情報は蓄積されたデータがメインだった。WEBで扱うその手の情報は今後だんだんリアルタイム情報へ変化していっている。
その背景にはWeb標準化でリアうタイム情報をより扱いやすくなってきた点が大きい。
例えば、特売情報や車両の動態管理などのデータは情報の鮮度が重要で、更新情報を効果的に表現する手法が必要になってくる。
websocketでデータ更新情報を受けた後、デスクトップ通知は良いUIの一つなので早めに採用していきたい。
今日時点ではChrome限定だけど下のボタンがこんな感じと分かるようにしてみた。
2011年10月22日土曜日
2011年8月24日水曜日
maptailを動かしてみる
環境が揃ってきたいので、手始めにmaptailを動かしてみます
でインストールは終わりです。
使い方は、access_logのpathとexpressのbindの設定を引数で与えるだけです
apacheのaccresslogをchmodとかchownするのもあれなので、一旦rootでテストしてみます
これで、
まずは、サンプルが動いたので次にコード検証をしていきます。
26-34行目で、express...って書いてある。何となくこいつがweb frameworkっぽい初期化コードになっている。
viewの定義が気になったので
$npm install maptail
でインストールは終わりです。
使い方は、access_logのpathとexpressのbindの設定を引数で与えるだけです
apacheのaccresslogをchmodとかchownするのもあれなので、一旦rootでテストしてみます
$sudo su -
#export PATH=/home/shin/local/node/bin:$PATH
#export NODE_PATH=/home/shin/local/node:/home/shin/local/node/lib/node_modules
#cd /home/shin/dev/node_modules/maptail/
#node ./maptail.js /var/log/apache2/access.log luckyxrea.bf1.jp 5124
これで、
http://luckyxrea.bf1.jp:5124/mapにchromeでアクセスすると見たかった画面を見ることができます。
まずは、サンプルが動いたので次にコード検証をしていきます。
26-34行目で、express...って書いてある。何となくこいつがweb frameworkっぽい初期化コードになっている。
// configuration
var app = express.createServer()
app.configure(function(){
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.logger());
app.use(express.methodOverride());
app.use(express.bodyParser());
app.use(app.router);
app.use(express.static(__dirname + '/public'));
});
viewの定義が気になったので
#cat views/map.jadeで
link(rel='stylesheet', href='/css/wargames.css')
script(src='https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js')
script(src='/js/config.js')
script(src='http://' + wshost + ':' + wsport + '/socket.io/socket.io.js')
script(src='/js/raphael.js')
script(src='/js/map.js')
script(src='/js/client.js')
|
|
| had activity 0.00 sec ago
|
| messages in the last 40min
|
|
|
|
となっている。なるほど。
ふんわりexpressについての意義は分かったので、maptailを掘り下げてみる
引数のportとhostでbindしている74 // start Server75 app.listen(port, host);
77 // socket.io
79 var wsserver = http.createServer()
Websocketのサーバもbindしておくのね80 wsserver.listen(wsport, wshost);
18 var wsport = process.env.WSPORT || + port + 111
19 var wshost = process.env.WSHOST || hostこの辺のportも使ってるのか。
#netstal -l
tcp 0 0 localhost:5235 *:* LISTEN
tcp 0 0 localhost:ipp *:* LISTEN
tcp 0 0 localhost:postgresql *:* LISTEN
tcp 0 0 localhost:smtp *:* LISTEN
tcp 0 0 localhost:5124 *:* LISTEN
たしかに、port5124と+111の5235が使われていますね
コードの続きを読むと81 var socket = io.listen(wsserver)83 socket.on('connection', function(client) {
なるほど。worldの中身はgeoip判定がメインな感じなので大枠この辺までが重要な感じです。84 var id = client.sessionId85 , ip = client && client.request && client.request.socket && client.request.socket.remoteAddress || '000'8687 connected[id] = client8889 world.sendStartupData(client)9091 client.on('disconnect', function() {92 delete connected[id]93 })94 })
2011年8月20日土曜日
Node Package Manager(npm)のインストール
前回に続きnpmをインストールします
早速試してみます
いい感じにインストールできましたshin@debian:~/dev$ curl http://npmjs.org/install.sh | sh% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 3927 100 3927 0 0 4464 0 --:--:-- --:--:-- --:--:-- 9350fetching: http://registry.npmjs.org/npm/-/npm-1.0.26.tgz0.4.111.0.26cleanup prefix=/home/shin/local/node
This script will find and eliminate any shims, symboliclinks, and other cruft that was installed by npm 0.x.
Is this OK? enter 'yes' or 'no'yes
All clean!! [ -d .git ] || git submodule update --init --recursivenode cli.js rm npm -g -fnode cli.js cache cleannode cli.js install -g -f/home/shin/local/node/bin/npm -> /home/shin/local/node/lib/node_modules/npm/bin/npm.js/home/shin/local/node/bin/npm_g -> /home/shin/local/node/lib/node_modules/npm/bin/npm.js/home/shin/local/node/bin/npm-g -> /home/shin/local/node/lib/node_modules/npm/bin/npm.jsnpm@1.0.26 /home/shin/local/node/lib/node_modules/npm
早速試してみます
うまくインストール出来たようですshin@debian:~/dev$ npm install expressexpress@2.4.5 ./node_modules/express├── mime@1.2.2├── connect@1.6.2└── qs@0.3.1
node.jsインストール
もろもろバージョンが上がって来たので、今日はnodeのインストールを再構築してみます。
v4.11で進めます。
環境はW5に入れている、debian squeezeです。
特にsidしかパッケージがないこともあり自前でbuildする必要があります。/usr以下を汚したくないため$HOME/localにインストール方法なので後で後くされなく消せるのでおすすめな方法です。
まずは、gitから落としてきます
つぎにv4.11 をcheck outします
v4.11で進めます。
環境はW5に入れている、debian squeezeです。
Linux debian 2.6.32-5-686 #1 SMP Mon Jun 13 04:13:06 UTC 2011 i686 GNU/Linux日本語解説サイトはもはや役に立たないので公式情報を参考に進めていきます
特にsidしかパッケージがないこともあり自前でbuildする必要があります。/usr以下を汚したくないため$HOME/localにインストール方法なので後で後くされなく消せるのでおすすめな方法です。
まずは、gitから落としてきます
shin@debian:~/dev$ git clone --depth 1 git://github.com/joyent/node.gitCloning into node...remote: Counting objects: 21010, done.remote: Compressing objects: 100% (8487/8487), done.remote: Total 21010 (delta 16287), reused 16130 (delta 12136)Receiving objects: 100% (21010/21010), 32.83 MiB | 263 KiB/s, done.Resolving deltas: 100% (16287/16287), done.
つぎにv4.11 をcheck outします
$HOME/local/nodeへのインストールを指示しconfigureします。shin@debian:~/dev$ cd node/shin@debian:~/dev/node$ git checkout v0.4.11Note: checking out 'v0.4.11'.
You are in 'detached HEAD' state. You can look around, make experimentalchanges and commit them, and you can discard any commits you make in thisstate without impacting any branches by performing another checkout.
If you want to create a new branch to retain commits you create, you maydo so (now or later) by using -b with the checkout command again. Example:
git checkout -b new_branch_name
HEAD is now at a745d19... Bump version to v0.4.11
あとは、まけまけインストールshin@debian:~/dev/node$ export JOBS=2shin@debian:~/dev/node$ mkdir ~/localshin@debian:~/dev/node$ ./configure --prefix=$HOME/local/nodeChecking for program g++ or c++ : /usr/bin/g++Checking for program cpp : /usr/bin/cppChecking for program ar : /usr/bin/arChecking for program ranlib : /usr/bin/ranlibChecking for g++ : okChecking for program gcc or cc : /usr/bin/gccChecking for program ar : /usr/bin/arChecking for program ranlib : /usr/bin/ranlibChecking for gcc : okChecking for library dl : yesChecking for openssl : yesChecking for library util : yesChecking for library rt : yes--- libeio ---Checking for library pthread : yesChecking for function pthread_create : yesChecking for function pthread_atfork : yesChecking for futimes(2) : yesChecking for readahead(2) : yesChecking for fdatasync(2) : yesChecking for pread(2) and pwrite(2) : yesChecking for sendfile(2) : yesChecking for sync_file_range(2) : yes--- libev ---Checking for header sys/inotify.h : yesChecking for function inotify_init : yesChecking for header sys/epoll.h : yesChecking for function epoll_ctl : yesChecking for header port.h : not foundChecking for header poll.h : yesChecking for function poll : yesChecking for header ['sys/types.h', 'sys/event.h'] : not foundChecking for header sys/queue.h : yesChecking for function kqueue : not foundChecking for header sys/select.h : yesChecking for function select : yesChecking for header sys/eventfd.h : yesChecking for function eventfd : yesChecking for SYS_clock_gettime : yesChecking for library rt : yesChecking for function clock_gettime : yesChecking for function nanosleep : yesChecking for function ceil : yesChecking for fdatasync(2) with c++ : yes'configure' finished successfully (4.283s)
最後に.profileにPATHを設定しますshin@debian:~/dev/node$ makeshin@debian:~/dev/node$ make install
インストールはこれで終わりですshin@debian:~$ echo 'export PATH=$HOME/local/node/bin:$PATH' >> ~/.profileshin@debian:~$ echo 'export NODE_PATH=$HOME/local/node:$HOME/local/node/lib/node_modules' >> ~/.profileshin@debian:~$ source ~/.profile
2011年4月20日水曜日
Where2.0 - Realtime Geo
Realtime geo
Twitterの紹介。
初見の人には、初めから紹介されていたのでわかりやすい。
ジオメディアサミット名古屋でデジガレの方が紹介されていた内容を詳しく説明している感じ。
GeoRSS,GeoJSON
Across all Twitter APIs(REST,Search and Streaming)
REST File I/O
Search Search
Streamin GeoHOSE
GEOHOSE
TREND API latlng or WOEID
spatial search
->遅い。 だからBBOX検索
->BBOXにID付与 GeoHash
あとは写真参照
http://www.flickr.com/photos/luckyxrea/sets/72157626533252296/
Twitterの紹介。
初見の人には、初めから紹介されていたのでわかりやすい。
ジオメディアサミット名古屋でデジガレの方が紹介されていた内容を詳しく説明している感じ。
GeoRSS,GeoJSON
Across all Twitter APIs(REST,Search and Streaming)
REST File I/O
Search Search
Streamin GeoHOSE
GEOHOSE
TREND API latlng or WOEID
spatial search
->遅い。 だからBBOX検索
->BBOXにID付与 GeoHash
あとは写真参照
http://www.flickr.com/photos/luckyxrea/sets/72157626533252296/
登録:
投稿 (Atom)