制度・イベント

「ハモトラ」で学びの幅を広げよう! vol.4 vol.5 vol.6

著者近影
MIYUKI

こんにちは!MTLのMIYUKIです。
CANTABILEではお久しぶりになってしまいましたが、ハモトラのコンテンツは着々と増えてきております。
お久しぶり過ぎて、所属しているUnit名が「WBU(White Base Unit)」から「MTL(Mission & Tech Lab)」に変わってしまいました!笑

今回は、3つのコンテンツについて紹介させていただきます。

  • vol.4 シェルスクリプト
  • vol.5 Spring Boot(WebApp)
  • vol.6 Java8(Lambda/StreamAPI)


コンテンツ作成は、総勢17名にご協力いただきました!(パチパチパチパチ)
「シェルスクリプト」と「Spring Boot(WebApp)」は、ハモトラ初の複数人数によるコンテンツです。

ハモトラ唯一のルールは、「コンテンツ作成者以外の誰かひとりでも資料を見て、学習・実施できたという実績があればOK!」なので、ひとりでも、ふたりでも、チームで作成いただいても…自由!!
形を問わず、チャレンジできるのがハモトラの利点だと自負しております!笑

「ハモトラって?」と思われた方は、こちらの記事をどうぞ!

「ハモトラ」で学びの幅を広げよう! vol.1 C#

2020.7.7

それでは、順番に各学習コンテンツを説明していきます!

シェルスクリプトの学習コンテンツ

近年、RPA(Robotic Process Automation)の普及により一層注目されている「自動化」ですが、エンジニアによる自動化の代名詞といえば、「シェルスクリプト」と言えるのではないでしょうか。技術領域を問わず、業務効率に活用できるものなので、是非とも身に着けておきたいスキルです。

RPAや自動化に興味のある方は、こちらの記事もどうぞ!

「簡単!わかりやすい!なんでもできる!」UiPathを使って自動化してみた!

2019.9.5

「シェルスクリプト」とは?
シェルスクリプトは、シェルで解釈できる処理を記述することができるスクリプト言語です。
主にLinuxやUnix環境で使われており、簡易的な操作を自動化して、作業を効率化する目的で利用されます。また、ソフトウェアの追加インストールが不要で手軽に利用できるため、利用頻度も高いです。
このコンテンツでは、Bashを用いた内容になっています。
※補足になりますが、シェルとはOSを構成するソフトウェアの一つで、ユーザからの操作を受け付けて、操作通りに動作した結果を出力するプログラムです。LinuxやUnix環境に触れた経験がある人なら、lsコマンドやcdコマンドを実行し、コンピュータから出力される結果を見たことがあると思います。その処理を実行しているプログラムがシェルです。
※具体的にどのようなことを実施する予定なのか?
「シェルスクリプト」のハモトラでは、下記の項目を実施する予定です。
①Linux環境を使用するため、まずは補足資料を用いて環境構築
合わせて、Linuxコマンドの使い⽅を学習
②シェルスクリプトの作成と実⾏を実践
③基本⽂法を学習
④基本文法を用いて、FizzBuzz処理を実践
⑤ファイル操作を行うシェルスクリプトの作成を実践
※前提条件として、Linuxコマンドを学んだことのある方を対象としています。

Spring Boot(WebApp)の学習コンテンツ

Spring Bootに関しては、ハモトラのvol.2でもコンテンツ化していますが、今回はWebアプリケーション作成に特化した内容になっています。(vol.2は、APIがメインでした。)
また、DBはPostgreSQLを使用したコンテンツになっているため、合わせてPostgreSQLに関しても学ぶことができます。ALHの開発研修では、DBはMySQLを使用しているため、フレームワーク以外の知識も身に付いて、一石二鳥ですね。

「Spring Boot」とは?
Javaのフレームワークには様々な種類があり、Spring BootはSpring Frameworkベースのフレームワークです。Spring Frameworkは拡張により、機能が充実する一方で、組み合わせて使うには煩雑な設定とノウハウが必要という課題があります。
Spring Bootの特徴として、その煩雑性をできる限り排除しており、必要最低限の設定と少ないコーディング量でアプリケーションの作成・実行を行うことができます。そのため、Spring BootはJavaのフレームワークの中でも人気が高く、需要も多くなっています。
※具体的にどのようなことを実施する予定なのか?
「Spring Boot(WebApp)」のハモトラでは、下記の項目を実施する予定です。
①資料を用いて、開発環境を構築
②SpringBootのアノテーションを学習
③Thymeleafを学習
④資料を用いて、匿名掲⽰板の作成を実践
⑤応用編として、作成した匿名掲⽰板に追加機能を実装
※前提条件として、Javaを学んだことのある方を対象としています。

Java8(Lambda/StreamAPI)の学習コンテンツ

プログラミング言語であるJavaにもバージョンが存在します。
ALHの開発研修では、主にJava7を使用して基本文法、Webアプリケーション開発の基礎、Webアプリケーションのフレームワークを学習しています。研修期間の中で学べることには限りがあるため、知識を深めるには研修以外でも学習機会を設けることが重要になります。
バージョンアップされたことにより、Javaにも様々な機能が追加されていますが、その中でもLambdaとStreamAPIはそれまでのJavaの書き方とは大きく異なります。また、利用頻度も高いため、Javaを扱っているエンジニアなら、押さえておきたいスキルのひとつではないでしょうか。

「Lambda/StreamAPI」とは?
JavaのLambda(ラムダ式)は、クラスの宣言とインスタンスの生成を同時に行う文法です。StreamAPIをはじめとしたJavaの新しいAPIを利用する際に、簡潔に記述できるというメリットがあります。
StreamAPIは名前の通り、Streamという流れてくるデータやイベントを処理するためのAPI群です。ListやMap等の操作を簡潔に記述することができるため、プログラムの可読性が向上したり、データ操作の変更が容易であるといったメリットがあります。
Lambda(ラムダ式)とStreamAPIは、組み合わせて使うことが多いため、コンテンツとしてもひとつにまとめています。
※具体的にどのようなことを実施する予定なのか?
「Java8(Lambda/StreamAPI)」のハモトラでは、下記の項目を実施する予定です。
①資料を用いて、開発環境を構築
②Lambdaを学習
③StreamAPIを学習
④資料を用いて、LambdaとStreamAPIを実践
⑤応用編として、LambdaとStreamAPIを用いて追加機能を実装
※前提条件として、Javaを学んだことのある方を対象としています。

以上、3つのコンテンツのご紹介でした。
今回もコンテンツ作成と検証にご協力いただいた皆様のおかげで、新たなコンテンツを提供することができました。
コンテンツの利用者には、こういった感想もいただいています!

勉強したい分野のコンテンツがあれば、活用できるのはもちろん、勉強したい分野があやふやな人にとっても、ハモトラを読めば勉強したい分野が見つかりそうで良いな!と感じました。

面白かったです!初めて学習する内容だったんですが、実践すると何となくのやり方がわかるので、あまり苦労がなかったです。

自分の興味のある分野から選べたり、興味のある分野を共有していけることでモチベーションアップにもなると実感しました!いずれは自分でも資料を作成していきたいです!

以前よりコンテンツも増えていて、時間があるときに自己学習として進めるのに向いていると思いました。

もちろん、魔法のアイテムではないので、ハモトラの資料だけでは上手くいかないこともあります。
コンテンツ作成者も学びながら、調べながら、資料を作成しているため、完璧なものとは言えません。

しかし、完璧を求めることで挑戦する機会を失うのは、とても残念なことです。
ハモトラは、「学習コンテンツは完璧なものでなければいけない」というハードルを無くし、チャレンジする人の背中を押せるような存在を目指しています。ハモトラが学びの幅を広げるきっかけなれば、幸いです。

ハモトラでは、コンテンツの作成・ブラッシュアップに協力してくれる仲間を募集しています!
一緒に学びの幅を広げませんか?

MIYUKI
Mission & Tech Lab(MTL)所属。中途入社。
前職では開発エンジニアとして、C言語、VB.NET、C#等の複数のプログラミング言語を経験。
現在は、開発領域の研修を担当。最近は、研修の動画化に勤しんでいる。
趣味はサッカー観戦。好きな色はトリコロール!

この記事を書いた人

著者近影

MIYUKI

人材開発部所属。中途入社。
前職では開発エンジニアとして、C言語、VB.NET、C#等の複数のプログラミング言語を経験。
現在は、研修責任者として、研修コンテンツの作成やブラッシュアップに勤しんでいる。
趣味はサッカー観戦。(横浜F・マリノスサポーター) 横浜にシャーレを!横浜にアジアの頂点を! このライターの他の記事を見る

この記事をシェアする

採用情報RECRUITING Info.