OmniAICreator/Qiita-1.07M huggingface dataset:
条件付き分布の2つの導出

# 条件付き分布を2つの方法で示したい
統計検定準1級に出題された問題をまとめました．
1つ目の方法より，2つ目の方法の方が自分的には覚えやすかったです．
## 示すこと

```math 
\left(\begin{array}{l}
X \\
Y
\end{array}\right) \sim N\left(\left(\begin{array}{l}
\mu_{x} \\
\mu_{y}
\end{array}\right),\left(\begin{array}{cc}
\sigma_{x}^{2} & \rho \sigma_{x} \sigma_{y} \\
\rho \sigma_{x} \sigma_{y} & \sigma_{y}^{2}
\end{array}\right)\right)
```
のとき，$X=x$を与えたときの$Y$の条件付き分布は，正規分布
```math 
N\left(\frac{\mu_{y}+\rho \sigma_{y}\left(x-\mu_{x}\right)}{\sigma_{x}},\left(1-\rho^{2}\right) \sigma_{u}^{2}\right)
```
で与えられる．このことを2通りの方法で示す．

### 証明1
X, Yをそれぞれ標準化して，
```math 
X^{*}=\frac{X-\mu_{x}}{\sigma_{x}}, \quad Y^{*}=\frac{Y-\mu_{y}}{\sigma_{y}} 

```
とおけば，
```math 
\left(\begin{array}{l}
X^{*} \\
Y^{*}
\end{array}\right) \sim N\left(\left(\begin{array}{l}
0 \\
0
\end{array}\right),\left(\begin{array}{ll}
1 & \rho \\
\rho & 1
\end{array}\right)\right)
```
であるので，
```math
Z=Y^{*}-\rho X^{*}
```
の期待値と，分散を考える．
期待値は， 
```math 
E(Z)=E(Y^{*}-\rho X^{*})=E(Y^{*})-\rho E(X^{*})=0
```
```math 
\begin{aligned}
V(Z)&=V(Y^{*}-\rho X^{*})=V(Y^{*})-2\rho Cov(X^{*}, Y^{*}) + V(Y^{*}) \\
 &=1-2\rho^2 + \rho^2=1-\rho^2
\end{aligned}
```
となる．
つまり， $Z \sim N\left(0,1-\rho^{2}\right)$となる．したがって，$X=x$を与えたときのYの平均と分散は，それぞれ
```math 
\begin{aligned}
E(Y \mid X=x) &=\mu_{y}+\sigma_{y} E\left(Y^{*} \mid X=x\right) \\
&=\mu_{y}+\sigma_{y} E\left(Z+\rho \frac{x-\mu_{x}}{\sigma_{x}}\right) \\
&=\mu_{y}+\rho \sigma_{y} \frac{x-\mu_{x}}{\sigma_{x}} \\
V(Y \mid X=x) &=\sigma_{y}^{2} V\left(Y^{*} \mid X=x\right) \\
&=\sigma_{y}^{2} V(X) \\
&=\sigma_{y}^{2}\left(1-\rho^{2}\right)
\end{aligned}
```
となる．

### 証明２
現代数理統計学(竹村先生)のp59, 60の結果を用いる．
$Y=\left(Y_{(1)}, Y_{(2)}\right) $と分割し $ Y_{(1)}=\left(Y_{1}, \ldots, Y_{h}\right)$の周辺分布を考える．
```math 
\mu=\left(\begin{array}{l}
\mu_{1} \\
\mu_{2}
\end{array}\right), \quad \Sigma=\left(\begin{array}{cc}
\Sigma_{11} & \Sigma_{12} \\
\Sigma_{21} & \Sigma_{22}
\end{array}\right)
```
このとき，
$Y_{1}$が与えられたときの$Y_{2}$の条件付き分布を考えると，

$$
Y_{2} \mid Y_{1}=y_{1} \sim \mathrm{N}\left(\mu_{2}+\Sigma_{21} \Sigma_{11}^{-1}\left(y_{1}-\mu_{1}\right), \Sigma_{22}-\Sigma_{21} \Sigma_{11}^{-1} \Sigma_{12}\right)
$$

となる．
この事実を用いると，先ほど示したかったことが証明できる．
Mac + Logicool MX Ergoの設定を晒す

# はじめに
元々、Windowsでトラックボールマウス MX Ergoを使っていたのですが、業務端末がMacBookに切り替わったことでトラックボールマウス→Trackpadに移行しました。
しばらくの間は快適にTrackpadを使っていたのですが、やはり長年寄り添ってきたトラックボール愛がどうしても捨てきれず、、引っ張り出しました。

改めてトラックボールマウスを使ってみたところ、以下のメリットを再度実感したのでMacでもトラックボールマウスを使うことにしました。
- 親指一本の最小限の動きで高速移動できること
    - 長年操作してきたのでやっぱり慣れている
- 物理ボタンに割り当てたショートカットキーが使えること
    - 後述するVSCodeのショートカットキー（関数定義へジャンプ、戻る/進む）が便利

本記事では私が使っているトラックボールマウス「Logicool MX Ergo」のMac設定を共有します。

# 設定内容（Logicool Options）
## デスクトップ移動
Trackpadの場合、3本指で左右にスワイプするとデスクトップを切り替えることができるやつです。
これはスクロールホイールを左右に傾けるボタンに割当てました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/a056bf5b-bad5-3d36-7453-e09975853502.png)

- デスクトップ移動の操作はデフォルトで「ジェスチャーボタン＋トラックボール左右」に割当たっているのですが、どうも反応が悪かったので上記の設定にしています。
- 代わりに左右にスクロールする操作を「ジェスチャーボタン＋トラックボール左右」に割当てました。
- ボタン押下後、移動するまでにラグが出るのはどうにかしてほしい（特にPCの負荷が高いと顕著…）
    - ここはTrackpadにはどうしても勝てない…

## 進む/戻る
Trackpadの場合、2本指で左右にスワイプするやつです。（ブラウザの進む/戻るなど）
これはデフォルトから変更なしです。めちゃくちゃ便利で多用するボタン。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/e4566982-7e44-2503-d912-6e9622b0e46d.png)

## ジェスチャーボタン
以下のような設定にしています。
ジェスチャーボタン単発押しでのミッションコントロール起動は使いますが、ジェスチャーボタン + 左右の組み合わせはほぼ使っていないです。（ExcelやDrow.ioで左右にスクロールする場合に使う程度）

![スクリーンショット 2022-06-04 12.34.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/c3441313-babc-fc9a-8891-32aa6023f14b.png)

## ポインタ/スクロールの速度
いずれもMaxにしています。
![スクリーンショット 2022-06-04 14.00.08.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/62008036-879d-b0b5-412f-e63a37448373.png)

細かいポインタ操作が必要になる場合は、マウス側面についているボタン（精密モード）を使っています。

## VSCode（アプリケーション設定）
Logicool Optionsではアプリケーションごとにマウスボタンに割当てるキーをカスタマイズすることができます。
この機能を使ってVSCodeのショートカットキーを割当てています。
**個人的に最も重宝している設定です。**

### ホイールクリックボタン
VSCodeでは、関数にカーソルを合わせて`F12`キーを押すと、その関数の定義元にジャンプできる機能があります。
このショートカット操作をマウスからでも行えるよう、`F12`キーをホイールクリックボタンに割当てました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/bb807860-3a51-b7a4-8920-cb84e7a27da3.png)

### 戻るボタン
前項の`F12`キーで関数の定義元にジャンプした後、元の場所に戻る場合に使っています。
これはVSCodeのショートカットキー`Ctrl + -`を割り当てています。

![スクリーンショット 2022-06-04 12.57.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/45d87437-882b-6b4f-b67c-94fc2cf7e8ec.png)

### 進むボタン
戻るボタンで元の場所に戻った後、「やっぱり関数の定義をもう１回みたい」となった場合に使うケースが多いです。
VSCodeのショートカットキーでは`Ctrl + _`なのですが、なんとこの組み合わせは**Logicool Optionsでは割当て不可でした…**

こちらについては、VSCode側の「進む」のショートカットキー（キーバインド）を変更することで回避できました。手順は以下です。

1. VSCodeを開き、`⌘K ⌘S`を押す
2. 画面上部の検索窓に`workbench.action.navigateForward`と入力する
3. `workbench.action.navigateForward`のキーバインドを`Ctrl + Shift + -`に変更する　↓
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/b2988f52-4212-0082-7079-5190b25757b3.png)

VSCodeのキーバインド変更が完了したら、Logicool Optionsの「進むボタン」に`Ctrl + Shift + -`を割り当てます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/319375/53ddd966-51b7-1300-6478-4f7363b0927f.png)


# さいごに
Trackpadも捨てがたいのですが、、、片手の指１つで様々な操作が実行出来るのはマウスの大きなメリットだと感じています。
他にオススメの設定があれば教えてください🙇
scipy.stats: ウィルコクソンの符号付順位和検定 wilcoxon

# scipy.stats: ウィルコクソンの符号付順位和検定 `wilcoxon`

`wilcoxon(x, y=None, zero_method='wilcox', correction=False, alternative='two-sided', mode='auto', *, axis=0, nan_policy='propagate')`

`zero_method` はデフォルト以外に 2 つあるが，一般的ではないのでデフォルトのままがよいであろう。

`mode` は `'auto'`, `'exact'`, `'approx'` の 3 通りであるが，`'exact'` か `'approx'` を明示的に指定したほうがよい。

`correction` は `mode='approx'` のときに連続性の補正をするとき `True` を指定する。デフォルトは `False`。

`alternative` はデフォルトで両側検定 `'two-sided'`。片側検定の場合には対立仮説の方向により `'greater'` か `'less'`


```python
from scipy.stats import wilcoxon
import numpy as np
x = np.array([1.83,  0.50,  1.62,  2.48, 1.68, 1.88, 1.55, 3.06, 1.30])
y = np.array([0.878, 0.647, 0.598, 2.05, 1.06, 1.29, 1.06, 3.14, 1.29])
wilcoxon(x, y, mode='exact', alternative='greater')
```




    WilcoxonResult(statistic=40.0, pvalue=0.01953125)



前もって差をとり，一つの引数で与える場合も同じ結果になる。


```python
wilcoxon(x - y, mode='exact', alternative='greater')
```




    WilcoxonResult(statistic=40.0, pvalue=0.01953125)




```python
wilcoxon(x - y, mode='approx', correction=False, alternative='greater')
```

    /Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/scipy/stats/_morestats.py:3159: UserWarning: Sample size too small for normal approximation.
      warnings.warn("Sample size too small for normal approximation.")





    WilcoxonResult(statistic=40.0, pvalue=0.019075855086707567)




```python
wilcoxon(x - y, mode='approx', correction=True, alternative='greater')
```




    WilcoxonResult(statistic=40.0, pvalue=0.022005492006475714)



小数点付きのデータを使うときは注意が必要である。以下のデータに対する 2 通りの検定は同じ結果を与える。


```python
v = np.array([0.8, 0.7, 0.8, 1.1, 0.8, 1.0, 0.4, 0.6, 1.0, 0.9, 0.7, 0.7, 0.7, 0.6, 0.9, 1.0, 0.9, 0.4, 1.1, 1.0])
w = np.array([0.8, 0.6, 0.9, 1.0, 1.0, 1.1, 0.5, 0.5, 0.9, 1.0, 0.5, 0.6, 0.8, 0.6, 0.8, 0.9, 0.8, 0.7, 1.1, 1.1])
wilcoxon(v, w, mode='approx', alternative='less')
```




    WilcoxonResult(statistic=66.5, pvalue=0.31366091966486587)




```python
wilcoxon(v - w, mode='approx', alternative='less')
```




    WilcoxonResult(statistic=66.5, pvalue=0.31366091966486587)



しかしそれぞれのデータを10倍して，整数値として検定を行うと前二者の結果と異なる。こちらのほうが正しい結果である。


```python
v10 = np.array([8, 7, 8, 11, 8, 10, 4, 6, 10, 9, 7, 7, 7, 6, 9, 10, 9, 4, 11, 10])
w10 = np.array([8, 6, 9, 10, 10, 11, 5, 5, 9, 10, 5, 6, 8, 6, 8, 9, 8, 7, 11, 11])
wilcoxon(v10 - w10, mode='approx', alternative='less')
```




    WilcoxonResult(statistic=75.5, pvalue=0.47978797468487205)




```python
wilcoxon(v*10 - w*10, mode='approx', alternative='less')
```




    WilcoxonResult(statistic=75.5, pvalue=0.47978797468487205)




```python

```
ロードバランサー（LB）とリバーシプロキシ

# どんな見た目？

こういうやつ。（基本全部こんな見た目。。。）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/9805c18d-707b-8da4-0997-4c0fa6994069.png)

引用元：[F5 Networks BIG-IP iSeries](https://www.networld.co.jp/product/f5/pro_info/f5_networks0002/20210101000146.html)


# 何のために使う？
Load（負荷）+ Balancer（平衡を保つ）と言う文字通り、Webサイトへのアクセス集中やサーバ故障などの場合でも、ユーザに対して安定したサービス提供を可能とするもの。
ユーザがブラウザから特定のWebサーバへアクセスしようとすると、そのサーバは持ち前のCPUやメモリー等のリソースを駆使して処理を行います。アクセスが少ない間は特に問題はないものの、アクセスが増えてくるとユーザ側のブラウザ表示の遅延といった問題が発生します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/964f1b3f-ec12-7c66-b261-f9c6399d1644.png)
引用元：[【図で理解】ロードバランサーとは？負荷分散の仕組みを解説](https://www.kagoya.jp/howto/it-glossary/network/loadvalancer/)

# LBとリバーシプロキシの違い
勉強中。。。分かりやすい解説があれば教えてください。
似たような機能とのこと。それであればApache/Nginxで簡単に設定できるリバーシプロキシの方が圧倒的に便利な気がするのだが。。。

https://www.kagoya.jp/howto/it-glossary/web/reverse-proxy/



# ベンダー
1. F5 Networks
2. Citrix 
3. HA Proxy

# マーケットシェア
圧倒的にF5Networksの模様。以下のサイトによるとシェア率90%以上とのこと。意外と調べてみてもシェア率の情報が少ないことに驚き。

https://www.datanyze.com/market-share/load-balancers--20
【Git】インストーラー版のGitをアンインストールする方法とは？(Mac標準のGitに戻す)

# はじめに
GitインストーラーのGitをアンインストールして、Mac標準のGitに戻す方法を書いてみます。
何かの参考になればと思います。

# 前提
- macOSを使用予定(macOS Monterey バージョン12.4)

```zsh
% sw_vers
ProductName:	macOS
ProductVersion:	12.4
BuildVersion:	21F79
%
```

- シェルはzshを使用

```zsh
% which zsh
/bin/zsh
%
```

- 作業前のGitの状況

```zsh
% where git
/usr/local/bin/git
/usr/bin/git
```

- それぞれのGitのバージョン

```zsh:Mac標準版
% /usr/bin/git --version
git version 2.32.1 (Apple Git-133)
% 
```

```zsh:インストーラー版
% /usr/local/bin/git --version
git version 2.27.0
% 
```

# アンインストール手順

- `uninstall.sh`の存在を確認

※`/usr/local/git/`と若干場所が違うようです。

```zsh:コマンド
ls /usr/local/git/ | grep uninstall.sh
```

```zsh:実行例
% ls /usr/local/git/ | grep uninstall.sh
uninstall.sh
% 
```

- `uninstall.sh`の実行

ディレクトリを移動した後に、インストーラー版Gitのアンインストールを実施する。

```zsh:コマンド
・ディレクトリの移動
cd /usr/local/git/

・アンインストールの実施
sh ./uninstall.sh
```

```zsh:実行例
% cd /usr/local/git/
% sh ./uninstall.sh
This will uninstall git by removing /usr/local/git/, and symlinks
Type 'yes' if you are sure you wish to continue: yes
Password:
Forgot package 'com.git.pkg' on '/'.
Uninstalled
%
```
※削除するかどうか聞かれるが、`yes`で進める。

- 削除後の確認

whereコマンドを実行し、`/usr/bin/git`のみであることを確認

```zsh:コマンド
where git
```

```zsh:実行例
% where git
/usr/bin/git
%
```

※`which`コマンドも実行し、`/usr/bin/git`が出力されることを併せて確認。

```zsh:実行例
% which git
/usr/bin/git
%
```

- バージョン確認

以下コマンドを実行し、Mac標準のGitのバージョンが表示されることを確認する。

```zsh:コマンド
git --version
```

```zsh:実行例
% git --version
git version 2.32.1 (Apple Git-133)
%
```

# さいごに
人によって前提の環境が違うことがあると思いますので、あくまでも一例としてご参考頂けますと幸いです。

# 参考記事
https://shogame.net/pc/macos/594
【aws-sdk-dynamodb】Aws::DynamoDB::Errors::ValidationException The provided key element does not match the schema【ruby】



環境
-

```yml
- OS: macOS Big Sur 11.5.2
- ruby: 2.7.1
```


問題
-

```ruby
# clientオブジェクトを用意
client = Aws::DynamoDB::Client.new(
  access_key_id: ENV['AWS_ACCESS_KEY_ID'],
  secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
  region: ENV['AWS_REGION']
)

# 特定のカラムの値を更新
client.update_item({
  table_name: "test_table",
  key: {Id: 1},
  update_expression: "SET #{column} = :val",
  expression_attribute_values: {':val' => value }
})
```

上記を実行すると、以下のエラーが発生
```
Aws::DynamoDB::Errors::ValidationException 
The provided key element does not match the schema
```


原因
-

プライマリーキー名のタイポだった
【正】 id
【誤】 Id

```ruby
client.update_item({
  table_name: "test_table",
  key: {id: 1},  # Id => id
  update_expression: "SET #{"foo"} = :val",
  expression_attribute_values: {':val' => "bar" }
})
```
MakeとGyazo APIで画像を送信して画像を送り返すLINE Botを作ってみる #linedc #withMake


こんな感じで画像を送ると画像を送り返してくれるLINE Botを作ってみます。

> ![スクリーンショット 2022-06-04 13.02.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/99078331-9920-1d37-50b3-80956de20a52.png "スクリーンショット 2022-06-04 13.02.00.png")


途中でGyazoのAPIに送っているのですが、GyazoのモジュールがMakeにないのでHTTPモジュールとJSONモジュールで処理を行なっています。

## 使うモジュールは5つ

> ![スクリーンショット 2022-06-04 12.55.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/b49f3007-6d34-5ccb-40a5-15848b59bae3.png "スクリーンショット 2022-06-04 12.55.47.png")

- LINE: Watch Event
- LINE: Download a Message Attachement
- HTTP: Make a Request
- JSON: Parse json
- LINE: Send a Broadcast Message

これらを使っています。

また、Gyazoのアクセストークンを取得しておきます。

> ![](https://i.gyazo.com/3af0726c38ba036dedd6efa4c722bc1c.png)

### 1. `Download a Message Attachement`でファイルをダウンロードする

Download a Message AttachementにはMessage IDを入れることができるので、Watch Eventから送られたメッセージIDを設定します。

> ![スクリーンショット 2022-06-04 13.10.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/bea614fe-f7e0-0296-eb57-7be4d349071e.png "スクリーンショット 2022-06-04 13.10.18.png")

### 2. HTTPモジュールでGyazo APIを叩いてアップロードする

一つ前の`Download a Message Attachement`からバイナリデータが送られてきます。

[Gyazo APIのドキュメント](https://gyazo.com/api/docs/image)をみつつ、以下のように

- URL: https://upload.gyazo.com/api/upload
- Method: POST
- Body type: Multipart/form-data
- Item1: 
	- Field type: Text
	- Key: access_token
	- Value: `取得した自身Gyazoのアクセストークン`
- Item2:
	- Field type: File
	- Key: imagedata
	- File: `LINE - Download Message Attachement`を選択

> ![スクリーンショット 2022-06-04 12.50.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/e77e1da7-8930-44f5-9a37-1a49b4f18b01.png "スクリーンショット 2022-06-04 12.50.17.png")


> ![スクリーンショット 2022-06-04 12.50.27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/eb4add9a-0193-0430-5e1c-ffd34a8e891a.png "スクリーンショット 2022-06-04 12.50.27.png")

画像を参考にして設定しましょう。

これでLINEからダウンロードした写真がGyazoにアップロードされます。

### 3. JSONモジュールでパースする

あとはGyazoにアップロードされたURLを取得したいのですが、このままだとDATAというKeyにJSONが丸っと返却されてくるのでJSONモジュールでパースします。

> ![スクリーンショット 2022-06-04 13.26.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/1bf55b1d-54f8-3f3e-d5dc-7e41b412a2d2.png "スクリーンショット 2022-06-04 13.26.51.png")

と言ってもDataを入れるだけ。

### 4. LINEで送信する

LINEで画像を送信する際にはMessage TypeをImageにする必要があるので設定します。

そして、パースされたJSONの中にURLというKEYがあるのでそれをOriginal Content URLとPreview Image URLに設定してあげればOKです。

> ![スクリーンショット 2022-06-04 13.28.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/853bc24e-f7af-724d-7e3d-c219a20786f3.png "スクリーンショット 2022-06-04 13.28.46.png")


### 5. Run Onceで試す。

最後にRun Onceで起動させて、画像を送ってみるとちゃんと画像を送り返してくれます。

画像を送ると画像を送り返してくれるだけですが、裏側ではGyazoに保存を咬ませている感じですね。

お疲れ様でした。
access2000の作法 その22

# 概要
access2000の作法、調べてみた。
ここまでの、まとめ。

# Accessとは

- 「テーブル」に蓄積・保存されたデータを「クエリ」で操作し、その結果を「フォーム（操作画面）」や「レポート（印刷画面）」を介して、ユーザーは利用することができます。
- 基本的に、データの入出力は「フォーム」、データの印刷は「レポート」を使用して処理します。
- 全体の処理の流れを自動化するのが「マクロ・VBA」です。

# Accessのオブジェクト

|オブジェクト|機能|
|:--|:--|
|テーブル|テーブルは、データを「蓄積・保存」するための「表形式」のオブジェクトです。データは「行単位」で保存されます。データの各項目（列単位のデータ）を「フィールド」といい、1件分のデータ（行単位のデータ）を「レコード」といいます。リレーショナルデータベースです。|
|クエリ|クエリは、テーブルに保存されているデータを「操作」するためのオブジェクトです。抽出条件を設定してテーブルからデータを取り出したり、データを集計したりするときに使用します。クエリは、テーブルをもとにして設計・作成します。連携付けしたテーブルも扱える。|
|フォーム|フォームは、データを「入出力」する「操作画面」となるオブジェクトです。テーブルにデータを追加（挿入）したり、データの変更や削除を行ったりするときの「入力（指示）画面」や、テーブルに保存されているデータを表示する「出力画面」などの役割を果たします。フォームは、テーブルやクエリから生成し、使いやすい画面に自由にデザインできます。|
|レポート|レポートは、テーブルから取り出したデータや集計結果などの「印刷画面」となるオブジェクトです。テーブルやクエリから作成し、帳票形式や宛名ラベル形式などで印刷できる画面を自由に作成できます。|


以上。
TCP/IP OSI参照モデル周辺の整理

# OSI参照モデルとは？
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/304db9b5-0b82-e49f-2db8-65c9fc23d4f3.png)
画像引用：[OSI参照モデルとは？TCP/IPとの違いを図解で解説](https://www.itmanage.co.jp/column/osi-reference-model/)


TCP/IPもOSI参照モデルと同じもの。こちらの概念の方が後発だが、一般的に普及している考え方となってしまった。

# スイッチ
こんな感じの見た目をしている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/a0164115-1e8a-568c-e636-bfb39de94668.png)
出典：[Cisco Catalyst 9200 シリーズ スイッチ](https://www.cisco.com/c/ja_jp/products/switches/catalyst-9200-series-switches/index.html)


データセンターを見学してみると分かるけど、こんな感じでラックの中に大量の機器が格納されている。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/cca1854f-1ad8-5330-d5c6-460c1b3cf252.png)
画像：[ラックの基本とデータセンター選び、5つの視点](https://kn.itmedia.co.jp/kn/articles/1705/15/news151_4.html)


# で、何ができるのか？
同じネットワーク内にある、複数のコンピューターやLANを接続する中継装置のこと。
「ポート（接続口）」で受け取ったデータを、宛先のポートに送信する役割を果たす。
「スイッチングハブ（Switching Hub）」と呼ばれていたが、単に「スイッチ」と呼ぶことが多い。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/e3c39266-7aeb-3b35-e5b3-6fe6e17fd147.png)

参考：[OSI参照モデルをわかりやすく解説](https://www.seraku.co.jp/tectec-note/industry/osi-reference-model/)




# ルータ
こんな感じの見た目。（業務用）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/e072a7bf-adce-9da3-f21a-1cfce6aedb29.png)
出典：[Cisco 800 シリーズ ルータ](![image.png](https://www.cisco.com/c/ja_jp/products/routers/800-series-routers/index.html)
)

家庭用のルータはこんな感じの見た目。一家に一台あるからこれだとイメージ湧きますね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/1bee872f-32f8-09f3-db00-6a48b7986747.png)
出典：[【2022年】Wi-Fiルーターのおすすめ12選 高コスパ・一人暮らし向けモデルも](https://www.biccamera.com/bc/i/topics/osusume_wifi_router/index.jsp)

# 何ができる？
別のネットワークへの接続をするときに必要なもの。
自宅でインターネット環境を用意するときルータを設置する必要がある。これは自宅という閉ざされたネットワークを、外の世界に繋いであげる必要があるからだ。
もちろん機器だけあればOKではないので、その後の「接続作業」を行ってくれるのがプロバイダーと呼ばれる業者である。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2665477/c48018f7-d83d-9c33-814b-b6e2bd509188.png)

参考：[OSI参照モデルをわかりやすく解説](https://www.seraku.co.jp/tectec-note/industry/osi-reference-model/)

## マーケットシェア（エンタープライズ版）
### Cisco
スイッチの売上高が21年度では前年比3.4%増。マーケットシェア率は2021年で45.3%となった。ルータの売上高が21年度では前年比12.0%増。ルータのシェア率は34.6%。


### Huawei
スイッチの売上高が21年度では前年比8.3%増。マーケットシェア率は2021年で10.2%となった。ルータの売上高が21年度では前年比1.2%減。ルータのシェア率は30.5%。


### Arista Networks
スイッチの売上高が21年度では前年比27.7%増。マーケットシェア率は2021年で7.6%となった。


参考：[IDC's Worldwide Quarterly Ethernet Switch and Router Trackers Show Strong Growth in Fourth Quarter of 2021](https://www.idc.com/getdoc.jsp?containerId=prUS48943122#:~:text=Cisco's%20combined%20SP%20and%20enterprise,for%20the%20full%20year%202021.)


https://www.itmanage.co.jp/column/osi-reference-model/
【Tableau Data Saber挑戦記】4.進捗と解説動画との差について(Ord3)

今回もTableau Data Saberの進捗状況やこれからはじめる方に向けてお伝えしたいことなどを書いていきたいと思います。

# 進捗
## 進度
### 技術試練

ハンズオン系
1. HandsOn - Fundamental　→クリア
3. HandsOn - Intermediate I　→挑戦中
5. HandsOn - Intermediate II　→挑戦中
8. HandsOn - Advanced I 　→挑戦中
9. HandsOn - Advanced II　→クリア

ハンズオン以外
2. Visual Best Practice I →挑戦中
4. DATA Platform →挑戦中
6. Visual Best Practice II →挑戦中
7. Performance Best Practice 挑戦中（未提出）
10. ZEN問答　→挑戦中（未提出）

### コミュニティ活動
#### パブリック
- Tableau関連のブログ記事の投稿：３本

## 学習時間
技術試練：３５時間/２１日間
コミュニティ活動：１１時間

## 所感
若干だれてきたところがあります。
一応毎朝何かしらtableau関連のことをするようにはしていますが
これだけ長いプログラム、動画、そしてなかなか突破できない技術試練…時間がかかるゆえにモチベーションの維持が課題です。


# これから始めようとする方に伝えたいこと
以前の記事でも書いたのですが、解説の動画があるのですが環境の差異で動画ではできるけど自分の環境ではできない、といったことが多々あります。
ですので、今回はOrd3. HandsOn - Intermediate I　のなかででてきたそういったことについて簡単に記述しておきたいと思います。

まず前提として環境について整理しておきます。
1. Tableau Desktop （Creatorライセンス）
2. Tableau Desktop （Explorerライセンス）（WEB)
3. Tableau Public APP版
4. Tableau Public WEB版

動画では 1. Tableau Desktop （Creator）のほうを使っています。
私は 3. Tableau Public APP版のほうを使っています。
それゆえ操作や機能面でできることに差があったりします。
Ord3. HandsOn - Intermediate I　の解説動画はこちら→[DATA Saber Boot Camp Week3 "HandsOn - Intermediate I"](https://www.youtube.com/watch?v=yOIDQZ3siBs)


そして差が出てしまう問題についてですが下記になります。

- Q2
Public環境で「サンプル - スーパーストア - メーカー情報.tdsx」ファイルが読み込めない。
拡張子を、tdsx→zipに変更し、解凍すればxlsxファイル(Maker.xlsx)になるので読み込める
ここにそのファイルを格納しておきます。→[Maker.xlsx](https://drive.google.com/drive/folders/1GPC4xsGlEy058rl2v6iEtU35clwJyb15?usp=sharing)
- Q5
「結合セット」はWebで作成できない。
※問自体は上記が使えなくとも解くことができる

- Q9
「リファレンスライン」の「上／下を塗りつぶす」はWEBで選択できない。
※「分布」→「信頼区間」で「0,100」を選択することで同内容を表示可能


# 今後について
技術試練もさることながら、この先はコミュニティ活動のほうに注力していきたいと思っています。
自分でVizを作成するというところTwitterアナリティクスのデータを分析するためのVizやダッシュボードを作っていきたいと思って調べています。
あと株価分析に関わるものも作っていきたいです。

connpassでのイベント「tableau初学者もくもく会」もはじめました。興味のある方はよかったら参加いただけたら嬉しいです。
こちらが次回のリンクになります。

tableau初学者もくもく会 
2022/06/11(土)　10:00 〜 11:00
https://connpass.com/event/250350/ 


今後の活動の励みになるのでよければLGTMもいただけたら更に嬉しいです!
構造探索のためのプログラム

# はじめに
最近、機械学習を用いた構造探索アルゴリズムとプログラムが数多く開発されています。私がよく見たり聞いたりするプログラムを以下にリストアップします。機械学習ポテンシャルの記事と重複があるかもしれませんし、ほとんどのプログラムは[MateriApps](https://ma.issp.u-tokyo.ac.jp/)で紹介されているのではないかと思います。

## USPEX
https://uspex-team.org/en
言わずと知れた遺伝アルゴリズムを用いた構造探索プログラム

## CALYPSO
http://www.calypso.cn
Particle swarm optimizationによる構造探索プログラム

## CrySPY
https://github.com/Tomoki-YAMASHITA/CrySPY
https://tomoki-yamashita.github.io/CrySPY_doc/
ベイズ最適化を利用した構造探索プログラム

## GA in ASE
https://wiki.fysik.dtu.dk/ase/ase/ga/ga.html
ASEに含まれる遺伝的アルゴリズムによる構造探索

## GOFEE
http://grendel-www.cscaa.dk/mkb/index.html
Bjork Hammerグループで開発されているガウス過程回帰と遺伝アルゴリズムを用いた探索プログラム

## AGOX
https://gitlab.com/agox/agox
https://agox.gitlab.io/agox/
上記GOFEEの発展版のようで、GOFEEに加えてランダム、Basin-hopping、遺伝アルゴリズムなどの構造探索も含まれています。開発はこちらに完全に移行しているように見えます。

### BOSS
https://gitlab.com/cest-group/boss
https://cest-group.gitlab.io/boss/index.html
Milicia TorovaとPatrik Rinkeのグループで開発されているベイズ最適化に基づいた構造探索プログラム

# まとめ

構造最適化手法とプログラムは今後も増え続けて行くことが予想されます。系に応じて使用、あるいは自分で作成するのが良いでしょう。このリストは今後も更新されていくと思います。
オンラインで原子構造を可視化してくれるサービス

CMDワークショップなどでオンラインで電子状態計算プログラムのチュートリアルを行うと、ユーザー数が多いことやネットワーク環境、X11環境などによって構造の可視化が難しいことが多いと感じています。JMOLなどを使ってオンラインで構造を可視化できるツールが無いのか探しています。

これまでに見つかったウェブサイトを以下に記録します。

# Open-MX viewer

[Open-MX viewer](http://www.openmx-square.org/viewer/index.html)はOpen-MXだけでなくXYZやcifファイルをブラウザ上で表示することが可能です。Animated XYZ（OpenMXの表記では*.md）も可視化できます。拡張子をmdにしなくても自動的にanimated XYZであるかどうか判別してくれて、動画の可視化もできます。

# Materials cloud
な
Materials Cloudの[Quantum ESPRESSO input generator and structure visualizer](https://www.materialscloud.org/work/tools/qeinputgenerator)を使うことでQuantum-ESPRESSO用入力ファイルを作るだけでなくcif, pdb, XYZ, XSF, POSCARなどを可視化することもできます。

# Calistry

Calistryというサイトの[Computational Chemistry](http://calistry.org/Computational-Chemistry-calculators)というサイトでLAMMPS、Gromacs、XYZを表示することが可能です。
macのターミナルで常に英数にする方法

# 環境
- MacBook Air (M1, 2020)
- zsh 5.9 (arm-apple-darwin21.3.0)

# やり方
## .zshrcに追記
```shell
osascript -e 'tell application "System Events" to key code 102'
```
意味は「"英数"キーを入力する」です。
## アプリケーションごとに入力ソースを自動で切り替える（オプション）
システム環境設定→キーボード→入力ソース
「書類ごとに入力ソースを自動的に切り替える」をONにする
## 参考
https://android.benigumo.com/20220206/auto-switch-ime/
Acceptance Test Specification of Global Time Synchronization, No.841, AUTOSAR R21-11(317) CP

Acceptance Test Specification of Global Time Synchronization, No.841, 2021-11

https://www.autosar.org/fileadmin/user_upload/standards/tests/1-2/AUTOSAR_ATS_GlobalTimeSynchronization.pdf

AUTOSAR R21-11記事一覧はこちら。

AUTOSAR 21-11,200文書読んだ。2022年5月にFO, AP, CP 全部到達。

https://qiita.com/kaizen_nagoya/items/4043e8414f850ce266a4

AUTOSAR R21-11(0) 仕様ダウンロード一覧。単語帳。参考文献資料作成

https://qiita.com/kaizen_nagoya/items/9b3a1b9b8d1e8d7e288e

# 用語(terms)
|Term|Description|
|:--|:--|
|AT| Acceptance Test
|CAN |Controller Area Network
|ECU |Electronic Control Unit
|LT| Lower Tester
|PCO |Point of Control and Observation
|Rx |Reception
|SUT |System Under Test
|SWC |Software Component
|TCP| Test Coordination Procedures
|Tx |Transmission
|UT| Upper Tester
## 英日
日本語は仮訳

T.B.D.

# 参考(reference)

[1] Specification of Synchronized Time-Base Manager
AUTOSAR_SWS_SynchronizedTimeBaseManager.pdf
[2] Specification of Time Synchronization over CAN
AUTOSAR_SWS_TimeSyncOverCAN.pdf
[3] Specification of Time Synchronization over FlexRay
AUTOSAR_SWS_TimeSyncOverFlexRay.pdf
[4] Specification of Operating System
AUTOSAR_SWS_OS.pdf
[5] Specification of Basic Software Mode Manager
AUTOSAR_SWS_BSWModeManager.pdf
[6] Specification of CAN Interface
AUTOSAR_SWS_CANInterface.pdf
[7] Specification of FlexRay Interface
AUTOSAR_SWS_FlexRayInterface.pdf
[8] Specification of RTE
AUTOSAR_SWS_RTE.pdf
[9] Requirements on Synchronized Time-Base Manager
AUTOSAR_SRS_SynchronizedTimeBaseManager.pdf
[10] Requirements on Acceptance Tests
AUTOSAR_ATR_Requirements.pdf
[11] Requirements on AUTOSAR Features
AUTOSAR_RS_Features.pdf
[12] System Template
AUTOSAR_TPS_SystemTemplate.pdf
Acceptance Test Specification of Communication CANFD, No.811, AUTOSAR R21-11(316) CP

Acceptance Test Specification of Communication CANFD, No.811, 2011-11

https://www.autosar.org/fileadmin/user_upload/standards/tests/1-2/AUTOSAR_ATS_CommunicationCANFD.pdf

AUTOSAR R21-11記事一覧はこちら。

AUTOSAR 21-11,200文書読んだ。2022年5月にFO, AP, CP 全部到達。

https://qiita.com/kaizen_nagoya/items/4043e8414f850ce266a4

AUTOSAR R21-11(0) 仕様ダウンロード一覧。単語帳。参考文献資料作成

https://qiita.com/kaizen_nagoya/items/9b3a1b9b8d1e8d7e288e

# 用語(terms)
|Term|Description|
|:--|:--|
|AT |Acceptance Test
|ECU| Electronic Control Unit
|IUT |Implementation Under Test
|LT| Lower Tester
|PDU |Protocol Data Unit
|TS |Test System
|UT |Upper Tester
|CAN |Controller Area Network
|NM |Network Management
|PCO |Point of Control and Observation
|Tx|Transmission
|Rx| Reception
|SWC |Software Component
|SUT| System Under Test
|CANFD |CAN with Flexible Data Rate
|DUT| Device Under Test
|SUT |System Under Test
## 英日
日本語は仮訳

T.B.D.

# 参考(reference)

Requirements and Specifications of  CANFD should be listed.
Specification on test methods and test standards should be listed.
Acceptance Test Specification of TCP communication, No.684, AUTOSAR R21-11(315) CP

Acceptance Test Specification of TCP communication, No.684, 2021-11

https://www.autosar.org/fileadmin/user_upload/standards/tests/1-2/AUTOSAR_ATS_TCP.pdf

AUTOSAR R21-11記事一覧はこちら。

AUTOSAR 21-11,200文書読んだ。2022年5月にFO, AP, CP 全部到達。

https://qiita.com/kaizen_nagoya/items/4043e8414f850ce266a4

AUTOSAR R21-11(0) 仕様ダウンロード一覧。単語帳。参考文献資料作成

https://qiita.com/kaizen_nagoya/items/9b3a1b9b8d1e8d7e288e

# 用語(terms)
|Term|Description|
|:--|:--|
|AT| Acceptance Test
|ECU |Electronic Control Unit
|IUT| Implementation Under Test
|LT| Lower Tester
|PDU |Protocol Data Unit
|SP| Service Primitive
|TS| Test System
|UDP| User Datagram Protocol (according to IETF RFC 768)
|TCP |Transmission Control Protocol
|UT| Upper Tester
|IP| Internet Protocol
|ICMP |Internet Control Message Protocol
|TTL |Time To Live
|TOS |Type Of Service
|MTU| Maximum Transmission Unit
|URG| Flag Urgent Pointer field significant in TCP Header
|ACK |Flag Acknowledgment field significant in TCP Header
|PSH| Flag Push Function in TCP Header
|RST| Flag Reset the connection in TCP Header
|SYN |Flag Synchronize sequence numbers in TCP Header
|FIN| Flag No more data from sender in TCP Header
|TCB |Transmission Control Block
|MSL| Maximum Segment Lifetime
|LTIface-m|m-th Interface of LT
|IUTIface-n| n-th Interface of IUT
|IUTIface-n-IP|IP address of n-th Interface of IUT
|LTIface-m-IP|IP address of m-th Interface of LT
## 英日
日本語は仮訳

T.B.D.

# 参考(reference)

[1] AUTOSAR Specification of TCP/IP Stack
AUTOSAR_SWS_TcpIp.pdf
[2] AUTOSAR System Template
AUTOSAR_TPS_SystemTemplate.pdf
[3] AUTOSAR SRS Ethernet
AUTOSAR_SRS_Ethernet.pdf
[4] AUTOSAR General Specification for Basic Software Modules
AUTOSAR_SWS_BSWGeneral.pdf
[5] Specification of ECU Configuration
AUTOSAR_TPS_ECUConfiguration.pdf
[6] Feature Specification of the Acceptance Tests
AUTOSAR_ATR_Features_Eth.doc
[7] IETF RFC 793
http://tools.ietf.org/html/rfc793
[8] IETF RFC 1122
http://tools.ietf.org/html/rfc1122
[9] Testability Protocol and Service Primitives
AUTOSAR_PRS_TestabilityProtocolAndServicePrimitives.pdf
Accep
Acceptance Test Specification of Communication Management, No.628, AUTOSAR R21-11(314) CP

Acceptance Test Specification of Communication Management, No.628, 2021-11

https://www.autosar.org/fileadmin/user_upload/standards/tests/1-2/AUTOSAR_ATS_CommunicationManagement.pdf

AUTOSAR R21-11記事一覧はこちら。

AUTOSAR 21-11,200文書読んだ。2022年5月にFO, AP, CP 全部到達。

https://qiita.com/kaizen_nagoya/items/4043e8414f850ce266a4

AUTOSAR R21-11(0) 仕様ダウンロード一覧。単語帳。参考文献資料作成

https://qiita.com/kaizen_nagoya/items/9b3a1b9b8d1e8d7e288e

# 用語(terms)
|Term|Description|
|:--|:--|
|AT| Acceptance Test
|CAN| Controller Area Network
|ECU |Electronic Control Unit
|LT |Lower Tester
|NM |Network Management
|PCO |Point of Control and Observation
|PDU| Protocol Data Unit
|RfC |Request for Change
|Rx |Reception
|SUT| System Under Test
|SWC| Software Component
|TCP |Test Coordination Procedures
|Tx |Transmission
|UT| Upper Tester


## 英日
日本語は仮訳

T.B.D.

# 参考(reference)

Requirements and Specifications of Communication Management should be listed.
Specification on test methods and test standards should be listed.
Web3・ブロックチェーン系のおすすめyoutubeチャンネル7選



#### #CONNECTV : コネクTV【仮想通貨 ブロックチェーン総合番組】
CoinPostそして、幻冬舎「あたらしい経済」が運営する仮想通貨、ブロックチェーンYoutube教育番組。

hashhubの代表の平野淳也さん
Astarの代表の渡辺創太さん
ブロックチェーンエンジニアで思想家の落合渉悟さん
株式会社gumi 創業者の國光宏尚さん
などをゲストに招いています。

https://www.youtube.com/channel/UCZVFLvB-gv515l5QOUBtbsw

![スクリーンショット 2022-06-04 12.04.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264684/9713ad9a-b9c8-a00c-ea8c-6a554c19a467.png)


#### HashHub
各ネットワークの特徴などのわかりやすく解説しています。

https://www.youtube.com/channel/UC2fhzv7KeGBTa1NFJgDfI1g/videos

![スクリーンショット 2022-06-04 11.57.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264684/064f225f-f972-5c40-5b74-e02ff586931b.png)

#### Joichi Ito
伊藤穰一
千葉工業大学変革センター所長、デジタルガレージ共同創業者兼専務執行役員
DAOやWeb3などの抽象的な概念について説明しています。

https://www.youtube.com/c/JoichiIto

![スクリーンショット 2022-06-04 12.03.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264684/1f8b8355-744b-4578-2c00-615d2f39a21d.png)





## 実装技術系のチャンネル
#### gbec
ブロックチェーンプロダクトを開発したいエンジニアにおすすめです。
細かい実装方法などの技術やアーキテクチャについて説明しています。

https://www.youtube.com/c/gbec2018

![スクリーンショット 2022-06-04 11.56.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264684/d2f25bb6-0877-128a-77be-3124bd342332.png)


#### ブロック アカデミー
Solidityを使った、ブロックチェーンプロダクトを開発したいエンジニアにおすすめです。
細かい実装方法について説明しています。

https://www.youtube.com/channel/UCIgqYzCG6Fk1JbR2O7XF_lA/featured

![スクリーンショット 2022-06-04 11.56.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264684/d929c001-8536-6ea5-6b9e-070820131b30.png)

## 投資系のチャンネル

#### Coin Club Japan
https://www.youtube.com/c/CoinClub

![スクリーンショット 2022-06-04 12.01.47.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264684/58d3d35f-2d4e-66be-6e5d-c45f4adb5687.png)


#### 仮想通貨チャンネル - Joe Takayama
https://www.youtube.com/channel/UChHDspjk1RSMWXe36OyV5rg

![スクリーンショット 2022-06-04 12.02.13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/264684/c7272222-e5d4-1602-db14-bb3309a91bf3.png)


#### ※注意
特定の団体からお金をもらって紹介してるわけではないです。
個人的におすすめするチャンネルを掲載しているだけです。
Acceptance Test Specification of RTE, No.634, AUTOSAR R21-11(313) CP

Acceptance Test Specification of RTE, No.634, 2021-11

https://www.autosar.org/fileadmin/user_upload/standards/tests/1-2/AUTOSAR_ATS_RTE.pdf

AUTOSAR R21-11記事一覧はこちら。

AUTOSAR 21-11,200文書読んだ。2022年5月にFO, AP, CP 全部到達。

https://qiita.com/kaizen_nagoya/items/4043e8414f850ce266a4

AUTOSAR R21-11(0) 仕様ダウンロード一覧。単語帳。参考文献資料作成

https://qiita.com/kaizen_nagoya/items/9b3a1b9b8d1e8d7e288e

# 用語(terms)
|Term|Description|
|:--|:--|
|AT |Acceptance Test
|CAN |Controller Area Network
|ECU |Electronic Control Unit
|LT |Lower Tester
|NM |Network Management
|PCO| Point of Control and Observation
|PDU| Protocol Data Unit
|RfC |Request for Change
|Rx| Reception
|SUT| System Under Test
|SWC |Software Component
|TCP |Test Coordination Procedures
|Tx| Transmission
|UT| Upper Tester
## 英日
日本語は仮訳

T.B.D.

# 参考(reference)

Requirements and Specifications of RTE should be listed.
Specification on test methods and test standards should be listed.
Acceptance Test Specification of Memory Stack, No.669, AUTOSAR R21-11(312) CP

Acceptance Test Specification of Memory Stack, No.669, 2021-11

https://www.autosar.org/fileadmin/user_upload/standards/tests/1-2/AUTOSAR_ATS_MemoryStack.pdf

AUTOSAR R21-11記事一覧はこちら。

AUTOSAR 21-11,200文書読んだ。2022年5月にFO, AP, CP 全部到達。

https://qiita.com/kaizen_nagoya/items/4043e8414f850ce266a4

AUTOSAR R21-11(0) 仕様ダウンロード一覧。単語帳。参考文献資料作成

https://qiita.com/kaizen_nagoya/items/9b3a1b9b8d1e8d7e288e

# 用語(terms)
|Term|Description|
|:--|:--|
|API |Application Programming Interface
|AT |Acceptance Test
|BSW| Basic Software
|CAN |Controller Area Network
|DCM |Diagnostic Communication Manager
|DEM|| Diagnostic Event Manager
ECU |Electronic Control Unit
|LT| Lower Tester
|NM| Network Management
|NvM|Nonvolatile RAM Manager
|PCO |Point of Control and Observation
|PDU| Protocol Data Unit
|PIM |Per-Instance Memory
|RfC |Request for Change
|RAM |Random Access Memory
|ROM| Read-only Memory
|Rx |Reception
|SUT| System Under Test
|SWC |Software Component
TCP Test Coordination Procedures
Tx Transmission
UT Upper Tester


## 英日
日本語は仮訳

T.B.D.

# 参考(reference)x

Requirements and Specifications of Memory should be listed.
Specification on test methods and test standards should be listed.
Termuxにvscodeでリモート開発環境を作る

## 概要

AndroidマシンでTermuxを動かしてvscodeを使ったリモート開発ができる環境を作ります。
Androidアプリの開発環境ではありません。

## やること

1. Termuxとopensshのインストール
1. ubuntu環境のインストール
1. sshでつないだときにubuntu環境に自動ログインする
1. pythonの場合

## Termuxとopensshのインストール

F-DROIDをインストールしてから、F-DROIDでTermuxをインストールする。
この記事の設定1までやればいよい。
https://pc.watch.impress.co.jp/docs/column/nishikawa/1409411.html

## ubuntu環境のインストール

proot-distroでやる。
このページを参考に
https://www.lisz-works.com/entry/termux-ubuntu-for-proot-distro

## sshでつないだときにubuntu環境に自動ログインする

sshd.confにForceCommandを書いてsshでつないできたらubuntuに自動ログインする。
proot-distro内で$TERMを参照しているけど設定されていないので、ここで設定しちゃいます。
```plane
ForceCommand export TERM=xterm-256color; proot-distro login ubuntu
```

## pythonの場合

poetryを使用する方向けの内容です。

### poetryのインストール

poetryをインストールする前に、distutilsが無いので先にインストールします。
poetry自体は普通にcurl ・・・ | python -でインストールできます。

```shell
apt install python3-distutils
```
JavaScriptで小数点を切り捨て表示する方法

画面上に消費税を表示する際に小数点を消したかったので、その解決方法をシンプルに書きます。
## Math.floorを使用する
`Math.floor(数値)`と記述することで、()内の数値を小数点切り捨て表示することができます。
Math.floor(5.2)なら5が返ってきます。

## 使用例
```price.js
const itemPrice = document.getElementById("item_price");
itemPrice.addEventListener("keyup", () => {
  tax = Math.floor(itemPrice.value * 0.1);
```
上記例では、入力フォームの要素をidで取得し、keyupによってキーボード操作時にイベント発火するようにしてあります。
フォームに入力された数値の10%（itemPrice.value * 0.1)をMath.floor()内に記述して小数点切り捨て表示できるようにしてあります。
phpenv: PHPビルド時エラーの解消

# 経緯
phpenv(https://github.com/phpenv/phpenv) を利用してPHP 8.1.6をインストールしようとしたところ、以下のようなエラーが表示されPHPのビルドに失敗した。
その後、いくつかのパッケージをインストールし、実行時に環境変数を渡すことでビルドが成功したため、その際のメモ。


```
-----------------
|  BUILD ERROR  |
-----------------

Here are the last 10 lines from the log:

-----------------------------------------
grep: invalid option -- P
usage: grep [-abcdDEFGHhIiJLlMmnOopqRSsUVvwXxZz] [-A num] [-B num] [-C[num]]
	[-e pattern] [-f file] [--binary-files=value] [--color=when]
	[--context[=num]] [--directories=action] [--label] [--line-buffered]
	[--null] [pattern] [file ...]
configure: WARNING: unrecognized options: --with-png-dir, --with-icu-dir
configure: error: Please reinstall the BZip2 distribution
-----------------------------------------
```



# 環境
* MacBook Pro (13-inch, M1, 2020)
* macOS Monterey 12.4
* homebrew:  (/opt/homebrew/opt以下にパッケージがインストールされる設定)

# 手順

* homebrew

```sh
brew install \
    autoconf \
    bzip2 \
    icu4c \
    krb5 \
    libedit \
    libiconv \
    libjpeg \
    libpng \
    libxml2 \
    libzip \
    oniguruma \
    openssl@1.1 \
    pkg-config \
    tidy-html5 \
    libxslt \
    pcre2
```

* ビルド

```sh
PHP_RPATHS="$(brew --prefix bzip2)" \
PHP_BUILD_CONFIGURE_OPTS="--with-bz2=$(brew --prefix bzip2) --with-iconv=$(brew --prefix libiconv) --with-tidy=$(brew --prefix tidy-html5) --with-external-pcre=$(brew --prefix pcre2) --with-zip --enable-intl --with-pear" \
PKG_CONFIG_PATH="/usr/local/opt/krb5/lib/pkgconfig:/usr/local/opt/icu4c/lib/pkgconfig:/usr/local/opt/libedit/lib/pkgconfig:/usr/local/opt/libjpeg/lib/pkgconfig:/usr/local/opt/libpng/lib/pkgconfig:/usr/local/opt/libxml2/lib/pkgconfig:/usr/local/opt/libzip/lib/pkgconfig:/usr/local/opt/oniguruma/lib/pkgconfig:/usr/local/opt/openssl@1.1/lib/pkgconfig:/usr/local/opt/tidy-html5/lib/pkgconfig" \
phpenv install 8.1.6
```

# 参考

以下参考にした記事

* https://qiita.com/dounokouno/items/0883ff318846072efbc4
* https://zenn.dev/massat/articles/install-php8-with-phpenv
* https://suwaru.tokyo/m1-mac2021%E3%81%A7anyenv-phpenv%E3%81%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A%EF%BC%81/
シェルスクリプト

# 基礎知識
- シバンを記載して置いてなにで実行するかを記載しておく
- -rw-r--r-- でユーザーに実行権限がないときは、chmod U+x ＜ファイル名＞で実行権限をつけてあげる必要がある

# 変数
- 変数の前後にスペースをあけない
- 直接コマンドを実行することもできる

# 引数（位置パラメター）
- sh test.sh book food　とすると「test.sh」を$0、「book」を$1、「food」を$2で使える
- @は引数で渡したものすべてを使える

# testコマンド
- $?は実行結果がかえってくる→真：０、偽：１
- -n (文字列)　空文字であるか判定できる

# ファイルの属性
ファイルの属性を調べることができる
- -e 今いるディレクトリに存在するか調べることができる

# 条件
- AND:-a
- OR:-o

# 繰り返し
```sh
for str in kubota kudou tanaka inu
do 
 echo $str
done
```
※$@でforの引数として渡して上げることができる（省略も可能）

# バックアップのとり方
```sh
for name in *txt
do
 cp ${name} ${name}.bak
done
```
brew install cask 〜 をした時のError: `brew cask` is no longer a `brew` command. Use `brew <command> --cask` instead.

## 前置き
みなさんhomebrew使ってますか？
普段からターミナルを使う方にとっては`brew`コマンド便利ですよね！
今回はそんな`brew`の`cask`コマンドのエラー及び仕様変更について書きます

## brew install cask ができない！
GUIを持つアプリケーションをインストールする時に調べてると

```
$ brew install cask google-chrome
```

みたいな感じの解説記事を見かけると思います

が、いざ実行すると
```
$ Error: `brew cask` is no longer a `brew` command. Use `brew <command> --cask` instead.
```
こんなエラーが出て失敗してしまいました
記事通りにやったのになんで？😭

## 結論：caskコマンドの仕様変更
結論はエラー文に書いてありますね！
どうやらhomebrewのバージョン2.7から`cask`コマンドはオプションになったみたいです

なのでこれからは
```
$ brew install --cask google-chrome
```
と書きましょう

## 最後に
ネット上の技術記事は古いものだとこのような罠があるので気をつけましょう
エラー文もちゃんと見ましょう✌️

以上です🙇‍♂️
自作 Dataloader での画像読み込みが不安定な原因と解決策

# はじめに
初投稿です.
PyTorch で自作の DataLoader を使った画像の読み込みがやけに不安定だったり，最悪の場合フリーズしてしまうということが度々起こったので，その原因と解決策を残しておきます．

# 原因
自作の Dataloader の中で OpenCV を使って画像読み込みをしていたのが原因でした．
どうやら OpenCV の並列処理は PyTorch の並列処理と相性が悪く，不具合を起こすことがあるみたいです．

# 解決方法
実際に効果があった方法を 3 つ紹介します．
# 1: cv2.imread() の代わりに，PILでの読み込みを使う
デフォルトのDataLoaderでも使われているのでこの方法が間違いないです．
torchvision の transform を使ったデータ拡張を行う際も PIL 形式を前提にしているのでこちらが推奨されると思います．

# 2: DataLoader の num_workers を0に設定する
そもそもDataLoaderでの読み込みを並列処理を無効にすれば解決します．
ただし，速度は落ちます．

# 3: OpenCV の並列処理を無効にする
~~import cv2 の後に以下の2行を追加します．~~
( ↑ これだけだと再びdead lockしてしまいました．)
import cv2 の前後に以下の行を追加します．

実装の都合上 ( & PILに書き換えるのが面倒だったため)，私はこれを採用し，フリーズは起きなくなりました．


```mydataset.py

import os # ADD
os.environ["OMP_NUM_THREADS"] = "1" # ADD
os.environ["MKL_NUM_THREADS"] = "1" # ADD
import cv2
cv2.setNumThreads(0) # ADD
cv2.ocl.setUseOpenCL(False) # ADD
...

class MyDatasets(torch.utils.data.Dataset):
    ...
    def __getitem__(self, idx, ...):
        ...
        img = cv2.imread(paths[idx],-1)
        ...

```

# おわりに
補足箇所がありましたら，ご教授いただけると幸いです．

## 参考
https://github.com/pytorch/pytorch/issues/1355
Local emulator使用時にホットリロードすると発生するエラーの対処法[web]

### こんなエラーが...

Firestore has already been started and its settings can no longer be changed. You can only modify settings before calling any other methods on a Firestore object.

### 対処法

```dart
main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  FirebaseFunctions.instance.useFunctionsEmulator('localhost', 5001);
  try {
    FirebaseFirestore.instance.useFirestoreEmulator('localhost', 8080);
  } catch (e) {
    print(e);
  }
  runApp(MyApp());
}
```

詳細はflutterfireの[issue](https://github.com/firebase/flutterfire/issues/6216)に！
access2000の作法 その21

# 概要
access2000の作法、調べてみた。
docmdオブジェクトを調べてみた。

# Docmdオブジェクト

|メソッド|機能|
|:--|:--|
|AddMenu	|			メニューの追加アクションを実行します。
|ApplyFilter	|		 "フィルターの実行" アクションを実行します。
|Beep		|		 "警告音" アクションを実行します。
|BrowseTo	|		 "参照先" アクションを実行します。
|CancelEvent|			 "イベントのキャンセル" アクションを実行します。
|ClearMacroError	|	MacroError オブジェクトに格納されているエラーについての情報を削除します。
|Close		|		 "閉じる" アクションを実行します。
|CloseDatabase|		カレント データベースを閉じます。
|CopyDatabaseFile|	カレント プロジェクトに接続されたデータベースを SQL Server データベース ファイルにコピーしてエクスポートします。
|CopyObject	|		 "オブジェクトのコピー" アクションを実行します。
|DeleteObject	|	 "オブジェクトの削除" アクションを実行します。
|DoMenuItem		|	Access に対して適切なメニューまたはツールバー コマンドが表示されます。
|Echo		|		 "エコー" アクションを実行します。
|FindNext	|		 "次を検索" アクションを実行します。
|GoToControl|		 "コントロールの移動" アクションを実行します。
|GoToPage	|		 "ページの移動" アクションを実行します。
|GoToRecord	|		 "レコードの移動" アクションを実行します。
|Hourglass	|		 "砂時計ポインター" アクションを実行します。
|LockNavigationPane|	"ナビゲーションウィンドウのロック" アクションを使用すると、ナビゲーション ウィンドウに表示されているデータベース オブジェクトをユーザーが削除できないように設定できます。
|Maximize	|		 "最大化" アクションを実行します。
|Minimize	|		 "最小化" アクションを実行します。
|MoveSize	|		 "サイズ変更" アクションを実行します。
|NavigateTo	|		ナビゲーション ウィンドウでのデータベース オブジェクトの表示を制御できます。
|OpenDataAccessPage|	"データアクセスページを開く" アクションを実行します。
|OpenDiagram	|		 "ダイアグラムを開く" アクションを実行します。
|OpenForm		|	フォームを作成します。
|OpenFunction	|	Microsoft SQL Server データベースのユーザー定義関数を開き、Access で表示します。
|OpenModule		|	 "モジュールを開く" アクションを実行します。
|OpenQuery	|		 "クエリを開く" アクションを実行します。
|OpenReport		|	 "レポートを開く" アクションを実行します。
|OpenStoredProcedure|	 "ストアドプロシージャを開く" アクションを実行します。
|OpenTable	|		 "テーブルを開く" アクションを実行します。
|OpenView	|		 "ビューを開く" アクションを実行します。
|OutputTo	|		 "出力" アクションを実行します。
|PrintOut	|		 "印刷" アクションを実行します。
|Quit		|		Quit メソッドは Microsoft Access を終了します。終了する前にデータベース オブジェクトの保存オプションを選択することができます。
|RefreshRecord	|	 RefreshRecord マクロ操作を実行します。
|Rename		|		"名前の変更" アクションを実行します。
|RepaintObject	|	 "オブジェクトの再描画" アクションを実行します。
|Requery	|		 "再クエリ" アクションを実行します。
|Restore	|		 "元のサイズに戻す" アクションを実行します。
|RunCommand	|		組み込みコマンドを実行します。
|RunDataMacro	|	名前付きデータ マクロを実行します。
|RunMacro	|		 "マクロの実行" アクションを実行します。
|RunSavedImportExport|	保存済みのインポート仕様またはエクスポート仕様を実行します。
|RunSQL		|		 "SQL の実行" アクションを実行します。
|Save		|		 "オブジェクトの保存" アクションを実行します。
|SearchForRecord	|	テーブル、クエリ、フォーム、またはレポート内の特定のレコードを検索することができます。
|SelectObject|		 "オブジェクトの選択" アクションを実行します。
|SendObject		|	"オブジェクトの送信" アクションを実行します。
|SetDisplayedCategories	|ナビゲーション ウィンドウのタイトル バーの [カテゴリに移動] の下に表示するカテゴリを指定します。
|SetFilter	|		SetFilter メソッドを使用して、アクティブなデータシート、フォーム、レポート、またはテーブルのレコードにフィルターを適用します。
|SetMenuItem	|		 "メニューの設定" アクションを実行します。
|SetOrderBy		|	アクティブなデータシート、フォーム、レポート、またはテーブルを並べ替えます。
|SetParameter	|	BrowseTo 、OpenForm、OpenQuery、OpenReport、または RunDataMacro メソッドで使用するパラメーターを作成します。
|SetProperty	|		 "プロパティの設定" アクションを実行します。
|SetWarnings	|		 "メッセージの設定" アクションを実行します。
|ShowAllRecords	|	解除操作を実行します。
|ShowToolbar	|		 "ツールバーの表示" アクションを実行します。
|SingleStep		|	マクロの実行を一時中断して [マクロのシングル ステップ] ダイアログ ボックスを表示します。
|TransferDatabase|	 "データベース変換" アクションを実行します。
|TransferSharePointList|	インポートまたはリンクからのデータをSharePoint Foundationサイトのメールボックス サーバーからの SMTP メールを待機します。
|TransferSpreadsheet	| "ワークシート変換" アクションを実行します。
|TransferSQLDatabase|	指定された SQL Server データベース全体を別の SQL Server データベースに転送します。
|TransferText	|	テキストをインポート、アウトポートします。


以上。
access2000の作法 その20

# 概要
access2000の作法、調べてみた。
applicationオブジェクトを調べてみた。

# Applicationオブジェクト

|メソット |機能|
|:--|:--|
|Application.CreateForm|フォームを作成|
|Application.CreateControl|コントロールを作成|
|Application.CreateDataAccessPage|ページを作成|
|Application.CurrentDb|現在のデータベース|
|Application.CurrentData|現在のデータを取得|
|Application.CurrentObjectName|パスを取得|
|Application.CurrentProject|現在のプロジェクトを取得|
|Application.Docmd|コマンド実行|
|Application.Echo|画面の描画を行わない|
|Application.FileDialog|ファイルダイアログ表示|
|Application.FollowHyperlink|ハイパーリンクを開く|
|Application.Quit|終了|
|Application.RefreshDatabaseWindow|再描画|
|Application.Run|実行|
|Application.Screen|スクリーンの取得|
|Application.SetOption|オプションの設定|
|Application.Version|バージョンの取得|

以上。
XCODE オフラインでビルドしたい！

オフライン環境でテストしようとしたときにネットワーク接続で証明書の確認をしたいなどのエラーで実機ビルドができなかった。

とりあえず、Provisioning　Profileをオフライン（7日間）機能を追加して、作成したら動きはしたが、7日後の期限を切れたら動かなくなった。

Build SettingからApple Developerを選択し、Provisioning　Profileも合わせて選択しても動かなくなった。
EntitleMentを消してから実行なども試してもだめだった。

Bundle　Identifierを変更して、Provisioning　Profileも合わせて作成して、EntitleMentを消してから実行などをしたら、いけた。
たまたまかもしれないので、雑な自分用メモ


追記 2022/06/12
Bundle　Identifierを変更して、Provisioning　Profileも合わせて作成すればオフラインでも問題なく実行できた
Spigotのクロスプレイで気を付けること

## はじめに
今回は技術解説ではなく現象の報告記事になります。

## プラグインが使えない!?
Java版と統合版のクロスプレイ鯖(Geyserとfloodgateを使用)を運営しているのですが、どうも自作のプラグインが統合版からだと使えないとの報告を受けました。
何が使えないのか調査したところ「クリックしてコマンドを実行することのできるメッセージが機能しない」ぽい。
詳しく言うとTextComponentのsetClickEventが丸ごと機能しない様子。
統合版の仕様についてはほとんど知らないので、バグなのか仕様なのか判断できず。

## 対策
BEに向けて送信するときはクリックイベントを使わないようにする。(単純明快)
Webページが表示されるまでのブラウザ・サーバ間のやりとりについて（HTTP）

# HTTPとは

- **HTTP**：Webサーバとクライアント間での情報のやりとりをする手順

    - サーバ：ネットワーク上で情報・サービスを提供する役割を持つコンピュータ
    - クライアント：サーバから提供された情報・サービスを利用する役割を持つコンピュータ
    
例）Webサーバから取得した情報をもとにWebブラウザが画面表示する場合、Webサーバ＝サーバ、Webブラウザ＝クライアント

Web上でクライアントがサーバに**リクエスト**（＝何らかの処理の要求）を送り、それに対してサーバーが**レスポンス**（＝リクエストへの応答）を返すことで、情報のやりとりが行われる。

## WebブラウザとWebサーバ間でのリクエスト・レスポンスの流れ

### 1. ユーザーの入力（by リンクのクリック or URL直接入力）
**URL**：どのやり取りの手順で（HTTP, HTTPS, etc.）、どのサーバの、どんなコンテンツを取りに行くかを指定したもの

例）"https:\//en.wikipedia.org/wiki/Pekingese" というURLは、HTTPSという手順で、en.wikipedia.orgというサーバの、/wiki/Pekingeseというコンテンツを指定

### 2. ブラウザがHTTPリクエストを生成しサーバに送信

#### HTTPリクエストの構成要素：
- リクエスト行　
サーバへの要求内容が含まれる（メソッド、パス名、HTTPのバージョンなど）
    - メソッド（＝<u>GET</u>, <u>POST</u>など具体的な要求内容を伝える）
        - GET：コンテンツの取得、データをサーバに送信（by URLの後ろにデータ付与⇨ブラウザに履歴残り機密性低い＆文字列数に制限があり送れるデータ量少ない）
        - POST：データをサーバに送信（by リクエストボディ内にデータ付与⇨機密性高い＆送れるデータ量多い）
        
- リクエストヘッダー（メッセージヘッダー）
	対応しているデータのタイプ（text/htmlなど）、データの圧縮方法（gzipなど）などが含まれる 
   
- リクエストボディ（メッセージボディ）
	サーバに送るデータ内容が含まれる（GETだと空。POSTだとフォーム情報などがココに格納）
 
### 3. サーバは処理を行いHTTPレスポンスを生成しブラウザに送信

#### HTTPレスポンスの構成要素：

- ステータス行
       ステータスコード（＝ブラウザから受け取ったHTTPリクエストの処理結果通知コード）が含まれる。詳細は[こちら](https://gist.github.com/rosylilly/3401612)。
    - 100番台：「リクエスト処理中」
    - 200番台：「正常に処理完了」
    - 300番台：「ブラウザで追加の処理必要」例）WebサイトのURL変更で転送処理必要
    - 400番台：「クライアント側のエラー」例）リクエストされたファイルが存在しない
    - 500番台：「サーバ側のエラー」　例）高負荷状態でデータ転送できない

- レスポンスヘッダー（メッセージヘッダー）
	サーバの種類（ATS/8.0.8など）、送信データの形式（text/htmlなど）、文字コード（UTF-8など）が含まれる

- レスポンスボディ（メッセージボディ）
	HTMLや画像などのデータが含まれる

### 4. HTTPレスポンスをもとに、ブラウザはWebページを表示
サーバから送られたHTTPレスポンスのHTMLファイルで、他のファイル（画像など）を参照している場合、ブラウザは今度はそのデータをリクエストしレスポンスを受ける、というのを繰り返し、Webページの表示を完了させる。

## 参考資料
- [イラスト図解式 この一冊で全部わかるWeb技術の基本](https://amzn.to/3NiQ1SJ)
- [キタミ式イラストIT塾 基本情報技術者](https://amzn.to/3Nn1Ya9)
【React】公式のチュートリアルをやってみる～①環境構築

Reactをお勉強中な私です。
[公式のチュートリアル](https://ja.reactjs.org/tutorial/tutorial.html)を粛々とこなし、よく分からない部分はきちっと調べながら進めていこうと思います。

環境構築は、苦しむと思いきや、秒で終わりました・・


## 前提
- OS: Window 10
- Node.js version: 14.16.1

## 作業用ディレクトリ作成
- テキトーに、React-Tutorialフォルダを作成

## プロジェクト作成
- 作業用ディレクトリで、`npx create-react-app my-app` を実行する
```
PS C:\■■■■■■■■■■\React-Tutorial> npx create-react-app my-app
(略)
Success! Created my-app at C:\■■■■■■■■■■\React-Tutorial\my-app
Inside that directory, you can run several commands:

  npm start
    Starts the development server.

  npm run build
    Bundles the app into static files for production.

  npm test
    Starts the test runner.

  npm run eject
    and scripts into the app directory. If you do this, you can’t go back!

We suggest that you begin by typing:

  cd my-app
  npm start

Happy hacking!
```

### npxとは
- npm 5.2 から利用できるパッケージランナーツール
- npm パッケージをインストールせずに実行できる

### create-react-appとは
- Reactで簡単にシングルページアプリケーションを作成できる方法
- ビルド設定なしでReactアプリを作成できる
- 内部的にはwebpack、Babel、ESLintなどが使われている

### ディレクトリ構成
```
my-app
├── README.md
├── node_modules // パッケージがインストールされるディレクトリ
├── package.json // アプリが依存するパッケージに関する情報を記録するのに使用するファイル
├── .gitignore // Gitでトラッキングしないファイルを指定できるファイル
├── public // Webで公開されるファイルを格納するディレクトリ
│   ├── favicon.ico
│   ├── index.html
│   └── manifest.json
└── src // JavaScriptやReactコンポーネントを格納するディレクトリ
    ├── App.css
    ├── App.js
    ├── App.test.js
    ├── index.css
    ├── index.js
    ├── logo.svg
    └── serviceWorker.js
    └── setupTests.js
```



## 動作確認
- `npm start`でサーバを起動する
```
PS C:\■■■■■■■■■■\React-Tutorial> cd my-app
PS C:\■■■■■■■■■■\React-Tutorial\my-app> npm start
Compiled successfully!

You can now view my-app in the browser.

  Local:            http://localhost:3000        
  On Your Network:  http://■■■■■■■■■■:3000     

Note that the development build is not optimized.
To create a production build, use npm run build. 

webpack compiled successfully
```
- http://localhost:3000/ が自動で立ち上がり、ブラウザに画面が表示される
![ReactApp.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2667439/4bb82f5d-e125-73a7-9c8f-bd5464c85616.png)

### 参考
- https://ja.reactjs.org/docs/create-a-new-react-app.html
- https://zenn.dev/ryuu/articles/what-npxcommand
- https://github.com/facebook/create-react-app