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

互換性維持とリファクタリング

etc

互換性とは ソフトウェアは、広く使われれば使われる程、互換性が大事になってきます。ここでは、ソフトウェアライブラリ・フレームワーク等の互換性を考えてみまよう。互換性は以下の2つに分けて考えることができるようです。 上位互換性:ライブラリのバー…

UnsupportedOperationExceptionと相続拒否

昨日ご紹介したbaseunitsですが、そのコードを社内コードレビューに掛けた際、id:cobonasからこんな指摘がありました。 package jp.tricreo.baseunits.util; import java.util.Iterator; /** * 明示的に、対象のコレクションに対する操作ができないことを表…

Baseunits Library

さて、Java Advent Calendar -ja 2010 : ATND 10日目。昨日は、id:yuroyoro でした。二日連続で真っ黒な魔術が紹介されたので、ここは真っ白で実用的な奴をひとつ。最近Domain Driven Design(DDD)っていう設計手法が、自分の周辺一部で話題になっている。…

「区間」のソートあれこれ

註:本エントリは等幅フォントで見ないと訳の分からない部分があります。Firefoxではきちんと見えるのですが、Google Chromeではなぜかmonospaceが等幅になりません…。というわけで、本エントリはFirefox推奨。SafariでもOKでした。IEは知らん。さて、昨日の…

数学的な「区間」の話を分かりやすく書いてみる

数学用語に「区間」ってのがある。wikipediaによる解説はこちら。ちなみに、wikipediaって数学系の事しらべると、もう意味わかんないよね、正直w 自分も数学の下地がある人種ではないので、正直数学系の話第だけはwikipediaをアテにできない。まぁ、誰でも…

自分用Maven Archetype

さて、Javaで「何か作ろう」って思った時、みなさんどうします? 書き捨てならば、どうでもいいと思うんですが、少々真面目に作っていこうかな、と思ったら、色々な開発環境整備が大変です。Eclipse+Maven環境で開発をするのが好きな人は、とりあえず mvn ar…

macで蛇使い入門記:パッケージ管理

easy_install さて、Pythonにおけるパッケージ(モジュール)管理システム*1はeasy_installって言う奴みたいです。このパッケージ管理システムもmacにデフォで入っていたり、Pythonの各バージョン用のものがあったり、となかなか複雑です。ちょいと探しただ…

macで蛇使い入門記:Pythonのバージョンとインストール

この記事(多分シリーズ)の前提 OSはMacOSX 10.6 Snow Leopard macportsの環境整備済みであること。 多分文法の話はしない。 多分Java使い向けに話す。っていうか俺向けに話すw Pythonのバージョン Pythonの最新バージョンは3.x系。2系から3系になるにあた…

macで蛇使い入門記【目次】

自分の環境でPythonをはじめようとした記録。多分、ベストプラクティスではない。 macで蛇使い入門記:Pythonのバージョンとインストール - 都元ダイスケ IT-PRESS macで蛇使い入門記:パッケージ管理 - 都元ダイスケ IT-PRESS つづく。多分。

最近やってること

etc

レコメンドエンジンMahoutを使ってみたい → Hadoopを理解したい → HadoopをEC2の上で動かしたい(イマココ) Python書けるようになってみたい → 開発環境はEclipseじゃないだろうからEmacsにしてみる → 版管理にはGitつかってみたいな(イマココ) という流…

「java-ja 第1.9.2回 チキチキ ライセンスって何ですか?」に行ってきた。

ライセンスについては、長い間興味があったのだが、突き詰めて調べていくと「まぁぶっちゃけグレーゾーン」とか「裁判が起きてみないと分からない」というところに落ち着いたりする。そんな状況は基本的に変わっていないのだけど、一人で色々調べるよりも心…

Hadoopとかに入門してみる 〜 分散技術が出てきた背景

調べたメモ。色々思い込みや想定に基づいた事も書いてるので、鵜呑みして騙され注意報発令さしとく。最近分散技術系の話題をよく聞くようになりました。企業内グループ内で使うような業務システムであれば、そこまで無茶な数のアクセスも無いだろうから、数…

独身終了のお知らせ

etc

突然ですが9/20に結婚することになりましたー。相方は、薬屋時代の同僚です。目立つイベントが苦手な相方なので披露宴やパーティなど、ましてやid:yoshioriのようにkecconしたりはしないと思いますが、暖かく見守っていただければ幸いです。そうそう、お約束…

ボク、if文。わるいモンスターじゃないよ!

id:aroundthedistance に召還されたぜ。http://d.hatena.ne.jp/aroundthedistance/20100727/1280227851…その昔なー。Seasar Conferenceで「あなたのコードからnewとifが消えます、魔法のDI」みたいなセッションをした。今思い出して「釣りすぎたぜサーセン」…

インスタンスを抽象的に扱う

まず「抽象的」という言葉が難しいのかな。俺も最初の頃、一体何なのかわからなかった。プログラムに全く縁もゆかりも無い相方に、オブジェクト指向の話をすこしだけ聞かせたことがあって、「抽象的って、要は大ざっぱってこと?」と問われた。なるほど、良…

とべとべ・電設部 勉強会で喋ってきた

久々にしゃべって来たよ! そういえば、半年以上セッション持ってなかったんだなぁ。いかんいかん、忙しさにかまけちゃ。というわけで、こんな自分に喋らせてくれる勉強会さんありましたら、お気軽に。さて、聞いたセッションはこんなかんじ。 「それは一枚…

イリュージョニストにならないために

前回は「クライアントにとって使いやすいAPI」について語りました。今回は「読みやすい実装」について。ネタ元は同じくSqlExecutor。まず。javadoc厨で契約(仕様)原理主義の立場でいきなり厳しいことを言ってしまえば、「そもそもクライアントに実装を読ま…

クラスがメソッドの実行に必要なインスタンスを手に入れる方法色々

あるクラスが、メソッドによってある役割を果たすためには、別のインスタンスが必要なことが多い。ここでは、具体的にそのクラスを考え、そのインスタンスのを手に入れる方法を比較していこう。ここでは、あるクラスをSqlExecutorとしよう。SQL文を受け取っ…

オープンソースプロジェクトの進め方(が難しい、という話)

etc

私は、Jiemamy Projectというオープンソースプロジェクトを運営している。ある意味、一人で作っている頃は楽だった。Javaにおけるpublicというキーワードの重みも知らず、複数人によるコミュニケーションのオーバーヘッドも気にすることなく、それはそれは勝…

Eclipse 3.6 Helios × Subversive

ご無沙汰しちょります。最近はがっつりAndroidの世界に身を置いてます。さて、えーと、いよいよHeliosリリースですね。一般DLは始まっていないようですが、明日みんなDLできるようになるようです。わたしゃEclipseにはさんざんお世話になってるので、35US$を…

難解なSerializableという仕様について俺が知っていること、というか俺の理解

java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか?

日経ソフトウエアで連載始めた!!

日経ソフトウエア 2010年 05月号 [雑誌]作者: 日経ソフトウエア出版社/メーカー: 日経BP出版センター発売日: 2010/03/24メディア: 雑誌 クリック: 14回この商品を含むブログ (5件) を見る前回の特集記事から7ヶ月。今度は日経ソフトウエア2010年5月号より、…

非チェック例外多用作戦のトレードオフ認識

まず、以下に持論を展開するにあたって、自分の立ち位置を明確にしよう。自分は「Webアプリケーション開発者」としてではなく「JavaによるWebアプリではない(デスクトップアプリ,コマンドラインアプリ,ライブラリ)アプリの開発者」として語る。まぁ、自分…