学習63日目:メンタリング7回目(辛抱強さが大事)。

今日の学習時間。

  • Day:63
  • Today:10h
  • Total:375h

学習内容について。

    • スッキリわかるサーブレット&JSP入門
  • アプリの機能拡張
  • メンタリング7回目:30min.

機能拡張:いいねした人一覧。

今回はメンターに質問することもなく全て自力でやり切りました。やはり、自分の頭で考えたり調べたりする方がエラーを解決した時の達成感も違いますし、何より論理的に考える癖がつきます。そして、そのエラーで悩んだ箇所はきっと忘れないでしょう。今回は結構悩んだところは下にメモしておきます。完成したコードを見れば「何だこんなことに悩んでたのか」と自分に言いたくなりますが、そこは徐々に改善していきたいですね。

ポイント
  • 昨日の記事で書いたなぜかインスタンスが作成されない問題
    • 結局、インスタンスは作成されていたけどそれを保存していなかったことが原因でした
    • em.persist();でデータベースにインスタンスを保存
    • 更新(update)の際はem.persist();が必要なかったので勘違いしてた
  • JSTLでレポートがないIDにアクセスされた際に「お探しのデータは見つかりませんでした。」と表示
    • <c:when test="${report_id != null}">
  • 同じくJSTLでいいね数が0の時はリンクを表示させない
    • <c:when test="${report.likes == 0}">
  • <pre>タグ内の長文がテーブルを突き破る不具合
    • word-break: break-word;word-wrap: break-word;で改行させる
  • likes/index内のページネーションリンクが500エラーになる不具合
    • LikesCreateServletで変数reportUrlを初期化し、JSPに値を送る
    • それをURL内のEL式で使う
  • JPQLの使い方はSQLとは微妙に違うので気を付ける
  • この前も書いたが、created_atupdate_atはセットでモデルに用いる

メンタリングについて。

今日のメンタリングはいつもの技術的な指向とは異なり、学習について不安なところを相談をするといった内容でした。私は普段から不安を感じにくい性格なので別にこれといった不安はありませんが(だからこそこういう状況)、突然聞かれたのでありきたりな答えですが、就職してから一人前のプログラマーとしてやっていけるのかが心配と答えました。

その答えとして、メンターの方の実体験を元にお話しいただきました。ここではプライバシーの問題もあるので詳しくは話しませんが、やはり現場では進んで先輩が教えてくれるといったことはないようです。まあ、みんなそれぞれに仕事を持っているので当然ですよね。そこで必要になってくるのが自分で調べて自分で解決する力です。そこを今の段階から伸ばしておけば就職してから困ることはなく、逆に何でも人に聞いてばかりで自分で解決できない人は厳しいかもしれないそう。それはどんな仕事にも言えることかもしれませんが、プログラマの場合はその傾向が強く出るのだと思います。その点に関してはよく褒められたので嬉しかったです。これからも質問する前に徹底的に検証して、それでも分からなかったときだけ質問するということは続けていきたいと思います。

でも、あっさり考えただけで誰かに質問してさっさと新しい課題に取り組んでいくのと、愚直に1つの問題を完璧に理解するけど進捗が遅いのとではどちらが効率的なのだろう。

最後に次回のメンタリングまでに仕上げておく課題が発表されました。今までと同じように新機能の画面設計書、テーブル定義書、修正一覧の書類です。今度は社員同士のフォロー機能を追加します。フォロー機能はSNSに必須の機能なので丁寧に取り組みたいところですね。

今日の反省と明日の目標。

今日は集中して作業に取り組んだのでとても疲れました。特に目が。明日はとっとと書類を完成させて、AWSの続きをしていきたいと思います。

閉じる