2011年1月30日日曜日
2011年1月22日土曜日
ctagsを使ってみる
タグファイル(tags)を作ればCtrl+]で飛べる
使い方は
基本的には拡張子で判断してくれるらしいから
--language-forceは不要かも
対応言語は以下のコマンドで出力できる
ちなみにcscopeというC言語専用だけど高機能な解析ツールもあるらしい・・・
参考リンク
http://hp.vector.co.jp/authors/VA025040/ctags/ctags_j.html
使い方は
ctags --language-force=perl hoge.plこうすれば同じ場所にtagsファイルが作られる
基本的には拡張子で判断してくれるらしいから
--language-forceは不要かも
対応言語は以下のコマンドで出力できる
ctags --list-languages
ちなみにcscopeというC言語専用だけど高機能な解析ツールもあるらしい・・・
参考リンク
http://hp.vector.co.jp/authors/VA025040/ctags/ctags_j.html
2011年1月17日月曜日
radikoを聞くperlスクリプト書いた
ポイントはforkして指定した時間で落とすこと
#!/usr/bin/perl ################################################ # radiko を聞くスクリプト # 引数で制御する # # ヘルプを表示するにはh # radiko.pl -h ################################################ use strict; use warnings; use Getopt::Std; my %opt; getopts("hc:f:t:",\%opt); if (exists $opt{h}){ print << "HELP"; usage: radiko.pl [-h] [-c channel] [-f outfile] [-t playtime] -h print this message -c channel select play channel default: LFR * FMT TOKYO FM * FMJ J-WAVE * LFR nippon housou * TBS TBS radio -f outfile default: /tmp/channel.flv -t playtime default: 1 hour HELP exit; } my $CHANNEL; if (exists $opt{c}){ $CHANNEL=$opt{c}; } else { $CHANNEL="LFR"; } my $OUTFILE; if (exists $opt{f}){ $OUTFILE=$opt{f}; } else{ $OUTFILE="/tmp/$CHANNEL.flv"; } my $PLAYTIME; if (exists $opt{t}){ $PLAYTIME=$opt{t} * 60 * 60; } else{ $PLAYTIME= 1 * 60 * 60; } unlink $OUTFILE if -e $OUTFILE; my $com = << "CMD"; rtmpdump -v -e -s 'http://radiko.jp/player/swf/player_2.0.1.00.swf' \\ -r 'rtmpe://radiko.smartstream.ne.jp/$CHANNEL/_defInst_' \\ --playpath 'simul-stream?ucid=1dbab2acb98174787146465a40ba9eba' \\ -p 'http://radiko.jp/player/player.html' \\ -f 'WIN 10,1,102,64' \\ -o $OUTFILE CMD print "${com}\nplaytime=$PLAYTIME\n"; my $pid=fork; die $! unless defined $pid; print $pid; if ($pid){ sleep $PLAYTIME; kill 9,$pid; } else{ exec "$com"; }
2011年1月16日日曜日
デビルメイクライ3攻略リンク集
丁寧な攻略チャートがある
http://dmc-labo.secret.jp/DMC-Labo.html
武器アクション
スタイルアクション
http://www.geocities.jp/no0sloter/devil/index.html
MISSION 13のパズル解答
スペシャルエディションの裏技
タイトル画面でL1L2R1R2を押したまま十字キー上と左を押しながら左スティックを右下に入れる
バジールのコシュチューム一覧
・普通のバジール
・上半身軽装のバジール
・魔人化無制限のバジール(幻影剣は減る)
・ネロアンジェロに返信できるバジール
・ネロアンジェロ無制限のバジール(幻影剣も無制限)
http://dmc-labo.secret.jp/DMC-Labo.html
武器アクション
スタイルアクション
http://www.geocities.jp/no0sloter/devil/index.html
MISSION 13のパズル解答
スペシャルエディションの裏技
タイトル画面でL1L2R1R2を押したまま十字キー上と左を押しながら左スティックを右下に入れる
バジールのコシュチューム一覧
・普通のバジール
・上半身軽装のバジール
・魔人化無制限のバジール(幻影剣は減る)
・ネロアンジェロに返信できるバジール
・ネロアンジェロ無制限のバジール(幻影剣も無制限)
iptablesまとめ
よく忘れるのでメモ
因みにfilterテーブルなら省略可
参考リンク
iptablesで設定したルールを再起動後も反映したい
iptablesによるフィルタ設定
ルールの表示
例)natテーブルのルールを表示因みにfilterテーブルなら省略可
iptables -t nat -L
ルールの追加
例)80番ポートへのアクセスを遮断iptables -A OUTPUT -p tcp --dport 80 -j DROP
ルールの削除
iptables -D INPUT 3
パケット転送
80番ポートのアドレスを192.168.0.4:4000へ転送iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to 192.168.0.4:4000
参考リンク
iptablesで設定したルールを再起動後も反映したい
iptablesによるフィルタ設定
任意のIPを作って送れるソフト
sendip
debianならリポジトリにある
例)memo.txtの内容をtcpで送る
参考リンク
http://masy.families.jp/diary/?200010c
debianならリポジトリにある
例)memo.txtの内容をtcpで送る
sendip -d memo.txt -p ipv4 -p tcp 192.168.0.3
参考リンク
http://masy.families.jp/diary/?200010c
2011年1月15日土曜日
rtmpdump試してみた
NHKオンデマンドに挑戦
1.URLを解析
2.hostsを変更
今回は192.168.0.4にrtmpsuckを走らせておく
3.でダウンロード
出来るはずだったが、なんか出来なかったOTZ
因みにこんな方法もあるLinuxならiptablesで転送する
hogeuserをすべてlocalhostへ飛ばす例
iptables -t nat -n -L で確認
iptables -t nat -D OUTPUT 1 で削除
参考リンク
http://h.hatena.ne.jp/syouhi/9259273302189983422
気を取り直してradiko録音これはrtmpsuckで一発OK
rtmpdumpならこうかな
FMT・・・TOKYO FM
FMJ・・・J-WAVE
LFR・・・ニッポン放送
TBS・・・TBSラジオ
1.URLを解析
fms0000.nod.ipcasting.jp
2.hostsを変更
今回は192.168.0.4にrtmpsuckを走らせておく
192.168.0.4 fms0000.nod.ipcasting.jp
3.でダウンロード
出来るはずだったが、なんか出来なかったOTZ
因みにこんな方法もあるLinuxならiptablesで転送する
hogeuserをすべてlocalhostへ飛ばす例
iptables -t nat -A OUTPUT -p tcp --dport 1935 -m owner \! --uid-owner hogeuser -j REDIRECT
iptables -t nat -n -L で確認
iptables -t nat -D OUTPUT 1 で削除
参考リンク
http://h.hatena.ne.jp/syouhi/9259273302189983422
気を取り直してradiko録音これはrtmpsuckで一発OK
rtmpdumpならこうかな
#!/bin/bash rtmpdump -v -e -s 'http://radiko.jp/player/swf/player_2.0.1.00.swf' \ -r 'rtmpe://radiko.smartstream.ne.jp/FMJ/_defInst_' \ --playpath 'simul-stream?ucid=1dbab2acb98174787146465a40ba9eba' \ -p 'http://radiko.jp/player/player.html' \ -f 'WIN 10,1,102,64' \ -o FMJFMJの部分を変更すれば他の曲にもなる
FMT・・・TOKYO FM
FMJ・・・J-WAVE
LFR・・・ニッポン放送
TBS・・・TBSラジオ
2011年1月1日土曜日
tmuxを試してみた
tmuxの考え方
セッション・・・複数のウィンドウを持つ固まりウィンドウ・・・複数のペインを持つ1画面
ペイン・・・いわゆる操作できる端末
プレフィックスキー
全てプレフィックスキー(デフォルトはC-b)を押した後に入力する※ $で始まるものはコマンド操作
それ以外はプレフィックスキー後に入力する
セッション操作
hogesessionというセッション名で作成
$ tmux new -s hogesession
セッション選択
:choose-session
セッション一覧を表示
$ tmux ls
hogeセッションにアタッチ
$ tmux a -t hoge
ウィンドウ操作
windowのリネーム,※:set-window-option automatic-rename onにするとデフォルトになる
新しいwindowの作成
c
windowの数字選択指定
0~9
windowの数字を変更
.
ウィンドウを8番へ移動
move-window -t 8
ウィンドウ選択
:choose-window
ウィンドウの入れ替え(1と入れ替える)
swap-window -t 1
ペインpane操作
ペインの入れ替え
{
}
pane番号表示
q
レイアウト変更
SPACE
上下左右サイズ変更
+
-
<
>
ペインの入力同期 on/off
:set-window-option synchronize-panes on
:set-window-option synchronize-panes off
ペインを:1ウィンドウから一枚もらってくる
:join-pane -s :1
ペインを:1ウィンドウに移す
:join-pane -dt :1※:1.3という指定にすればペイン番号3指定
その他操作
コピーバッファの選択
=
コピーバッファを一覧を表示
lsb
コピーバッファの1番をペースト
paste-buffer -b 1
時計表示
t
screenと比べて
- 画面分割の制御が楽(上下左右のリサイズが楽)
- 画面表示が崩れない気がする
- 軽い気がする
- screenに比べて設定ファイルが分かりやすい気がする ※
- ウィンドウの中に画面分割のペインが紐付いているので管理が楽(分割された画面で画面が変わってしまうこちらはウィンドウの分割状態をそのまま保持できるため)
- クラサバ志向なので他人がすでにアタッチしているセッションに参加できる(2人で同じ端末をみれる何気にすごい)
- コピーバッファが何個も持てる
自分の設定
#key bind s split-window -v bind v split-window -h bind j select-pane -D bind k select-pane -U bind h select-pane -L bind l select-pane -R bind -r < resize-pane -L 1 bind -r > resize-pane -R 1 bind -r - resize-pane -D 1 bind -r + resize-pane -U 1 bind : command-prompt bind C-i select-pane -t :.+ bind Escape copy-mode setw -g mode-keys vi set -g prefix C-a bind C-a send-prefix #option set -g display-time 6000 set -g status-interval 30 set -g mouse-select-pane on #status line set -g status-right "#(uptime|cut -d, -f 3 | cut -d: -f 2) %Y/%m/%d (%a) %p %I:%M" setw -g window-status-format "#I:#W" setw -g window-status-current-format "#I:#W_#P" set -g status-bg black set -g status-fg cyan set -g status-left-fg black set -g status-left-bg magenta set -g status-right-fg black set -g status-right-bg green set-window-option -g window-status-current-attr bright,reverse set-window-option -g window-status-current-bg cyan set-window-option -g window-status-current-fg black #window new -s def -n rss_log "tail.pl /var/log/rss.log" splitw -h 'cd /var/log ; tailf allevent & tailf samba/log.nmbd &tailf samba/log.smbd & tailf lighttpd/access.log ' neww
参考リンク
日本語manWikiNote
登録:
投稿 (Atom)