タグ

Javaに関するincesticideのブックマーク (12)

  • 1.0から学ぶJava

    タイトルを見て釣られクマーな皆さんこんにちは。 ホッテントリメーカーで作るような煽りタイトルって、みなさんもう見飽きてると思うんですよね。 今調べたらホッテントリメーカー2008年だそうで。どうりでねー。古臭いなーと思いましたよー。 「一から学ぶJava」ってのをね、1.0にするだけでこんなに素敵なタイトルになるんだから面白いですねー。 タイトルを思いついただけだったんですけど、思いついたらやっぱりちゃんと中身も書かないと行けないじゃないですか。やだー 面倒くさいんですけどね。ちょっと1.0から学んでみましょうか。 Java 1.0 1996年1月23日Javaの1.0がリリースされたのは1996年1月23日ですね。発表されたのが1995年5月23日でJavaの誕生日といった場合にどちらを取るかで揉めることがあります。 かれこれ20年前なわけで、当時のパソコンというとハードウェアはCPU

    1.0から学ぶJava
  • Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか

    SonicGarden Study #11で放送された資料から一部スライドを抜いたものになります。 http://sonicgarden.doorkeeper.jp/events/13229 ----- 優れたプログラマだけが優れたソースコードを書くことができます。 では優れたプログラマになるにはどうすれば良いでしょうか。 自分の書いたコードを、優れたプログラマに指摘してもらうことが一番の近道です。それがコードレビューです。たった一人でコードレビューも受けずに、ただ書き続けてもクソコードはクソコードのままなのです。 そこで今回は、良いコードが書けるプログラマになるための、コードレビューを上手に実践する秘訣を話します。

    Javaの進化にともなう運用性の向上はシステム設計にどういう変化をもたらすのか
  • Flyway使い方メモ - Qiita

    Java Magazine の第 17 号でも紹介されている噂?の Flyway を使ってみる。 Flyway とは Flyway は、オープンソースのデータベースマイグレーションツール。 Flyway を使うことで、データベースの状態をバージョン管理できるようになる。 Flyway (マイグレーションツール)を使う理由 データベースを使った開発をしていると、以下のような問題が往々にして発生する。 よくある問題 あるデータベースの、現在の状態が分からない。 あるパッチ用 SQL が、データベースに既に適用されているか分からない。 番環境で緊急対応が必要になり適用したパッチが、テスト環境にも反映されているか分からない。 新しいデータベース環境を作成するときに、どの SQL を、どの順番で実行すればいいか分からない。 そんなときに、 Flyway のようなデータベースをバージョン管理するツー

    Flyway使い方メモ - Qiita
  • Spring Boot 使い方メモ - Qiita

    Spring Boot とは Spring プロジェクトが提供する様々なライブラリやフレームワークを、手っ取り早く使えるようにしたフレームワーク。 Dropwizard の Spring 版みたいなの。 ビルドすると単独の jar ファイルができあがる。 Web アプリの場合は、組み込みの Tomcat が起動する(Jetty や Undertow に切り替え可)。 Web アプリでなく、普通の Java プログラムとしても動かせる。 Maven や Gradle などのビルドツールを利用する(Ant でもできなくはない)。 使用したいコンポーネントを依存関係に追加するだけで、結合に必要な設定などが自動で行われる。 環境 Java 1.8.0_45 Gradle 2.3 Spring Boot 1.2.3 Hello World 実装 buildscript { repositories

    Spring Boot 使い方メモ - Qiita
  • nullチェックの煩雑さを解決、Java SE 8で導入されたjava.util.Optionalクラス

    変数に値が代入されているかどうかを調べるためのイディオムとしてnullチェックがあります。 nullチェックがよく使用されるのが、メソッドの返り値や引数です。例えば、条件に合致した要素を探すsearchメソッドを考えてみましょう。ここでは、searchメソッドの返り値の型がResultクラスだとします(リスト1)。 リスト1●nullチェックの例 Result result = search(t -> t.startsWith("a")); if (result == null) { // 結果がなかった場合の処理 } else { // 結果に応じた通常の処理 } もし、条件に合致する要素がなければsearchメソッドはnullを返します。しかし、nullをそのまま扱ってしまうと、NullPointerException例外が発生してしまいます。 そこで、それを防ぐためにif文で変数の値

  • Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note

    テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。 新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。 そこで今回は、"read-lines"の変遷についてまとめてみました。 最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。 目次 基 BufferedReader (Java1.1~) Scannerと拡張for文 (Java5~) java.nio.file.Filesとtry-with-resources(J

    Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note
  • WEBアプリケーション開発フレームワーク

    アプリケーションの開発は、フレームワークを利用することで効率化することができます。 フレームワークとはアプリケーションの土台となるソフトウェアです。 フレームワークはアプリケーションの枠組みを定義し、その枠組みにあわせたクラス・インタフェース群を提供します。 アプリケーションの開発者はフレームワークが提供するクラス・インタフェースを実装することでアプリケーションを実現します。 このように枠組みを定義し、アプリケーションごとに共通の部分をフレームワークが提供することにより、 開発者が記述すべきコード量を減らすことができるなどのメリットがあります。 世の中には多くのフレームワークがあり、 開発したいアプリケーションの構造に応じてフレームワークを選択することが重要です。 今回は、有名なWEBアプリケーション開発フレームワークの1つであるStruts2について説明します。 Struts2の概要 S

  • Strutsとデータベースの連携を学ぶ

    前回「Strutsフレームワークの「枠組み」を学ぶ」では、ユーザが入力した名前に対して「Hello,~」メッセージで応答する、最も基的なStrutsアプリケーションを構築しました。この「Hello,~」サンプルを通じて、アクションクラス、アクションフォームBeans、コンフィグレーションファイル、「.jsp」ファイルから構成されるStrutsアプリケーションの全体像がお分かりいただけたことと思います。 前回もご説明したように、Strutsアプリケーションを理解するに際しては、まずアプリケーションを構成する要素同士の関係、枠組み(フレームワーク)を把握することが重要です。フレームワークさえ理解してしまえば、あとはこのフレームワークに対して、必要なロジック(プログラム)を組み込んでいくだけなのです。そうした意味では、あらかじめ提供されたサンプルを、実際に自分の環境で動かしてみるだけでも良い勉

    Strutsとデータベースの連携を学ぶ
  • @いう間にWebアプリを作れる「Struts 2」入門 (1/3) - @IT

    【特集】Strutsは“2”を使えば、サルでも幸せに ヤスダネットワーク 関川 晶子 2009/1/8 Strutsに“2”が存在することを知ってましたか? Strutsフレームワークの登場により、JavaによるWebアプリケーション開発は飛躍的に成長しました。いまでは、さまざまなフレームワークが存在しています。日発のフレームワークSeaserやサン・マイクロシステムズのJSFなどが有名です。 その中に、「Struts 2」というフレームワークが存在することをご存じの方は多いでしょう。ところが、日語の情報源がとても少ないのが現実です。その結果、なかなか日でブレイクするキッカケをつかめずにいます。 いまでも、多くの現場で使われているStrutsは、2001年に登場しました。来Strutsが目指したものは、メンテナンス性に優れた、チーム開発に適した土台を提供することにありました。その結

  • Struts 2入門(6)~XML不要のZero Configuration~(1/4):CodeZine

    連載では、オープンソースのサーバサイドJava向けWebアプリケーション・フレームワーク「Struts 2」を、実際に動作するアプリケーションと共に解説していきます。第6回目の稿は、先頃リリースされたバージョン2.1.6についてと、Zero Configuration(ゼロ・コンフィギュレーション)と呼ばれる、XML設定ファイルを用いないでアプリケーションを構築する方法について説明することにします。 はじめに 「Apache Struts」(以下、Struts)とは、サーバサイドJava開発のデファクトスタンダードとしてあまりにも有名な、オープンソースのWebアプリケーション・フレームワークです。連載では、そのStrutsの次世代バージョンであるStruts 2を、実際に動作するアプリケーションと共に解説していきます。 第6回目の稿は、先頃リリースされたバージョン2.1.6について

    Struts 2入門(6)~XML不要のZero Configuration~(1/4):CodeZine
  • Java技術者面接質問まとめ(2) - 桂乃屋

    「等値」と「等価」の違いを説明してください。 等値とは、変数が指すメモリ域の Bit 配列が等しいこと。等価とは、インスタンスが持つ情報が意味的に等しいこと。 Java 言語を例に挙げると、 Integer a = new Integer(0); Integer b = new Integer(0); assert a != b; // 異なるインスタンスへの参照であるため、等値ではない assert a.equals(b); // インスタンスが持つ情報は両方とも整数の 0 なので、等価 「値渡し」と「参照渡し」の違いは何ですか?オブジェクト指向システムや手続き型システムにおいて、これらにはどのような違いが存在するのかを説明してください。 それらは、何らかのデータを異なる処理領域に渡すときの方式を表す。例えば、関数に対して、関数の外から引数でデータを渡すとき。 値渡しは、データそのものを

    Java技術者面接質問まとめ(2) - 桂乃屋
  • 【間違い】Javaのパッケージ名に必ずドメイン名を含めなければいけないというのは現時点では古いらしい。 - 水まんじゅう2

    コメントにある通り、章立てが変わっただけらしいですね(・ω<) きちんと全部読みましょうというお話でした。 - Java SE 6 の言語使用では含めましょうとありました。 http://docs.oracle.com/javase/specs/jls/se6/html/packages.html#7.7 ただ、この7.7についてはJava SE 7、Java SE 8では削られているらしい。 http://docs.oracle.com/javase/specs/jls/se7/html/jls-7.html http://docs.oracle.com/javase/specs/jls/se8/html/jls-7.html 常に含めましょうといってるのは老害ですね。はい。

    【間違い】Javaのパッケージ名に必ずドメイン名を含めなければいけないというのは現時点では古いらしい。 - 水まんじゅう2
  • 1