Tips for writing clear, performant, and idiomatic Go code Packages

2008年02月04日07:00 カテゴリLightweight Languages λ Calculus - まずは遅延評価から うーん、まずY Combinatorというのはおじさんたちが悪かったかな。ギター習いたてでいきなりFの音を出すようなもんだから。 Haskell のリストと遅延評価が少し分かった - IT戦記 Y コンビネータって何? - IT戦記 まずは、遅延評価についてきちんとおさらいしておこう。 慌てるな、ループは急に止まらない まずは、以下の式を考えてみる。 (function(a, b, c){ return a ? b : c; })(true, 1, 1+1); 実行してみると、1となるはずだ。しかしここで重要なのはこのことじゃない。後ろの1+1が実行されるかだ。このことはどうやって確認したらよいだろうか。以下のようにしてみればいいはずだ。 var ELSE =
http://martinfowler.com/bliki/ImplicitInterfaceImplementation.html JavaもC#も純粋なインタフェース型というものを用意している。 純粋なインタフェースはinterface Mailableのように宣言し、 Javaの場合だとclass Customer implements Mailableのようにして実装する。 ひとつのクラスは複数のインタフェースを実装することができる。 このモデルが考慮していないのは、 クラスには必ず暗黙的なインタフェース(implicit interface)があるという点である。 Customerの暗黙的なインタフェースは、Customerで宣言されたすべてのpublicなメンバである(この暗黙的なインタフェースは、今まで私が見てきたどのOO言語にも存在する)。 JavaでもC#でも、暗黙的なイ
今回は、パターンを1つだけ紹介します。「Mediatorパターン」です。GoF本では、それぞれのパターンの「目的]「背景」「効果」などが明示されています。私も、ちょっと真似をしてみましょう。複数のオブジェクトを組み合わせてプログラムの機能を実現するという目的において、オブジェクト間の関連がゴチャゴチャになってしまうという背景(問題)があり、Mediatorパターンの採用によって関連をキレイに整理できるという効果があります。説明だけでは、何のことだかわからないと思いますので、具体例をお見せしましょう。 図1[拡大表示](1)をご覧ください。これは、UML(Unified Modeling Language、ユーエムエル)と呼ばれる表記法で記述されたプログラムの設計図です。UMLでは、四角形の中に下線付きで名前を書いてオブジェクトを表し、関連のあるオブジェクトを矢印で結んで示します。ここで関連
解 説書である. 以下にあるメニューは各章のリストである.ここにはすべての章のすべての節 を一覧してある.
(08/09/28) すっかり活動のメインがブログのほうになっちゃいましたが,こっちもちゃんと管理していきたいと思います. 今のところ企んでる特集企画が4〜5つあるので,なんとか暇を作って書きたいと思います. さて,すでにご存知だとは思いますが,当サイトの人気記事であるARToolKit特集が本になりました. ARToolKitの導入部分についてはサイトの内容とかぶるところはありますが, VRMLの表示のさせ方や,表示領域を複数持つアプリケーションの作り方, OpenCVとの連携など,新しい情報をあれこれ詰め込んでいるので是非手にとってみてください. (07/06/01) 新しい特集記事を書きました! 「攻殻機動隊」「電脳コイル」の世界を実現! ARToolKitを使った拡張現実感プログラミング 今回は過去最高の執筆時間を要した,とても濃い内容になってます. (07/03/02
価 格: 4,500円(税込み) 発売日: 2006年9月1日 コード: ISBN4-903708-01-2 発行元: オーバーシー・パブリッシング 発売元: オーバーシー・パブリッシング
「Java News.jp(Javaに関する最新ニュース)」の安藤幸央氏が、CoolなプログラミングのためのノウハウやTIPS、筆者の経験などを「Rundown」(駆け足の要点説明)でお届けします。(編集部) いまの仕事に「英語」は無用! 本当に? 昨今では、コンピュータ関連の翻訳書や日本人著者の書籍も増え、大抵の分野であれば、日本語で最先端の技術的情報を取得できるようになりました。ただ、最新の技術情報や、ニッチな領域の奥深い情報の場合、どうしても最新の洋書や、論文、英文のWebページの情報などに頼っているプログラマ・エンジニアも多いことでしょう。 また、海外で開催されるカンファレンスのQ&Aや、BOF(birds of a feather)などのミーティングの場合、英語力が即、理解力や情報伝達力に反映してきます。 自分は日本にいて、日本人相手に仕事をしているから「英語」なんて関係ないと思
[ Topページへ戻る ] [ Java SE SDKをビルドする ] Java SE 6 Mustang新機能 2005.10.20よりアクセス はじめに Mustang開発の主要テーマ リリース予定 JSR-270(Java SE 6追加仕様)で定義された新機能 JSR-199 コンパイラAPI JSR-269 アノテーションプロセッサー 参考URL JSR-250 標準アノテーション 新機能 コアクラス 文字列 ファイルI/O ネットワークI/O ユーティリティ JFC/Swing 全般 OSネイティブなルック&フィールにSwing対応を強化 Swingのサンプルプログラムを強化 レイアウト機能の改善 Swingのドラッグ&ドロップ改善 真のダブルバッファリングを提供 JTableでソート機能、ハイライト、フィルター機能を提供 Swingで別スレッドを扱うユーティリティクラスSwin
山下さんに Haskell の洗脳をされる。 数年前に机を並べてたときには、全然 Haskell を 使う気にならなかったんだけどなあ。 ちょっとしたワンライナーは Ruby とか Perl を使ってたけど、 Haskell を使ってみるかなあ、という気がしてきたよ。 以下、洗脳の要点。 1. 開発環境 弱いと思ってたけど、そんなことはない。 Eclipse のプラグインなんてものもあるらしい。 スウエーデンの大学(Chalmers大学?)では、 Haskell に強力に取り組んでて支援ツールを いっぱい出している。 2. 実行環境 いちいちコンパイルして実行しなきゃいけないんじゃ、 かったるいよな〜、それに速度も遅いんじゃない、 と思ったらそれも誤解。 インタプリタがあるので、Lisp や Python のように 使うことができる。 遅いっていうのも、最近文字列処理とかで、 高速なライブ
JavaScript プログラマの方にお聞きします。 近頃注目を集めている JavaScript ですが、どのような開発環境で開発していますでしょうか。(ブラウザ、デバッガ、エディタ、ブラウザのプラグイン、そのほか) サードパーティ製のツールなどをお使いの方は、できればそれがどんなものか、なぜそれがいいのかも教えてください。 ちなみに僕は Firefox の JavaScript コンソールと Emacs の java-mode というとてもしょぼい感じですw
このテキストは、2005年7月にデータハウスから出版された「アセンブリ言語の教科書」の原稿をWEB用に修正したものです。WEB用に修正したといっても、誤植を直した程度であり、ほぼそのままの状態で公開しています。 現在でも「アセンブリ言語の教科書」は書店で売られており、一般に流通しているため、本来ならば、出版社との契約上、このようにフリーでWEB上に公開することはできません。しかし、「アセンブリ言語の教科書」は、発売後すでに一年を過ぎようとしているにも関わらず、現在でも安定した売り上げを伸ばしており、当初の予想を超えて多くの方々に読んでいただけました。 よって、出版社に「本書の値段が高くて、読みたくても買えない学生の方々や、まだ本書の存在を知らない人たちのために、原稿の一部をWEB上にも公開できないだろうか」と、相談を持ちかけたところ、本書に関わった編集者からも「原稿のすべては無理だが一部分
最近の Prototype.js LL Ring でも言ったけど、まったくもって 4 ヶ月間更新なしだった。。。 しかし! ここ、 1 週間でこんなに更新があった! http://dev.rubyonrails.org/changeset?new=spinoffs%2Fprototype%404950&old=spinoffs%2Fprototype%404236 ということで、新しい機能まとめ DOM 要素に observe, stopObserving Element.Methods に observe が追加された。 var handler = alert.bind(null, 'クリックありがとう!'); $('target').observe('click', handler); // うーん、直感的! $('target').stopObserving('click', han
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く