2025年 新入社員ブログ 篠原06 [あれから8か月]

2025年4月入社の篠原です。

6回に分けて、今までの業務で学んだことや自分のことについて紹介します。今回はその6回目になります。見ていただけると嬉しいです。

今回は入社から8か月経って思ったことについてご紹介します!

社会人になって

私はこれまで学生として過ごしていたので、そんな私が社会人としてこれから過ごしていけるか不安で、特に業務をこなせるかどうかや、これからお世話になる方々に迷惑がかからないかなど様々な不安がありました。

実際に入社した当初も、入社初日は入社式、1週間後には外部研修が始まり、慣れないことばかりだったのでずっと不安な状態でした。
でも今は不安な要素はなくなりました。現在携わっている業務も、難しいことはたくさんありますが、なんとかやっていけていると思っています。私がそう思えたのも、周りの方々が支えてくださったおかげです。

これからも恩返しの意味も込めてしっかりと貢献できるように頑張りたいです!

変わったこと

私が入社したときと現在で比べて、一番変わったのはLaravelを使ったコードの書き方がかなり理解できたことや、JavaScriptなど、技術的な部分に関する知識が多く身に付いたことです。

研修でLaravelを学んでいた時に比べるとすごく成長しているのを実感していて、例えばとある処理を実装したいとなった時に、当時は調べたものの中にある関数やその中に出てきた言葉の意味も調べる必要がありました。
それに対して現在は、関数や言葉の意味も少しずつ分かってきて、悩む時間が減ったのをとても実感しています。

まとめ

これまで6回に分けてブログを書かせていただきましたが、改めて今までの自分を振り返ることができたのでよかったです!
特に専門学校でプログラミングを学び始めてから今に至るまで、すごく成長したことが分かりました!
これからもこの若きプログラマーを見守っていただけると嬉しいです!

今回のお話はここまでです!
最後までご覧いただきありがとうございました!

2025年 新入社員ブログ 篠原05 [好きなラジオを作れるAI]

2025年4月入社の篠原です。

6回に分けて、今までの業務で学んだことや自分のことについて紹介します。今回はその5回目になります。見ていただけると嬉しいです。

今回は好きなラジオを作れるAI、「NotebookLM」についてご紹介します!

タイトルにはわかりやすくラジオと書いていますが、正確に言うとラジオではなくポッドキャストです。
違いとしてはラジオというのは、リアルタイムで電波を通して聞くものを指し、ポッドキャストはインターネット経由で好きな時に好きなだけ聞くものを指します。

NotebookLMとは

NotebookLMとはGoogleが提供するAIアシスタントの一つで、資料を自動で要約してくれて、それを音声化してくれるものです!
つまり、AIがポッドキャストを作ってくれます!
資料は、Googleドキュメント、PDF、ウェブページURL、YouTube動画リンクなどを自分で選んでそれを送ることができます。

また、どのくらいの長さで音声化するかも決めることができます。標準に設定しておくと、大体15分程度のポッドキャストを聞くことができます。

女性と男性が実際のポッドキャストかのように会話しているものが生成され、何か作業しているときや、電車での移動中に聞くことできるのでおすすめです!

他の生成AIとの違い

従来の生成AIはインターネット上の膨大な情報をもとに回答を生成しているのに対し、NotebookLMはユーザーがアップロードした資料だけを参考にして回答を生成するので、どのくらいの範囲で要約してほしいかを自分で決められるのが特徴です。

これにより正確な情報に基づいた回答を生成するため、関係ない知識による誤回答を減らすことができます。

イメージとしては、

ChatGPT/Gemini
アイデアを出したいときや、AIが持つ幅広い知識を利用し、対話することに向いている

NotebookLM
資料について詳しく知りたい、要点を整理したい、それについての会話をラジオ感覚で聞ける

どちらのAIにも良さがあるのでうまく使い分けできるといいですね!

実際に生成してみた

使い方も説明しながら実際に生成してみます!

ブラウザでも操作できますが、今回は実際に使用する可能性の高いスマホのアプリで説明します!一度でいいのでぜひ試してみてください!

1.ログインする
まずはNotebookLMのアプリをダウンロードし、Googleアカウントでログインします。

2.ソースのアップロード
次に新規作成のボタンがあるので押してもらうと、ソースのアップロード画面に移ります。

ここでファイルをアップロードすることもできますが、今回は実際に検索してみようと思います。
上のウェブからソースを見つけるという欄で好きなテーマを調べます。今回は「おすすめのラーメン店」で検索してみます。

10件表示されるので、ここで自分がいいと思ったものだけチェックを入れることができます。今回はすべて選択してインポートを押して次に進みます。

3.音声生成
下にソース、チャット、スタジオという項目があり、スタジオというところで音声解説を生成することができます。
(ソースでは先ほどインポートしたソースを確認でき、チャットではチャット形式で質問ができたり、指示を出せます。)


スタジオを押すと、下にデフォルトで生成されたものがありますが、これは英語の音声になっています。上の音声解説を押してもらうと、日本語の音声を生成できます。

音声解説の横にあるペンのマークを押すと、長さや言語を変えることもできます。

実際に生成されたものを聞いてみると、ラーメンが今すぐ食べたくなりました。本当に人間が話しているみたいで、もはや怖いです…

少し長くなってしまいましたが、面白いのでぜひ試してみてほしいです!

今回のお話はここまでで、次回は入社から8か月経って思ったことについて話していきます!
最後までご覧いただきありがとうございました!

2025年 新入社員ブログ 篠原04 [基本情報技術者試験]

2025年4月入社の篠原です。

6回に分けて、今までの業務で学んだことや自分のことについて紹介します。今回はその4回目になります。見ていただけると嬉しいです。

今回は基本情報技術者試験に合格した時の勉強法についてご紹介します!

基本情報技術者試験とは

まず基本情報技術者試験とはどういうものなのかを簡単に説明します!
基本情報技術者試験とは、ITを活用したシステム開発に必要な基礎知識と技能を証明する国家試験になります。調べてみると、ITエンジニアの登竜門とも呼ばれているみたいです!
また、科目Aと科目Bに分かれていて、それぞれで6割以上の得点に達すると合格になります。

科目AはITの全体的な基礎知識が4択の問題で出され、科目Bはアルゴリズムとセキュリティについての問題が出ます。こちらも回答を選ぶタイプですが、より選択肢が増えます。
私は科目A試験免除制度という、科目AとBを別々のタイミングで受けることができる制度を利用しました。

科目A、Bどちらも難しいですが、私が受けていた時のおすすめの勉強法について説明します!

おすすめの勉強法

まずは科目Aですが、とにかく範囲が広いです!

テクノロジ系:41問
マネジメント系:7問
ストラテジ系:12問(2025年12月9日時点)

となっています。気の遠くなるような範囲ですが、当時授業以外で私が行った勉強法は一つだけです。それは「過去問道場」です!

過去問道場とは基本情報技術者試験ドットコムというサイトで運営されているもので、過去問題2920問(2025年12月9日時点)からランダムに出題してくれるWeb問題集になります。
分野を指定して出題させたり、選択肢をランダムに並び替えたりすることもでき、問題を解くたびに解説も見ることができます。

ログイン機能もあるので過去に何問解いたかなども見ることもできます。
私は当時これを2000問以上ひたすら解いて、科目Aはギリギリ合格点に達する事ができました。
余裕がある方は3000問、4000問とより多くの問題を解くといいかもしれませんね!

科目Bに関してですが、20問を100分で解かなければいけないのでしっかりと理解していないと、間に合いません。私は参考書を購入し、理解できるまで何周も読んでいました。参考書に関しては科目B対策のものであればどれもいいと思います!
そしてある程度理解できたら、科目Bのサンプル問題というものをIPAが提供しているのでそれをひたすらやっていました!
このように科目AもBも、根気強く学習するのが大事だと思います!

これから受験される方がいましたら、ぜひ参考にしていただければと思います!

今回のお話はここまでで、次回は好きなラジオを作れるAIについて話していきます!
最後までご覧いただきありがとうございました!

2025年 新入社員ブログ 篠原03 [業務で学んだ処理や関数]

2025年4月入社の篠原です。

6回に分けて、今までの業務で学んだことや自分のことについて紹介します。今回はその3回目になります。見ていただけると嬉しいです。

今回は業務で学んだ処理や関数についていくつかご紹介します!
主にLaravelで使えるものになります!

issetとemptyの違い

これはLaravelを使うときにまず覚えとかなければいけないものだと思いました!
よく条件分岐として使われますが、違いとしては、
issetは1や0を同じ値とし、nullは別のものとして扱いますが、
emptyは0とnullを同じものとして扱います!

例えば、

のように$valueに値が入っていたらという条件を作ろうとしたときに、!emptyだと、0をnullとして扱うので、結果はfalseになります。

「チェックボックスがOFFのときにvalue=0を送る」のような処理があった時に気を付けなければいけませんね!

前のページ(URL)を取得:url()->previous()

こちらは画面遷移したときに遷移する前の画面のURLを取得する処理です。
用途としてはこの画面から来たときはこの処理、こっちの画面から来たときはこの処理という風に条件として使用できます!

このようにすると、URLに/testが含まれていたらという条件をつくることができます!

配列

データの取得やデータの登録時に配列の関数をいくつか学んだのでごしょうかいします!

array_first():配列の最初の値を取得
array_key_first():配列の最初のキーを取得
array_last():配列の最後の値を取得
array_key_last():配列の最後のキーを取得
array_diff():配列同士で比べて差分を抽出する
array_unique():値が重複するものを削除する
array_key_exists():指定したキーが配列に存在するかを調べる

他にも便利だなと思ったものがたくさんありますが、今回はここまでにしようと思います。
今回紹介した関数をすべて知っているという方もいるかもしれませんが、まだまだ未熟なので温かい目で見守っていただけると嬉しいです!
今後も機会があれば紹介しようと考えています!

今回のお話はここまでで、次回は基本情報技術者試験について話していきます!
最後までご覧いただきありがとうございました!

2025年 新入社員ブログ 篠原02 [外部研修]

2025年4月入社の篠原です。

6回に分けて、今までの業務で学んだことや自分のことについて紹介します。今回はその2回目になります。見ていただけると嬉しいです。

今回は外部研修で学んだことについてご紹介します!

外部研修で学んだこと

4月から5月の約2か月間、私は新宿で外部研修を受けていました。そこで私が学んだのは、

・IT基礎
・Linux
・プログラミング入門
・MySQL
・PHPベーシック
・Laravel
・Git入門
・ソフトウェアテスト

そして最後にチーム開発演習として、Laravelを使ってフリマサイトの開発をしました。

今思うと、MySQLやGitなど、今の業務で使うこともたくさん学ぶことができたのですごくいい研修だったなと思います。
基本的には専門学校で学んでいたのですが、Laravelは未経験だったので、Laravelが始まった時は難しすぎて不安でしかなかったです。

しかし時間がたつにつれ徐々にMVCモデルを理解し、最終的にはチーム開発演習で貢献することができました!
この外部研修のおかげで今の業務をこなせているのであの時頑張ってよかったなと思います!

フォローアップ研修

8月から2026年2月までフォローアップ研修というものを受けています。
これはこれからの社会人として大事な論理的思考や、マナー等を身に着けるための研修で、現在も月に一度受けています。
リモートで自宅から受講しているのですが、他の参加者とのグループワークがあるので集中して受講することができます。

内容としては、

・ビジネス基礎研修
・ホウレンソウ研修
・タイムマネジメント研修
・ロジカルシンキング研修
・文章力向上研修
・ストレスマネジメント研修
・メンター研修

具体的な内容は割愛させていただきますが、タイムマネジメント研修やロジカルシンキング研修に関しては、今後の業務においても大事な考え方だと思いました。次回の研修は文章力向上研修です。
私は今こうしてブログを書いていますが、文章を作るのが苦手なイメージがあるんですよね。この研修を受けた後ならより見やすいブログが書けるのかもしれませんね!

今回のお話はここまでで、次回は業務で学んだ関数について話していきます!
最後までご覧いただきありがとうございました!

2025年 新入社員ブログ 篠原01 [プログラミングを仕事にしたきっかけ]

2025年4月入社の篠原です。

今回から6回に分けて、今までの業務で学んだことや自分のことについて紹介するので、見ていただけると嬉しいです。

今回は自分がプログラミングを仕事にしたきっかけについてご紹介します!

プログラミングを仕事にしたきっかけ

私がプログラミングを仕事にしたきっかけは、私は自分の好きなことで生きていきたいと考えていたので、その時にプログラミングを仕事にしたいと思いました。
そのころ自分はプログラミングでできることがあまりわからなかったので、身近なもので考えました。

そして思いついたのがWebサイトです!多くの人が使うものが自分の手で作れるようになればより多くの人の役に立てるのではないかと思いました!

初めてのプログラミング

私が初めてプログラミングをしたのは小学生の頃でした。それは今業務でやっているようなものではなくScratchという小学生にも扱えるようなわかりやすいものです。
Scratchはブラウザ上で使用でき、「〇歩動かす」「〇秒待つ」などのブロックを組み合わせて作るので、誰でも簡単に使用できるのが特徴です。
私はこれを学校で体験した当時すごく好きだったのを覚えています。

また、中学、高校の頃の情報の授業も、他の友達に比べて私はかなり熱心に取り組んでいました。その時に私はパソコンが好きなことに気づきました。
私は自分の好きなことで生きていきたいと考えていたので、その時にプログラミングを仕事にしたいと思いました。

専門学校で学んだこと

専門学校ではC言語やJava、PHPなど様々な言語を学びました。また卒業制作ではPHPを使っていたのでその頃の経験が今役に立っている部分もあるかもしれませんね。

また全体的な情報の知識をつけるために基本情報技術者試験を受験し、合格しました。
この時の知識はかなり忘れている部分があるので、いつかその時の知識を思い出して、応用情報技術者試験も受けてみたいと考えています!

今回のお話はここまでで、次回は外部研修で学んだことについて話していきます!
最後までご覧いただきありがとうございました!

新入社員ブログ 斎藤06[PHPUnitデータプロバイダ]

25年度入社の斎藤です。

 以前、斎藤04[PHPUnitについて]のブログでは、以下のようにテスト対象のクラスメソッドに対して、1つのデータだけを使って、メソッドの動作を検証しました。

※addメソッドに対して、引数(2,3)の場合のみ検証

しかし、上記の結果で得られる検証結果は引数が(2,3)の場合は正常に機能するということしか保証できません。
実際のテストでは様々な入力を用いて多角的に検証していく必要があります。PHPUnitにはそのための便利な機能として、データプロバイダ(DataProvider)があります。今回は、そのデータプロバイダの使い方について簡単に説明していきます。

データプロバイダの作成・紐づけ

 今回は斎藤04[PHPUnitについて]のブログですでに作成したテストコード(Sample_Test.php)を流用し、これにコードを追記することでデータプロバイダを利用することにします。
データプロバイダによるテストの対象はaddメソッドとします。

Sample_Test.php(以前のブログで作成済み)



1.データプロバイダの参照を追加
まず、データプロバイダがテストコード内で利用できるように以下の参照をテストコードに追加します。

2.テストメソッドを引数をとるカタチに修正
前回はテストメソッド(test_add)内で、テスト対象のメソッドであるaddメソッドを呼び出し、その引数にデータ(2,3)を直接記述しました。

以前のテストメソッド(test_add)

今回は、このテストメソッドを以下のように修正することで、任意の入力でaddメソッドを検証できるようにします。

修正1: addメソッドの引数を変数に変更する
add(2,3) → add($var1,$var2)

修正2: アサーションメソッドの期待出力値を変数に変更する
assertEquals(5,$result) → assertEquals($expected,$result)

修正3: テストメソッドがこれらの変数を引数として受け取れるようにする
test_add() → test_add($var1,$var2,$expected)

これらの修正を加えるとテストメソッド(test_add)は以下のようになります

3.データプロバイダを作成する
データプロバイダはテストメソッドの引数に合わせるように作成していきます。データプロバイダはメソッドとして作成することができ、テストメソッドの直下に記述します。以下の例(SampleDataProvider)にあるように、データの組み合わせによってパターン名を付けることをができます。このパターン名はテスト実行時に表示されるので、どのパターンの認証が成功し、失敗したのか一目で分かります。

データプロバイダの例(SampleDataProvider)


今回のテストメソッド(test_add)は

第1引数($var1): 任意の整数
第2引数($var2): 任意の整数
第3引数($expected): $var1と$var2の合計

よって、データプロバイダに用いるデータの組み合わせは以下のようなものが考えられます。
[任意の整数,任意の整数,2つの整数の合計値]
= [1,1,2][2,2,4][0,0,0][-1,-2,-3]…..etc

今回はデータプロバイダを以下のように定義します。
メソッド名: additionDataProvider

4.テストメソッドとデータプロバイダを紐づける
テストメソッド(test_add)の1行上にピッタリと乗せるように、以下の記述を追加します。これによってテストメソッドとデータプロバイダが紐づけられます。

以上で、データプロバイダの追加は完了です。テストコード全体は以下のようになります。

以下のテストコマンドを実行します。

これで、データプロバイダで作成した3つのパターンのaddメソッドの検証と1つのパターンのsubメソッドの検証が行われ、全ての検証が正常に終了したことが分かります。

最後に

 データプロバイダを使えば、テストメソッドを検証のパターンごとに何個も記述せずに済むため、テストコードがかなりスッキリしてとても便利であると感じました。特に境界値テストなど、似たようなテストを複数実行したい場合に重宝すると思います。

以上で今回のお話をおわります。
ありがとうございました。

新入社員ブログ 斎藤05[タイトル]

25年度入社の斎藤です。

今回は、お昼休憩のときに利用している弊社近辺のご飯を紹介していこうと思います。

なか卯

 弊社のある建物から徒歩10秒のところにお店がありますので、お昼休憩で食べる外食の回数、圧倒的No.1です。いつも黄身の乗った親子丼を食べています。
他のものはまだ食べたことがありません。海鮮丼やウナギ、うどんそばなど様々なメニューをとりそろえていますが、迷った末に結局親子丼を頼みます。

なか卯 三田店
https://maps.nakau.co.jp/jp/detail/2327.html

町田商店

 弊社から徒歩5分の場所にお店があります。
入社前から大好きなラーメン屋だったので、入社してすぐに食べに行きました。会社の近くにあって嬉しい反面、頻繁に食べるとカロリーがヤバそうなので、我慢しなくてはいけないのが少しつらいです。
トッピングはいつもネギチャーシューかホウレンソウにしています。

町田商店 高輪ゲートウェイ店
https://shop.machidashoten.com/japan/detail/112103

バンブルビー カフェ

 [カフェタイム]14:00~17:00に訪れました。見た目もオシャレで味も大満足でした。特にパンケーキにふんだんに使用しているジャムがとても濃厚で美味しかったです。
飲み物はオレンジジュースやコーヒーなどがあり、飲み放題でした。店内の雰囲気も静かで落ち着いているのでとてもリラックスできます。
パンケーキは何種類かあるようなので、他のパンケーキにも挑戦したいです。
ランチタイムは11:30~14:00にあるそうで、その時間帯にはまだ訪れたことがないので、そちらも行ってみたいなと思っています。

BUMBLEBEE CAFE 東急ステイ高輪
https://retty.me/area/PRE13/ARE16/SUB1301/100001511154/

最後に

 今回は、私がお昼休みに利用しているご飯を紹介させていただきました。
高輪ゲートウェイ駅や田町駅周辺にも紹介したい魅力的なご飯がたくさんあるのですが、長くなってしまいそうなのでまた次回、他のブログで紹介させてください。

以上で今回のお話をおわります。
ありがとうございました。

新入社員ブログ 斎藤04[PHPUnitについて]

25年度入社の斎藤です。

 クラスやメソッド単位での動作を保証するために行う、単体テストというものがあります。今回は、テストコードを記述することで単体テストを自動化する機能をもつPHPUnitについて、Laravelのwebアプリケーションへの導入方法と使い方を簡単に説明しようと思います。

PHPUnitの導入方法

 Laravelを導入している場合、phpunitは標準でインストールされているため、特にインストール操作は必要ありません。

テストコードの作成

 PHPUnitでの単体テストは、テスト対象となるクラスとテストコードを1対1の関係で作成していきます。

Laravelプロジェクトフォルダ内で以下のコマンドを打つことで tests/units 配下に単体テストファイル(Sample_Test)を作成できます。

作成できたテストファイル tests/unit/Sample_Test.php にて以下のコード変更を行います。

※テストフォルダには、単体テストファイル用フォルダのtests/unit、結合テスト用のフォルダのtests/featureが存在します。unitフォルダ内に作成されるテストファイルは、厳密な単体テスト用のファイルとして作成されるため、デフォルトではLaravelが提供する外部依存機能機能(トランザクション、ファクトリー、シーダー、ファサード認証など)が使えません。しかし実用的には単体テストにおいても、これらのLaravelの機能を含めた単体テストを行うことがあるので、上記のコードの変更を行いました。

結果、以下のようなテストコード(Sample_Test.php)のひな型が作成できます。

Sample_Test.php

次にテスト対象として、足し算、引き算の機能を持つクラス(SampleClass.php)を作成します。

SampleClass.php

これで、テスト対象となるクラス(SampleClass.php)とテストコード(Sample_Test.php)のひな型を1対1で用意できました。最後に、テストコードを編集して、テスト対象のクラスをテストできるようにします。

テストコードファイル内で追記する主な内容は

1.テストクラス内に、テスト対象のクラスのオブジェクトを定義する
 テストクラスの中で使用するテスト対象のオブジェクトを、プロパティ(変数)として宣言します。


2.setUp関数を定義する
各テストメソッドが実行される前に毎回自動で呼ばれる特別なメソッドです。
ここでテスト対象のオブジェクトを作成します。
こうすることで、テストメソッドごとに毎回新しい状態のオブジェクトを使えるようになり、テスト同士が影響し合うのを防げます。
parent::setUp()は初期化処理を継承するために必須の記述です。


3.テスト対象のメソッドごとにテストメソッドを作成する(テストメソッド名は test….)
基本的に、テスト対象のメソッド1つに対して、テストメソッドも1つ作成します。
テストメソッドごとに、テスト対象の各メソッドをテストしていくイメージです。
実際のテスト内容をここに記述します。
テストメソッド名はテスト対象のメソッド名と対応させると分かりやすいです。


4.テストメソッド内で、テスト対象クラスのオブジェクトからメソッドを呼び出し実行する

setUpメソッドで作成したテスト対象のオブジェクトを使って、実際にテストしたいメソッドを呼び出します。


5.メソッドを呼び出した後、期待する結果を検証していく(assertion)

期待する結果と実際の結果が一致しているかを検証する手段として、assertion(アサーション)が用意されています。
具体例として
・予測値と実際の結果を比較するメソッド : assertEquals()
・trueかどうかを検証するメソッド : assertTrue()
・配列の数を検証するメソッド : assertCount()
などがあります。
これをテストメソッド内で利用していきます。

これら1~5の内容をテストコード(Sample_Test.php)に追加すると以下のようになります。

あとはテストコードを実行するだけでテストを行えます。
テスト実行コマンドは以下の通りです。

作成した全てのテストファイルを実行する場合

特定のテストファイルを実行する場合

テストコードを実行すると以下のような結果が得られます。
今回の二つのメソッド(add、sub)は想定通りに機能していることが確認できました。

最後に

 PHPUnitを学んで率直に感じたことは、テストコードを記述していくことはかなり労力がかかる作業であるということです。テスト対象のコードとテストコードを対にして記述していく必要があるため、単純計算で2倍程度のコードを記述することになります。小規模なシステムや修正があまり発生しないコードでは、この労力は割に合わないかもしれません。しかし、システムが大規模になり、複数人での開発や頻繁な変更が発生する環境では、自動テストによって迅速に品質を保証し続けられるメリットは大きいものなのだろうと思いました。

以上で今回の話をおわります。
ありがとうございました。