タグ

関連タグで絞り込む (210)

タグの絞り込みを解除

javaに関するy_yukiのブックマーク (186)

  • SAStrutsとかSeasar2の注意点 | code up

    引き継いだプロジェクトがSeasar2で開発されていた。活発だった当時(数年前)であれば良かったのかもしれないけど、今では使えば使うほどよく分からないフレームワークだと感じる。 理由はこれにつきる: ドキュメントが整備されていない。 Wikipediaには「設定よりも規約」という概念のサポートである。とあるが、明文化されていない規約によって発生する不具合を何度か経験した。また明文化されていてもチーム開発に向いていない制約/仕様も存在するように思う(後述するS2JDBCの仕様など)。 はじめてDIコンテナと呼ばれるものを使用したのはずいぶん昔。ATG Dynamoという今はOracle(ほとんどの製品はOracleのものになっていくなー・・・)の製品。当時はIoCなんて言ってた。この時から他の人にDIを説明する時に、そのメリットを実用的な側面から説明できなかった(概念としての特徴は説明できる

  • from old Java to modern Java

    from old Java to modern Java : reloaded for Kansai Java Engineers' Group

    from old Java to modern Java
  • Playで体得するRESTfulアーキテクチャの基礎知識

    Playで体得するRESTfulアーキテクチャの基礎知識:Javaの常識を変えるPlay framework入門(5)(1/3 ページ) サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、RESTの概要、URIの概念、RESTで使われるHTTPメソッドとステータスコード、PlayでのRESTfulな設計、実装上の問題点などを解説します。 RESTを理解すると、Play frameworkが分かる 前回記事「Play frameworkのコントローラの使い方を理解する」までは、Javaを使う観点からPlay frameworkを紹介してきました。しかし、今回は視点を変えて、言語による実装方法ではなくPlay frameworkが得意とするソフトウェア・アーキテクチャのパタ

    Playで体得するRESTfulアーキテクチャの基礎知識
  • Play frameworkのコントローラの使い方を理解する

    Play frameworkのコントローラの使い方を理解する:Javaの常識を変えるPlay framework入門(4)(1/3 ページ) サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、PlayにおけるMVCパターンのコントローラについて、URIやHTTPメソッドなどの扱い方を含めて解説します。

    Play frameworkのコントローラの使い方を理解する
  • Java、メモリリークを追跡して修正する方法

    Javaでサーバアプリケーションを開発している場合に遭遇する問題に「Out Of Memory」がある。Javaアプリケーションが使用するメモリが増え続け、最終的に許容範囲を超えてJava仮想マシンがクラッシュする。この問題に対するもっとも簡単な対処方法は、物理的にメモリの容量を増やしてJava仮想マシンが利用できるメモリ容量を引き上げること、もうひとつは、クラッシュする前に定期的にアプリケーションを再起動することだ。強引な方法だが、実効性のある方法でもある。しかし、根的に原因を解決することにはならず、何らかの原因でいつかOut of Memoryが発生する危険性が存在しつづけることになる。 根的に問題を解決したい場合には、どの部分でメモリリークが発生しているかを追跡し、対象部分のコードを書き換える必要がある。そうした場合に参考になる記事が「Fix Memory Leaks in Ja

  • JavaでさくさくWebアプリ開発 - しんさんの出張所 はてなブログ編

    かなり久々の技術エントリ。 運用はお堅い重いサーバーを使ったとしても開発は軽いほうがいい。当たり前ですね。 というわけでさくさく開発する方法を書いてみる。DIコンテナはCDIやGuice、Springなど好きなものでよいが、今回は省く。軽いこともあって開発中はGuiceを使うことをお勧めしたい。注入は@Injectを使うため、開発中と運用中でコードが変わるってのは少ないはずだ。 まずはJAX-RS まず、アクションベースのWebアプリはJAX-RSを使うこと。これが基。サーブレットAPIを使わずに開発することについては今までも書いてきた。サーブレットAPIを触らないことにより開発効率とテストのしやすさを両立できる。 こんな感じ。 @Path("/") public class Hoge { @GET @Path("add/{a}/{b}") public Response add(@Pa

    JavaでさくさくWebアプリ開発 - しんさんの出張所 はてなブログ編
  • Codespell – Java言語がそのまま呪文となる教育用3Dゲーム

    カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codesp […] カリフォルニア大学サン・ディエゴ校の計算機科学者達が開発した Codespell は、一人称視点の3Dゲームなのですが、その一番の特徴は、プレイすることでJavaプログラミングを身につけられるという点です。 Codespellでは、プレイヤーは小動物ノーム(gnome)たちが住む土地にやってきた魔法使いです。ノーム達は過去に魔法を使って生活していたのですが、今は魔法をうまく使えなくなっています。魔法の呪文はJava言語プログラムで、物体を浮遊させるとか火を起こすといった7つの手持ちの呪文を使って、ノーム達を助け、火を消したり川を渡ったりといったクエストを解き、バッ

    Codespell – Java言語がそのまま呪文となる教育用3Dゲーム
  • 第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp

    なぜアルゴリズムを学ぶのか GCによる停止時間が長くなり、アプリケーションの処理時間が短くなると、業務に使える時間が短くなってしまいます。その問題を解決するために、GCをチューニングすることで、アプリケーションの停止時間を短くすることが考えられます。 その際大事なのは、GCのアルゴルズムを把握しておくことです。 GCのチューニングを行うときは、GCで行われている処理の内、どの処理に時間がかかっているかをモニタリング⇒分析⇒チューニングする、という流れになります。しかし、GCのアルゴリズムを知らないと、モニタリング結果を見てもどこに問題があるかがわからず、分析やチューニングを行うことができません。 今回は、以下の4つのアルゴリズムをご紹介します。 マーク&スイープGC コンパクション コピーGC 世代別GC GCのアルゴリズムはJVMの実装によって異なりますが、多くの場合、上記4つのアルゴリ

    第5回 チューニングのために理解しておきたいGCの4つのアルゴリズム | gihyo.jp
  • JavaとPythonの学習がオンラインで出来る『CodingBat』 | 100SHIKI

    シンプルだが、良く出来ていると思ったのでご紹介。 CodingBatでは、JavaPythonの練習問題をオンラインで解いていくことができる。 その場でコードを書いて、その場で結果を判定してくれる点がわかりやすい。 問題自体はシンプルなものだが、ドリル的にこなしていければそれなりの実力がつくはずだ。 JavaPythonを学んでいる人はいかがだろう。

    JavaとPythonの学習がオンラインで出来る『CodingBat』 | 100SHIKI
  • 第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp

    原因は大きく分けて3つあります。 1つめは、リソース不足です。たとえば、CPUのクロックやコアが足りず、処理の完了待ちであることなどが原因として考えられます。 図1 CPUのリソース不足の例 2つめは、M/W(ミドルウェア)からアプリケーションに提供されるスレッドや、コネクションのプールにあるリソースが不足していて、その提供待ち(無応答)になっている可能性です。 M/Wでプールしているリソースが不足した状況は、会社の書籍棚に1冊しかないを社員で順番待ちしている状況に似ています。1冊しかないため、今借りている人が返すまでは他の人は借りれません。 図2 M/Wでプールされたリソースが不足しているケース 1つめのケースで問題がGCにある場合、GCに割り当てるリソースのバランスが悪いことが原因です。たとえば、特定のプロセスに対するCPUリソースの割り当てが大きい場合、GCが起きると、CPUリソー

    第3回 システムトラブルの原因はGCの実装を知れば見えてくる | gihyo.jp
  • Play Framework 2.1リリース #play_ja #scalajp | #JVMood

    JVMで動作するスケーラブルかつ高速、型安全なWebアプリケーションフレームワークとして近年人気を博しているPlay Frameworkの最新版2.1がリリースされました。 Play 2.0.xのアプリケーションを2.1系に移行するためのドキュメントも丁寧に書かれています。 ・Play Framework > Migration Guide Play FrameworkはフルスタックのWebアプリケーションフレームワークでコアはScalaで書かれています。Akkaを使った非同期処理やNettyによるノンブロッキングI/O処理、旧来のサーブレットモデルに依存しないステートレスでスケーラブルなアーキテクチャが支持を得ています。 またアプリケーションをJavaScalaで型安全に書けるだけでなく、テンプレートエンジンも型安全に出来ており記述ミスを極力コンパイルエラーとして検出できることから生産

  • Apache Isis: ドメイン駆動設計のためのJavaフレームワーク

    Rustが再評価される:エコシステムの現状と落とし穴 In this article, we share findings and insights about the Rust community and ecosystem and elaborate on the peculiarities and pitfalls of starting new projects with Rust or migrating to Rust from othe...

    Apache Isis: ドメイン駆動設計のためのJavaフレームワーク
  • OOコード養成ギブス - rants

    Binstock on Software: Perfecting OO's Small Classes and Short Methods The Pragmatic Programmersシリーズの新しい、The ThoughtWorks Anthologyの中に 興味をそそるエッセイがある。Jeff Bayの"Object Calisthenics"だ。 これは良いオブジェクト指向の性質を実証する小さなルーチンを書く方法をマスターするための 詳細にわたるエクササイズだ。オブジェクト指向なルーチンを書く能力を向上させたい開発者がいるなら このエッセイに目を通すことを勧める。ここにBayのアプローチを要約してみよう。 彼は次にあげられる制約のもとに1000行のプログラムを書くことを勧めている。 これらの制約は意図的に過剰な制限となっているが、これは開発者を手続き的なやり方から脱却させるた

    OOコード養成ギブス - rants
  • 自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記

    http://d.hatena.ne.jp/JavaBlack/20050909/p1の改訂.*1基的に改訂版への差し替えと一部の新刊の追加程度になっている. お奨めのJava&オブジェクト指向プログラミング関連の書籍/参考文献リスト.初心者向け入門書や参考書から上級者向けの専門書まで,オブジェクト指向だとかJava言語とかの初心者〜中級者が学習をすすめる上での参考にすることを想定して作っている. 初心者向け勉強の手引き:http://d.hatena.ne.jp/JavaBlack/20070825/p1 オブジェクト指向プログラミング とりあえず初心者なら「オブジェクト指向プログラミング入門」「オブジェクト指向における再利用のためのデザインパターン」と,あと「リファクタリング―プログラムの体質改善テクニック (Object Technology Series)」くらいかな.ただしリフ

    自己流オブジェクト指向プログラミング&Javaお奨め本2007年版 - カレーなる辛口Javaな転職日記
  • オブジェクト指向プログラミングの教え方? | システム設計日記

    技術者仲間で話していたら、4月入社の新人に、オブジェクト指向プログラミングをどうやって教えたらよいか?、という話になった。 想定している言語は Java。 ■動物・犬・モデルの説明から ■基用語の説明から:「カプセル化とは」「継承とは」... ■サンプルコードから: System.out.println( "hello world" ) ... どのパターンでもうまくいかなかったので、今度の新人研修では何か工夫したいね、という話。 結論から言うと「これだ」というアイデアがでたわけではないが、話の内容は、いろいろ興味深かったのでメモ書き。 Java はオブジェクト指向の言語なの? Java は、ある意味 C言語の仲間。ある側面はほとんど同じ言語。 ・int, long (プリミティブなデータ型) ・配列操作 ・if/for/return ここだけ見れば、C言語のまま。つまり命令型、手続き

  • Javaを知らない世代が今からはじめるJava EE開発 - DENの思うこと

    JavaEE Advent Calendar 2012 の19日目の記事です。 昨日は@n_agetsuさんの JSF2.0でボタンの2度押しチェックをするでした。 明日は@hiranasuさんのNativeQueryじゃだめ?~JPAクエリ表現ごとのパフォーマンス比較です。 Java EEの何について書こうかなと思ったのですが、これからJavaを始めようと思っている若い世代が迷わず簡単に始めることができるJava EE開発のスタートについて書こうかなと思います。 Java EEの開発はRails等のフルスタックなフレームワークとは違いライブラリやフレームワーク、IDE、テスト等の情報が種類も多くいろんな場所に散らばっていてる為、初心者が全容を把握することはなかなか困難な状態です。 また長年のJava開発の中でWeb上の情報も古くなってしまっているものが多く、今からJavaを始めようとする

    Javaを知らない世代が今からはじめるJava EE開発 - DENの思うこと
  • JDK付属の「src.zip」の代わりに「jdk7src」を使ってEclipseの「Source not found」を回避する方法

    JDKには、Java標準ライブラリのソースファイル一式(src.zip)が付属しています。しかし、これは標準ライブラリのソースコードの一部に過ぎず、「sun.misc.Launcher」をはじめとする、一部のパッケージのソースファイルは含まれていません。 今回は、それによって表示されるエラーや対策、について解説します。JDK7が対象なので、JDK6未満の場合は適用できません。 目次 1. 「src.zip」のよくある利用法2. JDK付属の「src.zip」だけでは見れないソースコードがある!2.1. Class File Editor2.2. 「sun.*」など一部のソースコードが非公開だったから2.3. OpenJDK→JDK7へ2.4. OpenJDKのライセンス的にソースコードは無理?3. jdk7src「src.zipに足りないものをOpenJDKから持ってきました」4. jdk

    JDK付属の「src.zip」の代わりに「jdk7src」を使ってEclipseの「Source not found」を回避する方法
  • PHPer が「JUnit実践入門」を読んだ

    「JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)」を献して頂いたので読んでみました。 普段は PHPUnit でテストを書いているので、その家とも言える JUnitは興味津津でした。 実は、今でこそ PHP 三昧の日々ですが、数年前(JDK1.3 とか 1.4 の時代ですが)は Java で開発していたこともあったので、いまどきの Java、JUnit がどうなっているか知りたくもあり、興味深く読み進めることができました。 読んでみて感じた点を挙げてみます。 1. 圧倒的なボリューム まず目次をざっと見た時に感じたのがカバーしている範囲の広さです。正直よく一冊に収まってるなあと:D JUnit の解説からはじまり、JUnit を使ったテストの書き方、ソフトウェアテスト・テスト技法、ユニットテストのパターン、そして JUnit のより

  • テストコードのリファクタリング

    JJUG CCC 2012 fall / 札幌Javaカンファレンス2012での発表資料です。 ソースコードは https://github.com/shuji/demo-refactering-unittest から取得してください。

    テストコードのリファクタリング
  • JUnit実践入門の読みどころ #junitbook - やさしいデスマーチ

    先日のエントリーではたくさんのブクマありがとうございます。Amazonでの予約も好調とのことで、うれしい限りです。 JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus) 作者: 渡辺修司出版社/メーカー: 技術評論社発売日: 2012/11/21メディア: 単行(ソフトカバー)購入: 14人 クリック: 273回この商品を含むブログ (69件) を見るというわけで、書影も出てきました! 思えば、JUnitのセカイというエントリーで、たくさんの「わっふる」をいただき、出版の決意を固めたわけですが、気がつくと書き始めて1年経ってました。ようやく、情報を公開できる段階まで来たわけです。 今回のエントリーでは、JUnit実践入門の発売に先立ち、書の構成と各章の概要をお伝えします。予約を迷っている方は、エントリーを読んだ上でご検討いただければ幸いです。

    JUnit実践入門の読みどころ #junitbook - やさしいデスマーチ