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

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

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

今日やったこと

  • skype朝礼、終礼with Mさん
  • ランチ
  • 面談準備
  • 面談するところで使ってるやつ少し調べる

Salesforce Developers

できなかったこと

  • 同世代祭りシステムのを進める、機能ついか
  • Spring入門の本
  • bootstrapの勉強、見た目
  • javascriptどこに入れるか考える

明日やること

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

今週やること

  • 勉強しつつ同世代祭りシステムのを進める
  • 表側も出来るだけかく
  • 細かいところ追加したりする

来週やること

めも

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

今日の流れ

javascriptをどこかに入れれないか考える

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

・機能も少しできるところから追加する


Javaのこと

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

追加できたらしたいこと

  • 何で検索したのかと、該当件数も出したいな
  • 問い合わせフォームの送信がミスった時のエラー

SpringMVCでリダイレクト先ページにパラメータを渡す方法 - Qiita

  • これコピーするボタン押した後にポップアップとか出すのにJavaScript使おうかな?
  • 外部キー設定
  • マイグレーションの見直し(なんかおかしくなってたところとか、外部キー設定とか)
  • セキュリティ的なのを見直すCSRFとか
  • インデントの整理
  • スネークケース、キャメルケースぐちゃぐちゃなところもあるので治す
  • エラーページを作る
  • 選択したプルダウンを検索後の画面でも保持しておきたい気持ち
  • 【応募はいません。のif文】
  • 上に戻るぽたんとかもつけたらjavascriptもかけていいかな

該当件数も出しとこうと思ったけど、うまく表示されない

あ、これページャーにも関わりそうだから先にそっちから行こうかな

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

mybatis-spring – MyBatis-Spring | Spring Batch

5.11. ページネーション — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.0.0.RELEASE documentation

取得するデータの数と開始位置を指定(LIMIT句, OFFSET句) | SQLite入門

ごちゃごちゃ書かれてるけど、

SQL

1ページ目が limit 20 offset 0

2ページ目が limit 20 offset 20

limit 20 offset (ページid -1)*20

で、pageのid作ってやったらいいことがわかったので、明日ここからやる

続き

一覧画面のページングについていろいろ考えた - Qiita

またもう一つのところで作ってから移植しようとしてるけど

できないーー

ダイレクトにURL入れたら変わるのはできたから

あとはそれをボタン押したら、ってところと

1ページ目の問題

Spring Boot + Thymeleafでページング機能を実装する - Qiita

うーん、SQLはあってるはずだけどコントローラーで渡せてなさげ

定義できてなかっただけだったけど、出てきた数字が違うなんでーーー

intにしてた、Longにしたらでた

ページ数を出して th:eachで回すのはできたけど

ううーん、URLがうまく動かないーーー

一旦お昼食べるか


なんだろ、URLの部分とaタグの飛ばし先がおかしい

お、ページ動いた

f:id:pikahika:20200324153448p:plain
あ、動いた

と思ったけど中身変わってないや

1ページ目の時、

うーん、2回目以降ボタン押したら /jobs/jobs/page=3

でjobsかぶり事件が ←解決してないけどそれ以外は行けたと思ったら治ったと思ったら治ってないなんだー

あとは今のページを押せない様子にするのと、→のところで今のページ+1にする

あとは検索した時バージョン

あーーー検索の方がグチャるうう

検索動いたかと思ったら、下のページャーの数字が変わっていないw

あーくるくる狂った

1日置こうかな

Spring @RequestParamアノテーション

5.11.2.3.4. ページリンクで検索条件を引き継ぐ

5.11. ページネーション — TERASOLUNA Server Framework for Java (5.x) Development Guideline 5.0.0.RELEASE documentation


上の続き

うーん、変わらない、、、

SpringData Pageable + Thymeleafを使用してページネーションを実装 - Qiita

こういうのもあるみたいだけどどうしよ

一旦別のことしよ


管理画面で検索したら全部の案件が出てきてしまった、バグを発見

useridいれれてなかっただけなのですぐ解決


一覧画面、何文字まで出す、みたいな制限、50文字くらい?

SUBSTRING:文字列から位置を指定して文字列を取り出す

SUBSTRING(description,1,50)

でいけた

50文字以上の場合に...つけたい

CASE WHEN description >= 50 THEN CONCAT(SUBSTRING(description,1,50),'...') ELSE description END as description

でいけたと思ったけどSQL上はあってるけど表示がうまく行ってない

あ、いやいけてないや

lengthだ

CONCAT(SUBSTRING(description,1,50),'...') がダメっぽい、にいれれないもんか

あ、SUBSTRING(description,1,50)じゃなくてSUBSTRING(description,50,1)だ

あと新しい順に並び替えよ

f:id:pikahika:20200326155750p:plain
10文字で...

WHEN length(description) >= 50 THEN CONCAT(SUBSTRING(description,1,50),'...')
        ELSE description
        END as description

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

th:if="${#fields.hasErrors('fullname')}"

を書き加えるとエラーになる

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 84, col 10)

org.thymeleaf.exceptions.TemplateProcessingException: Exception evaluating SpringEL expression

あ、

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

うーんなんでだろ


HTML/CSS、bootstrap、デザインのこと

  • 全体の色感どうするか
  • ボタンの枠が変わらない
  • 一覧画面、何文字まで出す、みたいな制限、60文字くらい?
  • 問い合わせのラジオボタン が指マークになってなかった

問い合わせ送信後の画面

あと管理画面の方のみため整頓やってなかった

f:id:pikahika:20200326122521p:plain

管理画面の新規登録後の完了画面もやってないや笑

f:id:pikahika:20200326122349p:plain
とりあえず

bootstrapのmarginとかの設定めも

フォーム~Bootstrap4移行ガイド


property(空白の設定):

m - margin を設定するクラス p - padding を設定するクラス sides(空白の方向):

t(上) - margin-top または padding-top を設定するクラス b(下) - margin-bottom または padding-bottom を設定するクラス l(左) - margin-left または padding-left を設定するクラス r(右) - margin-right または padding-right を設定するクラス x(左右) - -left と -right の両方を設定するクラス y(上下) - -top と -bottom の両方を設定するクラス 「なし」(上下左右) - 要素の4方向すべてに margin または padding を設定するクラス size(空白のサイズ):

0 - margin または padding を 0 に設定するクラス 1 - margin または padding を $spacer * .25(デフォルト)に設定するクラス 2 - margin または padding を $spacer * .5(デフォルト)に設定するクラス 3 - margin または padding を $spacer(デフォルト)に設定するクラス 4 - margin または padding を $spacer * 1.5(デフォルト)に設定するクラス 5 - margin または padding を $spacer * 3(デフォルト)に設定するクラス auto - margin を auto に設定するクラス

($spacerの基準値は1rem=16px。$spacers Sassマップ変数にエントリを追加することで、さらにサイズの追加が可能)

bootstrap4から ラベル部分にカーソルを合わせた際に、指カーソル(=cursor: pointer;)や無効化カーソル(=cursor: not-allowed;)に変化しなくなった らしいので、

問い合わせのラジオボタン が指マークになってなかった

はスルーする