タグ

javaに関するkiki114のブックマーク (93)

  • Java コードリーディングのコツ

    この記事は 品川 Advent Calendar 2019 の5日目です。 OB 枠での参加です。いったいどこの某弊社なんでしょうか… 。 記事は Eclipse で Java ライブラリのコードリーディングを行うときのコツをまとめます。あくまでも「自分はこんな考え方やテクニックを用いてコードを読んでいますよ」という内容なので、より良い方法があればコメントください。 検証環境Java 8Eclipse 2019-09 R (4.13.0)Maven 3.3.3はじめにコードを読む方法は 静的/動的 の 2 通りあると考えている。状況に応じて使い分けることで、それなりの時間でコードの全体像を把握できるようになる。 静的 = エディタや IDE を利用してコードを読む動的 = デバッガを利用して実行しながらコードを読むソースコードのダウンロード何はともあれソースコードを用意する必要がある。E

    Java コードリーディングのコツ
    kiki114
    kiki114 2021/01/10
  • Eclipse 4.6 Neon 新機能 TOP10!と Spring Boot STS - Qiita

    (※) Oxygen の次のバージョンは、コードネームだとどれが最新か分からないことや、いつの時点か分からないということで、2018.1 や 2018.2 のようなバージョン表記になる方向で調整されています。 ここでコードネーム廃止が議論されていましたが、1 つのバージョンでベータから最終リリースまで 3 年にまたがり(例えば 4.8 は 2017〜2019)、混乱するだけということで、コードネームが継続して使用されることになりました。投票では Pluto (冥王星) になりましたが、Apache ですでに利用されているため、2 位の Photon (光子) に決定しました。 2018/09/25 追記: コードネームは廃止されました。 メンテナンスリリース バージョン 家リリース日 備考

    Eclipse 4.6 Neon 新機能 TOP10!と Spring Boot STS - Qiita
  • Javaのクラス宣言5種+α - プログラマーの脳みそ

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

    Javaのクラス宣言5種+α - プログラマーの脳みそ
  • Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita

    なぜ今Javaの例外処理か Javaにおける「チェック例外」はSwift、Objective-C、RubyJavaScriptといったネイティブ・ウェブアプリ開発でよく用いられる他の言語には現れないものです。 SwiftにはOptionalやErrorTypeがありますが、Javaにおいてもnullやエラーのハンドリングの実装方法をうまくやる必要があります。 なぜ例外を握りつぶしたらいけないのか、なぜアサーションが望ましいのか、なぜチェック例外と非チェックを分けたのか、という点を考えてみたいと思います。 参考資料 例外設計における大罪 (契約プログラミングについて) Effective Java読書会9日目 - 例外 (Javaにおける例外の扱いについて) 契約による設計から見た例外 (この記事の方がより詳しいけど難しいイメージ) チェック例外と非チェック例外の違い チェック例外→「回復

    Java/Androidにおける例外設計、あるいは「契約による設計」によるシンプルさの追求 - Qiita
  • ちょっといいJavaコードを書こう - Qiita

    一人でプログラムを書いてたりすると、環境によってはあまりコードの書き方には指摘を受けなくて困りますよね。プロになっても、曲がりなりにもちゃんと動くコードを書けてしまうとあまりに当たり前のことなんかは指摘されることも稀で、そのままある程度偉くなっちゃった日には、もはや自分で気付くしかなくなってしまいます。 FindBugsとか、Effective Javaなら使ったり読んでみたり読ませたりすることはできますが、それ以前のところって難しいんですよね。よいコードと言うよりそれが当たり前だと思われているので、指摘するにしても「こうすればいいよ」(アドバイス)じゃなくて「なんでこうしてないの?」(詰問)になってしまいがちです。 そこで、最近そういうJavaニュービーに指摘している(したい)ことの多い、Javaの基礎的な事柄をまとめてみました。ワタシJavaチョットデキルって人は、これ以外にもやりがち

    ちょっといいJavaコードを書こう - Qiita
  • Java Platform SE 8 API仕様

    The documentation for JDK 22 includes developer guides, API documentation, and release notes.

  • SpringBatchとは - omotenashi-mind

    Spring Batchとは、名前のとおりバッチ処理用に定義されたフレームワークです。 様々なインターフェイスを持ち、オフラインバッチに限らずオンラインバッチへの利用も可能です。 ファイル・DBへの読み書き、コミット/ロールバック制御等のバッチ処理に必要な基的機能から並列処理、バッチアベンド後のリラン制御などの機能も提供しています。 うまく使いこなせば、他システム連携バッチやデータ移行プログラム開発などの効率化にも貢献してくれます。 何が楽になるのか (図:バッチ処理の基フロー) バッチ処理の基的な処理の流れは「図:バッチ処理の基フロー」のとおりです。 SpringBatchでは、この基的なバッチ処理の流れをコントロールするフレームワークを提供してくれているため、実装者は入力を受け取るためのBeanとデータチェック・加工処理、出力処理を実装して設定ファイルに記述するだけで

  • Spring Batch - soracane

    具体的にどのようなことができるかを箇条書きした方が、イメージをしやすいと思いますので以下に列挙してみます。

  • 【Java】MapやListの定数宣言 - 16bit!

    javaMapやListを定数として宣言する時の方法。 Map private static final Map<String, Integer> PRICE_MAP; static { HashMap<String, Integer> map = new HashMap<String, Integer>(); map.put("りんご", new Integer(80)); map.put("ぶどう", new Integer(250)); map.put("なし", new Integer(200)); map.put("もも", new Integer(400)); map.put("みかん", new Integer(70)); PRICE_MAP = Collections.unmodifiableMap(map); } List private static final Li

    【Java】MapやListの定数宣言 - 16bit!
    kiki114
    kiki114 2015/02/17
  • MyBatisで遊んでみる(2) 第二章 mybatis-generatorによるMapper自動生成

    どうも、トムです。 今回は前回からの続きでmybatis-generatorについて書いていきます。 mybatis-generatorはmybatisで利用するMapperファイル(SQLMapper)やJava Model(Entity)、Java Client(Mapper)などのSQLマッピングクラスを自動生成してくれるツールです。 これらを導入することで開発時にテーブル変更などがあった際、比較的楽に関連ファイルを作成することが出来ます。 前回で以下のテーブルが出来ていることを前提で進んでいきます。 \d my.dept テーブル "my.dept" 列 | 型 | 修飾語 ------+------------------------+---------- id | integer | not null name | character varying(256) | not nu

    MyBatisで遊んでみる(2) 第二章 mybatis-generatorによるMapper自動生成
  • 初めてのJava EE 6 (JSF 2.0) - wadahiroの日記

    しばらく間があいてしまいました。今回はJava EE 6に含まれているWebフレームワークであるJSF2.0を簡単にさわってみたいと思います。 JSFは、前バージョンのJava EE 5からJava EEに含まれるようになりました。つまり、Java EE準拠のアプリケーションサーバであれば、ライブラリの追加なしにデフォルトで付いてきています。 これはやはり標準のメリットの1つですね。アプリケーションサーバを購入するればWebフレームワークのサポートも一応付いているわけです。 Webフレームワークのサポートを気にするところだとこれはありがたいのではないでしょうか。 しかし、JSFはイマイチ人気がありません。特に日だとStruts1系が多く使われているような話をよく聞きます。 indeed.comのJob Trendsを見ても、ちょっとずつ増えてはいますが微妙な感じですね。 もしかすると標準

    初めてのJava EE 6 (JSF 2.0) - wadahiroの日記
  • CDIとMyBATIS3.1を組み合わせる - n-agetsumaの日記

    iBATIS2.xの後継ソフトウェアである、MyBatis3.xとJavaEE環境をどう組み合わせるか考える。 MyBatis3.xは、iBATISの開発グループがApache Software FoundationからGoogleCodeに場所を移して開発が続けられているSQLベースのO/Rマッパである。2010年5月にバージョン3.0がリリースされ、2013年1月現在のバージョンは3.1.1である。 JPA(主にHibernate)のようなSQLコーディングなしでDBアクセスというわけにはいかないが、機能がシンプルであり、マニュアルもポイントが絞られて書かれているので覚えやすいフレームワークだ。マニュアルが日語に翻訳されているのも嬉しい。 1. iBATISとMyBATISの違い 実際に触ってみて、主に2つの点が便利になっている(と私は思う)。 複数データソースを1ファイルで定義 i

    CDIとMyBATIS3.1を組み合わせる - n-agetsumaの日記
  • CDIとiBATIS2.3を組み合わせる - n-agetsumaの日記

    ネイティブクエリのみをシンプルに実行したい場合は、まだまだiBATIS(MyBATIS)を使う機会もあると思います。ここではiBATIS2.3とJava EE6のContest and Dependency Injection(CDI)を組み合わせて、JPAのEntityManagerのように、iBATISのSqlMapClientをインジェクションする方法を考えます。 まず、iBATISの設定ファイル(SqlMapConfig.xml)を読み込んで、初期化する部分のコードです。 // import文はポイントなる部分だけ抜粋 import javax.annotation.PostConstruct; import javax.ejb.Singleton; import javax.ejb.Startup; import javax.enterprise.inject.Produces;

    CDIとiBATIS2.3を組み合わせる - n-agetsumaの日記
  • Products

    2022 (2) ▼ September (1) MyBatis 3.5.11 released! ► May (1) ► 2021 (3) ► December (2) ► April (1) ► 2020 (4) ► October (1) ► August (1) ► June (1) ► February (1) ► 2019 (4) ► October (1) ► July (1) ► April (1) ► January (1) ► 2018 (8) ► October (1) ► July (2) ► April (1) ► March (4) ► 2017 (13) ► December (2) ► September (1) ► August (3) ► June (1) ► May (1) ► April (3) ► March (1) ► January (1)

  • EJBとは - nekop's blog

    世に出ているEJBの説明はクソみたいなものが多く、簡潔に機能や特徴を記述しているものが見当たらないので書きました。Java EE 6, 7を対象として書いています。 EJBというのはJava EEアプリケーションサーバ上で利用できるJavaのコンポーネントです。トランザクション制御などの煩雑な部分をEJBが自動的に面倒を見てくれるので、開発者はEJBの基的なルールを抑えたあとはビジネスロジックの記述に集中することができる、というものです。EJBには4種類あります。 基となるステートレスセッションビーン (Stateless Session Bean, SLSB) 状態を保持できるステートフルセッションビーン (Stateful Session Bean, SFSB) 単一インスタンスのシングルトンセッションビーン (Singleton Session Bean, SSB) メッセージ(

    EJBとは - nekop's blog
  • Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ

    Javaの開発と言っても、各種ミドルウェアやフレームワーク、ライブラリ、ツールなどが豊富にあり選択に悩むことは少なくないと思います。 そこで関連技術のインデックスになればと作成しました。 あくまで知っている範囲で記述しているので、コメントしてもらえれば随時追加します! すべてを書くと膨大な量になるため、現状採用が減ってきているものや、そもそもあまり採用されていないもの、後継があったり、類似のものと比較した場合に明らかに劣っているものは省いています。 ちなみにライブラリには高機能なものも多いので、分類は参考程度にご覧下さい。 サーバ系 Apache HTTP Server 世界中でもっとも多く使われているWebサーバ。 nginx フリーかつオープンソースのWebサーバで、処理性能・高い並行性・メモリ使用量の小ささに焦点を当てて開発されている。 Tomcat Java ServletやJSP

    Javaを使うなら知っておきたい技術、フレームワーク、ライブラリ、ツールまとめ
  • Java Persistence API (JPA) 実践入門 - ひだまりソケットは壊れない

    この記事は Java EE Advent Calendar 2013 の 24 日目の記事です。 昨日は nabedge さんの 「JAX-RSのビューとしてMixer2を使ってみる」 でした。 明日は eller86 さんの 「ウェブアプリケーションサーバでよくあるクラスローダのトラブル」 です! 概要 これから Java Persistence API (JPA) を使ってみようとしている人向けの、JPA の簡単な使い方や IDE の機能の紹介などの話です。 私自身、最近 JPA を使い始めたのですが、日語の実践的な入門記事みたいなのが見当たらなくて苦労した (JPA の概念の説明記事は結構あって助かったのですが) ので、少しでも参考になればと思います。 IDE 関係の話は Eclipse ユーザー向けの説明になりますが、NetBeans でもだいたい似たようなことができるはずです。

    Java Persistence API (JPA) 実践入門 - ひだまりソケットは壊れない
  • JPAを使ったデータアクセスでポイントとなる永続コンテキストについて - 達人プログラマーを目指して

    先週書いたエントリJava EE6標準の範囲でフルスタックのWebアプリケーションが簡単に作成できることを確かめてみました。 - 達人プログラマーを目指してで、Java EE6の標準仕様を使うだけで、かなりシンプルにデータのCRUD処理を行うアプリケーションが作成できることを紹介しました。ただし、前回は全体のアプリケーションを紹介しただけなので、細かい仕掛けについては解説しきれませんでした。今回は、前回に引き続き特にJPAを使ったデータベースアクセスの部分がどうなっているのかをもう少し掘り下げて解説してみたいと思います。 なお、この場で宣伝ですが、8月10日(水)にGlassfishユーザーグループの勉強会にてお話をさせていただくことになりました。 GlassFish Japan Users Group 勉強会 2011 Summer : ATND 私はJava EE6を使った開発について

    JPAを使ったデータアクセスでポイントとなる永続コンテキストについて - 達人プログラマーを目指して
  • JavaアプリケーションサーバでThreadLocal利用時の注意点 - yamadamn’s blog

    日はJava EE Advent CalendarとJPOUG Advent Calndarの14日目です*1。 さて、先日11/9のJJUG CCCで話してきた内容で、Javaアプリケーションサーバでは、アプリケーションからThreadLocalは極力利用しない方がよいとのスライドを載せていました。 しかし、当日は時間がなく、また参考情報程度でしたので、説明を省いていました。 これについて、このエントリでは少し丁寧に説明をしたいと思います。 Javaアプリケーションサーバ 構築・運用の勘所 from Takahiro YAMADA 実は、上記スライドは、当日話した内容から以下の修正を加えています。 「極力利用しない」→「注意して利用」に変更 「再利用前提のスレッドに紐づくため、アプリで明示的に破棄」を追記 これがサマリにはなるのですが、説明していきましょう。 ThreadLocal ま

    JavaアプリケーションサーバでThreadLocal利用時の注意点 - yamadamn’s blog
    kiki114
    kiki114 2014/07/16
  • ユニットテスト改善ガイド | DevelopersIO

    先日、日Javaユーザグループ(JJUG)主催のJJUG CCC 2013 Fallで、「ユニットテスト改善ガイド」というタイトルで登壇してきました。自分の経験を元に、ユニットテストをチームや組織へ導入する時に起こりえる問題とその解決のヒントに関するセッションです。エントリーではそのセッションの内容を再構成して公開します。 はじめに 近年のシステム開発では、ユニットテストや継続的インテグレーション(以下、CI)の導入は必要不可欠と考えられています。とはいえ、どんな組織(チーム)でも簡単に導入できているわけではありません。特に、大きな組織や古くからの慣習を残している組織では導入したくとも中々進まないと感じているところが多いのではないでしょうか?。 私は、これまでに多くの開発現場でユニットテストやCIの導入について推進してきました。成功したケースもあれば失敗したケースもあります。そして、失

    ユニットテスト改善ガイド | DevelopersIO