タグ

javaに関するMayBowJingのブックマーク (36)

  • [AXIOM-438] StringIndexOutOfBoundsException occur on rare occasions is when you create a stub object - ASF JIRA

    MayBowJing
    MayBowJing 2015/08/19
    [axis/axis2][development]商用稼働しているシステムが不思議な落ち方したので調べてみたら悲しいissueが見つかり泣いている。
  • 忘れがちな記憶へ HibernateのPrimary KeyはStringを指定するとError!?

    MayBowJing
    MayBowJing 2011/09/27
    「sequenceジェネレータで生成した値はString使えない」ってだけでPKダメなんて何処にも書いてないんだけど。変なデマ撒くのやめてほしい。: HibernateのPri...
  • staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して

    何が良いプログラムかという点はもちろん人やコンテキストによって異なりますが、少なくともプログラマーとしての私の信念としては、 機能拡張や変更が容易なプログラム 単体試験によって正しく動作することの検証が容易なプログラム どういった内容が記述されているか理解しやすいプログラム といったものこそ、「品質の高い」プログラムが持つべき性質として、まず真っ先に挙げるべき事項であると考えています。もちろん、前提として顧客の要件に従うということは大切なことです。しかし、一般に要件は長期にわたって変更されるものですし、使い捨てのプログラムを除けば、プログラムを長期にわたって保守するコストという点も見過ごすべきではありません。したがって、ユーザーの目には触れない上記の性質をもっと重視すべきだと思うのです。 DRYの原理 上記のような性質を満たすプログラムを作る上で大切になってくる原理として、DRYの原理とい

    staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して
    MayBowJing
    MayBowJing 2011/07/23
    : staticおじさん達に伝えたい、手続き指向とオブジェクト指向の再利用の考え方の違いについて - 達人プログラマーを目指して B!
  • ORMがアンチパターンである11の理由

    サンフランシスコのプログラマLaurie Voss氏が書いた見逃せない記事が賑わっています。近年のフレームワークやライブラリの定番中の定番ORマッパーが既にアンチパターンなのではというのが彼の主張です。この記事を書くきっかけになったのはこのツイートだそうです。 I cannot overstate the degree to which ORM is a dangerous antipattern. — Laurie Voss (@seldo) June 9, 2011 ORM が危険なアンチパターンだっていうのはどれだけ言っても言い過ぎることはない このツイートに対して各方面(ActiveRecord, Doctrine, Hibernate)から多くの(激しい)返信が寄せられて書かれたのが問題のエントリです。まずはアンチパターンとは何かの定義として下記の2つを挙げています。 当初は有益

    ORMがアンチパターンである11の理由
  • JavaとJSの区別がつかないベンチャーナウが意味なく頑に修正要請に応じないという謎

    豚 @butabuta_bot ベンチャーナウに気でアタマにきた。向こうが電話取材でJavaJavaScriptについて聞き間違えたくせに「鍵括弧内の修正には一切応じられない」と。僕がJavaJavaScriptを間違えるわけないだろ!記事の確認もさせなかったくせに http://ht.ly/55L3C 2011-05-30 17:14:56 豚 @butabuta_bot 挙げ句、なんだよ「Java(Script)」って。めちゃくちゃだ。ベンチャー媒体を語る資格すらない。恥ずかしくないのか? Javaのワケないだろ。記者が不勉強なせいで僕まで馬鹿だと思われてしまうだろうが。しかも削除要求には応じないということなので法的手段に訴えることにした 2011-05-30 17:16:20

    JavaとJSの区別がつかないベンチャーナウが意味なく頑に修正要請に応じないという謎
    MayBowJing
    MayBowJing 2011/06/01
    : Togetter - 「JavaとJSの区別がつかないベンチャーナウが意味なく頑に修正要請に応じないという謎」 B!
  • Objective-Cの『遅さ』を計測したら、JavaやC++の5倍も遅かった

    なお、メモリ消費量はtopコマンドで測ったので、かなり大雑把な数字だ。また、Cで同様の処理のコードを書くと、ほぼC++と同じ速度になる。 追記(2011/02/17 8:50):Rubyによるベンチマークを追加。 追記(2011/02/17 11:00):Smalltalkによるベンチマークを追加。ソースコードは「Smalltalkのtは小文字です」のループ回数を修正した。 追記(2011/02/17 16:00):Perlによるベンチマークを追加。 追記(2011/02/18 10:30):Java 1.6.0_22で実行した、Scalaによるベンチマークを追加。また、clang/llvmでC++とObjective Cの値を取り直し、改善が見られないのを確認。 追記(2011/02/18 14:30):Ruby 1.8.7によるベンチマークを追加。1.9.2との速度差については、@IT

    Objective-Cの『遅さ』を計測したら、JavaやC++の5倍も遅かった
    MayBowJing
    MayBowJing 2011/02/17
    : Objective-Cの『遅さ』を計測したら、JavaやC++の5倍も遅かった: ニュースの社会科学的な裏側 B!
  • Javaプログラマが知るべき9のこと - @katzchang.contexts

    はじめに ソースコードは設計であり、コードの記述は品質に直結するのは言うまでもない。ちなみに、プログラマにとって特に重要なのは保守性だ。コードは書いた直後から保守対象となるからだ。コードは要求文書の範囲で動けばいいと思っている人がいれば今すぐ、ソースコードをコピペして100klに増えるプラグインがいつの間にかインストールされる呪いをかけてあげよう。幸い、ここを読んでいる人にはそんな人はいないだろうと思うけれども。 ということで、コードの品質を下げる要因、すなわちシステム全体の品質を下げる要因となり、かつ使われやすいアンチパターンを挙げ、対策を検討していくことにする。対象は以下: 出力パラメータ 処理状態返却 意味のある配列 無意味な初期化 多すぎるtry-catch 暗黙の順序 コンパイラ警告の無視 過剰なコメント e.printStackTrace() 出力パラメータ メソッドの引数にオ

    Javaプログラマが知るべき9のこと - @katzchang.contexts
  • SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して

    私自身は10年以上も前(JDK1.1の頃)にSJC-Pの認定を取って以来、Javaプログラミング関連の認定試験は受けていないのですが、昨日たまたまネットを検索して、SJC-Pとは別にJavaプログラミング能力認定試験という試験が存在していることを知りました。結構メジャーな認定試験のようですので、現役のJavaプログラマーJavaプログラマーを目指している学生さんで、今後受験に向けて勉強されている方々も多くいらっしゃるのではないかと思います。 試験は難易度に応じて3級から1級までランクが分かれており、2級まではJava言語の知識に関する筆記試験ですが1級の試験では実際のプログラムの修正を行う能力が実技試験として課せられます。試験範囲は以下で公開されています。 Javaプログラミング能力認定試験(試験範囲) 私は(自分で言うのも変ですが)、Javaプログラミングについてはこの道15年近くのキ

    SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して
    MayBowJing
    MayBowJing 2011/01/12
    : SI業界(日本)のJavaプログラマーにはオブジェクト指向より忍耐力が求められている? - 達人プログラマーを目指して B!
  • AndroidがiPhoneに勝てない点

    AndroidiPhoneに構造的に勝つのが難しい点がある。その点と比較すると、タッチパネルのレスポンスなどのユーザビリティや、アプリケーションの数、ハードウェアの薄さや、バッテリー持続時間などは表面的な優劣でしかない。 iPhoneAndroidに対して持つ最大の長所は、アプリケーションの実行速度の速さとメモリ消費量の少なさだ。これは、iPhone(iOS)の開発言語であるObjective Cがネイティブ・コードを生成する特性に依存するため、もっと質的な違いとなる。 1. AndroidJavaの亜種を用いる Androidの開発言語は、大雑把に言うとJavaだ。Java SEのサブセットで作成されたバイト・コードを、Dalvik仮想マシン用のバイト・コードに変換して使う。やや変則的な構成になっているのは、SUNに支払うJavaのライセンス料を節約したかったとも、モバイル機器向

    AndroidがiPhoneに勝てない点
    MayBowJing
    MayBowJing 2010/12/11
    : AndroidがiPhoneに勝てない点: ニュースの社会科学的な裏側 B!
  • アップルとオラクル、Mac OS X用OpenJDKプロジェクトを発表

    UPDATE AppleOracleは米国時間11月12日、これまで長い間Appleが社内プロジェクトとして開発してきた「Java for Mac OS X」をOracleに移管すると発表した。 2010年1月にOracleがSun Microsystemsを買収したことにより、Javaの支配権はJavaサーバソフトウェアなどの製品も取り扱うOracleへと移った。 Oracleへの移管に伴い、Appleは同社が開発したJava環境を、Java開発のためのオープンソースプロジェクトOpenJDKに提供する予定である。「Mac OS X 10.6」(Snow Leopard)と「Mac OS X 10.7」(Lion)向けの現行の「Java Standard Edition 6」はAppleが管理するが、Mac向けの「Java SE 7」はOracleがリリースすると両社は述べた。 この動

    アップルとオラクル、Mac OS X用OpenJDKプロジェクトを発表
    MayBowJing
    MayBowJing 2010/11/15
    : アップルとオラクル、Mac OS X用OpenJDKプロジェクトを発表 - CNET Japan B!
  • Javaジェネリクス再入門 - プログラマーの脳みそ

    ジェネリクスでは、「型」を変数にした「型変数」というものを取り扱う。型変数で何が嬉しいかというと、メジャーな例ではコレクションAPIが挙げられる。java.util.Listとかjava.util.Mapとかのデータを格納するタイプのユーティリティクラスのことだ。 2004年にJavaのバージョンが5.0となるまでは、Javaにはジェネリクスの機能はなかった。なので、Listにデータを格納し、取得する場合は List list = new ArrayList(); list.add("hello!"); String str = (String) list.get(0); といったソースコードになる。 add()の引数はObject型で宣言されており、どんな参照型でもadd()することができた。 get()の戻り値もObject型で宣言されておりキャストが必要だった。このキャストはプログラ

    Javaジェネリクス再入門 - プログラマーの脳みそ
    MayBowJing
    MayBowJing 2010/11/06
    : Javaジェネリクス再入門 - プログラマーの脳みそ B!
  • Oracleの「Android訴訟」についてひと言

    今日のこちら(米国西海岸)でのもっぱらの話題は、Oracleの「Android訴訟(詳細)」だが、これに関しては、私も含めて「やはり来たか」と見ている専門家は多い。 そもそも、スマートフォン以前の携帯電話用のJavaがプラットフォームとして成功しなかった理由の一つは、J2MEが根っこのところで、NTTドコモ独自のDoJaとモトローラ主導のMIDPに分岐してしまったことにあるし、同じJ2ME間でも実装の差異が大きく "write once, run everywhere" が机上の空論になってしまったことにある。Sunがちゃんとリーダーシップを発揮できなかったためである。 その意味では、J2ME/MIDPとコンパチビリティがなく、Sunから正式にJavaをライセンスしていないAndroidはけしからん、というのは(今はOracleの一部になった)Sunから見れば当然のこと。 「J2MEの時に

    MayBowJing
    MayBowJing 2010/08/19
    : Life is beautiful: Oracleの「Android訴訟」についてひと言 B!
  • Javaを使ってる? ならばオブジェクトデータベースだ! - @IT

    2010/06/29 「エンジニアはみんなオブジェクト指向言語を使っているのに、なぜオブジェクトデータベースを使わないんだろう? まるで、高級なポルシェに乗っているのに、ガレージではバラバラに分解して格納しているみたいだ」――そんなジョークが社内ではやっていると話すのは、インターシステムズソフトウェア開発担当副社長 ロバート・ネーグル(Robert Nagle)氏だ。オブジェクトデータベースであるCaché(キャシエ)を販売する同社の取り組みについて、開発者でもある同氏にインタビューを行った。 オブジェクトデータベース市場は拡大している ネーグル氏はインターシステムズの状況について「2009年、経済はリーマンショックで縮小した。そのころインタビューを受けていたなら、弱気な発言をしていたかもしれない」と述べる。しかし同社はこの状況においてあえて投資を行い、730名だったスタッフを1000名に

  • サーブレットやJSPの“バージョン”意識してますか?

    サーブレットやJSPの“バージョン”意識してますか?:現場にキく、Webシステムの問題解決ノウハウ(7) 連載は、日立製作所が提供するアプリケーションサーバ「Cosminexus」の開発担当者へのインタビューを通じて、Webシステムにおける、さまざまな問題/トラブルの解決に効くノウハウや注意点を紹介していく。現在起きている問題の解決や、今後の開発のご参考に(編集部) 10年で「J2EE 1.2」から「Java EE 6」へ 1999年にJ2EE 1.2がリリースされてから10年以上経過し、2009年12月には4回目のバージョンアップ版であるJava EE 6がリリースされた(参考:米Sun、軽量、モジュラー化を進めた「Java EE 6」を公開)。 この間、多くの技術が実装され、またエンハンスされてきたが、エンハンスに伴って以前のバージョンと振る舞いが変わってしまったケースが少なからず存

    サーブレットやJSPの“バージョン”意識してますか?
    MayBowJing
    MayBowJing 2010/06/15
    : サーブレットやJSPの“バージョン”意識してますか? - @IT B!
  • プログラマが知っておきたいJavaと.NETの違い

    システム開発がますます複雑化していく中、エンジニアには、テクノロジを理解して、さまざまな場面に適した選択が求められます。連載では、Javaと.NETの基的な仕組みから最新の傾向や技術などについて、数回に分けて紹介します いまさら聞けない、Javaと.NETの違い 今日、アプリケーション開発・実行のプラットフォームは、大きく2つのテクノロジに収束しているといえるでしょう。 1つは、エンタープライズ・アプリケーション開発の定番ともいえる「Java」です。 実行環境、開発環境の無償提供、OSを自由に選べること、フレームワークや開発環境が充実していることが人気の理由です。大規模アプリケーションの採用実績も多く、ほかのプラットフォームをリードしてきました。 もう1つは、マイクロソフトが発表した「Microsoft.NET」構想に基づいた「.NET」です。 プラットフォームが主にWindowsに制

    プログラマが知っておきたいJavaと.NETの違い
    MayBowJing
    MayBowJing 2010/06/08
    : プログラマが知っておきたいJavaと.NETの違い (1/4) - @IT B!
  • 特集 私がJavaからC#に乗り換えた10の理由(1/4) - @IT

    起きてから寝るまで、息を吸うのも、厠(かわや)での一連のアクションも.NET Frameworkで構築している私だが、実は少し前まで目を閉じるとまぶたの裏でJavaのマスコットである“Duke”がゴーゴー・ダンスを踊っちゃうくらいにJavaな日々を送っていた。そんな私が過去の資産を捨てて.NET Frameworkに転んだ理由は簡単。.NET Framework、特にC#の設計思想が私のし好に合っていると感じたためだ。 稿では、私がJavaからC#に乗り換えた理由を示し、それを基にC#の“正しい”使い方について考察する。C#に興味のあるJavaプログラマや、どう使えばよいのか悩んでいるC#プログラマに読んでいただきたい。そうそう、アーキテクトにも。プログラミングできないアーキテクトなどあり得ないのだから。 C#とJavaは似ていない。確かに表面上は似ているが、C#にはJavaにはない文法

    MayBowJing
    MayBowJing 2010/06/08
    : @IT:特集 私がJavaからC#に乗り換えた10の理由 B!
  • @IT:特別企画:J2EEと.NET連携を考える

    Microsoft .NET(以下.NET)が登場した頃は「.NETJavaか?」といった議論が起こった。しかし、現実には両者はどちらかで完全に置き換えられるようなプラットフォームではない。J2EEも.NETもアプリケーションやサービスを実装するためのプラットフォームといえるが、その周辺に存在するツールやミドルウェアなどを含めて考えれば、現状、同様のソリューションを提供しているとはいえない。よって、ユーザーのニーズによって自由に選択されるべきものであるし、必要に応じては共存して利用することもあるだろう。 稿では、後者のJ2EEと.NETが共存・連携して利用されるケースを扱い、その意義に簡単に触れたあと、実際の連携例をコードレベルで解説する。 J2EEと.NETの連携として最近最もポピュラーなケースは、.NETベースのWindowsアプリケーションをクライアントに配置し、サーバ側のJ2E

    MayBowJing
    MayBowJing 2010/06/08
    : @IT:特別企画:J2EEと.NET連携を考える(1) B!
  • ドラクエで学ぶオブジェクト指向(2) 勇者とは唯一無二の存在なり:フリーなスキル:エンジニアライフ

    前回のコラムでは勇者を定義した。しかし、まだまだ課題は山積みである。ひとつずつ片付けていこうと思う。設計と実装を同時に行えるのも趣味のプログラムならではの魅力である。まだ、わたしの頭の中にしか設計図は存在しない。ぶっちゃけ、完成するか破綻するのか分からない。それも含めて楽しんでもらえるとうれしい。 ■Singletonパターン 勇者インスタンスが複数作られては困る。Singleton パターンを適用して勇者は世界でただ1人を表現したい。まずは勇者クラスをstaticで宣言し、クラス変数とする。

    ドラクエで学ぶオブジェクト指向(2) 勇者とは唯一無二の存在なり:フリーなスキル:エンジニアライフ
    MayBowJing
    MayBowJing 2010/06/06
    : フリーなスキル: ドラクエで学ぶオブジェクト指向(2) 勇者とは唯一無二の存在なり B!
  • ドラクエで学ぶオブジェクト指向(1) 勇者を作ろう!:フリーなスキル:エンジニアライフ

    深い理由はないが、Javaで遊びたくなった。エンジニアの与太話でドラクエとオブジェクト指向の関連性みたいな話をするのは好きだ。つい最近もそんな冗談をどこかでつぶやいた記憶がある。何も考えないでお酒でも飲みながら組んでみようと思う。 まずは、我らがヒーローを定義することから。基となる勇者クラスだ。

    ドラクエで学ぶオブジェクト指向(1) 勇者を作ろう!:フリーなスキル:エンジニアライフ
    MayBowJing
    MayBowJing 2010/06/06
    : フリーなスキル: ドラクエで学ぶオブジェクト指向(1) 勇者を作ろう! B!
  • ドラクエで学ぶオブジェクト指向(3) 勇者とモンスターは似たもの同士:フリーなスキル:エンジニアライフ

    デザパタの前に継承の話をしていなかったことに気付く。プログラムの入門書を書くつもりはないので、基的に順番はデタラメである。技術はつまみぐいが面白いのだ。 ■継承 インヘリタンス 第1回、第2回で勇者クラスについて考えてきた。このまま肉付けして作り込んでいくのもいいが、このあたりでざっくり大枠を決めておきたいと思う。 Heroクラスに、いくつかの属性を定義してきた。しかし、まだまだ足りてはいない。ドラゴンクエストI 公式ガイドブックによると、ちから、すばやさ、みのまもり、攻撃力、守備力、経験値、Gというパラメータを持っている。 一方、モンスターにはHP、MP、すばやさ、攻撃力、守備力、経験値、Gがある。共通の項目を見つけたら抽象化のチャンスだ。 勇者とモンスターの共通項目として、Battlerクラスを定義する。ひとまずメソッドは考えないで、共通要素を属性にする。Battlerクラスは実体が

    ドラクエで学ぶオブジェクト指向(3) 勇者とモンスターは似たもの同士:フリーなスキル:エンジニアライフ
    MayBowJing
    MayBowJing 2010/06/06
    : フリーなスキル: ドラクエで学ぶオブジェクト指向(3) 勇者とモンスターは似たもの同士 B!