This domain may be for sale!
The "Double-Checked Locking is Broken" Declaration Signed by: David Bacon (IBM Research) Joshua Bloch (Javasoft), Jeff Bogda, Cliff Click (Hotspot JVM project), Paul Haahr, Doug Lea, Tom May, Jan-Willem Maessen, Jeremy Manson, John D. Mitchell (jGuru) Kelvin Nilsen, Bill Pugh, Emin Gun Sirer Double-Checked Locking is widely cited and used as an efficient method for implementing lazy initialization
Pythonでは、キーワード引数が使える。これは、引数の種類が多い場合は非常に便利である。 理由は、可読性が高いことと、引数の順番を気にしなくていいということ。 ## Pythonによるキーワード引数の例 rows = Query.find_all('stocks', where='price >= 1000', order_by='name', limit=10) キーワード引数がない言語では、ハッシュや連想配列を使ってそれに近いことができる。ただしキーワード引数と違って、キーワード名が間違っていてもエラーにならないという欠点がある。 ## PHPによる、連想配列を使ってキーワード引数をエミュレートした例 $rows = Query.find_all('stocks', array('where'=>'price >= 1000', 'order_by'=>'name', 'limit'
id:masanobuimaiに紹介してもらった後でナニだけど、はてなに移動。 Java屋さんとC#屋さんの両方向け。Java屋さんは「へー、LINQってこういうことなのね」と思ってくれれば。C#屋さんは「へー、ORMっていろいろあるんだね」と思ってくれれば。 (追記)CayenneとActiveObjectsを入れておけばよかったかな。 Criteriaクラスを使う (Torque) Torqueの場合、問い合わせは各エンティティのPeerクラスに対して行う。Criteriaクラスで条件指定。Criteria.CUSTOMを使えば条件部を文字列で書ける。あと、Criteriaを使ってJOINもできる。 ただ、いわゆる「流れるようなインターフェース」ではないので、コードが少々めんどくさい。 Criteria criteria = new Criteria(); criteria.add(E
今更感溢れる話題だけど、Ruby でキーワード引数的な Fluent Interface の実装 - 8時40分が超えられない - subtechの違和感が非常に気になったのでちょっと考えてみた。 まず、違和感のないものを考える TimeInterval meetingTime = fiveOClock.until(sixOClock); Martin Fowler's Bliki in Japanese - 流れるようなインターフェース Ruby脳なので、これは普通すぎて別に流れてないと思った。 private void makeFluent(Customer customer) { customer.newOrder() .with(6, "TAL") .with(5, "HPK").skippable() .with(3, "LGV") .priorityRush(); } Mart
っていうか、Hibernateにも昔からcriteriaあるよね? http://www.hibernate.org/hib_docs/v3/reference/en/html_single/#querycriteria List cats = sess.createCriteria(Cat.class) .add( Restrictions.like("name", "Fritz%") ) .add( Restrictions.between("weight", minWeight, maxWeight) ) .list(); 流れるようなインターフェースとメソッドチェーンは違うものだよヨシオリ。ぱっとみは似ているかもしれないけど。 流れるようなインターフェースでは、ソースコードを書いている人が、中断することなく流れるようにコーディングできなければいけない。 HibernateのCrit
2006年11月09日12:00 カテゴリLightweight Languages Computer Science 向きの言語 禿同。 Javaスクールの危険 - The Joel on Software Translation Project コンピュータサイエンスというのは証明(再帰)、アルゴリズム(再帰)、言語(λ解析)、オペレーティングシステム(ポインタ)、コンパイラ(λ解析)の話なのであり、結論を言うなら、CもSchemeも教えないJavaスクールというのは、本当のコンピュータサイエンスを教えているとは言えないのだ。 Javaを「現場言語」としての特長は、Computer Scienceの授業においてはJavaを「使えない」ものとしている。特にポインターの不在とVMでの実行を前提にしているということがそれを「致命的」なものにしている。それは現場での利用を便利かつ安全にする一方
Joel Spolsky / 青木靖 訳 2005年12月29日木曜 近頃の若い者ときたら。 勤勉はいったいどこへ行ってしまったんだ? 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのかもしれない。 そりゃ恵まれてるね。私は3ヶ月汚水浄化槽の中の茶色い紙袋に住んでいたよ。朝6時に起きて、袋を掃除し、固くなったパンの耳を食べ、工場まで歩いて行くと、1日14時間、毎週毎週働きつづけ、家に帰ると親父にベルトでたたかれて寝床についていたんだ。 ——モンティ・パイソンの空飛ぶサーカス 4人のヨークシャー人 私は若い頃、パンチカードでプログラムを作る方法を学んだ。ミスをしたら、それを訂正するためのバックスペースのような近代的な機能は存在しなかった。カードを捨ててはじめから打ち直すのだ。 私は1991年にプログラマの面接をするようになった。コーディングの問題に答える
本記事は2005年に執筆されたものです。Spring、DI、AOP全般の最新情報は@IT Java Solutuionのカテゴリ「DI×AOP(Spring/Seasarなど)」をご参照ください。 私がDIコンテナを使う理由 前回までで、Spring Framework(以下Spring)やDIの概念について説明してきました。最近では、実際の開発現場でもSpringのようなDIコンテナを利用するケースが増えてきているようです。 現場のエンジニアはDIの“機能”や“役割”は理解できるようです。しかしながら、「なぜそれが必要なのかピンと来ない」「学習してまで導入するほどの効果があるのか疑わしい」という声をよく耳にします。そのほかにも、自分自身はメリットを十分に理解して開発プロジェクトに導入したい気持ちがあるけれど、導入するためには上司や関係者を説得しなくてはならず、どのように説得すればよいか分
What is it? The Java Runtime Analysis Toolkit is a low overhead, easy to use, open source performance profiler for the Java platform. JRat monitors an application's execution and persists performance measurements. This data can then be viewed and analyzed using the JRat Desktop, a Swing application. How do I start using it? Read the The Quick Start Guide . It contains step-by-step instructions on
Time-stamp: "2007-08-08 Wed 10:29 JST hig" NTT DoCoMo/Vodafone/AU の Java 対応携帯電話で動作する iアプリ/Vアプリ/EZアプリ(MIDP)のプログラミングをやります. Java でオブジェクト指向の概念もちょっと学べるといいけど, とりあえず動くものを作って, 携帯にダウンロードするところまで一通りやってみよう, というのりです. 開発は Windows 上で行います. Windows 上でプログラムを作成, コンパイルします. それを, 自分の Web ページにおいて, 携帯の Web のブラウザで 携帯にダウンロード, 実行します. 使う Java は, J2MEといって, 文法としては, 数値計算法などで使ってる Java (J2SE) とほとんど同じです. 対象 龍谷大学 理工学部 数理情報学科 3回生 最近
Overlay Weaver はオーバレイ構築ツールキットです。 アプリケーション開発に加えて、 オーバレイのアルゴリズム設計もサポートします。 アプリケーション開発者に対しては、 分散ハッシュ表 (DHT) やマルチキャストといった高レベルサービスに対する 共通 API を提供します。 この API を用いることで、 特定のトランスポートプロトコル、データベース、ルーティングアルゴリズム に依存しないアプリケーションを開発できます。 Overlay Weaver は、 ルーティングアルゴリズムとして Chord、Kademlia、Koorde、Pastry、Tapestry、FRT-Chord の実装を提供しています。 ルーティング層の分割によって、 これらのアルゴリズムをたかだか数百ステップで実装することが可能となりました。 ルーティング層は高レベルサービスの下位に位置し、 ルーティン
http://objectgarden.skr.jp/?Java%2FTrails RubyでできたフレームワークRuby on Rails (RoR)が、今花盛りです。どこかの記事で「Javaの10倍の生産性」と謳っていたりするほど、高い生産性を誇っているフレームワークです。(RoRについては、割とあちこちで情報が出始めてるので、あえてここでは書きません。) で、Ruby以外の色々な言語でもその影響を受けたフレームワークが作られています。中でも、Trails (http://trails.dev.jave.net/)というJavaで作られたフレームワークを少し調べてみました。現在、バージョン0.8までいってます。 Trailsは、RoRにインスパイアされて開発されたものですが、そのコンセプトは少し違っています。Trailsのコンセプトの中心にあるのは、ドメイン駆動開発という考え方です。R
Download and open the 'Processing' application. Select something from the Examples. Hit the Run button. Lather, rinse, repeat as necessary. More information on using Processing itself is can be found in the environment section of the reference. To learn the Processing language, we recommend you try a few of the built-in examples, and check out the reference. A group of diverse books have been writ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く