Dockerを完全に理解していく その1
Dockerのことは名前しか知らない(いまここ)
Dockerが何なのかよくわかってなかったので、チュートリアルを進めて理解する過程を書き留めておきます。以下は私がドキュメントを都度解釈した内容ですので、誤りが多々あるかと思います。ご了承ください。
すでにDocker DesktopのインストールとHello World的なコンテナをDocker Hubに公開してみるところまでは進めました。たぶん概要はわかったような気がしていますが、改めて確認していきます。
Dockerって何? 何がしたいの?
参照: Docker overview | Docker Documentation
アプリの開発環境、テスト環境、本番環境などをコンテナという単位で統一して、開発もテストも本番サーバでの運用も全部おなじ要領で済ませよう、というのがDockerのやりたいことです。具体例の一つを挙げます:
- 複数人開発において、開発環境のコンテナを生成して共有する
- 開発用コンテナでアプリを作り、テスト用コンテナにさくっとデプロイする
- うまくいったら同じく本番コンテナにデプロイする
- 本番コンテナは(Dockerコンテナを実行できるプラットフォーム上であれば)そのまま運用可能で、物理的な環境は自社サーバでもクラウドでもなんでもいい
やってることはほかの仮想環境を作るシステムと似てますが、大手の出してるスタートアップ環境を使ったり、クラウドサービスなどにコンテナごと突っ込んでそのまま動かすことができたりするのが大きな違いでしょうか。
Dockerの仕組み
Docker全体はいわゆるクライアント-サーバ方式をとっています。Docker-client (docker)とDocker-daemon (dockerd)がREST APIに則ってやりとりするのが基本です。
CLIのdockerを使えば、たとえば $ docker run のように、コマンドライン上でdockerdとやりとりできます。またGUIアプリのDocker DesktopをインストールすればGUIで操作することもできます。Docker Desktopにはdockerdをはじめとして Dockerを使うために必要なものが概ね備わっています。
また、GitでいうところのGitHubみたいなサービスがDockerにもあり、(後述する)Docker imageをリポジトリとして管理できます。たとえばDocker Hubから公開されているimageをpullして使うといった場面が想定できます。
とりあえず今日はここまでで……おつかれさまでした。
ao12したソルブ (05-30)
過去ベストの57.98 秒が出ました。ao12も1分19.82秒でベスト記録です。やったね。
ちゃんとソルブする時間を確保したのが3日ぶりで、手が全然回らない感覚がありました。やはり毎日続ける効果は大きいと痛感します。いや、それでもベストタイムは出てるんですが……
心身ともに過敏な日が続いていますが、そろそろ治まってほしいものです。むーっ。
csTimerによって 2022-05-30 に生成
avg of 12: 1:19.82タイム一覧:
1. 1:36.18 U F2 L F2 R2 B D B' L' F2 B2 L' F2 L2 F2 D2 R' F2 B2 L'
2. (1:42.26) F R2 B2 L2 F2 U2 B2 U' F2 D L2 B2 F D2 L2 U' R U R2 F2
3. (57.98) B L' U2 B2 R U F' L' D2 L' U2 D2 L' D2 L2 B2 L F D
4. 1:30.07 F2 D F' B' R' L2 D' F' L U2 B2 U2 R2 U' R2 D2 F2 L2 D F2 U'
5. 1:25.58 R B U' L2 B2 D' L' F B' D2 R' D2 F2 U2 R2 F2 L D2 R2 B2
6. 1:07.01 D B' U2 R2 B2 R F2 R2 U2 R D2 R B2 R' D' U L' D' U L R
7. 1:18.34 U2 L F' L2 B2 U R2 B2 D' B2 L2 U B2 U' B L' U' B' L F D
8. 1:27.72 L2 D2 L' U2 R' B' D R B' U L2 D' R2 U' D F2 L2 F2 B2
9. 1:19.36 B L F U2 F2 R2 F D R2 U L2 F2 U2 L2 U2 L2 D' B' D2
10. 1:11.96 U' F2 R D2 R2 U L2 F2 U' B2 R2 F2 D2 F' D2 R D U2 F' D'
11. 1:17.07 R F2 B' D' F D2 L U2 L U' B2 D' R2 B2 U R2 L2 F2 L2 D'
12. 1:04.88 U R2 F' R B2 D F' D2 R' F2 R D2 B2 L2 B2 L D2 F2 B' R2
スピードキューブ したソルブ (05-27)
ベストタイムで1分切りました! やったね。ao12も1:30は切れる程度に慣れてきました。
F2Lでコーナーピースの白(D面)がU面を向いてるケースなど、やりにくい形が多いなと感じるようになりました。F2Lの手順自体を覚えるべきか、それとも空きスロットや背面F2Lを扱うのに慣れるほうが先か……たぶん後者がよさそうです。
csTimerによって 2022-05-27 に生成
avg of 12: 1:23.95タイム一覧:
1. 1:38.20 L2 U B2 R2 D' B2 F2 D' B2 R2 D' U2 L' B U R' U2 L D' R2 U'
2. 1:03.28 R' F' L F2 L U R2 F U F' L2 D2 F' D2 R2 L2 F2 B' U2 B' R2
3. 1:42.24 L D L' U F' B2 L' U' F' R2 U D2 F2 U' B2 U R2 U2 D L2 B
4. 1:25.20 U' R' B L D2 B2 D F2 R' U2 F2 U2 F' R2 L2 F' D2 F' L2 D2 L2
5. (59.96) F U' R2 U' F2 U B2 U' L2 R2 D2 R2 L' U' F' U L B2 L U' B'
6. 1:19.56 F2 D2 L D2 L' B2 L' R2 U2 R2 D2 U2 F U' F2 L F2 D' L2 D B2
7. 1:28.09 D2 F2 D2 L2 D' R2 B2 L2 D' L2 B' R' B R F' U B2 R2 B' F
8. 1:17.92 L2 U2 B' R2 F2 R2 U2 B U2 F2 L2 F D' B' F' L R' U' L' B2 D2
9. 1:27.28 L2 U2 R' F2 D' F R' B R2 F2 R2 F2 D' L2 D2 F2 D L2 U
10. (1:48.93) L2 R2 F2 U F2 R2 D B2 L2 U F2 L2 R' B' L' F2 L2 R' U R' U'
11. 1:24.41 F U2 L2 F2 U2 F' U2 R2 F2 U2 F R2 U' R' D2 L' R' B2 U
12. 1:13.36 B2 R' U2 F2 R' D2 R' U2 L D2 U2 F L' U' B R D R B2 R2
今日はほかにDockerを触ってみたりなどしていましたが、その話は別でまとめます。
スピードキューブ ソルブした 05-25
今日も12回ソルブしました。ベストタイム1:00.67が出て、アベレージも1:30あたりに収まっています。途中でやらかしたときは2分くらいかかってますが、まあいまのところhは仕方ないですね。
初期状態からクロス手順を組み立てる思考が徐々に身についてきました。F2Lはキューブの切り離しが未だに苦手です。
前半に意識を割いているせいか、後半のOLL・PLLで無駄な持ち替えやAUFを挟んだり、回し方が拙くなっているように感じました。手順一つ一つの練習ではそこまで悪くないんですが……手順の選択と焦りが反映されているのかもしれません。
csTimerによって 2022-05-25 に生成
avg of 12: 1:26.40タイム一覧:
1. (2:36.63) R' B L B2 D2 B' D B2 U' B2 R2 F2 D' R2 D2 B2 U B D'
2. 1:02.79 L2 D' B2 L2 R2 U L2 D2 B2 R2 U2 R D2 R F U R2 B F2
3. 1:55.62 B2 D2 B2 D' R2 F2 U' F2 U R2 F2 L' F' L B' U' R' B L D2 R'
4. (1:00.67) U R B' D L2 B2 D L2 U B2 U R2 D2 L U' R2 D' U' F' U'
5. 1:13.00 F L2 B D2 B L2 B' R2 U2 B2 L2 F2 U L D B U F2 L' D2
6. 1:39.27 R2 U B2 D' L F' U2 B L2 F2 R2 D2 R2 U R2 U' B2 D F2 D F'
7. 1:12.16 U2 F D' R F2 U2 B2 U2 L2 U2 R D2 F2 R2 D' B' D R2 U' F2 R'
8. 1:35.36 B' U' R F U2 B' R' L F U2 B2 U2 B2 D2 L2 F2 R2 L F2
9. 1:11.37 R' F' R2 D2 U2 B F2 D2 U2 L' B' U L F R B U'
10. 1:10.67 R U D2 R D2 L' U2 R2 D2 R2 F2 D2 B2 D' B2 L2 B R D2 R
11. 1:24.37 F L2 U2 F' L2 U2 B' D2 U2 F' L2 U2 L' D L2 U F R2 U' B' D'
12. 1:59.41 L' D2 B2 U' L2 D B2 U' F2 U2 L2 B2 U2 F R' D L F2 L' B' R
夏やら5月やらといった魔の季節にあり、心がささくれがちですが、休み休み過ごしていきます。
キューブ ソルブ12回 5月23日 夜
おとといか先週くらいから夏バテにバテて終わりになっています。
とりあえずやるだけやったら自己ベスト(1分4秒)が出たので、本日12回分の平均と一緒に載せておきます。
csTimerによって 2022-05-24 に生成
avg of 12: 1:29.88タイム一覧:
1. 1:29.83 U2 L2 D2 B L2 U2 B F2 L2 U2 B' L U R B' F2 L' R' F L2 U
2. (1:04.60) L2 B D2 B F R2 D2 R2 U2 F' U2 F2 D F2 U B2 L B' L R2 U2
3. 1:56.92 F B2 R2 U R2 U' F2 D2 R2 D R2 U2 F D' L F D' B' L2 R2 F2
4. 1:31.66 B U2 R2 F L' U' D R U F' U2 L2 U2 D2 F D2 B R2 B2 R2
5. 1:30.51 U' B2 L2 F R2 F' L' U B F2 R2 U F2 U F2 R2 L2 U'
6. (2:13.80) L2 U B2 U L2 D2 B2 F2 U' L2 U' F L' F2 U' L' R D U2 B'
7. 1:29.72 U L2 B2 U2 R2 D' R2 F2 D B2 F2 R B L D L' F' L' R2
8. 1:08.97 B' D' U2 F2 R' U2 F2 L R2 D2 B2 D2 F2 L2 D L' R2 B' D' F' L'
9. 1:07.88 F' U' B' D2 U2 R2 D2 F' L2 B D2 R2 B R' U F2 L' D U' B' L2
10. 1:31.99 L' F' B' U2 R2 U2 D' F D2 L B2 R2 B2 R' B2 U2 L D2 L' U'
11. 1:40.32 U D' F' L F' D F' U2 B D2 L2 B2 D2 L D2 L' D2 B2
12. 1:31.01 D R U2 L2 D2 B' R2 F' U2 L2 R2 B F2 R' D U' L' B' R' F2
D面クロスがちょっと速くなってる気がします。
F2Lでコーナーキューブ・対応するエッジキューブ・対応するスロットの位置を見つけるのが相変わらず遅く、右手手順なのか左手手順なのかで迷うロスもあり、これらの解消が今後の課題です。
スピードキューブ (0521)
ちょっとずつ記録をつけていったら上達しないかなという期待を込めて、ちゃんと計測しながらソルブしてみました。
焦るとキューブの色、特に側面の色の組み合わせがわからなくなってしまうようでした。これはたぶん慣れるまでどうしようもなさそうです。
先日TORIBOさんのファーストキューブセットを購入しまして、それを期に黄色をU面にして持つように決めました。以前までは緑をU面にして持っていたんですが、なんでそう持ってたんでしょうね……
csTimer - Professional Rubik's Cube Speedsolving/Training Timer
csTimerによって 2022-05-21 に生成
ソルブ数/合計: 12/12single
ベスト: 1:09.52
ワースト: 3:51.26mean of 3
現在: 1:20.45 (σ = 13.95)
ベスト: 1:20.45 (σ = 13.95)avg of 5
現在: 1:36.09 (σ = 20.39)
ベスト: 1:36.04 (σ = 20.39)avg of 12
現在: 1:50.76 (σ = 24.78)
ベスト: 1:50.76 (σ = 24.78)Average: 1:50.76 (σ = 24.78)
Mean: 1:57.37タイム一覧:
1. 2:17.19 U' R2 D2 F2 L2 B2 D F2 L2 D2 U R' F U2 L2 B L2 D' F' D L'
2. 1:29.56 F R L2 F R2 U' R F R2 F2 D' R2 U B2 U' B2 D L2 F2 L'
3. 2:23.07 F2 B2 U' D' B' U F L U' F R2 F' L2 U2 F R2 F U2 B L2
4. 2:24.96 F2 U2 R' U2 L2 U2 B2 U2 L' B2 R F L' R' U B' R D L' D
5. 3:51.26 F L F2 L2 B2 U2 R' D2 R' D2 F2 L U' B' F R2 D L D2 F
6. 1:30.41 U' F2 R2 F2 D' L2 B2 U B2 U R2 U' F D2 L F2 D' R F L D'
7. 1:36.03 B D2 L' U2 R D2 L R2 U2 F2 D2 U2 B' F' D B D2 L' B' U2
8. 1:58.16 L2 F2 D2 L B D R2 L2 B' R' D2 L' D2 B2 L F2 R' U2 F2
9. 1:56.44 L' D' B2 R2 F2 R' D2 R' D2 F2 L U2 L B D2 R2 B D' L R2
10. 1:09.52 U2 L U2 D' L2 U R2 U B' D2 L D2 R D2 B2 R2 U2 L'
11. 1:15.66 R2 D2 B2 D' R2 U R2 U F2 L2 D2 B2 F R D U2 R2 B2 R2
12. 1:36.16 D F L' D2 F R U F' R2 F2 B2 U2 B2 U2 D' R2 L2 D B
整数の除算で端数切り上げするやつ
画像なので検索性が悪くて申し訳ないんですが、切り上げ除算について自分用にまとめたので載せておきます。
整数 a, b の除算において celi(a / b) = (a + b - 1) / b が成り立ちます。
ギリギリ切り捨てられるサイズのかまぼこ [b - 1) を加えることによって、a がちょっとでも余りを出したら+1個分の長さになる、みたいなイメージで私は理解しました。
でもceil関数を使うほうが好き。