Java

今日の学び10月16日(Java編)

Mavenは超便利!! Maven概要 開発環境管理ツール:既存プロジェクトをimportする場合にpom.xmlからmavenを更新することで、プロジェクトで利用中のライブラリ・プラグイン・フレームワークを一括で取得する。 ビルドツール:クラスファイルの作成、jarファ…

10月14日の学び

デザインパターンの本を読んでいて初めて知ったけど、継承においてスーパクラスとインタフェースはどちらも子クラス/実装クラスを代入可能という点では共通なのね。 スーパークラス→抽象クラス→インタフェースの順に抽象化・パーツ化が上がっていく。 スーパ…

10月13日の学び

今日は発表で疲れたので最低限だけ。。。 Javaのエラーの分類 ランタイムエラー:プログラム実行中のエラー コンパイルエラー:コンパイル実行時のエラー DBの復習 データベース:テーブルの集合 テーブル:データ要素(値)の集合を垂直な列と水平の行のモ…

10月12日の学び

jarファイル ・Java Archiveの略 ・関連する複数のJavaファイルを1つにまとめてパッケージ/ライブラリ化したもの ・実体はJava 仕様に準拠して定義されたzip圧縮ファイル ・jarファイル単体でも実行が可能 warファイル ・Web ARchiveの略 ・Tomcatなどのア…

10月11日の学び

JREとJDK JREとJDK:JREにはAPIとJVMが内包されている。JDKにはAPIとJVMに加えコンパイラが内包されている。 2種類のJDK JDK:Java開発者向けのバイナリ形式。オラクルによりリリースされるJava SE、Java EEやJava MEの各プラットフォーム全ての実装。JREも…

10月10日の学び

Javaは何が仕様で何が仕様に対応した実装なのかを区別する必要がある。今日は仕様関連を整理した。 以下は全て仕様 Jave SE:Java Platform, Standard Editionの略称。Java SEはJava APIの仕様の集まり。Java 8とかJava 10というものは存在せずJava SE 8だっ…

10月9日の学び

型安全 ・下の説明は凄い。BOF攻撃と型安全の間には関係があったのか。。。 ・プログラミング言語において「文法的な正しさ」と「意味的な正しさ」が一致するとは限らない。 ・「文法的に正しいが実装のない実装(=動作未定義)」が存在し、往々にしてセキ…

10月8日の学び

・JavaではHashMapの初期化がめんどくさい。コンスタラクタ内で初期化ができない。 ・HTML5は要するに規格。実装は各ブラウザに依存。 SpringBoot ・@RestControllerでは View に遷移せず、メソッドの戻り値がそのままレスポンスのコンテンツ。JSON や XML …

10月6日の学び

Java ・当たり前だけどヌルポが発生するのは代入ではなく参照時。 ・ではどうやって確認するのか?代入時がそもそもの原因なので原則的に値の代入時にNullチェックをやるべき。 ・ただし渡されたオブジェクトを参照するだけ、などの場合はチェックする必要が…

10月5日の学び

・intは基本テータ型(プリミティブ型)だが、ラッパークラスのIntegerは参照型。 ・後者はオブジェクトなのでnew()を用いて生成する。 ・オブジェクト型には様々なメソッドが存在するが基本データ型にはない。 ・メソッドの引数に参照型しか受け付けない場…

10月4日の学び

・Javaにおいてはコンストラクタが例外を発生させるのはあり。これがC++においては望ましくない。前者はガーベジコレクションの機能があるが、後者には存在しないのが理由。 ・Javaは良くも悪くも設計書通りに実装できる言語。ウォータフォール向きだと感じ…

10月3日の学び

一日一回簡単でも勉強したことを覚えたことを書いていくことにする。焦らずに一歩ずつ進もう!しばらくJavaメインになりそう。 ・コンストラクタの返り値の型は省略できる。クラスを返すのが自明だから。 ・staticフィールドは個別のインスタンスではなくク…