Android Studio Android SDKの場所

Android Studio 4.2

Android SDKがインストールされている場所が知りたいことがあると思います。

そんな時は、SDK Managerを立ち上げましょう。

(File→Settings→Appearance &Bahavior→System Settings→Android SDKでも行けます)

表示されるSDK Platformsの上のほうに、書いてあります。

Android SDKの場所

PHPStormでUML図を書く

1. 経緯

現在、取り組んでいる開発でUML図書きたいなと思いました。
開発環境を、できるだけPHPStormで完結させるようにしていたので、どうせならUML書くのもPHPStormでやろうと調べました。

2. PlantUML

UMLを書くことに特化した言語です。
書いたコードを読み取り、UML図をレンダリングします。
参考:https://plantuml.com/ja/

3. 導入方法

① PHPStormにPlantUMLのプラグインをインストールする。

PHPStormの File > Settings > Plugins から「PlantUML integration」というプラグインをインストール&PHPStormの再起動を行います。

② Graphvizをインストール

シーケンス図(クラス間のやり取りを時系列で表した図)以外をレンダリングしたい場合、必要になるそうです。こちら からダウンロードできます。

③ PlantUMLファイル作成

他のファイルを追加するときと同じ要領で作成できます。
New > PlantUML File を選択し、ファイル名を入力します。
ここで、作りたい図がどれなのか選択すると、それに応じたテンプレートが自動で作成されます。

4. まとめ

今回PHPStormでPlantUMLを書き、UML図を作成するところまで行いました。コードベースで作成ということでデザインも崩れにくいですし、バージョン管理もしやすいのが良いですね。

beeceptorが便利だった件

webhookを使って何か便利にしたいとき、beeceptorを使えば、爆速で実現することができます。

https://beeceptor.com/

アクセスすると、下記のような画面が表示されます

①赤丸部分にエンドポイントとなる名前を入力し、青い「Create Endpoint」をクリック

②画面遷移後、エンドポイントのURLが表示されるのでこれをコピーして、webhookの指定URLへ貼り付け

③この画面のまま待機し、POSTやGET等でこのエンドポイントに投げると結果が表示。

どんな内容が投げられてくるのかわからない・仕様が明記されていない場合でも、単純明快(*^^*)

初めてのPHP サンプルコードの在処

サンプルコードを写経する作業がきついので、サンプルコードを引っ張ってきて動作確認をしたいときありますよね?

そんな時はこちら
リンク[https://github.com/oreillymedia/Learning_PHP]

こんな…ありがとうございます!なんていうのは少し早くて、対応表の見方が少々難解なので書いておきます。

display-code/に各章に記載してるサンプルコードがあります。また、そのディレクトリ下(例: display-code/ data-groups←4章を指す)に、toc.txtなるものが存在します。こちらは、各章内のサンプルコードとの対応表です。

PHPの実行環境がEC2かローカルかを簡易的に判定する

概要

PHPUnitで自動テストをしていますが、ローカル環境では動かない機能のテストが一部あったため、実行環境を判定してスキップしてやろうって話。

目標

  • 実行環境の判定関数を作りたいので、適当な判定条件を作る。

条件

  • 本番環境とテスト環境ではテストを実行したいが、ローカル環境では特定のテストを実行したくないので、これらを区別する必要がある。
  • 本番環境とテスト環境はAWSのEC2上で動いている。
  • ローカルの開発環境はxamppやらVM+vagrantやらDockerやら各々色々。
  • PHPUnitはコンソールから直接実行する場合もある。

結果

東京リージョンのEC2を判定する例

function is_local() {
    if (strpos(gethostname(), 'ap-northeast-1.compute.internal') === false) {
        return true;
    }
    return false;
}

備考

  • 「アジアパシフィック (東京)」リージョンのEC2インスタンスはhostnameが ip-xxx-xxx-xxx-xxx.ap-northeast-1.compute.internal といった形式になるようで、ローカルの開発環境ではこうはならないため、都合が良いと判断し採用。
  • $_SERVER['HOSTNAME'] は実行条件によってEC2インスタンス上でもNULLになってしまう場合があったため不採用。
  • gethostname() の挙動が安定しないようなことがあれば再考。
  • PHPの実行時にenvを宣言するみたいなことができるらしく、本来はそうした方がスマートなのかなと思うけど今回は見送り。