ApacheHTTPServerでHTTP/2を動かすためにphp-fpmを導入した結果

こんにちは。22年度入社の中島です。

先日作業していた案件で、ローカル環境構築をした後、
VMとサーバー接続しようとした時の出来事

mpmファイルの設定が「prefork」だとHTTP/2が機能せず
mpmファイルの設定を「event」または「worker」にすると、Apacheが機能しないという状況になりました。


上記のエラーを解決するためにphp-fpmを導入し、mpmの設定を「event」または「worker」にしたところApacheが正常に起動しました。

php-fpmをインストール


/etc/httpd/conf.modules.d/00-mpm.confの設定を変更
今回は、workerを有効にしています。


/etc/httpd/conf/httpd.conf に設定を追加しました。
拡張子phpのファイルをApacheで処理する場合に、php-fpmを使うようにする設定として以下の内容を追加します。

Apacheの再起動し、ステータスを確認します。

Apacheが起動したら、phpファイルが正しく処理されることを確認します。
DocumentRootの直下にphpinfo.phpを公開フォルダに作成します。
中身は以下のようになってます。

これをブラウザで表示します。

正しく動作することを確認できました!

いかがでしたでしょうか。

HTTP/2を動かすためには、preforkでなくeventもしくはworkerで設定し、モジュール版phpでなくphp-fpmなどで動かす必要があるということがわかりました。

今後も業務で起こった出来事をブログにしていきたいと思います。

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

新入社員ブログ 中島05『Windowsのショートカットキー』

こんにちは。22年度入社の中島です。

作業を行っている時、ショートカットを使わず
マウスを使って作業することが多かったので
少しでも作業効率を上げるために、ショートカットキーを調べていました。
今回はWindowsのショートカットキーを紹介したいと思います。

・Ctrl+T(タブを開く)
開いているブラウザで新しいタブが開きます。

・Ctrl+W(アクティブなタブを閉じる)
使用しているタブを消します。連打注意

もし、作業中に必要なタブを消してしまった時いちいち検索し直したり、
履歴に行くなんて面倒ですよね?そんな時は

・Ctrl+Shift+T(閉じたブラウザの復元)
閉じた順番に閉じたタブが復元します。
こちらも連打注意

・Windows+V(クリップボード)
画面右下にクリップボードが開きます。
今回ブログを書くきっかけになったショートカットキーです。
個人的に一番役に立つと思います。

・PrtSc(画面をスクリーンショット)
画面全体をスクリーンショットします。
ですが、デュアルモニターなどを使っていると二画面一緒に撮れてしまいます。
そんな時はPrtSc+Altを使って、必要な画面をスクリーンショットしましょう。

・Windows+Shift+S(選択範囲をスクリーンショット)
範囲を選択してスクリーンショットします。Ctrl+Vでそのまま貼り付けも出来ますし、
クリップボード内にも保存されるので、そこからも操作できます。

・Windows+1~0(タスクバーのアプリの起動 )
タスクバーのアプリの起動します。(起動している場合はアプリが開く)

上の画像の場合、Windows+1でエクスプローラーが起動し、
Windows+5でchromeが開くといったものです。

いかがでしたか?
今回紹介したものはごく一部です。ショートカットに興味が湧いてきたのなら下のブログを見てみるまたは、一度ご自身で調べることをオススメします。
いい発見になると思います!

よく使うウィンドウズのショートカット (xchange.jp)

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

新入社員ブログ 山本慎太郎第6回

皆さんこんばんは!そろそろ、年度末ですね。学生の方は期末レポートに追われているといったところでしょうか?社会人になった私も年度末の提出物の期日が迫ってきています。(け、決して今までサボっていたということではないのです…)

ブログも第6回になりました。

https://blog-s.xchange.jp/archives/1888

https://blog-s.xchange.jp/archives/1844

https://blog-s.xchange.jp/archives/1814

https://blog-s.xchange.jp/archives/1788


過去のブログもよかったら見てね!


1~5回目は外部及び社内での研修のテーマでしたが、今回は業務から離れます。

今回は「会社近辺の散歩スポット」について書いていきましょう。

弊社は泉岳寺という場所にあるのですが、どこにあるのかあまりピンとこない人も多いのではないでしょうか?私は知人にどこで働いているの?と聞かれるとき、「泉岳寺」とは答えず「港区」と答えるようにしています。「港区」というと、「港区なんだ!?」という反応で、泉岳寺というと「どこ?」といったような反応をされます。(寺という文字が含まれてるので、ちょっと渋てくマニアックなイメージになってしまうのでしょうかね…)

さて、、泉岳寺とはどんなところか、昼休みに散歩してみました。

会社から3分ほど歩いたところに神社があります。たまに、お弁当を食べているサラリーマンの方が見受けられます。

少し歩くと、こんどはお寺です。立派な鐘がありました。

更に歩いていくと、またお寺がありました。築地本願寺っぽいですね。

更に更に歩いていくと、またまたお寺がありました。

地名にもなっている、泉岳寺というお寺でした。

たった十数分の散策で、寺社めぐりができてしまうのです。昼休みの数分で…!

どうやら、弊社の近くには寺社がたくさんあったようです!

ご利益がありそうです。

あっ、寺社だけではありませんよ。もう少し歩けば、レインボーブリッジがあるのです。仕事終わりに散歩できる距離です。

何もないようにみえて、実は何かある!というような泉岳寺でした。

今日はこの辺で!goodluck!!

新入社員ブログ 山本慎太郎第5回

あけましておめでとうございます!

正月はいかがお過ごしでしょうか?私は仕事を忘れゆっくりしていましたがあっという間に休みは過ぎていくものですね。。正月休みが終わってしまいましたが、ゴールデンウィークまで頑張っていきたいと思います

さて、ブログ第5回はOJT研修(実際の業務につきながらの研修)について記していきたいと思います!

4~5月は、外部での研修、6~8月は、社内での研修を行いました(前のブログでも書いたのでよかったら見てね)

9月からは今までの研修とは異なり、実際の業務に入りながらの研修になります。

私は某企業の基幹システムの保守、改修の案件に配属されることになりました。案件に入る前に、まず環境構築を行いました。

環境構築ってどんなことをするの?といいますと…簡単にいうと、基幹システムに接続する設定だったり、案件の他の開発者と開発環境をそろえたりといったことをします。数人で同じシステムを作るので、開発環境を他の人とそろえる必要があるのです。システムのソースコードや、データベースの構造などをそろえます。gitやvirtulbox、A5M2などのツールをインストールして接続設定して…と、システム開発に必要な環境を自分のパソコンに構築していくのです。

また、システムの仕様書を見てどんな機能があるかなども確認したりしました。

環境構築はマニュアルを見ながら行ったのですが、とにかく書いてあることが難しい…研修なので先輩社員に細かく教えてもらいながら環境構築進めていきましたが、それでもわからないことやできないことが山のように出てきます。時間がかかりながらも何とか環境構築を終えました。

そして初仕事を上司から頂き、いよいよ業務に着手!というところですが、これ以上はお話できないのです。(具体的な仕事内容は、秘密にしないといけないのです・・)

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

新入社員ブログ 中島03 『フォローアップ研修』

こんにちは。22年度入社の中島です。

2022年12月21日
私はフォローアップ研修として、文章力向上研修を受講しました。
今回は研修での学習したことを感想を踏まえて、三つにまとめました。

1、文章力向上研修で学んだこと
2、今回の研修を受けて業務で生かしたいこと
3、感想

1、文章力向上研修で学んだこと
-文章を書く上で重要なことは「何の目的で」「誰に」「何を」「どう伝えるのか」である
-伝えたいことを項目化、グループ化し核を決める
-文章を短く、簡潔にする
-段落、文末などを意識し文章をまとめる
-主語、述語を記載する、明確に分かりやすく
-PREP法を使用する(P:結論、R:理由、E:事例、P:結論)

2、今回の研修を受けて業務で生かしたいこと
今回の文章力向上研修では上記のように様々なことを学びました。その中で特に私が業務で生かしたいと思ったことは、PREP法を使ってビジネス文書を記載することです。PREP法を使用すると、自分で一から文章を考えて作成するより相手に明確に伝えたいことを伝えられるからです。
また、読み手に確実に伝えるべきことを伝えることが重要だと学びました。普段の業務では、先輩や上司に何かを伝える際に冗長な文章になってしまいがちです。今後は目的をしっかり決めて短い文章で伝えるようにします。

3、感想
今回の文章力向上研修を受けて、今までの私は文章を書く際に結論から書くことは意識していましたが、短い文章で書く、文末は一緒ではない方が良い、など細かいところは意識したことがありませんでした。今後の業務では今回習ったことを生かせるように、まずはPREP法で伝える、ということから始めようと思います。

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

2022新入社員ブログ山本慎太郎  第4回

皆さんこんにちは!

もう年末なのですね…気付けば、、街はイルミネーションの灯りで煌びやかです。私はもうすぐ23歳になるので、自分自身に灯りを付けたいですね。

さあ、今回のテーマはPHPとララベルの社内での学習についてです!

7月はPHP、8月はララベル(PHPのフレームワーク)の学習をしました。まだ暑い夏のことでした。

弊社では、PHPを使用したwebアプリ開発案件がいくつかあります。社内研修ではPHPの基礎的な扱い方を1か月かけて学習しました。
学習の課題として、PHPで簡単なアプリケーションを作成しました。機能は↓のような簡単なものです。

機能
・データ新規登録ページ
・登録データ一覧ページ
・登録データ検索機能
・削除機能
・登録データ編集機能

・データ新規登録ページ

入力フォームを作って、データベースに登録する機能を作成します。入力した値が、どのようにしてプログラムを通過しデータベースに入っていくのかを意識しながら作ります。また、不正な入力値がデータベースに登録されないようなセキュリティのことも考えます。

新規登録画面

・一覧表示

新規登録で作成したデータが、正しくページに一覧として出力されるようにプログラミングします。ページネーションという1ページに表示できる件数を設定する機能の実装がとても苦しかったのを覚えています…その分完成した時の快感が強いです!

・検索機能

登録したデータの中から、条件に一致するワードを検索したい!といった機能です。
ここで、6月に行ったSQLの学習が生きてくるのです。ここでも、検索欄に不正文字列の入力でエラーが起きないよう実装します。

検索、一覧表示画面です。非常に検索項目が多いです

・削除機能、編集機能

データの削除や、編集が行えるよう実装します。これも、SQLの知識が生きます。

不明点や、うまく実装できない点などは、先輩社員の力を借りながら、少しずつ完成させていきました。こうして、7月が終わり8月になります。

8月は、laravelに入ります。laravelとは簡単に言うと、PHPの複雑なコードをより簡単にするプログラムとかのひな形です。

laravelを用いて、7月と同じ機能のアプリケーションをまた1から作成します。同じ機能で同じPHPの言語ですが、書き方はだいぶ異なります。例えば、ページネーション

$countlist = $state->fetch(PDO::FETCH_ASSOC);

foreach ($countlist as $data) {

            $countnum = $data;

        }

if (!empty($_GET[‘page_id’]) === true) {

            $page_id = $_GET[‘page_id’];

        } elseif (empty($_GET[‘page_id’])) {

            $page_id = 1;

        }

$offnum = ($page_id – 1) * 10;

$max_page = ceil($countnum / MAX);

    if (empty($page_id)) {

        $now = 1;    } else {

        $now = $page_id;

    }for ($i = 1; $i <= $max_page; $i++) { if ($i == $now) {

            echo $now . ‘ ‘;

まだ、、続く….長いよ…

これをlaravelで書くと…

‘users’ => DB::table(‘users’)->paginate(10)

↑たった一行で!

みたいに、楽に、かつできることも多いというのが特徴なのです。

PHPとララベルの違いを味わいながらの8月でした。

そして、9月になり、OJT形式で実際の業務に入っていきます。

ということで、今回はここまでです。読んでいただきありがとうございます!

よいお年を…

2022新入社員ブログ 山本第3回

お疲れ様です!

新入社員ブログ第3回です。第1回と第2回と外部研修について書いていきました。第3回は研修後の社内での研修の様子について記していきたいと思います。

5月の末日に2か月間の社外での研修を終えた私は、6月から社内に戻りました。

社内に戻ってからもしばらくは実務には入らず、引き続き研修です。

私の場合は↓スケージュールで進んでいきました。

・6月:SQLの学習

・7月:PHPの学習

・8月:Laravelの学習

・9月~:実務(OJT形式)

SQL、Laravel(PHP)は弊社の配属される案件によってですがは非常によく使います。社内に戻って3か月間は、実務に入るための勉強期間といったところでしょうか。

6月から7月までの1か月間はまずSQLを学習しました。SQLは簡単に言うとデータベースを扱うための言語です。使ったのは、このSQLドリルです。

上長の「早さよりも、一つ一つ理解して進める」方針のもと、1冊のテキストを1か月間かけて丁寧に、抜けなく進めていきました。

MySQLは研修で3日間という速さで学んでおりましたが、6月からの社内研修ではだいたい同じぐらいの範囲を1か月近くという時間をかけますので学習方法も研修の時とは異なります。研修時は、「MySQLで〇〇のようなことができる」というのをとにかくたくさん覚えるという感じでしたが、この1か月間は、「MySQLで〇〇のようなことができる」+「〇〇するためのSQL文を処理の順番もイメージしながら正しく覚える」といった具合に、より細かい粒度で学習します。テキストでは理解できないところは、先輩社員やgoogle先生の力を頼りながら、理解を深めます。

このように、6月はSQLを学習し、7月からはPHPで簡単なアプリケーションの作成を課題としたプログラミング練習を行っていきます。

今回はこの辺でさようなら!

2022新入社員ブログ 山本第2回

改めましてこんにちは!2022年度入社の山本慎太郎と申します!
(前回のブログの、挨拶が抜けていたみたいで…失礼いたしました…)

早速ですが、ブログ第2回目は、研修ってどんなことを学んだの?というテーマで書いていきたいと思います!

前回のブログにも書いた通り、1日のスケジュールでは座学がほとんどです。

・IT基礎:1日

・Linux入門:2日

・プログラミング入門:3日

・MySQL:3日

・PHPプログラミング:7日

・Laravel:7日

・Git入門:1日

・開発演習:10日

↑のようなカリキュラムで授業は進んでいきます。初日はIT基礎という名前の通り、そもそもITとは何ぞや?というように、基本的なところから進んでいきました。

2日目からはリナックスについてです。リナックスとはWindowsのようなOSの一つですが、Windowsと異なるのは、コマンドでコンピューターの操作を行います。私は(というか皆さんも?)今までWindowsを使うことが多かったので、Linuxコマンドの操作にあまりピンとこなかったのですが、今私がやっているOJT研修の案件では、Linuxのコマンドを操作したりと、業務では何かと使うことが多いOSなのです。

そして、次にプログラミングに入門です。HTML、CSS、Javascriptを本当にプログラミングの基礎的なところを学びます。

次に、MySQLというデータベースについて3日間学んでいきます。データベースの更新、新規作成、検索などのやり方を学びます。

PHPプログラミングでは、データベースとWebページの連携を行うようなプログラムを作ったりと、プログラム入門よりも本格的になってきました。

laravelは、PHPのフレームワークと呼ばれるもので、一言でいうならばPHPプログラミングを楽にする道具のようなものです。PHPで難しいと思っていたものが、laravel使えば1発で解決!!みたいな感じです。

 gitを1日学んだのち、最後の10日間は、研修の受講生でチームを組んで、開発演習です。

私たちのクラスは、同期のHさんや別会社の方々合わせて6名のクラスだったので、3人組の2チームに分かれて開発演習を行いました。phpのフレームワークであるlaravelを使って、1つのwebサイト作ります。

私たちの班は「教科書売買システム」を作ることになりました。画面の遷移や、レイアウト作成、DBの設計、細かい仕様の定義など、自分たちで決めます。サイトの実装に入る前に、設計や、その資料の作成などやることたくさんです。数日かけてどんなシステムを作るのか決めて、ようやく実装に入ります。

いざ、実装に入ると今度はエラーとの闘い…自分たちで解決できないものは、講師の方のヒント(答え)ももらいながら、何とか完成にまで導きました。

そして、最後は企業の方向けに発表会をして終了!!

そんな感じで2か月はあっという間に流れていきました。

研修を終えて感じたことは、とにかく早い!とにかく多い!

とにかく早く、非常に覚えることの多い2か月間でしたが、得られるものは大きかったと思います。入社前はまともに書けなかったプログラムが書けるようになり、自分たちで、1つのサイトを完成させられるようになったのだから。

入社後の2か月の外部研修は終わり、6月からは社内での学習期間となります。次回以降はそのことについても書いていきたいと思います。

それでは失礼いたします。

最後まで読んでいただきありがとうございました!

鹿倉の新入社員活動記録・第2回

こんにちは! 社会人、1年目の鹿倉 圭斗です。

今回は前回の外部研修に続いて昨年5月に行われた、研修内容の内容を更新します。

★5月の研修内容

■研修内容

 5月の研修内容は、phpのフレームワークの1つ、Laravelとバージョン管理入門であるgitを学びました。また、5月には、研修の理解度を図る為に中間テストと終了テストを実施しました。

 内容としては、研修内容からほとんど出題されました。テキストを読んだり、プログラムを書いたりして復習をしていれば問題ないですよ。

 5月下旬の2週間は、研修の集大成のシステム開発演習が有りますが、今回では収まり切れないので、次回の3回目にピックアップします。お楽しみに!😊

■Laravelを始めて触りました。

 4月でPHPの研修が終わり、Laravelの研修を行いました。Laravelと聞いて最初は、何だろう、難しいそうと内心怖がっていました。ಥ_ಥ

 しかし、Laravelを使用してみるとPHPの時と比べて便利だと実感しました。

 例えば、ページリンクを設定する際、phpでは、データベースの接続から前ページ、次ページのコードを一からコーディングしなければなりません。一方でLaravelでは、データベース自動生成があるので数行のコーディングでページリンクを実装する事が出来ます。

 この様にLaravelでは、phpで実装に時間が掛かる所を短縮する事が出来ます。実際にページリンクを実施してみたら、本当に楽でまるで、魔法使いになったと実感しました。🧙‍♂️

 Laravelとphpと比べる事で、Laravelで何が便利なのかを学習することでLaravelを深く学べるので比較するのもいいかもしれませんね。👦

■Git を使用しました。

 Laravelより、苦労したのは、Gitと呼ばれるバージョン管理です。

 バージョン管理とはシステム開発中に更新されていくファイルの変更、更新を記憶する事です。読むだけでは、イメージがわくのが難しいですよね。

 システム開発は、1人で作業するものではありません。実際は,複数のメンバーで作業します。作業中では、メンバーが作成したプログラムのファイルを編集します。編集した内容を更新して、他のメンバーにも反映させる時にGitを使います。

 Gitの使用が難しい点は、以下の点があります。

  • gitは、Linuxと同様にコマンド操作で、コマンドを覚えなければならない。
  • コマンドの意味を理解して、実行後どの様な姿になるのか想像する必要があります。

 私も、gitの使い方には、本当に苦労しました。

 特に、Gitは、覚えるコマンドの数が多いので、実行するためにどのコマンドを使わなければならない所に苦労しました。😣

★4月と比べて成長出来た点

■寿司打、4000円以上行きました。

 5月初頭のタイピング練習、寿司打で、自己ベスト更新の4620円まで到達しました。最初の時は、2000円代後半のスコア時と比べて進歩しました。中々,4000円代の壁が超える事が出来ず、苦労しましたが、研修終了前に、超えられて本当に良かったです。😂

 スコアを超えるために以下の事を行いました。

  • 寿司打を毎日、15分やり込む事。
  • 打ちにくいまたは、時間が掛かった所を練習を行いました。

 タイピングは、作業効率を上げる事が出来るので、今からでもタイピングして作業効率を上げて欲しいです。

★お役立ち情報

 皆様は、ショートカットキーを使用していますでしょうか。学生の一部では、ファイルをコピー、削除する際にマウスで操作している人も多いはずです。

 実は、マウスで操作するより、ショートカットキーで操作した方が作業効率は上がります。

 例えば、Excelで毎回上書き保存のボタンをクリックする場合とshift+Sでショートカットキーを使用するのどちらが効率的でしょうか。ショートカットキーを使用した方が早いと実感するはずです。

 この様にショートカットキーは、作業効率を早くなるので、みなさんも、社会人になる前にパソコンの基本操作やショートカットキーの操作を慣れておきましょう。

★まとめ

 5月中旬までの研修を振り返って見て、いよいよ研修内容も佳境になってきました。

 研修を始めた時と比べると、徐々にですが成長したと実感しました。特に,最初の頃は、コードを書くことが出来るのか不安でしたが,日々の学習をする事によって出来る様になって成長していると思いました。

 しかし、全てを理解してはいないので、研修後も、学習を怠らずに一人前のプログラマーに成長したいと思いました。

次回の第3回は、外部研修の集大成、システム開発演習について語ります。

それでは、皆様、またお会いしましょう。 アドゥー!!

COCOAについて

こんにちは。
今回は新型コロナウィルス接触感染アプリCOCOAについて調べました。

COCOAとは?

日本の厚生労働省が提供するスマートフォン向けCOVID-19アプリである。
略称はCOCOA。
濃厚接触の疑いのある本アプリ利用者間の接触をBluetoothによって検知・記録し、接触者から新型コロナウイルスの陽性者が発生したときに、その旨を通知する。アプリの通知を受けた利用者は、自主的な隔離生活や、医療機関への受診を各自で検討できるようになる。

仕組みについて

COCOAは、接触を確認する仕組みとしてBLE(BluetoothLow Energy)を使います。COCOAはBLEを使って定期的に近くのデバイスに信号を送り、信号の強さからお互いの距離を推測します。この距離を推測する機能はBLEの一部として既に実装されています。そして、1m以内に15分以上接近したデバイスとID(接触符号)を交換します。接触符号は、1日に一度ランダムに生成される日次鍵から(ハッシュ関数を用いて)生成されます。

※BLEについて
近距離無線通信技術Bluetoothの拡張仕様の一つで、極低電力で通信が可能なもの。
2010年7月に発表されたBluetooth 4.0規格の一部として策定されたものです。

調べて思った事

様々な記事を見たのですが接触通知があったからといって検査が受けられる訳ではないようです…地域、県によっては受けられる所もあるようです。
濃厚接触していたとしても症状が出ないと受けられないようです。
この事についてはなんで受けられないのだろうと考えたのですが症状が出てからではないと陽性と反応されないのではと考えました。

使用感について

個人的に思った事は、不具合は多いが入れていて損のないアプリだと思います。
アプリ入れてる人はまだあまり多くはないと思うが医療機関やイベント会場など様々なところで呼びかける事により沢山の人に使用されていくアプリになるのではないかと思います。

今回は、この辺で失礼いたします。
最後まで閲覧いただきありがとうございます。