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

DI標準化戦争? on JSR その後

JSR-330 (Java の依存性注入)と JSR-299 (Java EE プラットフォームに おけるコンテキストと依存性注入)の仕様策定グループ間で仕様の調整が 行われ、両仕様間の重複や共存時の問題が解消される形で "DI標準化戦争"と一部で呼ばれる問題は解決しました。 落…

コンテンツプラットホームとしてAndroidが成功しないと断言できる理由

理由その1. ネイティブコードが実行できない。 全てのアプリはDalvikVMを介して動きます。 DalvikVMを介して自作のネイティブコード (ライブラリ)にアクセスする手段は提供されていますが、 ゲーム系等のパフォーマンスの要求されるアプリでは フルネイテ…

(職業)プログラマの生き残り戦略

ttp://d.hatena.ne.jp/satosystems/20090703/1246638153 色々なプログラミング言語を広く浅く知っていても意味はないし、 生き残れない。

HTML5の本質

クライアントサイドへの負荷分散、クライアントの責務の増大 (クライアントでできることはクライアントでやる)による サーバーサイドへの負荷集中の緩和がHTML5の設計の根底に あると思う。

オープンソースの真骨頂

オープンソースの真骨頂はイノベーション(革新)の誘発・加速に あると思う。

Dynamic Objective-C

Objective-Cのディープな解説本、3/26発売。

スレッド並列 or ネットワーク並列 ?

スレッド並列 一つの処理をタスクに分割し、相互依存のない処理を複数スレッドに 分散し、処理を行い、最後に処理結果を纏める。 処理を依頼するスレッドと依頼された処理を行うスレッドに分かれる。 CPUのコア数によってスケールする。 JavaではJava7で導入…

JCPのあるべき姿

今回のDI標準化戦争?が勃発したことでJCPが正常化される、 OSS主導への回帰である、JavaEEの終焉であるや、JCPが機能不全に 陥っているのはSunの責任でありOracleが買収した事により JCPが正常化される等の論調の文章を見かけるが、 これらの文章から読み取…

ダブルスタンダードになりかけることは標準化団体では珍しくない

JSRにおけるDI標準化戦争のように一時的に ダブルスタンダードになりかけるケースは JCPのような標準化団体では珍しくはなく 普通に起こりえる事態で、それが起こった ことでその団体の存在価値に疑問を呈する ような問題ではありません。

DI標準化戦争? on JSR

DIコンテナ共通のアノテーション仕様を新たなJSRとして提案している Guice・Spring陣営、JSF・EJB3を接続することに重点を置いた 仕様であるWebBeans(JSR299)を主導して策定中のJBoss陣営、両者の 関心のある領域が異なるので、一概に戦争とは呼べないのでは…

Java7で予定されていたプロパティ構文案の見送りは正解

見送りがアナウンスされてから時間が経っているので 今更感がありますが書いておきます。

BigTable

大雑把にいうと今はやりのKey-Value型分散ストレージの一種、 構造化データの格納及び単体での永続化を実現していることが 大きな特徴。

Cocoaのアウトレットとアクション

IBOutlet id component; とソースコード側でクラスにIBOutletでマーキングしたインスタンス変数 を追加して、InterfaceBuilderで作成するUIレイアウトファイル(NIB ファイル)でUIコンポーネントとクラスを関連づけておくと、実行時に componentに対してNIBフ…

ロジック高速化の処方箋 for OO言語

1) オブジェクトの生成(取得)回数を減らす。 1-1) 生成(取得)後、変更されることのないオブジェクトは一度だけ生成 (取得)する。 1-1-1) 複数のメソッドで利用され、そのオブジェクトの生成が 所属するクラスのプロパティに左右されない場合、 クラス(静的)…

OO言語とメモリ割当

「ヒープ領域」「スタック領域」といっても結局、物理メモリ上の領域に対して VM等で役割毎に適切なデータ構造を割当て、物理メモリ上の領域を分割し、 分割したメモリ領域をデータ構造毎に呼んでいるだけ、結局は同じ物理メモリ上。

処理速度と拡張性・保守性

優秀なエンジニアは拡張性・保守性と処理速度を上手く両立させます。 拡張性や保守性のために処理速度を犠牲にするエンジニアは優秀な エンジニアとは呼べません。

プログラミングの真髄

短いロジック(少ない手数)で、求める結果(=最大の効果)を得ること。 ロジックが短いとは、表面上の短さでなくそのロジックで行われる処理 の総量が少ないことを指します。 短いロジックはロジックの実行に要する時間が短い、即ち、処理速度が 速い。 何もし…

OO言語における変数のメモリ領域確保のタイミングと変数の寿命

細かいところは間違っているかもしれないが、おおよそ次のとおり。 静的言語はJava、動的言語はRubyを基準に記述しているので それ以外の言語では若干異なります。 1)クラスがメモリ上にロードされるとき 静的言語の場合、このタイミングでstatic変数(静的変…

OO言語における処理速度向上

RubyでもJavaでも留意しなければならない点はほぼ同じ。 手続き型言語と同じで一連のロジックの中で処理の重複をなくすのは当たり前である ことがそこそこ意識されているのに対して、オブジェクトの生成回数を減らすことは あまり意識されないことが多いよう…