Fippiyのプログラム学習内容アウトプットBlog

日々の学習内容をアウトプットして振り返りを実施する。

Laravel開発、入力フォームを編集してカンマ区切りテキストからISBNを一括で登録できるようにする

複数のISBNコードを登録することはできましたが、フォーム内にinputタグを10件追加するという形で複数対応していました。

せっかくここまで実施できたので、inputフォームに個別に入力することから、テキストボックスに複数の値を入力できるようにして一括登録もできるようにしました。

今回の目的

ISBNをまとめて登録できるフォームを作成し、一括登録できるようにする

なぜやるか

複数登録フォームではinputタグ毎に値を入力する手間が発生するため、テキスト化したデータをコピーすることで一括登録できるようにするため

やりたいこと

  • 一括登録フォームを用意して、一度にまとめて登録処理ができるようにする

やったこと

  • 一括登録フォームを作成する
  • 複数登録と一括登録で同じアクションを利用する
  • 登録されたデータをカンマで区切って分割する
  • 分割処理に改行コードにも対応させる
  • ISBNにハイフンが含まれる場合は除外できるようにする
  • 数値以外の情報は受付しないようにする
  • 登録上限を設定する
続きを読む

Laravel開発、ISBNレコードを複数登録する【5】テストに失敗し問題のあったコードを修正する

複数ISBN登録に対するテストを実装しましたが、最後のテストに失敗しました。

処理を確認する中で、実際に処理手順に問題があることに気づいたので修正を実施していきます。

  • 最終目的
  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • 問題はなにか
      • テスト内容の再確認
      • 実際に処理して確認する 
      • 問題のある処理を特定する
    • 処理を修正する
      • 修正手順を考える
      • 処理を修正する 
    • さらに手直しを行う 
      • ビュー表示処理を見直す
      • コードを修正する

最終目的

ISBNコードを10件まで1フォームから入力して登録できるようにする

今回の目的

  • ISBN複数登録テストにて失敗した内容を解消する

なぜやるか

  • エラー処理が正常にできていない状態となっているので、問題解消して正常動作するサイトとするため

やりたいこと

  • テスト失敗の原因をつきとめる
  • 問題のある処理を修正する

やったこと

テストに失敗する場所を特定する

続きを読む

Laravel開発、ISBNレコードを複数登録する【4】複数登録に対してのテストを実施する

複数ISBN登録は作成できましたが、一部修正を行うことにしました。

ISBN未入力については結果を表示しないことと、処理状況が分かりやすいコードに修正を行っていきます。

  • 最終目的
  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • 複数ISBN登録ができることを確認する 
    • 登録に失敗するパターンをテストする
      • ISBNが1件も入力されていない時
      • ISBNの桁数が合わない時
      • フォーム入力ISBN重複時
      • DB登録済みISBN登録時
      • API検索結果がなかった場合
      • 実際の処理に問題がみつかる

最終目的

ISBNコードを10件まで1フォームから入力して登録できるようにする

今回の目的

  • ISBN複数登録に対してテストコードを用意し、正常動作を確認する

なぜやるか

  • 複数登録処理が問題なく動作していることを確認するため

やりたいこと

  • 正しく入力された処理が正しいと判断されること
  • 想定される問題点に対して正常どうさしていること

やったこと

  • 13桁コードを複数入力して正常動作すること
  • 全件未入力時にバリデーションエラーとなること
  • 桁数アンマッチで想定される結果出力されること
  • フォーム重複登録で想定される結果出力されること
  • DB登録済みで想定される結果出力されること
  • API検索結果がなかった場合の結果出力が正常にされること
続きを読む

Laravel開発、ISBNレコードを複数登録する【3】処理コードを見直す

複数ISBN登録は作成できましたが、一部修正を行うことにしました。

ISBN未入力については結果を表示しないことと、処理状況が分かりやすいコードに修正を行っていきます。

  • 最終目的
  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • ISBN未入力データは結果表示内容から対象外にする
      • 登録されていません大量表示
      • 入力なしの時は結果出力から除く
      • 不要となった処理を削除する
    • ISBNコード処理状況を分かりやすくする 
      • 処理ステータスの扱いを再検討する
      • 処理状況変数を追加する 
      • 処理方法変更によるコード修正を行う
      • 処理完了ステータス変更を追加する 
    • ISBN全件未入力時はバリデーションエラーとする
      • 全件未入力時に結果表示画面を出す必要はない
      • バリデーターを追加する

最終目的

ISBNコードを10件まで1フォームから入力して登録できるようにする

今回の目的

  • ISBNが送信されなかった場合は対象外にする
  • ISBNコード処理状況が明確に分かるようにする

なぜやるか

  • 未入力データに対しての結果は不要と判断して表示させないようにするため
  • 三者がコードを確認しても、処理状況が分かるコードに修正するため

やりたいこと

  • ISBN未入力を対象外にする

  • 不要となった処理を削除する
  • 処理状況が分かりやすいようにする
  • バリデーションエラーを活用する

やったこと

  • ISBN未入力時は配列にデータをいれない
  • 処理ステータスを格納する変数を準備する
  • 処理ステータスが分かりやすい様に変数の値をセットする
  • 全件未入力時はバリデーションによって元のフォームにエラー表示する 
続きを読む

Laravel開発、ISBNレコードを複数登録する【2】処理コードを書く

ISBNコードを利用して簡単に書籍情報を登録できるようにしていました。

しかし、1件のみ毎回登録する…といったパターンしか行えない状態なので、まとめて追加できるようにしてみました。

  • 最終目的
  • 今回の目的
    • なぜやるか
    • やりたいこと
    • やったこと
  • 実施内容
    • 処理コードを確認する
      • 複数ページ表示用のコード
      • postデータ処理のコード
    • postデータ処理コードを確認する
      • フォームからの値を受け取る
      • データ処理用配列へ格納する
      • 受け取ったデータを確認する
      • ISBNから情報を取得する
      • 取得データをDBへ登録する

最終目的

ISBNコードを10件まで1フォームから入力して登録できるようにする

今回の目的

新規登録となるISBNコードを選別する。

APIを利用してDBに登録し、結果を表示させる

なぜやるか

  • 仕様に合わないデータは予め対象外とすることでAPI通信を最低限とするため
  • 選別作業を先に行うことで、不要なSQL文の発行を防止するため
  • 将来的に大量のデータを個別処理するにあたってのプロセスとして複数登録処理を作成する

やりたいこと

  • 入力データ全てを評価し、13桁のコードのみを処理する
  • 入力データ内で重複していないかチェックをする
  • DB登録済みでないかをチェックする
  • 全ての処理結果を一覧出力する

やったこと

入力コード処理用の配列を準備する

 

続きを読む