Thymeleaf: 値を表示する

構文

変数式

# pタグを用いる場合
<p th:text="${変数名}"></p>

# th:  このタグでthymeleafを使うよーっている印
# ${変数名} controllerでattributeされた変数の値を表示する

メッセージ式

resourcestフォルダ配下にmessages.propertiesを作成し、定義したメッセージを表示する

フォルダ構成

src
|-main
   |-java
   |
   |
   |
   Lresources
      |- messages.properties  <- ここに作る

# 関係あるフォルダしか記述してません、実際にはpom.xmlとかもあります

content.title=This is title
content.message=This is message
# pタグを用いる場合
<p th:text="#{content.title}"></p>
<p th:text="#{content.message}"></p>

Optionalについて

目的

JavaのOptiolanについて学んだのでメモ

Optional

用途

nullチェックを簡単に行いたい.

if文を用いてnullチェックを行う場合

String hoge = getHoge(); //このときnullが返ってきたときhogeはnullかもしれない

if(hoge != null) { //ここでnullチェック
  System.out.println(hoge.length());  //hogeがnullじゃないのでlength()が安全に実行できる(null.length()ってならない)
}

Optionalを使用する場合

Optinal<String> hogeOpt = Optional.ofNullable(getHoge()); // hogeをOptinalクラスでラップする
// .ifPresent() : Optionalクラスの中がnullじゃないか確認
// nullならfalse
// 存在するならtrueを返す
hogeOpt.ifPresent(hoge -> System.out.println(hoge.length())); //値が存在するときに実行

まとめ

  • Optional型にすることでコードを見たときにnullが返ってくる可能性を明示することができる
  • if文などのnull判定ではブロックのネストが深くなることがあるがそれを避けることが可能

引用・参考文献

qiita.com

IntelliJでdebug時引数を渡して実行するとき

目的

引数を渡してプログラムを実行したい

方法

  1. IntelliJのメニューバー(ウィンドウの一番上に表示されるとこ)の"Run"を選択
  2. "Run"メニューより,"Edit Configurations..."を選択
  3. 出てきたタブの中にある"Program arguments"に実行時に渡したい引数を入力しておく

USB テザリング

目的

格安キャリアのスマホでUSBテザリングがしたい

手順

  1. 設定
  2. 無線とネットワーク
  3. モバイルネットワーク
  4. アクセスポイント名(APN)
  5. 自分の契約してるキャリア(右の!マークを押す)
  6. APNタイプを選択 以下のように入力
  default,supl,ia,dun

SQLとは

SQLとは

RDB(リレーショナルデータベース)に対して、データの取得や更新などを行う ことができる言語.
SQLはデータベース言語としてISO(国際標準化機構)で規格が標準化されている. 世界的にデータベースを扱う言語の標準の言語になっている. 非手続き型言語
そのためSQLの1文でデータ処理を行うことが可能
ほかのプログラミング言語内にSQLを記述し事項することができる.

SQLの分類

SQLの操作は以下の3つに分類される

  • データ操作(DML: Data Manipulation Language)
    表に対して、データの操作(検索、更新、挿入、削除)
  • データ定義(DDL: Data Definition Language)
    表などのオブジェクトの作成、変更、削除にしようする。
  • データ制御(DCL: Data Control Language)
    トランザクション制御、アクセス権の制御

データモデルとは

データモデル

データベースを作成する際に,データ(情報)の格納のしかた

階層型データモデル

データ間を親子関係で表現する.
1つの上位データである親に対して子は複数存在するが,各子データは 1つの親データしか持つことができない.

メリット

アクセスルートが固定されているため、定型処理(決まった仕事) は処理効率がよい

デメリット

アクセスルートが固定できない処理(非定型処理)では、データアクセスが 複雑になってしまう

ネットワーク型データモデル

階層型データモデルの親子関係に加え,各子データが複数の親データを所持することができるデータモデル

メリット

データが相互に関連性をもっているため,階層型に比べ多様なデータアクセスが可能.

デメリット

構造が複雑になるため、データ構造を理解した上でプログラムを作成する必要がある.

リレーショナル型データモデル

2次元の表の形でデータを管理し、各表が所持するあるデータを互いに所持することで表を関連付けるデータモデル

メリット

構造がわかりやすい
扱いやすい

デメリット

プログラムが複雑化しやすいため,処理速度が遅くなる