Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

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

「矩形」は

「くけい」と読みます>< 今まで知りませんでした。。。

よい設計書である条件は「動詞」を使うことだ

設計自体が妥当かどうかは判断できないけど。 設計書を読んでみてほしい。 文の末尾が「名詞」で終わってない? 僕の経験だけで判断しているけど、システム開発における設計書の文は「名詞」で終わっていることが非常に多い。 保存ボタンを押すと、○○を登録…

ルール、それが導くもの

通勤のときに「ルール」ってものを考えてたら、ちょうど会社の上司であるiad_otomamayさんがルールについてのエントリを書いていた。 ルールメーカーの生産性は、96倍 - 山本大@クロノスの日記 少し話題は違うけど、ルールについて。 朝の町は混む。電車も…

ネットブック買おうかなあ

たとえば他の人が撮った動画や写真をすぐに見たり、 旅行先でブラウジングしたり、 カフェで文章を書いてみたりするのにいいかなあと。 ポメラだとちょっと足りない。 でもMacBook(たとえAirでも)だと大きいし重い。 別に本格的にコーディングするわけじゃな…

アドインにあるワークシートを変更したい

んだけど、アドイン形式で保存すると、開いたときワークシートが見えなくなってしまうので、修正できない。 拡張子をxlaからxlsに変更して開いてもやっぱりワークシートが見えない。 一度アドイン形式に変更してしまうと、アドインにあるワークシートは変更…

ゴスリングのインタビュー

ゴスリングの「よくわからんがとにかくすごい自信だ!」的なインタビューはいつもおもしろい。 一部では"JavaはすでにCOBOLのようなレガシーに近い"という声も上がっていますが…。 その意見にはまったく賛同しかねるね。 【インタビュー】Javaがレガシーだっ…

JavaOneのセッション動画

JavaOneの2007,2008のセッションは動画、PDF、MP3といろんな種類で提供されてる。 もちろんSUNから。 JavaOne Online Technical Sessions and Labs さすがに英語が速すぎて、音声だけではついていけない。 動画だとスライドがあるので、まだわかりやすい。っ…

ソフトウェア工学はおもしろすぎる

僕はバリバリの文系プログラマだ。 でもソフトウェア工学はおもしろすぎる。 「この業界はずっと勉強し続けないといけないから大変だよ」と若い頃言われた。 違うよ。「し続けないといけないからおもしろい」んだ。 僕は今何かの技術でトップなわけではない…

JavaがFlexに負ける??

ゲーム開発会社Sharendipitous Moments社のブログに最近投稿された(リンク)「私達はFlashに乗り換えます。その理由は…」というエントリを皮切りにJavaが、Flexのような、RIA技術に負けてしまうのではないかという議論が始まった。 InfoQ: JavaはFlexに負けて…

テストカバレッジの意味

1. カバレッジはしっかりとしたテストが書かれている状況でのみ意味を持つ。役に立たないくだらないテストが書かれることを防ぐことはできない。 2. カバレッジはテストが通過した行/分岐を測定しているだけに過ぎない。 3. カバレッジはテストが不十分かど…

静的型付け言語の優位性

Anyway, read Guido's take and especially the comments. Here is one I found particularly interesting, from David Pollak, the creator of Lift: But, unlike my Ruby code, [with Scala] I only need 50%-60% test coverage (vs. 95% coverage) to hav…

Oracle Technology Day in 大阪に行ってきた

Oracle Technology Day in 大阪 BEA&Oracle合併後初の大阪での技術者セミナー OracleとBEAが合併して初の関西イベント。 コミュニティもOTNとdev2devが合併した感じ。 『Oracle Coherence』が特に興味深かった。 ハードウェアとJVMを横断した共有メモリ領域…

若いうちから窮屈な考え方をしない!

よく「○○はしないようにしてる」という行動を制限する考えがある。 カラオケには行かないようにしてる、みたいな。 ここではカラオケはどうでもよくて。 それが犯罪であったりとてもお金や時間がかかったり健康を害するものでないなら、そんな窮屈な考え方は…

メイン開発環境としてのMac

開発者の中にはMacはまだ開発用としては遅く、チューニングも充分ではないと感じている人もおり、仮想メモリシステムのページングのパフォーマンスの悪さや、デフォルトのネットワークファイルシステムのAFSに対する不満などを耳にする機会が多いという。 ス…

Androidケータイ2009年発売?

ドコモが「グーグル携帯」 無償ソフト採用、低価格で09年発売 http://www.nikkei.co.jp/news/sangyo/20081119AT1D140B418112008.html 404 ないわー Not Found ってか「グーグル携帯」ってなんか違うよ日経さん。 902SHが2年以上経ったので機種変したいけど、…

目標管理は費用対効果が合わない

組織として整えるべきは目標管理制度ではなく、その会社の社員の行動がどうあるべきかと、実際の行動に対する評価(フィードバック)をどうするのかってことだ、と言いたい。 会社は目標じゃなくて行動をマネジメントしろ - 今日とは違う明日 禿同。超禿同。…

第2回社内デブサミしました

僕は株式会社クロノスに所属しているんですが、「クロノスエンジニアの会」略して「エン会」という社内デブサミを3ヶ月前開催しました。 デブサミと言えるほど大きなものでもないんですけど。 第1回では先輩社員が主にセッションしたから若手社員には少し内…

人事について的確に捉えてる記事だなあ

IT企業を襲う「優秀なプロマネ不足」の打開策 − @IT自分戦略研究所 via kwoutPMの話だけでなくIT企業の人事問題を的確に捉えてる。 IT業界における技術の変化は非常に早く、同じ技術を使って同じ仕事をしていては、いずれ給与に見合う価値を発揮できなくな…

働きやすい会社とはプライベートを持ち込める会社

今から話すことは僕個人が考える、一般的な意味での会社論だけど。働きやすい会社とは、プライベートな事情を気軽に持ち込める会社だと考えてる。 持ち込む個人は申し訳ないという意識を強く持つことなく、持ち込まれる組織は嫌々受け入れるという無言の圧力…

オンリーワンの誘惑

オンリーワンは誤解されている言葉だと思う。 その誤解とは、SMAPの『世界にひとつだけの花』でいうと NO.1 にならなくてもいい もともと特別な Only one の「もともと特別」の部分に特に感じる。 これは(おそらく歌詞の真意ではないと思うが)「何もしなくて…

Scalaでクロージャ

Scalaでクロージャする超簡単なサンプル。 package sample object ClosureSample extends Application { def makeCounter() = { var count = 0; () => { count += 1 count } } var count = 100; val counter = makeCounter() println(counter()) println(cou…

はてなのトラバ

って自分自身の引用でも今までトラバ飛んでたっけ?? 1ヶ月前の時点だとそうじゃなかった気がするけど。。。

「モナドは象だ」の翻訳まとめ

とてもエントリが多くの回にわたったので、まとめます。 One Div Zero: Monads are Elephants Part 1 モナドについて調べていく(7) - Fight the Future じゅくのblog モナドについて調べていく(8) - Fight the Future じゅくのblog モナドについて調べていく…

モナドについて調べていく(23)

One Div Zero: Monads are Elephants Part 4の翻訳続き。長かった連載もこれで最後です。 Ladies and Gentleman I Present the Mighty IO Monad(みなさん、すばらしいIOモナドを紹介します) The IOAction.apply factory method takes an expression of type …

ScalaでCPS(継続渡しスタイル)

まるごとJavaScript & Ajax ! Vol.1を読み返してCPSを学んでみる。 def sumIterTrump(i: Int, part: Int, cont: Int => Unit): Function2[Int, Int, Function0[Int]] = { if (i > 10) { cont(part) null } else { println("progress " + i + "/10") sumIterT…

末尾再帰とは?

CPSを学ぶためにまるごとJavaScript & Ajax ! Vol.1を引っ張り出してきたけど、その前に末尾再帰を学ぶ。 末尾再帰とは 末尾再帰(まつびさいき)とは、プログラミング手法のひとつで、再帰のある関数またはプロシージャのおこなうべき最後のステップが、関…

関西アジャイルナイト2008 in 京橋

うおっ!こんなイベントがあったのか! 関西初のアジャイルソフトウェア技術者の交流イベントとして、11月24日に「関西アジャイルナイト2008 」を開催します。 関西アジャイルナイト2008 in 京橋 (eXtreme Gadget (エクストリーム ガジェット) ポケットに入…

モナドについて調べていく(22)

One Div Zero: Monads are Elephants Part 4の翻訳続き。 That Darn Property 3(最悪の特性3) The 3rd property said that the world can only be in one state at any given moment in time. I haven't solved that one yet and here's why it's a problem3…

モナドについて調べていく(21)

One Div Zero: Monads are Elephants Part 4の翻訳。 今回からパート4です。 ずっと気になっていた、IOとモナドの関係に入りました。 Until you experience an adult elephant first hand you won't really understand just how big they can be. If monads …

モナドについて調べていく(20)

One Div Zero: Monads are Elephants Part 3の翻訳続き。 これでパート3は終了。 The Second Zero Law: M to Zero in Nothing Flat(第2のゼロの法則:すぐにMをゼロにする) The reverse of the zero identity law looks like thisゼロの同一法則を逆にすると…