学習73日目:簡単そうに見えて難しいもの。

今日の学習時間。

  • Day:73
  • Today:8h
  • Total:449h

学習内容について。

  • アプリ開発
    • フォロー機能

思いの外、フォローボタンをサーブレットと連動させることに苦労しました。JSPには同じコードをコピペするだけなので楽ですが、サーブレットではそれぞれ違う挙動をするため注意が必要です。

具体的にはフォロー中一覧とフォロワー一覧とでは、CreateやDestroyの中身が異なります。上記のGitHubを見てもらえれば分かると思いますが、フォローする人とフォローされる人との関係が逆になります。それに伴い、修正一覧では予定になかった新しいサーブレットを作成しました。1つのサーブレットにまとめることもできるとは思いますが、後から変更することを考えれば機能ごとに小分けにするべきだと考えたからです。

あとはフォロー判定(フォローしている時は「フォロー中」、していない時は「フォロー」と表示)を実装すれば完了ですが、正直、ここが一番難しいです。設計としてはJPQLを使ってカウント数を計測し、JSTLで条件式に当てはめれば簡単に実装できる予定でした。しかし、型違いなのでエラーが発生すると。。リストに入ってない値だから、それをどうセットするのかが問題です。

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

今日も1日中Eclipseと対面していました。とにかく大量のコードを書いて検証ですね。頭で考えていることとコードが一致しないことが多いので、その両者の溝を無くしていくことに注力したいです。せっかく閃いた!と思っても実装してみたら作動しなかったり。。1ヶ月前と比べれば、断然サーブレットの内容も理解できてきましたが、次々と新たな課題が立ち塞がるといった状況。良いのか悪いのか分からないけど、エラーが表示されても動じなくなってきました。ほとんどが500エラー。逆にそれ以外だと嬉しい(解決しやすいから)。

今、このブログを書いている時もメンターの方と疑問点についてチャットしています(今は待ち時間)。最後のフォロー判定がどうしても分からないので悔しいですが結局質問することにしました。あれって、どうすれば解決するのだろう。ほんとにフォロー判定のロジック自体は明快なんです。ただ、型の違いやテーブルの違い、結合があるだけで全然分からなくなってしまうんだなぁ。案外、単純なことだったりしてね(この前のJPQLやフィルターみたいな盲点)。

あんまり関係ないけど、似たようなこと悩んだ人がいないかと思ってググってみても、大抵がRubyというね。。今時サーブレット使う人いないのか?初心者はRubyが良いってよく聞くけど、言語の難易度とは関係なしにそういった部分が大きいのだろうなぁ。

明日はメンタリングがあるから、それまでに終わらせたいと思います。そうすれば、多分、次の機能拡張に関する設計書を作成できるはず。本当はLinuxも進めたい。。

閉じる