トップ «前の日記(2006-06-10) 最新 次の日記(2006-06-12)» 編集

日々の破片

Subscribe with livedoor Reader
著作一覧

2006-06-11

_ 発表資料

パワポとHTA

追記:start.htaにバグを見つけた。~(WScriptではEnterキーを示す)が2箇所にある。フルパス名の後の~を削除すると、想定していたリズムで実行できる(と思う——未検証)。

_ amrita2

僕はCDATAセクションは好きだが、実際のところ受け入れやすさってどうなんだろう? (DHHは、eRuby使わなきゃいいじゃんみたいに言ってた(ように聞き取れた))

プレゼンテーションロジックをコントローラに入れるというところでは正直なところ目が点になったが、これについては分離する(renderにテンプレートとエンジンを別に与えるとか)解決方法をDHHが言ってた(ように聞き取れた)。

っていうか、ひさびさにこのての話を聞けて楽しかった(dRubyのRWikiの中の話はやっぱり好きだな)。

_ MIMEタイプ重要

before_filterを使えば、MIMEタイプを自由に設定できるよ。

1箇所で複数の要素を見るのではなく、あらかじめ1つの要素に情報を集めることでその要素のみを見れば済むようにする。

#追記:RSSリーダで読むと、日記上で読むのと異なって均質化されるから(コンテキストがRSSリーダのそれになってしまうからだろう)、まるで個人的見解(おれがそう思う)のように読める。でも、これは引用メモなのだ(で、レクラ側で読むと確かにそう読める)。ちなみに引用元は(聞き取りが正しければ)DHHのコントローラに追加予定のrespond_toメソッドについての言葉。respond_toはContent-TypeAcceptにしたがってrenderを分岐させる。respond_whenのほうが良いのじゃないかと思ったが(選択動作に見えないので)思っただけで終わってしまったおれであった。

_ 問題解決野郎

世の中には、たぶん2種類の人間がいる(と始まれば、そういうことを言い出すばかものと、それ以外のまともな人の2種類ですね、と返すのが正しいと思う)。

問題解決野郎とそれ以外だ。問題解決野郎は、何かを聞くと、その問題点を先回りして嗅ぎ取ってしまう。そしてそれに対する解決案を考える。思いつきのどうでも良いアイディアの場合もあるし、深く鋭いそれ以外に確かに案はなさそうな解決案の場合もある。つまりその解決案そのものはそれほどには重要ではない(この場合)。重要なのは、とにかく問題解決案を考え、かつそれを元の話者に対して示したくてしょうがなくなるということだ。

っていうか、id="オブジェクト名|メソッド名" とか。:logic => 'foobar.logic" とか、良くまあその場で思いつくもんだな。で言った後から、|はsafeだっけ? とか。まあ、セーフじゃなければドットでよいかもとか。

でも、まあ、そういうのは、やっぱりあるべきひとつの姿ではあるよな、と横から見ていて思った。

_ やっぱりJavaは

(っていうか、あくまでもネタですよ。僕は、Java好きだし)

akrさんの発表はだいたいの部分においてすごく同意するし、あれは間違いなくプログラムを作る人はライブラリの中の人も外の人も誰もが知っておくべきことだと思う。

思うんだからちゃんと資料へもリンクしておくわけで『使いやすいライブラリAPIデザイン』。

で、その中に適度に短い名前が重要というテーゼがある。

つまり、今、あるライブラリFooがある。それに対して、基本のみんなに安心して使わせられるやつと、奥が深い症候群の患者用のやつの両方のメソッドを提供する場合、人間が持つ怠惰な性質に則って、短く簡略なやつを主として提供しろ、つまり次のようにしておけということ。

class Foo
  def open(path)
    ..
  end
  def open_for_asynchronous_access(path, &done)
   ..
  end
  def write(v)
   ..
  end
  def write_with_non_quoted_value(v, len)
   ..
  end
  ..
end

ちょっと例が良くないな。次のほうがわかりやすそうだ。

class VrString
  def len
    .. # 長さが欲しければこちらからどうぞ
  end
  def val
   .. # 値が欲しければこちらからどうぞ
  end
  def get_length
   .. # 素人は手を出すなよ
  end
  def get_value
   .. # 素人は手を出すなよ
  end
end

つまり、JavaはAPIのレベルや入門書のレベルや、その他のあらゆるハウツー本やらヒント本やらのたぐいが、すべてにおいて、そろいもそろって、「プログラム書くな」「素人は引っ込んでろ」「使いにくいぞ」「さっさと帰って寝てろ」と言ってるようなものですな、ということだ。ってのは、

良いクラスとメソッドのお手本
public final class ThisIsAPen {
  public boolean isThisAPen() { 
    ...
  }
  public void pleaseUseThisPenBecauseThePenIsVerySafeAndCheapForYouDear() {
   ...
  }
  public void writeAsSoonAsPossible() {
    ...
   }
}
悪いクラスとメソッドのお手本
public class Pen {
  public boolean isOk() { // OKでは何がOKかわかりません違反
    ...
  }
  public void useIt() { // 曖昧になりやすい指示代名詞itは使わないようにしましょう違反
   ...
  }
  public void asapWirte() { // ジャーゴンや省略形は使わないようにしましょう違反
    ..
  }
}

ということになっているから、誰もが上のように書くし、誰もが上のクラスのほうを好んで利用するというように決められているからだ。

そういえば、kitajさんとお会いできたのだった。

追記:アーハ。つまり、そのくらい高踏的で、素人に対して高い高い障壁をもうけている言語なのに、素人に毛がはえかけたまま抜け落ちてしまったような人たちが使ってしまっていることが問題なのですな。君たちは、Cを使ってstrlenとかを呼んでおきなさいと。

っていうか、sprintfではなくsnprintfを使わせたいとするのなら、長くするよりも、sprintfではなく、これからはspfを使えというようにすれば良かったのかも。あるいは、strcpyではなくscp(長さを取るのはあたりまえなので、strではないs族ではnはそもそも不要)とか。

_ LTメモ

(追記:以下は細部で印象的だった点であって、それぞれの発表そのものについてではない)

待魂。モニター越しで感じ取る会場の雰囲気では受けていなかったように見えたが、

・元ネタを知らない

・元ネタが過去の遺物化しているため忘却している

・別におもしろくない

のどれだろうか。字面駄洒落というのは嫌いじゃないのでおもしろかったが確かに笑い声をたてるほどでもないかな、というのが印象的だった。

etoさんはおもしろい。くそまじめな顔して16:30までで終わりですとか言うのは意識してやってるんだろうなあ、と。キートンみたいだ。

コンソールらせん。

無脳の言葉の赤がモニターだと潰れてまるで伏字みたい(というかまったく読めない)なので、想像力を非常に刺激する。

学生:どう思うよ?

無脳:XXXXXXXX

学生:すげー。

学生:神認定。

という感じ。

本日のツッコミ(全3件) [ツッコミを入れる]
_ 名無しさん (2006-06-12 02:18)

> sprintfではなく、これからはspfを使えというように<br>や、それはCではキツイんじゃないかと。<br>名前空間がたった一つしかないし。

_ arton (2006-06-12 02:31)

それもそうですね。

_ yadokarielectric (2006-06-12 13:42)

侍魂ということはわかったんですが、なんとなく反応しづらい感じでした。プレゼン自体はおもしろかったですけど


2003|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|

ジェズイットを見習え