Java

MySQLのデータ型TIMESTAMPでハマる

調子に乗って、MySQLのテーブルのカラムにtimestamp型を指定したら、Java側でSQLExceptionの例外が発生したんですよ、な~に~!?やっちまったな! 男は黙って、ALTER TABLE、というわけで、カラムの変更しちゃいますか。 ・Timestampに0000-00-00があると…

Java Servlet リスナー

『日暮らし 上・中・下(著:宮部みゆき)』読了しました。前作の『ぼんくら』を読んだのがだいぶ前になるので、前の登場人物の記憶がおぼろげですが、そんなに気にならず読めます。葵さんの扱いがちょっとひどいような気もしますが。 そんなこんなで、Java…

Java Eclipseで動的 Webプロジェクト ユーザー検索 JSTLも導入してます

データベースに登録されたユーザーを、idをもとに検索するような機能の演習です。 全体像のイメージ 作っていく順番 紛らわしいですが、上の図とここでの番号は関係ないです。 全部一度にはできないので、 Viewクラス(jspファイル)を作る Controllerクラス…

Java Eclipseで動的 WebプロジェクトでMySQL接続

MySQL 5.7.19が早くもリリースされていたようですが、わたしが使っているのは5.7.18のようです。 EclipseのDBViewerでデータベースの作成 まずは、Eclipseで「DBViewer」のパースペクティブを開きます。 「ウィンドウ(W)」「パースペクティブ(R)」>「パ…

Java MVCモデル

『山河果てるとも 天正伊賀悲雲録(著:伊藤潤)』読了しました。タイトルに「悲」って言葉が入っていますので、ご想像の通りなんともやりきれない話ではありますが、ラストは多少救いがあるのかな?という感じです。 物語的には面白かったです。 そんなこん…

Java for文の練習 棒グラフを描画

色分けが上手くいかずですが、棒グラフ作ってみました。 前回までの、「動的 Webプロジェクト」を使っていきます。 Eclipseで、「パッケージ・エクスプローラー」 のプロジェクトの中の「WebContent」フォルダを選択した状態で、右クリックし、「新規(N)」…

Java for文の練習 色見本表

『デスペレーション 上・下(著:スティーブン・キング)』読み終わったけど、微妙な感じ、映画化もされてるそうな。『いのちなりけり(著:葉室麟)』もちょっと微妙、好きな作家さんの作品だけにちょいとショック。 そんなこんなで、Javaのjspでfor文の練…

Java for文の練習 10進数と16進数の対応表

jspを使って、html表示していきますよ~。 10進数と16進数の対応表 まずは、10進数と16進数の対応表にチャレンジ。 一緒にJavaの講座を受けている同期の方に、分かりやすい表をいただきました。 Eclipseで、「パッケージ・エクスプローラー」上で右クリック…

Java Eclipseで動的 Webプロジェクト

前に、EclipseにEclipse Tomcat Pluginをインストールしたり、Tomcatのバージョン9をインストールしたりしてましたが、そんなことしなくてもEclipseを最初にインストールするときにTomcatも入れてる場合は、普通にWebプロジェクト動くようです。(Eclipse To…

Java インターフェイスってnewできないんじゃ...、それ匿名クラスらしい

自分も思いっきり惑わされたのですが、結論から言うと、インターフェイスを継承した匿名クラスをnew(インスタンス化する)していたということみたいです。 ・インターフェースをnewする違和感が解決した - Qiita 通常の場合、インターフェイスは、インター…

Java 外部ライブラリApache-Commonsを利用してみる

Java SEなどの標準的なクラスライブラリ以外で何か使いたい場合は、外部ライブラリを使う必要があるようですが、有名なものがApache-Commonsというものらしいです。 Javaでは、外部ライブラリを管理するために、Maven というツールがよく利用されるようです…

Java ListでIndexOutOfBoundsExceptionって起きてるけど

List型の変数に、ArrayListのインスタンスを代入してたわけですが、 List<integer> select = new ArrayList<integer>(); // 途中省略 select.set(0, 0); select.set(1, 1); select.set(2, 2); とか、やって見事に怒られるわけですが、結論は、ArrayListのインスタンスに要素が1</integer></integer>…

Java FindBugsを使ってみる

FindBugsってなんぞや~? 静的テスト(静的コード解析)を実施するためのツールのようです。 静的コード解析 静的コード解析 (static code analysis) または静的プログラム解析 (static program analysis)とは、コンピュータのソフトウェアの解析手法の一種…

Java DBUnitを使ってみる

DBUnitってなんぞや~?JUnitでデータベースを扱うテストクラスを作成する際に利用されるライブラリのようです。 JavaプロジェクトからMavenプロジェクトに 初めから、Mavenプロジェクトで作成すれば良いのですが、Javaプロジェクトで始めてしまっているプロ…

Java JMockitを使ってみる

JMockitとはなんぞや~? お馴染みのパターンですが...パターン化が大事って先生も仰っていました! JMockitとは、JUnit中でモックオブジェクトを簡単に作成し、利用できるライブラリです。 JMockitを使ってみました – ナッツウェル 技術研究室 いまのところ…

Java JUnitを使ってみる

JUnitってなんぞや~? ワンパターンな入りですみません...。 JUnitとはJavaで開発されたプログラムにおいてユニットテスト(単体テスト)の自動化を行うためのフレームワークである。 JUnit - Wikipedia Eclipseには、標準でJUnitが導入されているようです…

Java JPA(Java Persistance API)

JPA(Java Persistance API)ってなんぞや~? JPAとはJavaの世界とリレーショナル・データベース(RDB)の世界を直接的に結ぶための仕組みです。「JavaのオブジェクトとRDB(レコード、テーブル)との間で自動変換を行う仕組み」がJPAだと理解していただけ…

Java JDBC(Java DataBase Connectivity)の構成など

Javaからデータベースへ接続するには、JDBC(Java DataBase Conectivity)というAPIクラス(Java SEに元々入っているクラスライブラリ)と、別途でJDBCドライバをインストールする必要がありました。 使用するデータベースがMySQLの場合だと、C:¥Program Fil…

JavaからMySQLに接続

MySQLのJDBCドライバで、JavaからMySQLに接続していきたいと思います。 Javaプロジェクトを作成 Eclipseで、「ファイル」>「新規(N)」>「Javaプロジェクト」 「プロジェクト名」を入力し、「次へ(N)」をクリック。 デフォルトの状態で「完了(F)」をク…

Java コレクション

これが、ワイのコレクションや~!どうも、まったく意味不明な発言を心より謝罪申し上げます。ということで、今回は、Javaのコレクションクラスについてです。 コレクションクラス 配列のように、複数の要素を格納できます。配列のように初めに要素数を決め…

Java 例外処理など

今回は、例外処理を習いました。 例外処理(れいがいしょり)とは、プログラムの上位の処理から呼び出されている下位の処理で継続不能、または継続すれば支障をきたす異常事態に陥ったとき、制御を呼び出し元の上位の処理に返し安全な状態になるよう回復処理…

Java DAO(Data Access Object)と DTO(Data Transfer Object)

前回、PosgreSQLのデータベース接続にJDBCドライバを使ってますが、引き続きJDBCドライバを利用していきます。JDBC(Java DataBase Connectivity)と呼ばれるクラス群も使っていく感じですかね。 DAO(Data Access Object) データベースの接続、切断、SQLの…

Java PostgreSQLに接続してみる

前に、WindowsにPostgres SQLをインストールしていたので、Javaで接続の練習をしたいと思います。 コマンドプロンプトから、PostgreSQLにログインできたということは、パソコンにインストールされてたということでしょう。 ⇩ PosgreSQLのインストールなどは…

Java 基本的なAPIクラスの使い方

Javaでは、あらかじめ便利なAPIクラスが使えるようになっています。基本的には、import宣言で読み込む形でAPIの利用ができます。 ⇩ APIクラスの情報は下記サイトで調べられます(バージョン8の例) ・Java Platform SE 8 Dateクラス 継承関係 java.lang.Obje…

FizzBuzzという存在を初めて知る

Paizaのアルゴリズムの問題が、2017年7月10日まで無料で受けられるということでトライしてみたところ、FizzBuzzという存在を初めて知りました。 Fizz Buzz(フィズ・バズ、Bizz BuzzやBuzzとも呼ばれる)は英語圏で長距離ドライブ中や飲み会の時に行われる言…

Java ポリモフィズム(多態性とか多様性とも呼ばれるらしい)

ポリモフィズムを実現するには、抽象クラスかインターフェイスを使うのが一般的なようです。オーバライドも必要みたいです。 ポリモフィズムとは? そもそも、ポリモフィズムって何なの?って話ですが、 「ポリモーフィズム」とは、「抽象クラス」や「インタ…

Java 抽象クラスとインターフェイス

いよいよ、抽象クラスとインターフェイスに突入、ポリモフィズム(多態性)に関わってくるところなのでしっかり理解したいところです。 抽象クラスの役割 継承のために親クラスを作ろうとすると、ある問題にぶち当たります。 問題その1. メソッドの内容 親ク…

Java for文の練習

Javaのfor文の課題を行いました。本当は、抽象クラスとインターフェイスについて学習したのですが、まとめる時間がなかったです。 package traiangle; public class Main { public static void main(String[] args) { // int outer_max = 5; int inner_max =…

Java 継承

Javaでの継承は、基本的には多重継承は禁止されているようです。 ・java - 何故Javaでは多重継承は許されていないのか - スタック・オーバーフロー Javaの継承 正しい継承 間違った継承 複数の親クラスを持つことは禁止されています。複数の親クラスを継承し…

Java カプセル化 ウルトラセブンのカプセル怪獣とは関係ない

Javaの三大機能として カプセル化 継承 ポリモフィズム(多態性) が有名ですが、今回はカプセル化の話でございます。 カプセル化とは? クラスは、 属性(フィールド) 操作(メソッド) といった感じで、大まかに属性と操作という2つのものを持つわけです…

Javaのプリミティブ型と参照型、値渡しと参照渡しなど

なんでプリミティブ型と参照型にデータ型が分かれているかずっと疑問だったけど、講師の方の説明を聞いて納得。 プリミティブ型と参照型 Javaのデータ型は、大きく分けて2種類に分けられるようです。 プリミティブ型 データ型 消費メモリ double型 64bit flo…

Javaでキーボードからの入力値を配列に代入からの、並び替えなど

Javaで配列操作をいろいろ学習しました。 package arrays; import java.util.Scanner; public class PrintArray3 { public static void main(String[] args) { // System.out.print("要素数: "); // 配列の要素数 int num = new Scanner(System.in).nextInt(…

Javaで数値の桁数を求める(Javaの除算の丸め込みでハマる)

講師の方に自分で調べて分からないことをいろいろ聞いたら怒られ、若干モチベーションが下がっている今日この頃です。 数値を文字列に変換して、その長さを求める方法は知ってましたが、基数(10進法なので10)で除算していく方法も有名とのこと。 文字列変…

Javaでバブルソート

講師の方の見本でソースコードの結果と図解の説明が一致してるように思えず混乱中。 バブルソート(ソースコード) package trainig04; import java.util.ArrayList; import java.util.List; /* * バブルソート(基本選択法)のサンプル */ public class Bubbl…

Eclipse NEONにてJavaでWeb開発用プロジェクト(Hello World!)

前回、Tomcat 9 を導入したので、Webプロジェクトを試していきたいと思います。 ただ、Eclipse経由のTomcatを起動するとNot Foundになるという...。 ブラウザでhttp://localhost:8080 にアクセスの結果。 ⇩ 下記サイトによると問題ないらしいと仰ってました…

Eclipse NEONにてJavaでTomcatサーバの構築でハマる

Eclipse NEONから、Eclipse Tomcat Pluginが含まれなくなったらしいです。 なんでも、EclipseでTomcatサーバを使うためには、Eclipse Tomcat Pluginが必要らしいです。 Eclipseのtomcatフォルダには8まであるから普通に使えると思ったんですが、むっちゃ紛ら…

JavaのScannerクラスとSystem.inのコラボでハマる

Scannerクラスで入力されたストリーム(ここではSystem.in)をEclipse(Version: Neon.3 Release (4.6.3))で使おうとすると警告が出てしまいます。 『リソース・リーク : 'scan' が閉じられることはありません』 という警告が...。 警告を出ないようにするに…

jEnvでJavaのバージョン管理ができるらしい、Windowsでも?

前の会社の先輩はいろいろ教えてくれたけど、いま通っている無料のプログラミングスクールの先生はいろいろ教えてくれない...なかなか世知辛い世の中ですね。 jEnvって? Javaで開発するときに必要になるJDKのバージョン管理をしてくれるみたいです。 jenv i…

JavaのScannerクラスでハマる

ハマりました。ScannerクラスのnextLine() がキーボードの入力値を一行分取得してくるという説明がネットでは多かったんですが、複数行入力の場合、一行目は入力値の総数になるみたいです。(と思ったらPaizaラーニングの問題だけですかね) import java.uti…

Spring FrameworkのDI(Dependency Injection)

Spring Frameworkの理解が進まない今日この頃ですが、今回はSpring FrameworkのなかのDI(Dependency Injection)についてです。 その前に、前回、『MySampleWebApp』というプロジェクトをSTSで作成しました。 今回、javaファイルをまだ作成していないのでja…

Spring Frameworkの構造

8月になってしまいました、熱中症には気を付けましょう。 Spring Frameworkについてすこしづつメモしていきたいと思います。 Spring Frameworkはwikipediaの説明によると、 Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーション…

Javaのフレームワーク Spring Framework

「五月雨の降り残してや光堂(ひかりだう)【出典奥の細道 平泉・芭蕉(ばせう)】」 五月雨や~、5月病の季節も終わりを告げ、6月病のスタートですかね。 本日は、Javaのフレームワーク Spring Frameworkについてです。 Spring Frameworkとは? Spring Frame…

Java言語セミナーを受講して 8章(最終章)

Java言語セミナーを受講してシリーズが続いていましたが、今回で一応、完結です。 抽象クラス Java言語では処理内容を記述しないメソッドや、それを持つクラスを定義することができ、この処理内容を記述しないメソッドのことを抽象メソッド(abstractメソッ…

Java言語セミナーを受講して 7章

今回も、Java言語セミナーを受講しての続きになります。 staticとは static とは 修飾子 の一つであり Java の キーワード の一つです。 staticフィールド(変数)= クラスフィールド staticメソッド = クラスメソッド static内部クラス(ネスト) static イ…

Java言語セミナーを受講して 6章

今回もJava言語セミナーを受講しての続きになるのですが、その前にORACLEによる発表でJavaの脆弱性について言っていて、「『6u113』『7u97』『8u73』より前のバージョンのJava SEをダウンロードしたユーザーはこれらを破棄して、代わりに6u113、7u97、8u73以…

Java言語セミナーを受講して 5章

Java言語セミナーを受講しての続きになります。 今回は、いよいよオブジェクト指向の話になります。 オブジェクト指向 オブジェクト指向を使うとどうなるかというと、 再利用可能な設計ができます。 機能変更に強い設計ができます。 あるプログラムの変更が…

Java言語セミナーを受講して 4章

今回もJava言語セミナーを受講した時のことをメモしていきたいと思います。 繰り返し文 Javaでは繰り返し文として、 while文 do while文 for文 拡張for文 があるようです。繰り返し処理のことをループと一般的には呼ぶようです。 while文 while文は条件式がt…

Java言語セミナーを受講して 3章

ひき続き、Java言語セミナーを受講してのメモをしていきます。 演算子の優先度と結合規則 演算子とは 各種の演算をあらわす記号・符牒のことである。 演算が作用する対象のことを被演算子(operand; オペランド、被演算数、引数)という。たとえば、n と 3 …

Java言語セミナーを受講して 2章

調布で行われていた、有限会社ナレッジデザインの山本道子さんのJava言語セミナーに行ってきた話の続きです。 Javaにはデータ型が2種類ある Javaにはデータ型が2種類あります。 基本データ型(プリミティブ型) 参照型 基本データ型 (プリミティブ型) デー…

Java言語セミナーを受講して 1章

いざ、調布 Javaは独学で少し勉強してましたが、しっかり理解できていなかったので、今回、有限会社ナレッジデザインの山本道子さんが調布で行っていたJava言語セミナーに行ってきました。 主催 アドバンスドソフトウェア株式会社 感想としては、非常に分か…