サイトアイコン L is B BLOG

平成最初で最後の新卒エンジニアが平成最後の月の最初の週に学んだこと

はじめに

2019年4月に株式会社L is B(エルイズビー)に新卒として入社しました、石川です。

この記事では、定期的なアウトプットによる知識定着向上のため、入社してから 1 週間の間に学んだことをまとめています。 (本当は入社してから 2 週間目なのですが、初週は入社式があったり、AI・人工知能 EXPO に 3 日間駆り出されていたりとエンジニアらしい業務は全然していませんでしたので…)

弊社の平成最初で最後の新卒の新入社員は2名でした!わざわざ入社式を開いて下さりありがとうございます!

====

自分はサーバーチームの配属なので、開発に使用している Docker、Java についての勉強からです。

さっそく教育係の持田氏と阿部氏がビシバシ教育して下さりました!ありがとうございます!これからもよろしくお願いします!

以下学んだこと。


Twitter アカウント作成

持田氏「とりあえず Twitter アカウント作ろう」

今時のイケてるエンジニアになるには Twitter が必須らしい。 最新技術の動向や勉強会の情報などはここで手に入るそうな。 今まで Twitter や Instagram、Facebook などの SNS はやったことなかったのでわくわくどきどき。

そんなわけで Twitter アカウント作成しました。 (https://twitter.com/comecouji

Docker

コンテナと呼ばれる実行環境を構築し、その中でアプリを実行させる。そのコンテナを起動するのに必要な設定ファイルをまとめたものをイメージという。一度作成したイメージは Docker がインストールされている環境ならどこでも同じように動作する。

持田氏が用意してくれた Docker 入門(https://github.com/mike-neck/start-docker)を使用。

以下思ったこと。

Java

TDD (Test Driven Development)

日本語でいうと、テスト駆動開発。

ふつうプログラムをつくるときは先に実装をかいて、あとでデバッグやテストをするけど、TDD では最初にテストをかいて(テストファースト)、そのテストが動作する必要最低限な実装をとりあえずおこなったあと、コードを洗練させるという工程を繰り返してプログラムをつくっていく。

持田氏が用意してくれた入門(https://github.com/mike-neck/java-training-book/tree/master/junit4)を使用。

実際に問題をモデル図にかいて、テストとその実装をつくりました。問題は会津大学のオンラインジャッジ Volume5 – 0513(http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0513)を使用。

以下思ったこと。

DI (Dependency Injection)

日本語でいうと、依存性の注入。(なんのこっちゃ。)

大きなアプリケーションをつくると、クラスの依存関係が非常に複雑になってくる。 例えば、クラス A はフィールドにクラス B のインスタンスをもっていて、クラス B はフィールドに クラス C とクラス D のインスタンスをもっていて、クラス E はフィールドに…(以下略)といった感じ。

ほかのクラスに強く依存しているクラス(この例だとクラス B )をインスタンス化しようとすると、クラス B が依存しているほかのクラスもインスタンスをつくらなくちゃいけないので面倒。

ほかにも、外部の API に依存している場合、本番環境での API とテスト環境での API を切り替える必要があり、これまた面倒。

これらの面倒を解消してくれるのが DI 。

持田氏が用意してくれた入門(https://github.com/mike-neck/java-training-book/tree/master/dependency-injection)を使用。

以下思ったこと。

Lambda 式

Override するメソッドが一つのみの interface を FunctionalInterface と呼ぶ。Lambda 式はそれを簡潔に記述できる仕様のこと。

以下思ったこと。

Stream

大量データを逐次処理するストリーム処理を効率的に記述できる手段のこと。コレクション操作も効率的に行える。

以下思ったこと。

Optional

null が入りそうな変数をラップして、安全に使用できるようにしてくれるクラス。

以下思ったこと。


まとめ

モバイルバージョンを終了