タグ

ブックマーク / d.hatena.ne.jp/lurker (83)

  • akasaka.rbのまとめ - 技術メモ帳

    akasaka.rb(http://akasakarb.org/)に行ってきました。のでまとめます。 yuguiさん、babieさんと、takaiさんと初めてお会いさせて頂きました。 とても楽しかったです。未熟なボクですが、今後ともよろしくお願い致します。 参加者 id:yuguiさん malaさん takaiさん id:babieさん ボク 要点 宇宙って11次元だよね 変態性癖をみんなで共有したいよね 印象的だったこと takaiさんがmalaさんのおしりをなでまわしていたこと 関連記事: no title Akasaka.rb - babie, you're my home

  • 漢のzshに乗り換えた時にアッーってなるコト - 技術メモ帳

    男のbashユーザーが、バラ色の紳士こと漢のzshに乗り換えたときに アッーってなるコト事を先ほどいくつか思いついたので共有する。 !!とかの履歴実行はrコマンドで zshには、r というシェル組み込みコマンドがあって 履歴からの実行が簡単に行える。 たとえば、一番最後に実行したviコマンドを実行したいときなどだ。 bashなんかだと !vi で出来るのだが、 rコマンドだったら % r vi でよい。 直前に実行したコマンドを再び実行したいとき、 bashなんかだと !! というやり方になるが、 rコマンドでは、 % r とするだけでよい。 また、文字列を置き換えてからの履歴実行はどうだろう。 たとえば次のようなbashの例だ。 $ vi .zshrc $ !vi:s/zsh/bash/ これは、最後に実行したviコマンドの引数文字列を ":s/zsh/bash/" によりzshという文

    yugui
    yugui 2007/02/19
  • ssh-copy-idコマンドで公開鍵をリモートホストに登録する - 技術メモ帳

    http://www.t-dori.net/k-way/?date=20061218 こんなコマンドがあったのか。常識? ssh-copy-id username@hostname.example.jp か。パスワード認証のパスワードが求められる。 あああ、こんな便利なコマンドあったのか。 いわゆる authorized_keys に登録する処理が簡単に行える。 ただ、ほとんどの環境に入ってない。 最近のOpenSSHだと入ってるのかな。 ちなみにいつもはこうやってる。 $ cat ./.ssh/id_rsa.pub | ssh user@remote_host "cat >> ./.ssh/authorized_keys" 参考: http://www.delafond.org/traducmanfr/man/man1/ssh-copy-id.1.html http://takkan-m

    yugui
    yugui 2006/12/19
  • 技術メモ帳 - zshで出来ている新感覚エディタzed

    zshのZLE Editorを使って作られた zedというテキストエディタがカッコいいうえに非常に便利。 zshの補完がそのまま使えたりする。 % autoload zed % zed ./test.txt 操作方法は、 変更を保存するときは、Ctrl+X Ctrl+W または Ctrl+J と入力。 破棄して終了したいときは Ctrl+C を入力すればいい。 あとはどんな bindkey をしているかによって変わるのだが 基的にemacsキーバインド 使ってみればわかるけどすごく新感覚なエディタ。 その場で編集してる感がすごくある。 ソースにも "他のシェルにはコレは出来ない" と書いてある。(いいすぎだ) # No other shell could do this. # Edit small files with the command line editor. あと、以下のような

    技術メモ帳 - zshで出来ている新感覚エディタzed
    yugui
    yugui 2006/11/30
    な、なんだってー
  • zshでfinally - 技術メモ帳

    いわゆるfinally文をzshで記述出来る事をさっき知った。 構文は以下 { # 何らかのコマンド } always { # ここが必ず実行されるコマンド } たとえば、以下は 存在しないコマンド を実行してみた例だ。 きちんと finally と表示されてる。 % { not_found_cmd } always { echo finally; } zsh: command not found: not_found_cmd finally 注意点として、"必ず実行される" と言ったが、 残念ながら exit は catch 出来ないらしい。

    yugui
    yugui 2006/11/22
    なんだってー
  • 技術メモ帳: [unix]複数のファイルの名前をまとめて変更する

    複数のファイルの名前を変更する際に、 便利なコマンドというものがある。 いくつかご紹介させていただこう。 カレントディレクトリにあるファイルの名前を、 たとえば、*.html を *.htm と名前を変更するという課題に対し どのぐらいエレガントに書けるかというのを比較してみる。 まず、普通にやったらどうだろう。 おそらく、for文 をつかうことだろう。 for file in *.html do base=`basename $file .html` mv $base.html $base.htm; done; zshだともうちょっとスマートにかけて、 for file in *.html do mv $file:r.html $file:r.html; done; こんな具合。 for文 が嫌いなネット右翼のために、 xargs を使ってこの問題を解いてみよう。 ls -1 *.htm

  • tloadコマンドでシステムの負荷をグラフィカルに表示 - 技術メモ帳

    tloadコマンドを使用すると以下のように システムのロードアベレージをグラフ表示する事が出来るようだ。 ちなみにこのコマンドは、cygwin や Linux など procps パッケージがインストールされている環境で利用する事が出来る。 このコマンドのオプションは以下のようになっている。 tload -d グラフの更新間隔秒 -s 縦軸の目盛り数 [ tty ] 必須オプションではないが、最後の引数に 出力先の tty を指定する事が出来る。 参考: http://www.linux.or.jp/JM/html/procps/man1/tload.1.html procps パッケージには、pgrep, pkill, pmap, watch など 他にも有益なユーティリティーが存在する。 http://www.linux.or.jp/JF/JFdocs/LFS-BOOK/appendi

    tloadコマンドでシステムの負荷をグラフィカルに表示 - 技術メモ帳
    yugui
    yugui 2006/11/18
  • フルスクリーンアプリを終了したときに元のコンソールの状態に復元する - 技術メモ帳

    vimemacs、less などのフルスクリーンアプリを終了したときに、 元のコンソールの状態に戻る環境と、戻ってくれない環境というのがあり、 前々からすごく疑問だったので、この際だからと調べてみた。 もしかしたら誰かの役に立つかもしれないので書いておく。 肝心の原因は、端末データベースの enter_ca_mode / exit_ca_mode ケーパビリティ が 適切に設定されてないということにあった。 当は vim などのフルスクリーンアプリは "元のコンソール状態" に復元しようと、 enter_ca_mode / exit_ca_mode というものを出力するのだが、 このときに、端末データベースから "実際に出力すべきエスケープシーケンス" というものを取得しており、 ここが正しく設定されていないため、うまく元のコンソールに戻らない。 これらを適切に設定すれば良いのだが

  • zshのzptyを使って端末が必要な処理を自動化する - 技術メモ帳

    zsh のモジュールに zpty というのがあるのを最近発見した。 どうもコレを利用すれば指定したコマンドを 仮想端末上で実行することが出来るらしい。 具体的にどういったことが出来るようになるのかというと、 端末が必要なプログラムを自動化することが出来る。 たとえば、パスワード入力処理などだ。 パスワード文字列を標準入力から読み込ませようとしても、 大抵のプログラムでは入力できない。 なぜかというと、多くのプログラムにおいてパスワード入力処理は 端末から読み込むように作られているからだ。 zpty を利用すればそういったたぐいのものをすべて自動化できる。 いわゆる、expect というコマンドで実現していたことが zsh だけで出来るのだ。 今回は、簡単に試すことが出来るサンプルとして、 su コマンドのパスワード入力を zpty を使って自動化してみる。 まず、zsh に標準添付されてい

    yugui
    yugui 2006/11/11
    expect代りにzsh
  • 技術メモ帳 - 拡張子ごとにコマンドを対応づける

    拡張子ごとにコマンドを対応づける事が出来る Suffix Alias という機能が zsh 4.2系から実装されていたらしい。 知らなかった。 どんな事が出来るのかというと たとえば、 alias -s txt=cat とした場合、 以下のようにするだけで、 % ./file.txt 先ほど設定したコマンドが自動で実行されるようになる。 % cat ./file.txt あとはもうアイデアしだいだが、 拡張子が *.log のときは、tail -f するなんて事も出来る。 alias -s log='tail -f' 参考: http://zshwiki.org/home/examples/aliassuffix http://slashdot.jp/articles/04/03/27/2333234.shtml?topic=80 http://zsh.dotsrc.org/Doc/Rel

    yugui
    yugui 2006/11/07
  • 技術メモ帳

    yugui
    yugui 2006/11/07
  • logrotateでローテート対象のファイル名を取得する - 技術メモ帳

    logrotate の設定ファイルに、 postrotate ~ endscript という項目がある。 これは、ローテート処理を行った後に、 実行したいコマンドを記述する項目である。 大抵、ログファイルを出力しているデーモンアプリに対し、 HUPシグナルを送出し、ログファイルを開き直させるために使用されている。 (デーモンアプリの作り方にもよるが、大抵の場合これを行わないと ローテートした先のファイルにそのまま書き込み続けてしまう。) 今まで知らなかったのだが、 そのときに、実はローテート対象のファイル名を 仮引数として渡してくれていたらしい。 つまり、$1 や $2 などで参照できる。 これは便利だ。 以下は、よくある logrotate の設定ファイルである。 /var/log/logfile1.log /var/log/logfile2.log { daily create rot

    yugui
    yugui 2006/10/24
  • 技術メモ帳 - Rubyの標準添付CSVパーサーが遅い - FasterCSV

    仕事で、でかいCSVをパースする必要があって、 標準添付のCSVパーサーを使ってみたのだが 体感できるぐらい遅かった。 http://www.ruby-lang.org/ja/man/?cmd=view;name=CSV いろいろ調べたのだが、 どうもこんなときは、FasterCSV を使えば良いらしい。 http://fastercsv.rubyforge.org/ インストールは簡単で、 gem を使うと一発で終わる。 $ gem install fastercsv 他の rubygems モジュールと同じように使ってあげれば良い。 require 'rubygems' require 'fastercsv' FasterCSV.foreach("CSVファイルパス"){ |row| } どれぐらい速いのか知りたかったので さっそくベンチしてみた。 テスト用のCSVファイルは 以下のペ

  • カーソル位置までをエスケープする - 技術メモ帳

    すごい便利なのを見つけてしまった。 これはいい。 ESC + " と入力する事で、 カーソル位置までをエスケープする事が出来るみたいだ。 たとえば、以下のように文字列を入力した状態で、 $ hello world hello の o の次の位置で ESC + " と入力すると $ 'hello' world とシングルクォートで囲ってくれる。 複数回入力する事で、 $ ''\''hello'\''' world どんどんエスケープしていく。 ESC + $ でこの逆を行う。 $ 'test test' $ test test

    yugui
    yugui 2006/10/07
  • 選択した範囲をスクリーンショット - 技術メモ帳

    yugui
    yugui 2006/10/05
  • 技術メモ帳 - Iframe の designMode="on" によるリッチテキストエディット

    こんな属性があるのを知らなかった。 実際には、Iframe の属性ではなさそうだが。 どうも、javascript で以下のように指定してあげる事により、 リッチなテキスト編集機能が有効になるようだ。 iframe.contentDocument.designMode = "on"; ちょっとサンプルを作ってみた。 選択範囲の色変えたり、画像貼付けたり出来ます。 http://gomibako.hahaue.com/rth.html (Firefox only) 実際に文字の状態を変化させたりしたい場合は、 同要素の execCommand メソッドを使用すればよい。 たとえば、文字を太字にしたい場合は、 以下のように指定するだけで良い。 iframe.contentDocument.execCommand("bold",false,null); 色を赤くしたければ、 iframe.con

    技術メモ帳 - Iframe の designMode="on" によるリッチテキストエディット
    yugui
    yugui 2006/10/01
    JavaScriptからデザインモードにできる
  • Excite RSS Reader を使ってみた - 技術メモ帳

    ITMediaで紹介されていた、 Excite RSS Reader (以下 ERR) を 試しに使ってみた。 http://reader.excite.co.jp/ http://www.itmedia.co.jp/bizid/articles/0609/01/news057.html (ITMediaの記事) なんだか、使い勝手がすごい良くて、 まさに vi キーバインドという感じ。 vi使いは、感性のままに操作出来ると思う。 さっそく、Livedoor Reader の OPML を移行してみた。 いや、移行してみようとしたのだが、 実際にはうまく行かなかった。 XML が正しくありません。 というようなエラーが出て ERR側に インポートできなかったのだ。 実は、結構ココではまったのだがどうやら ERR では XMLのサイズが一定の値を超えたときにも、 上記のようなエラー文言が出て

    Excite RSS Reader を使ってみた - 技術メモ帳
  • グローバルオブジェクトへの参照は遅い - 技術メモ帳

    マイクロソフトのドキュメントに書いてあったので、 実際にやってみた。 どうも、ローカル変数にグローバルオブジェクトへの参照を キャッシングすると速くなるようだ。 http://www.microsoft.com/japan/msdn/columns/dude/dude100499.aspx たとえば、window オブジェクトを使用するときは、 以下のようにすれば速くなるっぽい。 var w = window; // 以後、w を使用する。 グローバルオブジェクトへの直接アクセス 通常の使い方。 4464 ms window.global = 0; (function(){ console.time("test"); for(var i=0; i<1000000; i++){ window.global++; } console.timeEnd("test"); console.log(

  • 技術メモ帳 - Firefox拡張を簡単に改造する方法

    毎回、jar ファイルを作り直す作業が 面倒だと思った事はないだろうか。 じつは、chrome.manifest というファイルを 書き換える事によってこの作業は必要なくなる。 たとえば、FireBug を簡単に改造する手順を説明してみる。 この手順では、既にインストールしてあるものを 改造する手順を説明させていただくこととする。 ちなみに、コレに関連した話として、 入れておくと便利な拡張に、 Extension Developer's Extension というものがある。 http://ted.mielczarek.org/code/mozilla/extensiondev/ これについては後述する。 まず、FireBug のインストールされているディレクトリを探す。 それは、プロファイルディレクトリの下の ./extensions/firebug@software.joehewitt

  • URI の shell: スキーム - 技術メモ帳

    yugui
    yugui 2006/08/25