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

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

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

水曜日!

今日やったこと

  • skype朝礼、終礼with Mさん、Eさん
  • 同世代祭りシステムのを進める、バグ潰し
  • Spring入門の本

できなかったこと

あと 12/20

↓ 追加で増えたりして (見た目系は省いたりして)

あと 6/10

明日やること

  • skype朝礼、終礼with MさんEさん
  • 同世代祭りシステムのを進める

細かいところ修正したり

管理画面の機能

  • loginしたユーザーのidをとってnewの時に入れ込む
  • 新規登録のから入力時のエラーメッセージをだす
  • 新規登録でメールアドレスの重複を防ぐ

ユーザー画面の機能

  • 問い合わせフォームの、job_id入らない問題
  • 問い合わせフォーム、空でも送信できちゃう
  • jobs/2とかにした時のエラー画面を作りたい(is_enabled=1以外の時の処理)

管理画面の見た目 * (indexの案件詳細とかの表示する文字数を制限したい)CSS書く * アプリ画面での見え方、全体的に綺麗にする

ユーザー画面の見た目

  • 全体的に綺麗にする
  • (検索した後のカテゴリを選択したカテゴリにする)なんでかできない

今週やること

  • 勉強しつつ同世代祭りシステムのを進める

ユーザー側 ・あとフォーム送信の時のjobid問題

管理画面 ・ログイン周り

来週やること

  • 勉強しつつ同世代祭りシステムのを進める

めも

Javaのこと

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

今日の流れ

・わかってるバグ、直したいところの洗い出し

・上記を潰す

・できたら見た目も変えていこうかな?


洗い出し(バグも、修正したいところも)

管理画面

  • login画面が2回出てくる問題
  • login状態の管理
  • loginしたユーザーのidをとってnewの時に入れ込む
  • loginしたユーザー情報をとって「こんにちは、〇〇さん」の〇〇に入れる
  • logout周り
  • loginエラーの文言を変えたい
  • 公開状態の順番を公開している方案件を上にくるようにする
  • (応募はいません。のif文)
  • (indexの案件詳細とかの表示する文字数を制限したい)CSS書く時にする
  • login情報の受け取りと表示
  • メールアドレスのバリデーション
  • (パスワードの文字数指定)
  • 編集のところのカテゴリが営業、にならないようにする
  • 空入力のバリデーション
  • アプリ画面での見え方
  • 新規登録のから入力時のエラーメッセージをだす

ユーザー画面

  • (検索した後のカテゴリを選択したカテゴリにする)
  • 同じカテゴリ2つ以上あった時のエラー解決
  • 問い合わせフォームの、job_id入らない問題
  • 問い合わせフォーム、空でも送信できちゃう
  • jobs/2とかにした時のエラー画面を作る(is_enabled=1以外の時の処理)

【空入力のバリデーション】

バリデーションかけれたけど、メッセージが出てこないな笑

【問い合わせフォーム、空でも送信できちゃう】

からだとDBに入らないように

if (result.hasErrors()){ }

足したけど、returnの中身でうまくいかない

というか、正しくてもDBに入らなくなっちゃったーーーー

viewに

とか足してみる

java.lang.IllegalStateException: Neither BindingResult nor plain target object for bean name 'application' available as request attribute

エラー

一旦元に戻した


もっかいまだできてないところだけ書き出そう

管理画面

機能面

  • login状態の管理
  • loginしたユーザーのidをとってnewの時に入れ込む
  • loginしたユーザー情報をとって「こんにちは、〇〇さん」の〇〇に入れる
  • logout周り
  • login情報の受け取りと表示
  • (パスワードの文字数指定)
  • 新規登録のから入力時のエラーメッセージをだす

見た目 * (indexの案件詳細とかの表示する文字数を制限したい)CSS書く * アプリ画面での見え方

ユーザー画面

機能面

  • 問い合わせフォームの、job_id入らない問題
  • 問い合わせフォーム、空でも送信できちゃう
  • jobs/2とかにした時のエラー画面を作る(is_enabled=1以外の時の処理)

見た目 * 全体的に綺麗にする * (検索した後のカテゴリを選択したカテゴリにする)なんでかできない

基本ログイン周りと、細かいデータのやり取りあたり


ログイン周りを本読んでチュートリアルっぽいのみてもう一回やってみる

thymeleaf-extras-springsecurityつかう - kagamihogeの日記

【問題解決】Thymeleafで、Spring Securityのダイアレクト(`sec:authentication`など)が使えない - Qiita

バージョンの問題とかあるんだろうか

Spring BootのThymeleafを2.x系から3.x系に変更してみる - ts0818のブログ

二つともあるな?2も3も

f:id:pikahika:20200311122220p:plain

と思ったけどやっぱ2かな?

f:id:pikahika:20200311122345p:plain

うーん意味あったかなw

f:id:pikahika:20200311123006p:plain

いや、本にpom.xml

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-security</artifactId>
</dependency>
        
<dependency>
            <groupId>org.thymeleaf.extras</groupId>
            <artifactId>thymeleaf-extras-springsecurity4</artifactId>
</dependency>

って追加するって書いてあるけど、2爪の方エラーになるっていう、

変わらない、戻そう

なしでいく

いじりすぎたのか関係ないところでエラー勃発

migrateのusersが狂った

ファイル消したのに入るw

なぜか修正する前のでDBに入っちゃう、、、一旦このまま行っちゃうか、最悪なくてもいけるし

あれー入り直せたのにまたなんかおかしくなってるーーー

カテゴリが消えた

f:id:pikahika:20200311130718p:plain

と思ったけど、さっきDB全部消しちゃったんだったw

ついでに公開が上にくるかつ、最近更新した方、ってかえよ

でけた

だいぶ脱線してしまった


ログイン周りに戻る

  • login状態の管理
  • loginしたユーザーのidをとってnewの時に入れ込む
  • loginしたユーザー情報をとって「こんにちは、〇〇さん」の〇〇に入れる
  • logout周り
  • login情報の受け取りと表示、半分
  • (パスワードの文字数指定)
  • 新規登録のから入力時のエラーメッセージをだす
  • 新規登録のアドレス重複を避けたい

【login情報の受け取りと表示】

とりあえず新規登録とログインができているから、あとはどっかに保存されているそれをとってくればいいだけだと思っている、、、

Spring Bootによるウェブアプリ開発: [補足01] ユーザ認証(1) | Teaching Programming

あれ、単純だった説w

controllerにこれとこれ足して

@AuthenticationPrincipal DbUserDetails UserDetails

model.addAttribute("username", UserDetails.getUsername());

viewに

th:text="${username}"

で入れてみたら出てきたーーー

f:id:pikahika:20200311151359p:plain

よし、そしたらログインしてる人のidが欲しいんだよなー

Spring-Bootでログイン機能を実装してみる - Qiita

ごり押しする方法なら思いついてるけど、違う気がするんだよなぁ

うーん、nameとpasswordは 出てくるんだけど

これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup

SecurityContext context = SecurityContextHolder.getContext();
Authentication auth = context.getAuthentication();
UserDetails userDetails = (UserDetails) auth.getPrincipal();

??

変数の中身みたいー

できないー

先に別のしよ

ちょい脱線 バリデーションのところで使えそう

Spring bootでweb バリデート編

【メールアドレスの重複避けたいな】

やばい、色々やりすぎてぐちゃぐちゃになってモーターーー 戻して別のプロジェクトでしよ、、、

戻ってやりたいこと

外部キー設定

マイグレーションはあったけどシーダーはないのかな、調べる

セキュリティ的なの何も気にしてないCSRFあたりってどうするんだろ

インデントの整理

Spring Boot でログイン画面 + 一覧画面 + 登録画面の Webアプリケーションを作る ( その10 )( ログイン画面作成3 ) - かんがるーさんの日記

あとで見る

Spring Bootで使われる基本的なアノーテーションと設定の仕組み (1/3):CodeZine(コードジン)

スネークケース、キャメルケースあたり質問しよ

カテゴリのinsert

joinの仕方 done

カテゴリのプルダウンをDBから done

あとなぜかログインのところがデフォルトの?が最初に表示されちゃう。多分どっかがうまく切り替わってない

エラーページを作る

うーん、複数条件検索ってどうするんだろ

inにするために、先にチェックされたカテゴリのidをカンマ区切りにしてから入れ込むとか、、、?

とりあえずフリーワードの検索orカテゴリ1つバージョンにするか

公開されてない案件 jobs/2 とかにされた時のエラー画面

テンプレートのレイアウトか

手前の詳細部分にはjob_id入ってるんだけどnull?か何かで0でDBに入っちゃう

コードが全体的に汚い、綺麗にしたい

選択したプルダウンを検索語の画面でも保持しておきたい気持ち

管理画面の並び順の変更

コントローラ、増やしたほうがいいのかなーと思いながらjobに集約してしまっている感

カテゴリの編集が、全部営業スタートになっちゃってる

ユーザー側のエラー

【応募はいません。のif文】

マイグレーションが変