プログラミングキャンプ日記

会場の建物がダンジョンだ。入口を入って2階に上がったらまずいきなり「ここは別館です」ってことで目的地がなくて差し戻しにあった。あとフロントで鍵をもらって「この道をまっすぐ行って右のエレベータを使え」と言われたのでまっすぐ行って突き当たって右に行ってエレベータが見つからないので戻ってきて、エレベータが見つかったと思ったら「宿泊室に行くにはこの反対側のエレベータを使え」と言われて、振り返ってエレベータを探すも見つからず以下略

「反対側」ってそっちか!


でも自販機で爽快ビタミンを売っていたのでここはいい研修施設だ(ぇ)


部屋がタバコ臭い!!



  • F1を押してBIOS画面を表示→DisplayをIntegrated?にする たぶんLinuxでプロジェクタに映したりするのに必要なんだという理解
  • rootではログインできないのでCtrl+Alt+F1でコンソールモードにする(少なくともLennyでは)
  • Ctrl+Alt+F7で戻る
  • 1~7まで全部に仮想画面が割り当てられている
  • git revertは負の変更を入れる。resetはなかったことにする。
  • ささださんが持って来たコンピュータ科学者がめったに語らないことを読んだ。僕も色々本を持ってくればよかった。
    • 選択に困ったときにはくじを引くか聖書を開く。ランダマイズドアルゴリズム。日本にはおみくじという文化があり、中国には6ビットの易がある。
  • クヌースの超実数

豪華料理!!

の準備のために片方のレストランが使えなかった我々。

Symbol#to_procとは:

irb(main):001:0> func = :+.to_proc
=> #<Proc:0x3cd520>
irb(main):002:0> func.call(1, 2)
=> 3

一方Pythonはfrom operator import addした

>>> from operator import add
>>> add(1, 2)
3

ふーむ、こういうのもできるのか。

irb(main):020:0> :to_s.to_proc
=> #<Proc:0x1456e0>
irb(main):021:0> _.call(42)
=> "42"

Pythonだとこれかなぁ

>>> from operator import attrgetter
>>> attrgetter("__str__")
<operator.attrgetter object at 0x61ad50>
>>> _(42)
<method-wrapper '__str__' of int object at 0x803f9c>
>>> _()
'42'

この辺は「オブジェクトが属性を持つ」という設計思想と「オブジェクトがメソッドと見えない属性とそれにアクセスするメソッドを持つ」という設計思想の違いに起因するなんやかんやだなぁ。