タグ

ブックマーク / higayasuo.hatenablog.com (141)

  • Javaのコネクションプーリングの仕組み - ひがやすを技術ブログ

    Javaのコネクションプーリングがどのような仕組みになっているのか、知らない人は結構多いんじゃないかと思います。 Slim3のコネクションプーリングの実装を見ると、この辺が理解できるようになります。トランザクションとコネクションプーリングがどのように連携しているかを把握することは重要です。 http://svn.slim3.org/browse/trunk/slim3/slim3-datasource/src/main/java/org/slim3/datasource/ 登場人物は、4人しかいないから簡単ですね。 最初に見て欲しいのは、ConnectionWrapper。DataSource.getConnection()したときに戻されるコネクションの実態です。このコネクションを論理的なコネクションと呼ぶようにします。 主な役割は、コネクションがクローズされたときに、コネクションをプー

    Javaのコネクションプーリングの仕組み - ひがやすを技術ブログ
  • いい意味でRailsにJavaから挑戦みたいな - ひがやすを技術ブログ

    The Apache OpenEJB community has released OpenEJB 3.1. OpenEJB is an embeddable, lightweight EJB 3.0 implementation with partial support of EJB 3.1 that can be used not only as a standalone server, but as an embedded server in Tomcat, JUnit, Eclipse, Intellij, Maven, Ant, or any other IDE or application. OpenEJB 3.1がリリースされたみたいですね。EJB 3.1の仕様もフィックスされていないのに、それを部分的に取り込んで、リリースするなんてどうよと思うけどね。ちょっとあせりすぎでし

    いい意味でRailsにJavaから挑戦みたいな - ひがやすを技術ブログ
  • clazz.getAnnotation(Xxx.class)はキャストする必要がある? - ひがやすを技術ブログ

    パラメータとして渡しているその当のクラスにキャストするところが何か「変な感じ」がしたのがだが、戻り値は1つの型に固定される(戻り値のオーバーロードはないというコト)のでインターフェイスの Annotation でしかしょうがなく、受ける変数の型の方が勝手に対応してくれるハズもないので、プログラマが明示的に「キャスト」するしかない。 private String findTableNameFromModelAnnotation(Class clazz){ String foundTableName = ""; assert clazz.isAnnotationPresent(Table.class); Table annotaion = (Table)clazz.getAnnotation(Table.class); foundTableName = annotaion.name(); re

    clazz.getAnnotation(Xxx.class)はキャストする必要がある? - ひがやすを技術ブログ
    lizy
    lizy 2008/11/01
  • 日本で最も使われている国産Javaオープンソースフレームワークは何か - ひがやすを技術ブログ

    そりゃ、Seasar2だろうって。 でも、残念ながら違います。 答えは、私の知っている限りでは、NTTデータのTERASOLUNAです。 ダウンロードの月平均は、4000近いです。この数字は、Seasar2よりも多い。 http://sourceforge.jp/project/stats/index.php?report=last_1year&group_id=3207 このURLは、とある方に教えてもらいました。名前を出すとご迷惑をおかけするかもしれないので、一応匿名で。 TERASOLUNAは、NTTデータの案件以外で使われているのを聞いたことはほとんどないのですが、私の知らないところで意外と使われているのかもしれません。 それともNTTデータの内部だけで、4000ダウンロードもしているのかな。この手のフレームワークは、一人が一つずつダウンロードするのではなく、プロジェクトごとにダウ

    日本で最も使われている国産Javaオープンソースフレームワークは何か - ひがやすを技術ブログ
  • Rails 2.2すげぇ - ひがやすを技術ブログ

    Rails 2.2RCがリリースされました。 国際化(i18n)、スレッドセーフ化など、 うれしい機能が多数追加されているようです。 リリースノートが公開されていたので簡単に日語訳してみました。 誤り等あればご指摘ください。 変わりすぎだろうと思うRails 2.2ですが、自分の中でもっとも大きいと思うのは、スレッドセーフのサポート。Ruby自体がスレッドセーフじゃない(スレッドセーフじゃないCのライブラリを使っているので)と思っていたけど、勘違いだったのかな。それともRailsが独自にがんばっているのか。 スレッドセーフ化の細かい内容はこちらをどうぞ。 http://blog.headius.com/2008/08/qa-what-thread-safe-rails-means.html ひとつのインスタンスで、複数のリクエストを同時に処理できるとのことです。でも、グリーンスレッドだと

    Rails 2.2すげぇ - ひがやすを技術ブログ
  • 流れるようなインターフェースをViewのように再利用 - ひがやすを技術ブログ

    SELECT文の骨格は同じなんだけど、where句があったりなかったり、Pagingがあったりなかったりするなど、微妙に違うSQL文は良くでてきます。 S2JDBCを使うと、SELECT文の骨格を返すメソッドを用意することで、それをViewのように再利用することができます。例えば、次のような感じ。 protected AutoSelect createView() { return select().leftOuterJoin(dept()) .leftOuterJoin(address()); } public List findAll() { return createView().getResultList(); } public Emp findById(Integer id) { return createView().id(id).getSingleResult(); } pu

    流れるようなインターフェースをViewのように再利用 - ひがやすを技術ブログ
  • Railsバブルは終わった - ひがやすを技術ブログ

    Railsバブルは終わったと思う。良い意味で。 Railsは世の中の技術者に大きな影響を与えたフレームワーク、そして偉大なフレームワークですが、バブルを起こそうと変に煽っている人たちが前から気になっていました。 最近、Railsについて何度も取り上げているのは、手放しに近い状況で「Rails良い」と煽りまくっている人が目に付くから。こういうのは、バブルにつながるし、バブルは最終的に、はじけてしまうものです。Railsバブルは、もうとめられない気もしますが、Rubyはバブルになってほしくない。 だってバブルがはじけて生き残るのはほんの一握りですよ。自分たちが原因で、失敗するならあきらめもつきますが、バブルを起こして運がよければもうけられるみたいに思っている人に散々利用されて失敗するのは、納得がいかないですね。過剰に評価されれば、それだけ失敗する案件も増えてくる。 煽られてそのプロダクトを採用

    Railsバブルは終わった - ひがやすを技術ブログ
    lizy
    lizy 2008/10/07
    勢いを付けてキャズムを飛び越えたので一休み
  • IBMの問題はアメリカナイズされた老害 - ひがやすを blog

    IBM周辺でトラブルが続出している。IBMの下請けとしてサブシステムの開発に携わっていたソフトウェア企業が4億円近い負債を抱え、2008年10月中にも破産手続きに入る。同社は、IBMから追加費用の支払いが行われていなかったと主張して訴訟準備に入っていたという。ほかにも、スルガ銀行やソフト開発会社など、IBMを相手取った訴訟も続発しているのだ。 この訴訟続発を問題のように受け止めている人も多いようだけど、IBM自身にとっては、そんなに問題じゃないと思う。ユーザーの発注が確定しなくてもその先の作業を進めるために下請けに先行発注したりすることがなくなったり、不採算案件は最初からやらない、あるいは早期に手を引くことが、徹底されたからだと思うから。 これまで、日的な空気を読むビジネスから、アメリカ的な白黒はっきりな契約ベースになったということなので、一方的に悪いことではない。 でも、契約を交わ

    IBMの問題はアメリカナイズされた老害 - ひがやすを blog
    lizy
    lizy 2008/10/05
  • SAStrutsとS2JDBCを作ったわけ - ひがやすを技術ブログ

    Seasar 2.4 のころは Teeda + S2Dao で売っていたが、使い続けている内に様々な問題が出てきた。サクサク感が出せてないなぁ、とひがさんが感じた、というのが一番の問題、と俺は受け取った。 かなり間違って受け取ってるなぁ。確かに、オラクルでS2Daoを使うと、データベースのメタデータを毎回とりに行く部分が遅いので、HOT deployがさくさく行かないという話はしたけど。 TeedaとS2Daoは、基的に規約ベースのフレームワークです。規約を知っていれば、当にさくさく開発できます。でも、規約ベースなので、規約を知らないと、何にもできなくなっちゃう。この辺が、大規模開発には向かないところ。 小規模で、みんなで気楽に質問し合えるような環境だと、知らないときは、誰かが答えてくれるんでいいんだけどね。 SAStrutsとS2JDBCは、大規模案件にも耐えられるように最初から設計

    SAStrutsとS2JDBCを作ったわけ - ひがやすを技術ブログ
    lizy
    lizy 2008/09/08
  • NTTデータはソースコードレビューをしている - ひがやすを技術ブログ

    NTTデータとの決闘シリーズ第二幕 - yvsu pron. yasのエントリで、 データは、コードレビューは、ほとんどしていないといってました。 って書いたんだけど、 主催側です。ブクマコメントにもあるとおりソースコード診断サービスを社内外に提供しており、社内では多くのプロジェクトで利用しています。 というコメントをもらいました。ソースコード診断サービスは、既に100以上の社内実績があるそうです。 NTTデータ先端技術NTTデータ、テクマトリックスの3社は、高品質なJavaアプリケーションの開発を支援する「ソースコード診断」技術を開発し、NTTデータ先端技術が「ソースコード診断サービス」として9月から提供開始する、と8月27日に発表した。 同サービスはJavaアプリケーションプログラムのソースコードチェックをNTTデータ先端技術が代行するサービス。利用することで、ソースコード品質の診断

    NTTデータはソースコードレビューをしている - ひがやすを技術ブログ
  • NTTデータとの決闘シリーズ第二幕 - ひがやすを技術ブログ

    昨日は、NTTデータとの決闘シリーズ第二幕。戦闘服には、かりゆしウェアを選びました。 今回は、データの顧客であるユーザ企業からも参加していただきました。この人はKさんと呼ぶことにします。Kさんは、現在Seasar2(SAStruts, S2JDBC)を使って、プログラミングファースト開発を実践されている先進的なユーザです。BtoCのサイトを作っていると考えてください。 プログラミングファースト開発の詳細はこちら。 http://d.hatena.ne.jp/higayasuo/20080501/1209636051 http://d.hatena.ne.jp/higayasuo/20080721/1216607451 最初のテーマは「品質」。データとしては、 テストコードのカバレッジやバグ密度などで品質を確保しようとしている。 でも、品質に問題があるプロジェクトも残念ながら存在する。 品質

    NTTデータとの決闘シリーズ第二幕 - ひがやすを技術ブログ
    lizy
    lizy 2008/08/29
    バグ密度……バグの少ないモノを作ると怒られてしまいます
  • 下請け構造がなくならないのは大手SIerの社内人件費単価が高いから - ひがやすを技術ブログ

    今のSI業界は、大手SIerを中心とした多重下請け構造ですが、その原因の1つには、「大手SIerの社内人件費単価の高さ」があります。 ここでは「社内人件費単価」の意味をプロジェクトに課せられる社員一人当たりの単価とします。 大手SIerでは、社内人件費単価が外注の単価と比べて、べらぼうに高いことが多い。だから、プロジェクトマネージャも利益を出すために、社員の数を抑え、できるだけ外注しようとするのです。 なぜ、大手SIerの社内人件費単価が高いかというと、1つは、大会社であるため、オーバーヘッドが大きいことです。もう1つは、もともとの人件費の単価が高いこと。優秀な人を集めようとすると、必然的に単価を上げざるを得ません。 それ以上に大きな原因は、単価を下げようとするインセンティブが働かないことです。 大手SIer通しの競争もありますから、ぬるま湯なビジネスをやっているわけではありません。 見積

    下請け構造がなくならないのは大手SIerの社内人件費単価が高いから - ひがやすを技術ブログ
  • ECMAScript4が消える? - ひがやすを技術ブログ

    Flash Player 9 の発表以来、Adobe は ActionScript を ECMAScript 標準第 4 版として提案された ECMA-262 Edition 4 (ES4) に完全準拠させるという目標を公にしてきました。この ES4 は、Adobe, Mozilla, Opera, それから Google を主要なサポーターとして標準化が進められていましたが、一年ほど前に MicrosoftYahoo! 主導で ECMA-262 Edition 3.1 (ES3.1) のワーキンググループが開始されて以来、2 つの異なる ES3 後継仕様案が並存する状況が続いていました。 先週の発表は、ES4 に関する標準化作業を中止し ES3.1 に集中することが決定されたというもので ECMAScript Harmony プロジェクトと名付けられています。 Adobe, Moz

    ECMAScript4が消える? - ひがやすを技術ブログ
  • ガラパゴス、ガラパゴスってうざいんだけど - ひがやすを技術ブログ

    ガラパゴス諸島では、外界から遮断された環境で生物が独自の進化を遂げた。これになぞらえて、国内市場に安住して世界に通じる製品やサービスを生み出せなくなった日のIT業界を「ガラパゴス化」と呼び懸念する声が2007年ごろから広がりだした。ケータイ先進国といわれながら海外市場からの撤退を余儀なくされた携帯端末業界や、国内企業頼みのシステム開発業界などがその例で、最近はIT業界内でも「ガラパゴス化」問題が議論されるようになっている。 単純に世界に通じていれば良いというもんでもないでしょう。ある分野で負けずに勝ち残っていればそれでいいんじゃないの。 ガラパゴス、ガラパゴスって当にうざったい。 別に国内に留まれっていってるわけではないですよ。国内に向いたサービスもあれば、世界共通でやったほうがいいサービスもある。海外に出ないから一律悪いみたいな固定概念は、おかしいんじゃないのということです。 フレー

    ガラパゴス、ガラパゴスってうざいんだけど - ひがやすを技術ブログ
    lizy
    lizy 2008/08/14
    手段が目的化しつつあるイメージ
  • 開発言語でビジネスが成り立つわけないじゃん - ひがやすを技術ブログ

    「世界最大・最先端のRubyビジネス拠点を構築する」――こんなかけ声の下、福岡県で8月4日、「福岡Rubyビジネス拠点推進会議(F-Ruby)」が産声をあげた。プログラミング言語「Ruby」で福岡県のソフトウェア産業を活性化させようというもので、産官学が一体となり、ビジネスの視点からRubyを活用していく。 一般的な客にとっては、開発言語に何を使うかは、どうでもよくて、自分の思っていることが、安くできればそれでいい。 だから、Rubyできますってことで、ビジネスが成り立つとは思えないんだけどねぇ。 Rubyは、もちろん良い言語だと思う。ただ、生産性が他の言語と比べて高いかというとそんなこともないでしょう。生産性という切り口だと、言語よりも良いフレームワークがあるかということが、重要なポイントになると思うけど、いまどきのフレームワークは、どのフレームワークもお互いに学びあっているから、そんな

    開発言語でビジネスが成り立つわけないじゃん - ひがやすを技術ブログ
    lizy
    lizy 2008/08/14
    無理にrubyに限定しなくても
  • 分離発注と分割発注で大手SIerが没落? - ひがやすを技術ブログ

    これは,1社に“丸投げ”する代わりに,そこが使っている下請け企業を調べて,何社かの下請け企業に直接発注する方法です。元請け企業の“オーバーヘッド費用”を削減できるので,この方法を有効に活用できると,おおげさではなく,開発費用は半減します。 上流工程と下流工程で発注するベンダーを変える(分離発注)ことにより、競争によってコスト削減を目指す。これは、まぁわかりますね。ありそうでなかったのがSI業界における分割発注です。 元請けに頼まず、複数の下請けに対して分割で発注するわけです。下請けにとって見れば、元請けがマージンととらないから、利益率が上がる。発注元にしてみれば、元請けに余分なマージンを払わなくてすむ分、コスト削減ができる。 この方法の懸念点は、元請けがSIをやらない分、その負担は、発注元のシステム部が追うことになります。それが可能なら、この「分離発注」と「分割発注」は、十分に有効な方法で

    分離発注と分割発注で大手SIerが没落? - ひがやすを技術ブログ
    lizy
    lizy 2008/08/07
  • Webアプリで使用されているフレームワークランキング - ひがやすを技術ブログ

    2008年5月に行なわれた大手調査会社の結果が興味深いものでした。従業員50人以上の企業をランダムに6000社選び、アンケートをとったそうです。日の結果で、数値は%。言語は、Javaだけではなく、すべての言語が対象です。 EJB3.0(11) 独自フレームワーク(10.6) Struts(10.2) JSF(3.2) TopLink(2.4) Hibernate(1.1) Seasar類(0.9) iBATIS(0.4) Spring(0.4) Torque(0.4) その他(6.7) 利用なし(59.8) Seasar類か、微妙な表現だ(笑)、数値は意外と高いですね。EJB3やJSFが高いのが意外。Strutsが意外と低い。TopLinkがHibernateより高いのも意外。.NET系は利用無しに含まれているんでしょうね。 Seasarがトップ10に入っているなんて、とても光栄です。今

    Webアプリで使用されているフレームワークランキング - ひがやすを技術ブログ
    lizy
    lizy 2008/08/07
    iBatisなんかはフレームワークと言うよりライブラリぽい気がする
  • コミッタには気楽になっていいんだよ - ひがやすを技術ブログ

    コミッタは自分で名乗り出てなるものではない と思う。もちろん、自分自身で新しい何かを作った時は、自動的にそのプロダクトのコミッタに就任しても良い。しかし、他人のプロダクトに対して、 「コミッタにならせてください」 っていきなり名乗り出るのは、OSSの世界を知らないにも程がある。 「コミッタにならせてください」っていきなり名乗り出てもいいと思うよ。 基的にOSSのプロジェクトの方針は、そのプロジェクトのリーダーが決めるもの。よういちろうがリーダーをやっているプロジェクトなら「コミッタにならせてくださいといきなり名乗り出るのはありえない」という方針でもいいでしょう。でも、その考えをOSS一般の考えのように言うのは違和感あるよ。 OSSを知らない人が、よういちろうのblogをみたら、間違いなく「コミッタにならせてくださいといきなり名乗り出るのは間違ったことだ」と思うでしょう。 OSSはそんな窮

    コミッタには気楽になっていいんだよ - ひがやすを技術ブログ
    lizy
    lizy 2008/08/05
    「オープンソース」とひとくくりにはできないというイメージ
  • 「プログラミングばか」募集 - ひがやすを技術ブログ

    今日、あるインターネット証券の人と話をしてきました。前からの知り合いなんだけどね。 新しいWebのフロントシステムを作りたい できるだけ早期にリリースしたい とのことです。 早くシステムを作るためにSeasar2が有効なんじゃないかとその人は考えたようです。 また、ホワイトボードで開発者とやり取りしながら素早くシステムを作りたいというので、プログラミングファースト開発の話をしたら、非常に乗り気でぜひやってみたいとのことです。 というわけで、私と一緒にプログラミングファースト開発をやりたい方を募集します。私も4割くらいは、そのプロジェクトに参加する予定です。 フレームワークは、SAStrutsとS2JDBC。Javaでいかに素早くシステムを構築するかという先進的な試みになるはず。 開発スタートは9中 12末(早いに越したことはないけど)立ち上げ 画面は15機能くらい。バッチもあるがそれほど難

    「プログラミングばか」募集 - ひがやすを技術ブログ
    lizy
    lizy 2008/08/04
    経過に期待
  • NTTデータがウォーターフォールから脱却? - ひがやすを技術ブログ

    筆者が現役技術者だった頃はプログラミングは創造的で非常に楽しいものだった。サービス開始直前の相当な忙しさは今も昔も変わらないが、少なくともモチベーション溢れるエンジニア達の姿があった。40年近くの間に何が変わってしまったのか。わが国に定着する「ウォーターフォール(waterfall)型」の開発スタイルに、その一因を探ってみる。 浜口さんが、ウォーターフォールの問題点を指摘している。そして、反復型開発のマイクロソフト版である同期安定化型も今後は検討すべきだとしている。 一方の同期安定化型に話を戻す。こちらは、ソフトウエアをスモールチーム(3?8人)で開発できる単位に分割し、各チームが同時並行的に設計・コーディングを行っていくスタイルである。毎日あるいは一定の期間ごとに、各チームの生産物を統合してテストを行い、品質の安定化を図っていく。 わが国の市場の大半を占める企業向けの個別システムに対して

    NTTデータがウォーターフォールから脱却? - ひがやすを技術ブログ