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

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

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

月曜日!

やっぱPHPとかJavaとか触ってるほうが楽しいかも、、って思ってしまった今日

今日やったこと

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

できなかったこと

明日やること

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

  • 管理画面にキーワード検索を追加

  • 案件を表示する一般公開側にもキーワード検索を追加する
  • 「案件リスト」にて案件作成時、選択してコピーできるようにする
  • 管理画面の方のURL、adminを入れて変える
  • ページネーション作る、20件ずつとか

  • 見た目を整える

見た目 * ヘッダー作る * フッター作る * 上記二つができたら、テンプレートのレイアウト化する * 検索窓を増やす * その他見た目、できる範囲で、、、

今週やること

  • 勉強しつつ同世代祭りシステムのを進める
  • 表側も出来るだけかく

来週やること

めも

Javaのこと

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

今日の流れ

・Sさんから返ってきたのをまとめて返す

・bootstrapの勉強しつつ、見た目を綺麗にしていく


・Sさんから返ってきたのをまとめて返す

カラムの結合 MySQL CONCAT(文字列1, 文字列2, 文字列3)

HTML/CSS、bootstrapのこと

先週考えてた全体像

【トップ画面】

ヘッダー

  • サービス名
  • 検索?

トップ

  • サービスの説明文
  • 補足?

案件一覧

  • 検索
  • 案件一覧:カテゴリとタイトルと案件詳細少し

フッター * ご利用ガイド? * 利用規約? * 会社概要? * お問い合わせ? * コピーライト

もともとこぴったのがbootstrap使ってたからついでにそのまま使ってみる

bootstrap

このチュートリアル見てみる

https://bootstrap.hana87.club/

タイポグラフィ? →「文字をきれいに、読みやすく見せる」設定

タイポグラフィとは?基本ルールと作り方 37の要点

グリッドクラス →Bootstrapグリッドシステムには4つのクラスがあります。

xs(電話機用) sm(タブレット用) md(デスクトップ用) lg(大型デスクトップの場合)

ジャンボトロン →大きなボックス

f:id:pikahika:20200316105304p:plain
before

f:id:pikahika:20200316105323p:plain
after

ウェル →.well クラスは、灰色の背景色と少々のパディングを持ち、要素の周りに丸みのある境界線を追加

ボタンについて

https://bootstrap.hana87.club/button.html

ラベルがうまく動かないー

https://bootstrap.hana87.club/badge.html

https://bootstrap.hana87.club/typography.html

一通りみるのすぐできちゃった、入れ込んでみるかー

あ、bootstrap4になってからなくなったのとかもあるから動かない模様

Bootstrap4に用意されているクラス【card編】

バッジ~Bootstrap4移行ガイド

f:id:pikahika:20200316125241p:plain
いらん線はあるけどカテゴリをラベルにできた

aタグの水色を黒に→class="text-body"

aタグの下線を無くしたい→

display: inline-block;
text-decoration: none;

ならないなんでー

PCの時は2列にしてみたいけど、うまくいかないー

[https://cccabinet.jpn.org/bootstrap4/layout/grid:title]

[https://bootstrap.hana87.club/navbar.html]

フォームも綺麗にする

[https://bootstrap.hana87.club/modal.html]

追加のCSS聞いてなかったの、

なかったからだった、初歩的w

でもaタグの下線が消えない

a:hover {

    text-decoration: none;
}

hoverした時、が抜けてたという

Bootstrap4カラムの位置を調整【カラムのオフセット】

f:id:pikahika:20200316170331p:plain
とりあえずこんな感じになったけど、、、って感じ

f:id:pikahika:20200316170732p:plain

Bootstrap4 Border(ボーダー)の使い方を徹底解説 | WEBST8

入れ込みたいもの

・管理画面の一覧のテーブル、これのホバーテーブルにしよ

https://bootstrap.hana87.club/table.html

・検索後のカテゴリをラベルでみやすくしたい done

https://bootstrap.hana87.club/badge.html

・ページネーション

https://bootstrap.hana87.club/pagination.html

・パネル

https://bootstrap.hana87.club/panel.html

一覧画面に入れてみよう

・ナビゲーションバー

https://bootstrap.hana87.club/navbar.html

・フォーム

https://bootstrap.hana87.club/form.html

・送信完了!をモーダルでやってもいいかもしれない

戻ってやりたいこと

外部キー設定

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

セキュリティ的なの何も気にしてない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文】

マイグレーションが変 けど結局hiddenで送ってしまった

【jobs/2とかにした時のエラー画面を作りたい(is_enabled=1以外の時の処理)】

テンプレートの共通化

管理画面のURL

ページャー 20件ずつとかかな

上に戻るぽたんとかもつけたらjavascriptもかけていいかな

検索したら何件ありました、みたいなやつ?

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

金曜日ー!

今日やったこと

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

できなかったこと

あと 12/20

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

あと 6/10

あと 1/6

↓ 一応一通りできた

見た目に入る

明日やること

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

細かいところ修正したり

管理画面の見た目

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

ユーザー画面の見た目

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

その他余裕あったらやりたいことの追加

今週やること

来週やること

  • 勉強しつつ同世代祭りシステムのを進める
  • 表側も出来るだけかく

めも

Javaのこと

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

今日の流れ

・機能面のバグラスト1こ

・できたら見た目も変えていきたいので、progateのHTML/CSSをしようかな?


管理画面の機能

  • 新規登録でメールアドレスの重複を防ぐ

管理画面の見た目 * (indexの案件詳細とかの表示する文字数を制限したい)CSS書く、案件詳細が初めの3文字しか表示されないようになってるー * アプリ画面での見え方、全体的に綺麗にする

ユーザー画面の見た目

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

余裕があったら改変する 問い合わせフォーム、空でも送信した時に元々のページに戻って来させる


【新規登録でメールアドレスの重複を防ぐ】

昨日の続き、バリデーションを作りたいので、別プロジェクト立てて弄っているなう

org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.example.demo.mapper.RegisterMemberMapper.checkMemberInfo'. It's likely that neither a Result Type nor a Result Map was specified.

が出てたので、SQL周りを少しいじってみたけど

なんかがないんだなーなんだろmap?

原因っぽいところは見つけたけどなんだろ

Spring カスタムアノテーションに出会った話 - Qiita

Bean Validationで自作バリデータを作る - Qiita

isValidの式がおかしいんだと思うんだけど

どう書いたらいいのかわからないw

いじってたら

Unresolved compilation problem:

出てきた

型が一致しません

STS(eclipse)でjava.lang.Error:Unresolved compilation problems | ヰ刀のおもちゃ箱

Spring BootでBean Validation (3) バリデーション処理を自作 - 親バカエンジニアのナレッジ帳

お、メールアドレスの発見!

みながら改変してるんだけどなぁ

com.example.demo.mapper.RegisterMemberMapper.checkMemberInfo

がおかしいらしいけど

これも検討してみてもいいかも

https://kojion.com/posts/832

なんかバリデーションの部分というよりかはMapperうまく繋げてないっぽい

あ、DBからのとってき方がみすってるっぽいーー

    resultType="com.example.demo.domain.MemberRegistrationForm"
    parameterType="String">

わわ、Mapper.xmlのresultTypeがparameterTypeになってたw

それだけだった、、、動いた!!

f:id:pikahika:20200313122815p:plain

ということで移植する。

移植完了!!

主な機能はとりあえずできたーーー!!嬉しい。

f:id:pikahika:20200313123826p:plain

HTML/CSSのこと

progateやりに行く


初級編からいこ

やりつつ改変していこうかな?

f:id:pikahika:20200313144056p:plain
progateより

3h50mのHTML & CSS 初級編を50分くらいでさらう。


HTML & CSS 中級編

この辺りも怪しい

f:id:pikahika:20200313151825p:plain
progateより

f:id:pikahika:20200313152614p:plain
progateより

HTML & CSS 中級編:4h30mのところを1hくらい


HTML & CSS 上級編 レスポンシブデザイン

HTML & CSS 上級編2hのところを25分くらい


HTML & CSS Flexbox編


全体像を考えよう。

【トップ画面】

ヘッダー

  • サービス名
  • 検索?

トップ

  • サービスの説明文
  • 補足?

案件一覧

  • 検索
  • 案件一覧:カテゴリとタイトルと案件詳細少し

フッター * ご利用ガイド? * 利用規約? * 会社概要? * お問い合わせ? * コピーライト

もともとこぴったのがbootstrap使ってたからついでにそのまま使ってみる

Bootstrapのグリッドシステムの使い方を初心者に向けておさらいする

aタグの色を変えたかった

カラーユーティリティ~Bootstrap4移行ガイド

いや、ブートストラップ使わない方がいいのか、、、

全然わからんw

だからと言って一からCSS書ける気もしないけど、どっちがいいのかな、あとでEさんに聞いてみよ

戻ってやりたいこと

外部キー設定

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

セキュリティ的なの何も気にしてない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文】

マイグレーションが変 けど結局hiddenで送ってしまった

【jobs/2とかにした時のエラー画面を作りたい(is_enabled=1以外の時の処理)】

テンプレートの共通化

管理画面のURL

ページャー 20件ずつとかかな

上に戻るぽたんとかもつけたらjavascriptもかけていいかな

検索したら何件ありました、みたいなやつ?

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

木曜日ー!

今日やったこと

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

できなかったこと

あと 12/20

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

あと 6/10

あと 1/6

明日やること

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

細かいところ修正したり

管理画面の機能

  • 新規登録でメールアドレスの重複を防ぐ

管理画面の見た目

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

ユーザー画面の見た目

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

その他余裕あったらやりたいことの追加

今週やること

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

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

管理画面 ・ログイン周り

来週やること

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

めも

Javaのこと

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

今日の流れ

・わかってるバグ、上記を潰す

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


管理画面の機能

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

ユーザー画面の機能

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

管理画面の見た目 * (indexの案件詳細とかの表示する文字数を制限したい)CSS書く、案件詳細が初めの3文字しか表示されないようになってるー * アプリ画面での見え方、全体的に綺麗にする

ユーザー画面の見た目

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

余裕があったら改変する 問い合わせフォーム、空でも送信した時に元々のページに戻って来させる


【 loginしたユーザーのidをとってnewの時に入れ込む】

先にセッション周りの勉強で本読む

ふあー解決してしまった

ログインの時のSQL文にidが入ってなかっただけというオチ

一覧のSQL文にidでwhereたす

うーんなんでか、select分にidが入らん

もう一息な気がするんだけどなー

取れたーーー

@GetMapping
  public String index(@ModelAttribute("account") Account account, @AuthenticationPrincipal DbUserDetails UserDetails, Model model) {
    Long userId = UserDetails.getAccount().getUserId();
      model.addAttribute("account", UserDetails.getAccount());
    model.addAttribute("jobs", jobService.findAll(userId));

    return "index";
  }

これでログインしたユーザーが作った案件だけが見れるようになった

この勢いでnewした時もそのuseridが入るようにする

できたー

けど結局hiddenで送ってしまった

多分セッション側から持ってきてそのまま入れるのがいいんだろうけど ちょっとわからんから一旦これで

あれ、今気づいたけど案件詳細が初めの3文字しか表示されないようになってるー

この前CSSいじったのが聞いてるのかな、見た目の修正の時にに入れる


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

送信できなくしてエラーページには飛ばせるけど、エラーの文言だしたい、、、

メールアドレスじゃないときは出るんだけどなぁ

空の時、、、

@NotBlank(message="お名前を記入してください。")

とかは入れてるんだけど、何か足りないんだろうな

別の方で入れてるこれ入れたらエラー出るし

<div class="text-danger" th:if="${#fields.hasErrors('title')}"
                                th:errors="*{title}"></div>

fields.hasErrors('fullname')

の部分で

あ、

@Validated Application application, BindingResult result, 入れる場所間違ってたーー

と思ったけど入れる前から出てるのは、、、違うw

submit押した後もここに戻ってくるようにしなきゃだなぁ

けど一旦エラーだったらエラーページに飛ばす、でいいや 先に進もう

【問い合わせフォームの、job_id入らない問題】

あれ、入力してもエラーになる現象が発生w

あ、フォームのmodelに無駄なの書いててフォームにないのがあったからだったーー

job_idも入った、解決!よーし!


【jobs/2とかにした時のエラー画面を作りたい(is_enabled=1以外の時の処理)】

Java - 【SpringBoot】存在しない画面のURLを叩いた時の設定方法を知りたい|teratail

Spring MVC(+ Spring Boot) における404時の動き | Java好き

https://keywordfinder.jp/blog/seo/404-not-found/

やろうかと思ったけど、これも余裕あったらでいいか、とりあえず動くし

【新規登録のから入力時のエラーメッセージをだす】

足すだけだった、何を悩んでたんだ笑


【新規登録でメールアドレスの重複を防ぐ】

これの方が大事だー

これは別のでやってみてから移植しよう

Spring Boot で書籍の貸出状況確認・貸出申請する Web アプリケーションを作る ( その28 )( 貸出状況取得タスクの作成2 ) - かんがるーさんの日記

入力されたメールアドレスとパスワードがあって、 メールアドレスでDB検索してみて、 引っかかるものがなければ、insertして新規登録、なければ「すでに登録されてます」とかの表示をだす。

www.slideshare.net

カスタムバリデータを作ることになる

Spring書き込み編.独自のバリデーションを作って入力チェックをする。 - Qiita

Spring MVCにおけるフォームバリデーションの適用事例【前編】 - Qiita

一旦これ真似っこしてみるか

https://b1tblog.com/2020/02/02/spring-boot-4/

4.1. 入力チェック — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.2.0.RELEASE documentation

ぐちゃぐちゃなう

とりあえずそれっぽくしてみたけど

javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.

isValidの途中で

Caused by: org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.executor.ExecutorException: A query was run and no Result Maps were found for the Mapped Statement 'com.example.demo.mapper.RegisterMemberMapper.checkMemberInfo'. It's likely that neither a Result Type nor a Result Map was specified.

普通の登録もできなくなっちゃったw

いじくりまわすしかないかー

戻ってやりたいこと

外部キー設定

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

セキュリティ的なの何も気にしてない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文】

マイグレーションが変 けど結局hiddenで送ってしまった

【jobs/2とかにした時のエラー画面を作りたい(is_enabled=1以外の時の処理)】

テンプレートの共通化

【今日学んだこと】未経験からエンジニアで転職「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文】

マイグレーションが変

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

雨ー

今日やったこと

できなかったこと

あと 12/20

けどログイン周りが6こ

明日やること

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

細かいところ修正したり

今週やること

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

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

管理画面 ・ログイン周り

来週やること

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

めも

Javaのこと

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

今日の流れ

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

・上記を潰す

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


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

管理画面

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

ユーザー画面

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

login周り行くかー

本のSpring Securityとログイン機能周り読む

・メールアドレスのバリデーション done ・

ログイン機能、これみてやってた

Spring bootで、パスワードをハッシュ化して会員登録 & Spring securityを使って、ログイン機能実装。 - Qiita

【login画面が2回出てくる問題】 本より、 アクセスの許可を/jsと/css許可できてなかったから、ログイン2回しちゃってたみたい。

.antMatchers("/js/", "/css/").permitAll()

をWebSecurityConfig.javaに追加して解決

【login周り】 @AuthenticationPrincipal

んー、ログイン周りやり直そう

6.2. Spring Securityチュートリアル — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.0.0.RELEASE documentation

やっぱちょっとわからんので一旦ここ飛ばそう

【公開状態の順番を公開している方案件を上にくるようにする】

order by is_enabled DESC で問題なく行けた。

f:id:pikahika:20200310140137p:plain
公開が上に

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

${applications}の中身がだから

<div class="card-body" th:if="${applications} ==

ってしてみたけどうまくいかないな、もう一旦いいや

【indexの案件詳細とかの表示する文字数を制限したい】

https://rfs.jp/sb/html/html-css-lab/overflow_ellipsis.html

文字列を省略して「…」を付与する方法 – CSS/jQuery | Developers.IO

css書かなきゃかー

文字列を省略して「…」を付与する方法 – CSS/jQuery | Developers.IO

んー、かわんないなぁ、、、 飛ばすか。みため直したい時にしよう


【同じカテゴリ2つ以上あった時のエラー解決】

There was an unexpected error (type=Internal Server Error, status=500). nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 2

1つだと設定した記憶ないけど、、、

@Transactional public List searchAll(int category_id) { return jobMapper.searchAll(category_id); }

をListにしたら行けた。Listじゃないととってきたデータ広げれないか

解決

f:id:pikahika:20200310153628p:plain

【検索した後のカテゴリを選択したカテゴリにする】

thymeleaf メモ - 開発まとめ

うーん、ならない

th:selected="*{Category.categoryId}"

を付け加えると、なぜかその他から選択されるし、検索語もその他になる

th:selected="${Category.categoryId} == *{category_id}" も変わらず

飛ばす

【編集のところのカテゴリが営業、にならないようにする】

有力候補

th:selected="${Category.categoryId} == ${job.category_id}"

これで行けたーー

もともと値持ってればいけるのか 検索したパラメーターとってこれたらさっきのもできるのかな

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

新規作成で何も入れずに作成押したら、カテゴリのところ消えちゃう

エラーの時に入るコントローラーにカテゴリを渡せてなかった。 解決。

【パスワードの文字数指定】

Spring Bootで簡単に入力チェックを実装する方法 - ITを分かりやすく解説

なんでだろー @NotEmpty(message = "名前を入力してください") @Size(min = 8, max = 32, message = "名前は100桁以内で入力してください") とか書いてるのに全然表示されない、何も書かなくても新規登録できちゃう笑

ログインやり直して考えないとなのかな

【問い合わせフォームの、job_id入らない問題】

だと1が出てくるのに

にしたら0になっちゃう

にしたら valueに入れたのが入る

なんでー

本よも

そもそもhiddenであげなくてももともとid入ってるからそれ取ればいいのでは、って思ったり

そして脱線したけどバリデーションの、コントローラpに@Validated入ってなかったからっぽいことに気づいた 明日ここからかなー

バリデーションはかかってるっぽいけどエラーページ出ちゃうな、

戻ってやりたいこと

外部キー設定

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

セキュリティ的なの何も気にしてない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文】

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

今週もスタート!

今日やったこと

今日は結構進めた気がするー

できなかったこと

明日やること

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

細かいところ修正したり

今週やること

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

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

管理画面 ・ログイン周り

来週やること

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

めも

Javaのこと

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

今日の流れ

・フォームの送信部分完成

・検索のところ

・DBからカテゴリ回す

・適宜本読む


フォーム、登録はできるようになったけどjobidをhiddenで渡せない

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

Thymeleaf - thymleafでhiddenした値をcontroller側で受け取れない|teratail

同じ状況かと思ったけど謎に自己解決しててわかんな

一旦job_id1で固定して次いこ

にしたら入るから、SQLは間違ってない、${job.id}が渡せてないけど、

で開いたら値入ってるから、なぜか渡せてない


検索のところする

うーん、どこで止まってるんだろ

There was an unexpected error (type=Internal Server Error, status=500). Missing URI template variable 'category_id' for method parameter of type int org.springframework.web.bind.MissingPathVariableException: Missing URI template variable 'category_id' for method parameter of type int

intがとかっていうから変えたのに

There was an unexpected error (type=Internal Server Error, status=500). Missing URI template variable 'category_id' for method parameter of type String org.springframework.web.bind.MissingPathVariableException: Missing URI template variable 'category_id' for method parameter of type String

それ以前の何かなのか

本よも

コントローラーに値が言ってない、繋がってなさそう

Spring MVC 4.0 No. 005 GETパラメータを受け取る - コンピュータクワガタ

この辺りっぽいな?

GETパラメータを受け取るには、@RequestParamアノテーション

でけたーーーーーーー!

f:id:pikahika:20200309145242p:plain
検索前

f:id:pikahika:20200309145357p:plain
検索後


カテゴリをDBからとって回す

でけた。 やり方的にあってるかはわからんけど、 CategoryControllerじゃなくて、そのままJobControllerに書いたら行けた

f:id:pikahika:20200309154217p:plain
DBから取ってこれた


久々に管理画面戻ってきたらバグってた笑

応募者のところ

先にカテゴリのDB回すところしようかな

よし、すぐできた。 一回githubあげよ


管理画面のバグってるところ先に見てみよう

nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 9 org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.TooManyResultsException: Expected one result (or null) to be returned by selectOne(), but found: 9

なんか9こあるらしい

数が多いjobid1の編集と詳細両方 他のは大丈夫

joinしてたのがおかしくなってた

別のモデル作ってかきかえよ

よし、でけた

f:id:pikahika:20200309165647p:plain

ただ、ない時の「応募ありません」が出てこない。。。ので、応急処置

${applications} == []


わー

管理画面なおしたら ユーザー側のがエラってるー笑

戻ってやりたいこと

外部キー設定

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

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

インデントの整理

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

あとで見る

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

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

カテゴリのinsert

joinの仕方 done

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

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

エラーページを作る

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

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

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

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

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

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

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

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

管理画面の並び順の変更

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

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

ユーザー側のエラー

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

金曜日!

今日やったこと

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

できなかったこと

明日やること

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

今週やること

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

来週やること

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

めも

qiitaで上に上がってた記事

ls よりも exa を使おう!モダンな Linux コマンド達を紹介 - Qiita

Javaのこと

th:fieldを使わなくても行けた説