さわぴかのなんでもノート!

学びのアウトプット!なにについて書くかはわかりません!なんでもノートです!

【今日学んだこと】未経験からエンジニアで転職「9週間目その1」

月曜日

今日やったこと

  • skype朝礼、終礼with MさんEさん
  • ランチ
  • 同世代祭りシステムのを進める
  • Kさんからのを調べる、読む
  • 経費精算周り
  • 問い合わせフォームの送信がミスった時のエラー

できなかったこと

明日やること

今週やること

  • ページネーション作る、20件ずつとか
  • 問い合わせフォームの送信がミスった時のエラー
  • 基本設計書をかく
  • 詳細設計書をかく
  • salseforceについて調べてみる
  • Trailhead触ってみる

めも

Kさんからのフィードバック


No.1 :DAODTO`、Lombok

DAO→Data Access Object データベースの接続情報を持ち、データベースにアクセスしてデータの取得や操作を行います。

DTO→Data Transfer Object データベースの値を格納、一般的にゲッターセッターを使用して値を操作、エンティティとも呼ばれる

Java DaoとDtoでDBを検索するサンプル | ITSakura

違いについても解説!JavaのDAOクラスとDTOクラスとは | TechAcademyマガジン

f:id:pikahika:20200330104719p:plain
https://itsakura.com/java-dto-dao より

f:id:pikahika:20200330104841p:plain
https://itsakura.com/java-dto-dao より

保守が簡単だから?

LombokEclipseの自動生成機能の代わりにアノテーションを使うことで冗長なコードを簡潔にする

【Java】Lombokで冗長コードを削減しよう | キャスレーコンサルティング株式会社


No.2:コードフォーマッター

Eclipseのフォーマッター設定 - Qiita

「不要なimportや改行が残っている状態は、納品物として好ましくはない」


No.3 :MyBatisで使用するリソースを配置する場所

resources XML単独でみた場合はHTMLと同様、「静的リソース」

絶対分かるMyBatis!MyBatisで覚えるべきチェックルール25(前半) - Qiita


f:id:pikahika:20200330110110p:plain
MySQLのバージョン

resources/db/migration

にusers以外はあるけど、外部キーとかがつけれてない (usersが途中でおかしくなって一旦消してます)

create table users (
    id integer primary key not null AUTO_INCREMENT,
    email varchar(255) not null,
    password varchar(100) not null,
    updated_at timestamp not null default current_timestamp,
    created_at timestamp not null default current_timestamp
);

時間あれば当てはめてみること

  • DAODTO`意識してみる
  • Lombokを入れてみる
  • 不要なimportや改行を整える
  • MyBatisで使用するリソースを配置する場所

同世代祭りシステムのを進める

今週はこの二つメインでやる

  • ページネーション作る、20件ずつとか
  • 問い合わせフォームの送信がミスった時のエラー

時間余ったら

  • 基本設計書をかく
  • 詳細設計書をかく

【問い合わせフォームの送信がミスった時のエラー】

バリデーションはないけど元に戻るようにはなったけど

https://stackoverflow.com/questions/46169664/thif-fields-haserrors-causes-exception-evaluating-springel-expression

Spring MVCでPost-Redirect-Getパターンを実装する - Qiita

あーエラー後のページがバグるうう

とりあえず飛んだ後も元のページに戻ってくるのはできた


ふあー、移動してからみたら秒でできたのだが

ほんとこういうの多いw

気分転換大事、見えなくなる

と思ったけど、。え、あれ違う?

f:id:pikahika:20200327181502p:plain
できたと思ったのに

戻って詳細入ろうとしたら

An error happened during template parsing (template: "class path resource [templates/show.html]") org.thymeleaf.exceptions.TemplateInputException: An error happened during template parsing (template: "class path resource [templates/show.html]")

Caused by: org.attoparser.ParseException: Exception evaluating SpringEL expression: "#fields.hasErrors('fullname')" (template: "show" - line 86, col 10)

またこれ出たんだけどーーー

悲しいどうして

"#fields.hasErrors('fullname')"

一旦けして、一覧を表示させて、そのあとに付け直したら、バリデーションかかる

ってことは入る時に何かが足りない?

ビンゴ!!

がしかし詳細に入ってまだ何も記入してないのにバリデーションの赤いエラーが出ている。。。

ifが効いてない

"${#fields.hasErrors('fullname')}" がtrueだ

片方だけ入れてsubmitしたらfalse

f:id:pikahika:20200327182646p:plain

初めは入ってなくていいんだが、、、

そこと、あと入力ミスった時に入力してたのを残すやつ。 なんでか消える th:value="*{fullname}"は書いてるけど、何か足りないんだろうな


わからん、なんでだ

*{}を中につけても変わらない

あれ、application.java

の@NotBlank(message="お名前を記入しsてください。) の、メッセージ変えたのに、反映されてないここから取っていない、、、?

わ、みてるファイル違った

明日最初っから見直そ


  • ページネーション作る、20件ずつとか