近頃は気温も30度を超えはじめ、通勤の時間帯でも汗をかくほど暑くなってまいりました。私は電車で通勤しているのですが、人の多い時間帯に乗車しているため電車の中のエアコンが物足りなく感じます。
また、電車遅延等があると次に到着する電車の乗車人数も一気に増えますよね。そうなるともう耐えられないくらい暑いですよね。なので、その電車に乗らないと間に合わない......なんて状況でなければ私はその次の電車に乗るようにしています(笑)。
さて、他のブログでも記載があるように我々の新人研修が終わり遂に配属となりました。約2ヵ月半という期間でしたが、長いようで短かったように思います。電話応対やプレゼンなど、以前よりもスムーズになってきたような感覚があり、そういった面でも少しずつ成長しているなと実感しています。
今週は、配属先の先輩方に教えていただきながらデータベース関連の学習を行いました。データベースについては研修期間中にも触れましたが、sql文を書くことはなかったので新鮮でした。
内容としてはselect、insertなどの基礎的な文法や、サブクエリなどについても学びました。
実際にデータベースを用意していただけたので、レコードがどのように変化するのか自分の目で確認しながら行えたのが楽しかったです。
私は学生時代に「勉強しよう!」と思い立ち、少しだけsqlを学びました。簡単なデータベースを作成し、それをhtml上から編集できるようなものを作っていました。そんな昔の経験を思い出しながら、今回演習問題に取り組んでいました。時期としてはタスクフォースの面接前だったので、もう1年以上前になります。
しかし、1年間触れていなかったためか、大変悲しいことに大半の記憶がすっかり失われていました。かろうじて覚えていたのは、それこそ「select」や「insert」などの単語くらいでしょうか。これでは思い出したところで役に立ちませんね。
それでもやはり勉強していたのは無駄ではなかったのかなと思います。1度学んだ内容であるからか、頭にスーッと入ってきました。
勿論問題を解く上でつまずくこともありましたが、自分の認識では「これは覚えている」なので、「どこがダメなのか」「ここからがわからない」がわかるんですよね。
それさえわかればそれについて調べたり、先輩方に確認するという行動がとれたりするので、大きなメリットだと思います。
とはいえ、業務とほとんど同じような応用問題に触れた際には己の無力さに嘆くことになりました。
問題の意図や「やりたいこと」は理解できるのですが、それを解くにためには膨大なデータと、それらのデータごとの関係性を正確に読み取ったうえで記述する必要があります。
いざ読みはじめてみても、短時間ではデータを把握することができず、先輩のアシストがなければ対象のテーブルデータの構造すらつかめなかったと思います。こういった情報処理能力は業務において間違いなく必須だと思っていますし、今後しっかりと鍛えていかなければなりません。今まで我々は暖かい環境で生かされていたに過ぎないのだと実感し、研修は終わりを迎え、新しい段階へ進んだのだと改めて認識しました。
今週はsqlともう1つ、javaによるデータベース接続と、それに伴う例外処理についても学びました。
今回はデータベース接続や0での割り算を例に学びましたが、そういった場合にアプリケーションが終了してしまうようでは非常に使いづらいですし、利用者からすれば壊れたように見えてしまう可能性もありますよね。
例外処理とは、そういった本来行いたい処理ができなかった際にプログラムが止まらないようにする保険みたいなものだと思います。
基本的には、エラーが発生する可能性がある処理は「try」ブロックの中に書きます。そして「catch」にエラーが発生した際の処理を書きます。また、エラーが発生しようが関係なく行う処理を「finally」の中に書くこともあります。
catchの処理の中にはスタックトレースの表示などが多いのではないでしょうか。私はまだ開発ツールの理解が浅く、ライブラリ関数の引数を間違えるなど、エラーを起こしてしまうことも少なくありません。だからこそ、エラーの原因を教えてくれるスタックトレースにはいつも助けられており、感謝してもしきれません。こういったエラーの出力があれば原因もある程度絞り込めますし、適切に「catch」を利用すればその処理でプログラムが異常終了することもありません。一石二鳥ですね。