タグ

JAVAに関するkahkiのブックマーク (333)

  • noe's clipp: 『パーフェクトJava』

    ●『パーフェクトJava』著者自身による各章の注釈 < ありえるありあ 2,3の「書き忘れた重要なこと」があるので、併せて読んでおく。 また、ページ数の都合で、割愛した部分が多いらしい。 ●「パーフェクトJava」の「国際化」の章の原稿を公開 < ありあるありあ 章ごと削ったのは他に「正規表現」があるらしいが、そちらは公開されていないようだ。 コメントに、「正誤表がない」とあるが、今もgihyo.jpには無い。ただ、ここで指摘されている2点の誤りは、俺の持つ第2刷では修正済み。 ○書籍「パーフェクトJava」輪講 特別講演 『「パーフェクトJava」で当に伝えたいことは「良いコード」の書き方です』とのこと。

  • 新人に話したJUnitのための知識とTips : toda_k

    最近新人のコードレビューをする機会が増えまして、自分の中の経験則を言語化する機会に恵まれています。なんとなーくわかっていた事柄を人に伝えようとするのは、いつの時代にも最良の学びの機会ですね。 さて新人各位に個別に伝えた「JUnit4利用に関する注意」を整理してみました。JUnitは自由度の高いフレームワークであり使い方は十人十色かと思いますので、もっと良い使い道をご存知のかたは是非はてブコメントなどで教えていただければと思います。ちなみにここで言う「テスト」とは実装の前に書く単体テストだけではなく、実装後に書かれるものや自動化された統合テストも含めています。 1.JUnitを使うために押さえるべき前提知識 テストメソッドの実行される順番は不定 EclipseのJUnit実行機能に親しんでいると意外と気付けないのですが、JUnitはテストクラス内のテストメソッド実行順を保証していません。それ

    kahki
    kahki 2012/04/24
  • MyBatis 3 | イントロダクション

    MyBatis とは? MyBatis はカスタム SQL、ストアドプロシージャ、高度なマッピング処理に対応した優れた永続化フレームワークです。 MyBatisを使うことで、直接 JDBC を扱うコードを書いたり、クエリ引数やクエリ結果を手動で設定する必要がほとんどなくなります。 MyBatis の設定やデータベースレコードと Java オブジェクトの関連付けは、XML またはアノテーションを使って行うことができます。 このドキュメントの改善にご協力ください... このドキュメントの中で誤りや特定の機能に関する記述が抜けていることに気づいたら、詳しく調べてドキュメントを更新して頂けると助かります。 このマニュアルのソースは xdoc 形式で、プロジェクトの SVN リポジトリで配布されています。 SVN からチェックアウトしたファイルを修正したら、トラッカーで新しいチケットを作成して変更

    kahki
    kahki 2012/04/08
  • SpringとMyBatisを使ったアプリケーション開発のメモ -その1- « ロジカルにアナログで。

    Javaの開発をしている人は大概サーバサイドで何か作ってるんじゃないかと思いますが、このサーバサイドJavaを取り巻く環境は日々めまぐるしく進歩していて、ちょっと気を抜くとすぐに置いて行かれてしまいます。 特にサーバサイドJavaを取り巻く技術として「DI (Dependency Injection)」という単語は良く聞くと思いますが、正直僕はあまり突っ込んで使っていませんでした。DIの思想自体は理解しているつもりで、メリットも分かっているつもりではいましたが、「DIを積極的に導入した場合にどういうものが出来上がるのか」について、自分の中でもやもやとした状態が続いていたからです。 そのもやもやを晴らそうとドキュメントベースで知識は入れていたものの、DIコンテナの一つである Spring3 のマニュアルとか700ページ以上もあるんですよね。脳内のバッファがパンクしてしまいます。 習うより慣れ

  • Ruby の retry-handler が激しく便利そうなので Java で実装してみた - 宇宙行きたい

    http://kimoto.hatenablog.com/entry/2012/03/05/103052 を読んでたら Ruby の retry-handler が激しく便利そうなので Java で実装してみた。 ソース→ https://github.com/yoshiori/retry-handler どんなものか簡単に説明すると 特定の処理を実行したいんだけど、途中で何らかのエラーが発生した場合はリトライさせたい時に使えます。 具体的にはこんな感じで書くと、処理の途中でエラーが発生しても指定した回数はリトライしてくれます。 Proc.retry(3,new Runnable() { @Override public void run() { //なんか処理 } }); 特定のエラーの時だけリトライしたい時はそれも指定できます。 例えば IOException とそのサブクラスのエラー

    Ruby の retry-handler が激しく便利そうなので Java で実装してみた - 宇宙行きたい
    kahki
    kahki 2012/03/16
  • Javaのクラス宣言5種+α - プログラマーの脳みそ

    Javaのクラス宣言には5種類ある。 トップレベルクラス・ネストしたクラス・内部クラス・ローカル内部クラス・匿名クラス(無名クラスとも言われる)の5種類だ。 今回はこの5種類のクラス宣言のおさらい。 トップレベルクラス これは普段使っているクラス。拡張子が.javaのファイルを作り、そのファイル名とクラス名を合致させなくてはいけない。そのjavaファイルのトップレベルに位置する。 ネストしたクラス 「ネストしたクラス」(Nested class)とはクラスの中にクラスがネストしている状態。トップレベルクラスの内側にstaticキーワードをつけてクラス宣言を行う。 public class Outer { public static class Nested { } } このネストしたクラスは、トップレベルクラスと同等の機能性を持つ。 クラス名はOuter.Nestedという名前で扱われるが

    Javaのクラス宣言5種+α - プログラマーの脳みそ
    kahki
    kahki 2012/03/09
  • 『Effective Java』を読む

    (こちらのブログ記事からの転記です) 『Effective Java 第2版』の項目3 「privateのコンストラクタかenum型でシングルトン特性を強制する」(17頁)のElvisクラスには、初版にはなかったleaveTheBuidling()メソッドが追加されています。翻訳した時は、メソッドが追加されているなという程度で深く気にしなかったのですが、調べてみました。 Wikipediaの"Elvis has left the buidling"よれば、次のように説明されています。 "Elvis has left the building!" is a phrase that was often used by public address announcers following Elvis Presley concerts to disperse audiences who ling

    『Effective Java』を読む
    kahki
    kahki 2012/03/05
  • Javaの非同期処理を,シングルスレッドのようにシンプルにコーディングするための設計パターン (並列処理を逐次処理にする) - 主に言語とシステム開発に関して

    重要なお知らせ: この記事で公開した情報は,AndroidのMVCフレームワーク「Android-MVC」の機能の一部として取り込まれました。 より正確な設計情報や,動作可能な全ソースコードを閲覧したい場合,「Android-MVC」の公式ページより技術情報を参照してください。 AndroidのMVCフレームワーク - 「Android-MVC」 http://code.google.com/p/android-mvc-... マルチスレッドの処理を,シングルスレッドであるかのようにコーディングしたい場合がある。 1番目の非同期タスクの処理結果を,2番目の非同期タスクが利用する場合など。 つまり,並列化されたタスクを,取扱い上は「逐次化」したいのだ。 まずは手っ取り早く,やりたい事をUMLで表現しよう。 「非同期タスクの連鎖」を実装する際, しばしば下記のような「コールバックの入れ子」が生

    Javaの非同期処理を,シングルスレッドのようにシンプルにコーディングするための設計パターン (並列処理を逐次処理にする) - 主に言語とシステム開発に関して
  • scalaを知る、入門記事。

    Java使いをScalaに引き込むサンプル集(m... / Scalaプログラミング入門 / ScalaでWebスクレイピングして画像収集する...他...全5件

    scalaを知る、入門記事。
    kahki
    kahki 2012/02/02
  • MavenからSBTへのビルド環境の移行 | Geisha Tokyo Engineers' Blog

    この記事は、sbt0.11.X系列の記事です。それ以前のバージョンでは正しく動作しません。 SBTとは Scala(とついでにJava)のためのビルドツールです。ちなみにSimple Build Toolの略です。 特徴としては、設定等全てscalaで書くことができ拡張性が高いビルドツールになっています。 この記事では、Mavenの主要な機能を順次sbtへと移植していきます。 現在ScalaをMavenと連携して使用しているけど、sbtも安定してきた気がするしsbtへ乗り換えてみようかなと思っている人達を対象にしています。 sbtに関しては、使う上での最低限の情報と、Mavenからの移植に必要な部分のみ触れています。 きちんとsbtの使い方を知りたい方は、家のWikiを読んでください。 目次 SBTのセットアップ 1. SBTのインストール 2. Hello sbt 3. SBT

    kahki
    kahki 2012/01/26
  • IK.AM

    kahki
    kahki 2011/12/29
  • AnnotationProcessorを利用して楽してintrefaceを徹底活用したプログラミングをしようぜ - 矢野勉のはてな日記

    Java, Advent Calendarこの記事は Java Advent Calendar 2011 の一環で書いてます。詳細はこちらを参照してください。昨日の id:ttmmrr さんの記事はこちら (2012年の公休日とか)JTableのフィルタリング - ttmmrr(@o_tmr)の日記たまたま、いま作ってるプログラムで、Javaプログラマに役立ちそうな部分があったので、その部分を抜き出して公開することにしました。今回はその紹介をしようと思います。 「インタフェースこそが型である」世界Java: The Good Parts というがありまして、その3章において、(私の理解としては)Javaにおいて、型とはインタフェースのことあり、クラスは型に実装を提供するものであり、すべてのクラスはインタフェースを備えるべきだ、とかいう意味の論が展開されてます。インタフェースはクラスから型

    kahki
    kahki 2011/12/09
  • JUnit(JUnit4)の概要~利用方法【ユニットテスト - テスト】 @みっちーわーるど

    前提 このページに記載している内容は2011/01/23に書かれたものです。 掲載している画面や方法が将来的に変更されている場合があります。 また、解説に使っている eclipse のバージョンは 3.6.1 です。 eclipseのバージョンによって若干異なる部分があるかもしれません。 「初心者にも分かる JUnit(JUnit4)」を目指して頑張って解説します。 特徴 ・JUnit3の改良版 ・eclipseと連携していて簡単にテスト実行&失敗したテストの理由を表示 ・JUnit3の以下の問題点を改良 ・テストメソッドの名称が固定 →メソッドにアノテーションを付加することで対応 ・例外が発生するテストが複雑 →アノテーションで期待する例外を記述することで対応 ・テスト前後処理のバリエーションが少ない →テストクラス前後処理など、いくつかのバリエーションが追加された ・JUnit3と同じ

    kahki
    kahki 2011/12/06
  • ドワンゴScala勉強会で学んだ、ハイブリッド言語「Scala」の魅力 | Lab by engineering@dwango.jp

    こんにちは初めましてー。2011年度新卒の田中です。 12月から急に寒くなってきましたね。 11月が暖かかったからといって油断していませんか? 私は完全に油断していました。まだ冬服を買っていません。 さて、まだ暖かかった11月、ドワンゴでScala勉強会という熱いイベントがありました。 私は最近Scalaを勉強し始めたのですが、この勉強会で、Scalaの魅力的な機能をたくさん知ることができました。 今回はScala勉強会から持ち帰った情報や今まで私が勉強してきたことを元に、Scalaのどこが魅力的なのかを記事をしていこうと思います。 それではよろしくお願いいたします。 対象読者 Javaを書いたことがある方 Scalaを知りたい方 Scalaを始めたばかりの方 Scala? ドワンゴはエンジニア同士の技術交流が盛んな会社で、プログラミング言語を中心に日々、情報交換、議論が行われています。

  • 開発環境構築メモ(Quick JUnit on Eclipse3.6)/Mockito関連プラグイン設定について - Diary of absj31

    TDDもあるしテスト実行環境も整備していこうって事で。 Quick JUnit Plugin for Eclipse Eclipse ― Quick JUnit プラグイン 関連してそうな記事はこちら。 単体テストを“神速”化するQuick JUnitMockito - @IT QuickJUnitを設定して、まず第一にやることを3つ « ひよっこ。 Mockitoノススメ - Fly me to the Juno! 心地良すぎるモックライブラリ Mockito 〜その1〜 - etc9 プラグイン大元の導入は特に問題無くサクッと完了したのですが、Mockito関連プラグインが上手く動かない?状態。ページによっては以下の2つのURLを以て更新を行う…という記述があるのですが、どちらで行っても状況は同じ。 http://quick-junit.sourceforge.jp/updates/

    開発環境構築メモ(Quick JUnit on Eclipse3.6)/Mockito関連プラグイン設定について - Diary of absj31
  • GWTアプリケーションのバックエンドにSpring Frameworkを利用する - Walbrix Blog

    GWTはブラウザ上で動作する Ajax系のUIツールキットだが、サーバ側のメソッドを呼び出す(=RPC)ための仕組みも含まれている。GWTアプリケーションから呼び出すことの出来るサーブレットを RemoteServiceServletという。典型的に、RemoteServiceServletはサーバ上のデータベースにアクセスしてビジネスロジックを実行するための役割を与えられる。 この記事では、RemoteServiceServletを実装するにあたって Spring Frameworkを使用するためのもっともシンプルな方法を解説する。Spring Frameworkはソフトウェア部品の動的な組み立て(DI)を支援するほか、Hibernateや各種JPA実装などといったORMと、それらにまつわるトランザクション管理の統合などを提供するフレームワークである。 GWT-Springのベネフィット

  • Spring by Example

    Welcome Welcome to Spring by Example. The site is a general resource for Spring and should ultimately save developers time. The Spring by Example Blog has version information for different site releases. Any comments on a release can be posted and discussed there. This site went live in February 2008, and the last two months of 2014 had over 159K unique visitors. Thanks to everyone for supporting

  • Spring MVC + Velocity のサンプル – Memo

  • ルーキーアーキテクトのTechnical Tips

    ルーキーアーキテクトのTechnical Tips : 目次 目次の巻 JAX-RSでRESTful Webサービス 皆さん、なにかしらWebサービスを開発したことありますか? 世の中、たくさんのWebサービスが提供されています。それは.NETかもしれないしRubyかもしれません。 連載では、JavaのRESTful仕様であるJAX-RSを使って、Webサービスの作り方を解説します。 最初の問いかけに"Yes"だった方も、"No"だった方も、少しの間お付き合いくださいませ。 第1回 いまさら始めるJavaでRESTful Webサービス構築  (2012/02/15 up)  >>こちらから 第2回 実践!RESTful Webサービス構築  (2012/03/15 up)  >>こちらから 第3回(最終回) データベースと連携させよう!  (2012/04/27 up)  >>こちらか

  • 「テスト駆動開発入門」を JUnit 4.4 と Eclipse 3.3 でやってみる (1)

    「テスト駆動開発入門」というがあります。ケント・ベックという XP プログラミングなどで有名な人が書いたで、その題名のとおり、テストを先に書く開発のやり方について解説したです。 中身を見てみるとわかりますが、当に文字通りテストを先に書きます。ですから、最初は通らないわけです。 カンタンな要件を満たすテストを作成する → そのテストを通るような実装を作成する → さらに進んだ(でもカンタンな)要件を満たすテストを作成する → そのテスト通る実装を作る、といったように、まさしく「テスト」によって「駆動」される開発手法というわけですね。 にはかなり簡略化された形でしか書かれていないため、実際やってみたのが以下の紹介です。 テストのためのツールである JUnit のバージョンが 3.x から 4.x に変わっているので、テストの書き方もそれにあわせて書き換えています。 開発環境は、表題に

    kahki
    kahki 2011/12/06