トップ 最新 追記

活動日誌


2006-04-11

Home directory

Windows (Cygwin) ですが。

% ls -1 ~ | wc -l
123

% \ls -1 ~ | awk -F. '{ h[$1]++ } END{ for(v in h){ print h[v], v } }' | sort -n -r
7 test
4 hoge
3 tmp
...

この手の話を目にするたびに、整理した方がいいよなぁと思うのですが、 どうもうまく配置を決められずに散らかし状態。


2006-04-14

[JavaScript] Shibuya.js Technical Talk #1

参加しました。


2006-04-21

livedoor Reader 関連

RSS リーダには bloglines を使っていましたが、livedoor Reader の出来がよさそうなので とりあえず当面はこちらをメインに使ってみようと思います。 動作の軽さがすばらしいのですが、今後、人が増えたときがどうかな……

「ピン」は「あとで読む」なんだなぁ。 自分は大抵その場で([Ctrl]+[Enter]で)読んじゃうから今のところはあまり使ってないですが、 使い方によっては便利そうです。

この「ピン」機能を発展させて、例えば SBS と連携させてピンのログを取れるようにするとかしたら 面白いかも?

今の使い方

  • まず [Z] で上下のバーを消す (1段階目と2段階目がありますが、1段階目にしてます)
  • [s] で先頭のフィードにアクセスする
  • [j] でアイテムを読み進める
  • 元ページを読みたい記事があったら [Ctrl]+[Enter] で開く
  • アイテムを最後まで読み終わったら [s] で次のフィードに移る

気付いた点

  • 「元ページを開く」で、[v] は新しいウィンドウがアクティブになるが、[Ctrl]+[Enter] はバックグラウンドで開く

要望

  • 「フォルダ、アイテムの編集」で、現在のページ数を表示してほしい (全部でどれくらいのアイテムがあるか分からない)
  • 「新着のみの表示」を切り替えるキーバインドがほしいかも
  • 「最初のアイテム」「最後のアイテム」のキーバインドがほしい ([g] と [G] か)

2006-04-24

はてな認証 API のテスト

はてなの認証 API が公開されていたので、早速テストしてみました。

ヘルプの通りで特に問題はありませんでした。

まず、入口となるページではてなへのリンクを貼ります。MD5 を計算する必要がありますが、 例えば ruby を使って以下のような感じで求められます。

% ruby -rdigest/md5 'p Digest::MD5.hexdigest("abcde01234abcde0" + "api_key" + "faff512ffa3a23c85efaaa4bf92f5839")'

コールバック URL には http://shakenbu.org/yanagi/hatena-auth/hatena-auth.cgi を指定します。 その hatena-auth.cgi の中身は下のような感じです。

#!/usr/local/bin/ruby

require 'cgi'
require 'open-uri'
require 'digest/md5'
cgi = CGI.new

api_key = 'faff512ffa3a23c85efaaa4bf92f5839'
private_key = 'abcde01234abcde0' # 秘密鍵
cert = cgi.params['cert']
api_sig = Digest::MD5.hexdigest("#{private_key}api_key#{api_key}cert#{cert}")
uri = "http://auth.hatena.ne.jp/api/auth.json?api_key=#{api_key}&cert=#{cert}&api_sig=#{api_sig}"
open(uri) do |f|
  print "Content-Type: text/plain\n\n"
  puts f.read
end

秘密鍵のところは実際の値とは変えてあります。

ここでは単にレスポンスの中身を出力するだけにしてありますが、 実際のアプリケーションではこのレスポンスに従って処理を分ける形になります。

Ruby の JSON ライブラリは使ったことないですが、http://json.rubyforge.org/ が見つかりました。

クエリは ; 区切りでも大丈夫

http://auth.hatena.ne.jp/auth の呼び出しですが、クエリの区切りはちゃんと ; にも対応していました。

参照: B.2.2 URI属性値のアンパサンド記号

追記

結城さんもテストページを作られていました。http://d.hatena.ne.jp/hyuki/20060424#hatenaapi

Ruby 版のモジュールも出てきました。 http://subtech.g.hatena.ne.jp/secondlife/20060424/1145882341

ログアウトはどうやるのだろう

はてな認証 API をテストしてみての疑問。この手の認証 API を使ったことがないのですが、ログアウトってどうやるんでしょうか?

ログイン時の認証ははてなにしてもらって、ログインが成功していたら こちらのアプリでセッションを保持するわけですよね。

この場合、ログアウト処理ででこちらのアプリのセッションを消しても、 はてなにはログインしたままになってるので、はてなのログアウトもしないと いけないと思うのですが、どうすればいいのかなぁと。

一応 http://www.hatena.ne.jp/logout にリダイレクトすればはてなもログアウトできますけど、そのあとはてなのトップページに行ってしまいますよね。

本日のツッコミ(全2件) [ツッコミを入れる]

_ hyuki [逆に、はてなのほうでログアウトしたらどうなるんでしょう。いったんもらったcertがもう使えなくなる?…といってもce..]

_ yanagi [確かに、おっしゃられるとおりに、はてな API から見てサードパーティのひとつであるこちら側で はてなのログアウトの..]


2006-04-30

インデントとタブのはなし

タブのスペース化はタブ幅よりも重要であるより。 時間がないので箇条書きで。

  • 私はスペース派。インデントは C 系の言語 は 4 で、Ruby は 2 で書いてる。
  • スペース派である理由は、「タブでインデントすると、タブ幅が違う環境で見たとき、ブロックの行頭以外のところが悲惨になるから」。(こんなのです↓)
{
    hogehoge(a,
             b,
             c);
}
  • ブロックのインデントはタブでそれ以降はスペース、というのは上記の問題を解決するが、この操作はキー一発でできるのだろうか? できるのだったらそれでもいいかなぁ。私はスペースインデントなので、上の例のようなインデント(ブロックの行頭以外)も TAB キー一発でできる。(Emacs(Meadow)使用)

もうちょっと詳しく書きたかったですが、出かけないといけないので、気が向いたら続きはあとで。 (Emacs のデフォルトだとタブとスペースが混ざっちゃうよ、とか)

インデントとエディタのはなし

ちょっと気になったのですが

http://d.hatena.ne.jp/charsbar/20060430/1146378669

私もタブ幅は4にしていますが、スペースでインデントするならせいぜい2もあれば十分。4もタイプするのは正直面倒です

メモ帳とかはともかく、プログラミングに使うようなエディタであれば、 キーひとつでスペースインデントを入れてくれる機能は付いているものだと思っていましたが……

私は、まともにコンピュータを触るようになってからエディタはずっと Emacs だったので 他のエディタ事情はよく知らないのですが、Emacs 以外でコードを書いている方でスペース派の方、 実際のところどうなのでしょうか?

(覚えてる範囲だと、VisualStudio はできたような覚えが)

尻カンマ

「インデントとタブのはなし」のエントリを書いてから出かけて戻ってきたら、 「尻カンマ」という予想外の方向に話が進んでいたのでびっくりしました。

Perl だとメソッド呼び出しのところでも最後のカンマを余分に付けられるんですね。 知りませんでした。今 Ruby と C で試したら、どちらもエラーになりました。

配列での尻カンマは、普段からよく使っています。

本日のツッコミ(全6件) [ツッコミを入れる]

Before...

_ pon [>ちなみにcの後のカンマは余計だなw 多くのスクリプト言語の場合、リストコンテキストでは 最後のカンマのあるなしは関..]

_ Bar [うん。そうなの。わざとツッコマビリティを上げといたのだ。スマソ>nagaton 個人的にはコレが気に入っててperl..]

_ nagaton [なるほど。リストであったとは。]


2005|02|03|04|05|06|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|03|04|05|06|10|
2008|04|10|
2009|10|
2010|05|08|
2012|01|02|03|
2014|01|
トップ 最新