プログラムちょい替え（12) 【Python3】超初心者のデコレータMEMO: docker(97)

【Python3】超初心者のデコレータMEMO
https://qiita.com/Hiko2112/items/5542a4874c11e7fdefcf

pythonの文法は気にしたことがない。

まず、動作させてみる。

```shell-session:macOS
$ docker run -v /Users/administrator/Downloads/work:/home/work  -p 8080:8080 -it  continuumio/anaconda3   /bin/bash 
```

administratorは実際に使っているユーザ名（ここではmacOS）
最初のプログラムを動かしてみる。

```shell-session:docker/ubuntu
# apt update; apt -y upgrade
# apt install vim wget sudo
# cd /home
# mkdir hiko2112
# cd hiko2112
# vi hiko2112.py
# python hiko2112.py
1
私の名字は「浦島」です。
2
text:浦島太郎
3
```

2つめのプログラムも動かしてみる

```shell-session:docker/ubuntu
# vi hiko2112a.py
# python hiko2112a.py
1
私の名字は「浦島」です。
2
text:浦島太郎
3
```

同じ機能の違うプログラムの例らしいことがわかった。

一つ目のプログラムを複写して１行を注釈にしてみる。なお、先頭にURLをつけておく。

```shell-session:docker/ubuntu
# cp hiko2112.py ogawa.py
# vi ogawa.py
# python ogawa.py
私の名字は「浦島」です。
# cp *.py ../work
```
編集後の変更点は

```python:ogawa.py
#https://qiita.com/Hiko2112/items/5542a4874c11e7fdefcf
...
#@decorator1
...
```

＠定義名がおまじないらしい。

最初のプログラムが手続き言語風、次のプログラムが関数言語風と呼んでもいいだろうか。

ここまでをdocker hubに登録。

あとなにをするといいかを考える。

```shell-session:macOS
$ docker ps
CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                    NAMES
21ec0d2e91a5        continuumio/anaconda3   "/bin/bash"         22 minutes ago      Up 22 minutes       0.0.0.0:8080->8080/tcp   sleepy_liskov
$ docker commit 21ec0d2e91a5 kaizenjapan/hiko2112
sha256:d1f586795f4247b05f683472a6902067e4e0360d5d17e6b410a4f9a37a43325f
$ docker push kaizenjapan/hiko2112
The push refers to repository [docker.io/kaizenjapan/hiko2112]
4b3b085e18ff: Pushed 
fea5b0fc043c: Mounted from continuumio/anaconda3 
74ec0331084e: Mounted from continuumio/anaconda3 
d8a33133e477: Mounted from continuumio/anaconda3 
latest: digest: sha256:6729ffb2f97479e3fe58321d793b2e751dc3788770a269820b8eec261e3bcac1 size: 1166
```

今度実行するときは、

```shell-session:macOS
$ docker run -v /Users/administrator/Downloads/work:/home/work  -p 8080:8080 -it  kaizenjapan/hiko2112   /bin/bash 
```
ただし、administratorのところは実際のuser name

# 更新
/Usersや/homeを作業に使わずに、どちらも/tmpを使うことにした。
残したいファイルは、そこから/home/python2, /home/python3などの複写する。

# Reference
Ethernet 記事一覧　Ethernet(0)
https://qiita.com/kaizen_nagoya/items/88d35e99f74aefc98794

Wireshark 一覧 wireshark(0)、Ethernet(48) 
https://qiita.com/kaizen_nagoya/items/fbed841f61875c4731d0

線網（Wi-Fi）空中線(antenna)(0) 記事一覧(118/300目標)
https://qiita.com/kaizen_nagoya/items/5e5464ac2b24bd4cd001

C++ Support(0)　
https://qiita.com/kaizen_nagoya/items/8720d26f762369a80514

Coding Rules(0) C Secure , MISRA and so on
https://qiita.com/kaizen_nagoya/items/400725644a8a0e90fbb0

Autosar Guidelines C++14 example code compile list(1-169)
https://qiita.com/kaizen_nagoya/items/8ccbf6675c3494d57a76

Error一覧(C/C++, python, bash...) Error(0)
https://qiita.com/kaizen_nagoya/items/48b6cbc8d68eae2c42b8

なぜdockerで機械学習するか 書籍・ソース一覧作成中 (目標100)
https://qiita.com/kaizen_nagoya/items/ddd12477544bf5ba85e2

言語処理100本ノックをdockerで。python覚えるのに最適。:10+12
https://qiita.com/kaizen_nagoya/items/7e7eb7c543e0c18438c4

プログラムちょい替え（0）一覧:4件
https://qiita.com/kaizen_nagoya/items/296d87ef4bfd516bc394

一覧の一覧( The directory of directories of mine.) Qiita(100)
https://qiita.com/kaizen_nagoya/items/7eb0e006543886138f39

官公庁・学校・公的団体（NPOを含む）システムの課題、官（０）
https://qiita.com/kaizen_nagoya/items/04ee6eaf7ec13d3af4c3

プログラマが知っていると良い「公序良俗」
https://qiita.com/kaizen_nagoya/items/9fe7c0dfac2fbd77a945

自動制御、制御工学一覧（０）
https://qiita.com/kaizen_nagoya/items/7767a4e19a6ae1479e6b

Rust(0) 一覧　
https://qiita.com/kaizen_nagoya/items/5e8bb080ba6ca0281927

小川清最終講義、最終講義（再）計画, Ethernet(100) 英語(100) 安全(100)
https://qiita.com/kaizen_nagoya/items/e2df642e3951e35e6a53

＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
### 文書履歴(document history)
ver. 0.01 初稿
ver. 0.02 更新追記 20191231 
### 最後までおよみいただきありがとうございました。
いいね、フォローをお願いします。
####  Thank you very much for reading to the last sentence.
Please press the like icon and follow me for your happy life.