2010-01-01から1年間の記事一覧

localsに関して誤解していた件

Python2.6とかで >>> def foo(): ... locals()["hoge"] = 1 ... print hoge ... >>> foo() Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<stdin>", line 3, in foo NameError: global name 'hoge' is not defined こうなるわけで、これはローカ</stdin></module></stdin>…

ぷちぷち1ロールを潰すのに何時間かかるか

ここにぷちぷちが1ロールある。一秒に一つ潰した場合、全部を潰すのに何時間かかるか? 下記の選択肢から最も近いものを選んで答えよ: A: 0.13時間(8分) B: 1.3時間 C: 13時間(半日) D: 130時間(5日) E: 1300時間(50日) 解答はおうちに帰ってから解答編。 僕…

C++でオブジェクト指向をおさらい中

注:このコードには失敗があって後で修正されますが、何につまずいたかを記録しておくために間違ったまま載せてます #include<iostream> //#define A //#define B class O{ public: int f(){ return 0; } }; class A : public O{ #ifdef A public: int f(){ return 1; </iostream>…

どうして原稿が書けないのかの考察

すべての人にとってわかりやすい文章も、すべての人にとって価値のある文章も、両方とも実現不可能な目標だということはわかっているつもりなのだが。大昔に5時間くらいで勢いで書いた「2時間で学ぶPython」の評判がなかなかよかったことから考えても、悩ん…

Pythonでオブジェクト指向をおさらい中

まあ、記憶が間違ってないことを確認しただけ。 # coding:utf-8 """ old-classとnew-classのメソッド解決順序に関する実験 """ class Base: x = "base" class D1(Base): pass class D2(Base): x = "D2" class D3(D1, D2): pass print D3.x #-> base class Ba…

Perl6でオブジェクト指向を復習中

role A { method foo(){ "A".say } } role B { method bar(){ "B".say } } class Foo { does A; does B; } my $x = Foo.new.foo() #->A まあここまでは当たり前で、次にB#barをB#fooにrenameすると Method 'foo' collides and a resolution must be provided…

Rubyが仲間はずれでかわいそうな件

"に関するトピックやイベントや面白い会社などの情報をツイートしています。"で検索 こんにちは!PHPManiaJPです。PHPに関するトピックやイベントや面白い会社などの情報をツイートしています。(以下略) こんにちは!JavaManiaJPです。(同上) こんにちは!Py…

C++の設計と進化(D&E) レバレッジメモ 1

どこにどの話題が書かれていたかすぐに探せるようにレバレッジメモを作ろうとしたがさすがに一気に作るのは無理だった…C++の話になる前に力尽きた。ふー、これでやっと1/4くらいかー。次回はC++の章からやる。 ~第0章 ある人はD&Eを単なる歴史書と呼んだが…C…

JavaScriptでオブジェクト指向をおさらい中

function Foo(){ this.x = function(){} } new Foo().x === new Foo().x //-> false そりゃ、そうなるよなぁ。こういう書き方をしているとインスタンスの数だけメソッド定義の実体ができてしまう。 function Foo(){ } Foo.prototype = { x: function(){} } n…

30〜40年後の話

ブログ書いてないでさっさと原稿を書けよという気がするので、思ったことを忘れないように走りがきする感じで: 心配しなくても現在使われている大部分の言語はあと30〜40年で「昔そんな言語もあったね」レベルまで駆逐されるよ。 なぜ30〜40年って言ったかと…

レゴの面白いゲームで遊んできた

「クリエイショナリー」っていう、まさにクリエイティビティを競うゲーム。ルールを簡単に説明しよう。カードとサイコロによってお題が指定されるので、3分間でそのお題をレゴで表現する、というもの。作っている人以外の人は早い者勝ちでそれを当てに行く。…

不安のしずめ方 40のヒント レバレッジメモ

コンビニで売ってる本の割にはわりとまともだった。「40のヒント」ってタイトルは多分編集に押し付けられたんだなーという感じでヒントが40個あるという感じではなかったが、いろいろな文献を引用しつつ不安とはなんなのか、という解説がなされていた。 人は…

かっばっば

id:Yoshiori id:ngtyk 夫妻と合羽橋祭りにいったら身寄りのない河童を3匹も引き取るはめになった※河童はこの後スタッフがステーキにしておいしくいただきました

クラスが持つ3つの役割

某所のチャットで話題になって、流れ去りそうだったのでもったいないから転載しておいた。事後承諾で。 MIYAMOTO Daisuke: 型の継承と実装の継承を区別する方法がないんだよな。西尾泰和(nishio.hirokazu): 型を継承させずに実装を継承させたい→それ移譲で …

Rubyのモジュールをおさらい

module Foo def hello puts "hello" end end Foo::hello #-> undefined method `hello' for Foo:Module (NoMethodError) includeしないと使えないのかな… module Foo def hello puts "hello" end end module Bar include Foo def hello2 hello hello end end…

JSのprototypeのおさらい2

昼休みに話題になったことをいま思い出したので書いておく function Foo(){ } var x = new Foo(); console.log(x) // Object {} Foo.prototype.y = 1 console.log(x) // Object {y=1}

国勢調査インターネット回答

ぐぐっても方法が見つからないなぁと思ったら、封筒に入っていたハガキに「検索サイトを使わないでください」などと書いてあった。おー、すごい、国勢調査のインターネット回答、SafariやFirefoxもサポートしてるぞ、と書いてからそれがあたりまえだろってこ…

Kindle DX

id:TOKOROTENがKindle DXを買うらしい。

JSのprototypeのおさらい

function Foo(){ } var x = {}; Foo.prototype = x; var y = new Foo(); console.log(y); # Object { } console.log(x == y); # false console.log(x === y); # false console.log(x === y.__proto__); # true あれ、空のオブジェクト同士の==はfalseなのか…

暗号検定の結末

http://homepage1.nifty.com/herumi/diary/1010.html#4 >百人一首は「定家の暗号」という「歌織物」説に基づき、その配列の横に「漢数字」、縦に「いろは」を振る。 なんだよその歌織物って. 合わせ言葉表の右上, 「古き軒ば」の「のき」と, 「ひさかたの光…

ASIAGRAPH講評

お、ASIAGRAPHの優秀作品リストにいつの間にか講評が付いていた。今まで気づいてなかった。http://www.asiagraph.jp/public/index.html 柴田忠男 Shibata Tadao 日刊デジタルクリエイターズ 編集長今回もたくさんのバラエティ豊かな作品が集まったが、作品の…

Perlでオブジェクト指向を復習中

ところで my $counter = {"value" => 0}; print "$counter\n"; # HASH(0x1008001f0) bless $counter, Counter; print "$counter\n"; # Counter=HASH(0x1008001f0) てなことをやるとuse strict時には「Bareword "Counter" not allowed」って言われる。bless $…

続き

コードで説明するとわからない人もいるみたいだから日本語で説明すると、下記のコードには盲腸が2本ある。 ['='.join((k, v)) for k, v in sorted(d.items(), key = lambda x: x[0])] まず、タプルの間の大小比較は、対応する各要素の比較結果を使って辞書的…

たまにはブログを書く

やる夫と Python で学ぶ Twitter の OAuth - YoshioriのBlogよいまとめ!はてブコメントより引用 id:agricola Python, あれげ リスト内包の使い方に美がないなぁ……。辞書のキーと値を、キーで並べ替えて取り出して=で連結するなら ['='.join((k, v)) for k, …

黒魔術について

Twitterから引用 黒魔術を使ってDSLを作り易くしている言語の作者たちって、ファイル冒頭でuse BlackMagic;しないと黒魔術使えないようにするとかuse BlackMagic::MetaClassHack;とか書かせてどんな魔術が使われているか明示的にするとか考えないのかなぁ ni…

SPYSEEの会社に遊びに行ってきました

先週の金曜日、id:amachangの新しい会社(オーマ株式会社)に遊びに行ってきました。正直なところ、最初に話を聞いたときには誰か悪い人に騙されてるんじゃないかとか思ったけども、中を見てみたらアットホームな雰囲気のベンチャー企業でした。目標が熱い!世…

多重継承まとめ

JavaはInterfaceという特殊な実装を持たないものだけ多重継承できる。実装を多重継承する仕組みはない。同じシグネチャのメソッドを持っている2つのInterfaceを継承した際にエラーにならないので衝突に気付けない。Pythonはクラスを多重継承できる。同じ名前…

okyuu.com のインタビュー記事の転載許可を頂いた話

okyuu.com でインタビューしてもらった記事が消えちゃったので許可貰って転載します!! - YoshioriのBlog yoshiori: みんな書かないからどうしたんだと思いつつ書いた ひー。ちょっとドタバタしてて作業が進んでないのでした!カカクコムの堀様に転載していい…

レバレッジメモ: C++の設計と進化

全部を読んでレバレッジメモ化するのはまだ時間の余裕がなくて出来てないけど、近いうちに使いそうなところだけメモしておく。P.283 C++はCやFortranのように暗黙の昇格を選んだことによって、完全な解決のない困難な領域に入り込んだ。P.284 柔軟性や表現の…

1377136101094667656108956765175025610

【鍵】 「算盤の書」 特別能力検定・第1回暗号検定-知的財産教育協会今日の昼休みは光成さんがこの問題をプリントアウトして持ってきて「Aのヒントを見てこれが答えだと思ったけどもフェイクだったみたいで提出しても正解だって返事が来なかった」というの…