Programming 2.0 from O’Reilly Rader O’Reillyが、送られてきたメールに書かれていたプログラミング2.0の定義を紹介している。 Programming 2.0 1.0 2.0
Programming 2.0 from O’Reilly Rader O’Reillyが、送られてきたメールに書かれていたプログラミング2.0の定義を紹介している。 Programming 2.0 1.0 2.0
今年もうちでクリスマスパーティーをやる。 クリスマスパーティーにはプレゼント交換。 で、誰が誰にプレゼントを渡すのかを決めるわけだが、人間がサイコロなどで乱数をつくって決めるのは、実は難しい。 そこで今日の出題。 クリスマスパーティーでプレゼント交換を行う。 全員、誰かにプレゼントを一つあげ、誰かからプレゼントを一つもらう。 参加者は、自分と同じグループに属している人にはプレゼントをあげない。 どのグループにも属さない人や、複数のグループに属する人はいない。 この条件を満たすようなプレゼント交換が等確率で出るような、プレゼント交換方法生成プログラムを実装せよ わかりにくいと思うので、グループについて解説。 例えば。私と杏子と穴田さんと出部さんの四人で行うとする。私と杏子は「鍋谷夫妻」というグループに属しており、穴田さんは「穴田さん」というグループ、出部さんは「出部さん」というグループに属し
01:16 06/12/29 年末まとめ 日記を読み返したりその他状況証拠から、今年の自分を振り返るのコーナー。 今年やったこと行ったとこ等と、今年読んだり聞いたりして好きになった 本/音楽などなどを適当に並べていきます。 後者は私が今年読んだ/聴いた作品から選んでいるので、必ずしも、 この一年の間に発表されたものとは限りません。 1月。 やったこと:修論 (MTran) 書いてたはず。XMLが木構造が正規表現がオートマトンがどうとかいう話。実装が やっつけ仕事にもほどがあるのでなんとかしなきゃなあと思いつつはや1年。 マンガ:『いわせてみてえもんだ』の続きが気になってしかたなくなりました。夏頃から ヤングガンガンで連載が始まって、今ちょうどもうすぐWeb版に話が追いつきそうな ところなので続きが気になってしかたないです。 2月。 本:『考える脳 考えるコンピューター』 "予測" こそが
via del.icio.us/popular What code DOESN’T do in real life (that it does in the movies) 「(映画の中では起こるけど)現実には起こらないコード」というブログエントリ。面白かったので項目だけでも紹介。 コードはものすごい速度で画面を動き回ったりしない コードを黒地に緑文字で表示して編集してるやつなんてほとんどいない 改行もスペースも、インデントもないコードなんてありえない コードは三次元で編集したりしない コードは効果音と共にスクリーンに現れたりはしない コードは8歳児に数秒でクラックされたりしない 膨大なコード全体が一瞬で器用にゴミになったりはしない プログラマーは0と1だけでコードを書いたりしない(アルファベットや記号も使える) プログラマーはキーボードだけでなくマウスも使う コードはそんな簡単にクロスプ
http://www.kmonos.net/wlog/68.html#_2331061204 最後やりたかったのは本当はこんな感じですか! import std.stdio; import std.typetuple; template FormatCheckerType(char[] orig, char[] fmt, T...) { static if (fmt.length == 0) { static assert(false, orig ~ ": % comes without type specifier"); } else { const c = fmt[0]; const l = c | 32; // lower case template msg(char[] orig, char[] type, char c, T) { static assert(false, ori
突然ですが、きっとあなたも使っているデザインパターンシリーズ 何気なく書いていたあのクラスが無意識的にNullObjectパターンやHook Operationパターンを適用していることがここ最近多い気がしませんか? 僕の場合はS2Daoを通して見付けた(身に着けた)ものが多いんですが、今回はそのS2Daoより、簡単に書けるHook OperationパターンとNullObjectパターンをPHP5で書いてみます。 Hook Operationパターン 「Hook Operationパターン」にも書かれていますが、あるクラスの処理の前と後ろに、別の処理を実行したいことがあります。 AOPとか特別なことはせずに、あるクラスの前処理と後処理を呼び出します。 あるクラスの処理を「Process」クラスの「execute」処理とし、別の処理(前・後)は「Hook」インタフェースを実装するクラス
熱血!平成教育学院の今夜の放送の問題より。復号(暗号化も同じ)のためのスクリプトを Squeak の Smalltalk を使ったいくつかの方法で。 ■対応する復号文字の ASCII コードを計算で求めて #collect: | codeString | codeString := 'HZPFIZ'. ^ codeString collect: [:chr | | asciiValue | asciiValue := $Z asciiValue - chr asciiValue + $A asciiValue. Character value: asciiValue]=> 'SAKURA' ■あらかじめ作成したテーブルから復号文字を探して #collect: | codeString tableDict alphabet | codeString := 'HZPFIZ'. tableDic
_ updateSlot setSlot うーん。 プロトタイプベースの言語なんかで、 こう、 = をメッセージにして代入なんてしたいわけだけど。 Class f = function() {} これでいいじゃんて思うかもしれないけど、違うんだっ… Class に f ってメッセージ投げて さらに = ってメッセージが飛んでると考えると、 f に対するメッセージで Class をいじるという違和感がっ…! しかもオブジェクトが、「自分が今どの名前で呼ばれているか」 とかを知らなければならず、 これはとても気持ち悪いのです。 うーん。 Class#f= しか無いかなぁ? いや setSlot の方はなんとでもなるんだが updateSlot の方がどうにもこうにも。 hmm. (02:14)
コメント欄に書いてたら,長くなってしまったのでこっちに加筆して転載. soutaroにっき ■プログラミング言語の実行速度 00:23 大体俺の中では, C>C++>OCaml(native)>Java・.NET>Haskell>>>VB6>OCaml(bytecode)>Perl/Python>>>>Ruby みたいなイメージ.合ってるかどうか全然自信ありませんのでバカ日本地図を眺めるような感じで見てください. つまり,Javaより速いって聞くと「速っ!!」っていうイメージになるんですよね. んで,Java・.NET以上なら,大体どんなアプリケーションでもいけると思うんですが,そうするとOCaml(native)の立場が微妙になる感じがする.それにRubyでもがんばればけっこうなんとかなるみたいですし,そうすると結局プログラミング言語における実行速度というのはいまやほとんどのケースで問題
次のエントリー内で書籍に触れています。 groovyとラムダ式(6):補足と総括 - 檜山正幸のキマイラ飼育記 (はてなBlog)→プログラミング言語の基礎理論、プログラム意味論 ウルトラ・マクロな立場の定式化 - 檜山正幸のキマイラ飼育記 (はてなBlog)→プログラミング言語の基礎理論 見つけもの:Angelo Vistoliのていねいな論文 - 檜山正幸のキマイラ飼育記 (はてなBlog)→Categorical Logic and Type Theory, Handbook of Categorical Algebra 2 データ型のクレイジー計算 - 檜山正幸のキマイラ飼育記 (はてなBlog)→Categories and Computer Science 圏論、論理、計算論の関係については、"Introduction to Higher-Order Categorical L
Part3では,もはやオブジェクト指向開発では欠かせない存在となったソフトウエア・パターンについて解説しましょう。デザインパターンに代表される様々なソフトウエア・パターンを活用して,熟練者の経験を盗み,オブジェクト指向開発を円滑に進める術を習得してください。 ソフトウエア・パターンの全貌 皆さんは誰かが書いたプログラムを眺めていて,どこかで見たようなソフトウエア設計やコードに出くわしたことがありませんか? 「このクラスの役割はどこかで見たことあるなあ」とか「このコードは何度も自分で書いたことがあるぞ」といった感覚です。そのような既視感は,そのコードを書いた人が,皆さんと似たような状況で,繰り返し発生する問題を抱えて,似たような設計/実装を行ったからかもしれません。 ソフトウエア・パターン*1は,このような繰り返されるソフトウエア設計を集めたものです。それも単に集めたのではなく,様々なソフト
_ ASP.NETでJavaScript いろいろ事情があって、onsubmitの時にバリデーションがOKだったらプログレスバーみたいなのを実装したくなったとする。なかなか結果が返ってこない時に動いているよを嘘でも表示する必要があるのだ。 で、MSDN読むんだけどクライアントスクリプトによるonsubmitへの介入方法がわからん。ButtonクラスのOnClientClickってのはあるのでそれにfoo();とか設定してみると、 onclick="foo();return asp_net_generated_bar_baz_bang();" みたいになる。いや、おれはバリデーションの結果の動作を知りたいのだよ。で、生成されたHTMLをしげしげと眺めるとformのonsubmitが設定されているのがわかる。こいつが真を返した時にfoo()すりゃいいのだな。foo()は、おおざっぱには var
ITproの記事になっているが、経済産業省に設置の産業構造審議会情報経済分科会情報サービス・ソフトウェア小委員会とやらの人材育成ワーキンググループの第一回会合において情報処理技術者試験の抜本的改革を巡る議論が本格化したらしい。仰々しいWGの紹介はこれで置いといて、記事によればここで情報処理技術者試験においては、(1)同試験の資格試験化、(2)ITスキル標準(ITSS)と整合性を取る、(3)基本情報技術者試験の下位に当たるエントリ試験新設、(4)試験の更新制度導入、という4項目も議論の対象に含まれていると報道している。 この中で影響が大きいのは、1と4であるが、資格試験となれば資格を取得しないと該当する業務に携われなくなるというもの。更新制はそのまんまだが一度合格すれば更新の必要がない現状の問題点を解消するものである。2007年3月末までにWGとしての結論を出すとのことだが、ここの結論次第で
複雑になりがちなWebのプログラミングをぐっと身近にしてくれる「SimpleAPI」シリーズをご存知だろうか。ちょっとしたパラメーターをURLに渡すだけでさまざまな情報を返してくれるこのシリーズ、サイトの縮小画像を簡単に作ってくれる「サムネイル作成API」を皮切りとして、「最寄り駅&地図API」「Wikipedia API」と続いている。 このシリーズを提供しているのはたった1人。開発者の伊藤まさおさんは1996年にオンラインコミュニティサイトを立ち上げて個人で運営し、2002年に法人化。現在は仕事をしながら大学院に通っている。 SimpleAPIシリーズで「実力よりちょっと上」に挑戦 「自分が今80の力を持っているとしたら、90か95のことをやりたいのです」 SimpleAPIシリーズで何をしたかったのかを尋ねたところ、伊藤さんはこう答えてくれた。 今の実力でできる簡単なものを作ってもし
「Top 20 replies by Programmers to Testers when their programs don't work」という記事がありました。 笑えたので訳してみました。 ただ、かなり意訳気味なのでニュアンスが違っている項目があると思います。 詳細は原文をご覧下さい。 ソフトウェアが正しく動作しなかったときの、プログラマからテスターへの返答。
知的にエキサイティングな行為はいろいろあります。例えば,パズルを解くこと,囲碁や将棋をたしなむこと,プログラミングなどがそれにあたります。 なかでも,プログラミングにはパズルや囲碁・将棋にない大きな特徴があります。それは,プログラミングに使用する言語処理系を,プログラミングによって生み出すことができという特徴です。パズルを解くことでパズルが生み出されたり,将棋を指すことで将棋のコマが生まれるようなことはあり得ません。しかし,プログラミングの世界ではそのようなことがあり得るのです。それを体験できることが,ほかと異なるプログラミングならではの面白さと言えます。 「いや,理屈はそうであっても,難しくて僕らに作れるわけがない…」,そう思う方々もいるでしょう。もちろん,大企業や有名な団体が開発し,配布しているような有名言語処理系(例えば米MicrosoftのVisual StudioやGNUプロジェ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く