【php】Webアプリの動き(超基本)


はじめに

ユーザーの入力を経由してWebページを表示する場合の、クライアントとWebサーバーの動きがいまいち分からなかったので整理しました。

前提

Webページを構成するファイル(php, HTMLファイル)が、Webサーバに保存されていること。

基本の動き

f:id:oyatsu102:20211031154957p:plain:w440

①リクエス

PCのブラウザから、URLでプロトコル、ホスト名、ファイル名を指定してリクエストする。


②レスポンス

Webサーバは、URLで指定されたファイルを探して読み込む。
取得した情報をPCに返す。

 
③ブラウザでの表示

レスポンスを受け取ったPCは、受け取った内容をブラウザに表示する。

ユーザーの入力を経由する場合の動き

f:id:oyatsu102:20211031155049p:plain

①リクエス

PCのブラウザから、URLでプロトコル、ホスト名、ファイル名を指定してリクエストする。


②レスポンス

Webサーバは、URLで指定されたファイルを探して読み込む。
取得した情報をPCに返す。


③ブラウザでの表示

レスポンスを受け取ったPCは、受け取った内容をブラウザに表示する。


④ユーザーの操作

表示された画面でユーザーが値を入力し、送信。


⑤レスポンス

Webサーバは、URLで指定されたファイルを探して読み込む。
(④で入力された情報が、読み込み時にファイル内で使用される。)
取得した情報をPCに返す。


⑥ブラウザでの表示

レスポンスを受け取ったPCは、受け取った内容をブラウザに表示する。

参考

非エンジニアのための基礎知識 ①web開発の仕組み|のっち Ryosuke Inoue|note

【php】改行する方法

phpの出力では改行されない

Javaであればprintlnを使用すれば改行付きで出力させることができますよね。
phpではそういった出力方法はなく、改行する処理を明示的に入れる必要があります。

phpで改行する方法1:<br/>の使用

<?php 
    echo "文字列1";
    echo "<br/>";
    echo '文字列2';
?>
<!--出力結果(ブラウザ):
    文字列1
    文字列2
-->

関数にして呼び出すようにすれば、改行が多くてもちょっと楽ですね。

<?php 
    function br() {
        echo "<br/>";
    } 
    echo "文字列1";
    echo br();
    echo '文字列2';
?>

phpで改行する方法2:\nの使用

ブラウザの場合、\nは改行コードとして認識されないため一手間必要になります。

◆nl2br関数の使用
nl2br関数は、\nを含む改行コードの前に<br/>を挿入してくれます。

<?php
    echo "文字列1";
    echo nl2br("\n");
    echo '文字列2';
?>
<!--出力結果(ブラウザ):
    文字列1
    文字列2
-->

◆<pre>の使用
<pre>〜</pre>で囲むことで、ソースコード中の改行をそのまま表示できます。

<pre>
<?php   
    echo "文字列1";
    echo "\n";
    echo '文字列2';
?>
</pre>
<!--出力結果(ブラウザ):
    文字列1
    文字列2
-->

【UiPath】デベロッパー上級資格試験

合格しました。(やった〜〜!)
まだまだ情報が少ない感じがしたので、状況と対策したことなど書いてみます。

www.uipath.com

状況

UiPathの開発経験:1年半

実施したこと

1. UiPathの試験内容詳細、推奨トレーニング詳細のドキュメントを確認

〈各ドキュメントのリンク〉
  ・試験内容詳細
  ・推奨トレーニング詳細

範囲は幅広いです。私の場合、開発経験はあったもののOrchestratorやREFrameworkには触れておらず、使用経験のないアクティビティも結構ある、という状況だったので、それらについては一から学ぶ必要があるなーと認識しました。

2. 試験内容詳細にある、各試験項目について解答ができるように学習

公式ドキュメント等で調べつつ、自分なりの解答を作成しました。

 

3. 推奨トレーニングを一通り受講

推奨されているUiPathアカデミーのトレーニングは、全て受講しました。
(過去に修了したものも再度受講しました。)

 

4. 模擬試験の受験 & 復習

模擬試験が準備されていたので何度か受験しました。
数をこなすためにやる、というよりも試験項目の内容の理解度を確認する目的です。

☆受験後、誤答問題と正解したけどいまいちピンとこない問題の内容を調べてアウトプットしました。

→ 模擬試験と同じ問題は出題されないため、なぜその解答になるのかを調べ(もしくは検証)しました。公式ドキュメントにパッと書いてあるようなものではない内容が多く、いろいろと調べ回ってかなり時間をかけました。

ちなみに、模擬試験の解答は教えてもらえません。受験後は、スコアと、間違えた問題、そのトピックについてのみ表示されます。問題は毎回ランダムですが、5,6回受けているとほとんど見たことのある問題になってしまいました。

 

5. REFrameworkのドキュメント、コーディング規約の熟読

模擬試験でもベストプラクティスが求められる問題があったので、上記のドキュメントを読み込みました。ログ出力やOrchestrator、REFrameworkの使い方に関して、とても参考になりました。

REFrameworkのドキュメントは、REFrameworkテンプレートのパッケージにある、Documentationフォルダに格納されています。
日本語版のドキュメントはマーケットプレイスにある日本語版REFrameworkにありました。

marketplace.uipath.com

〈特にやっておいて良かったこと〉

・試験項目を満遍なく学習したこと。
・REFramework、コーディング規約の確認。

 

振り返り

上述の通り、受験にあたり一から勉強し直したことと、模試の正答が明確でなくいろいろと調べたことで、UiPathの知識を深められました。これから受験を予定している方にとって、少しでも参考になれば幸いです。

Git(基本)

Gitとは

 分散型のバージョン管理ツール

特徴

  • 共有リポジトリとローカルリポジトリの2段階で資材管理が可能。
  • 自分のローカルリポジトリでも更新履歴を残していける。
    →多人数で更新する資材の管理がしやすい。

 

基本の作業

 ①編集した資材(=最新バージョン)を、ローカルリポジトリに反映させる。

  → コミット

 ②共有リポジトリに、ローカルリポジトリの資材を反映させる。

  → プッシュ

 ③共有リポジトリにある最新の資材を、ローカルリポジトリにコピーする。

  → プル

 

 【参考】

サル先生のGit入門〜バージョン管理を使いこなそう〜【プロジェクト管理ツールBacklog】

 ・Git の基礎勉強 〜Git によるバージョン管理を使う〜 | バージョン管理システム入門(初心者向け)