- 2020年
2019年
- サボり
2018年
- サボり
2017年
- サボり
2016年
- 2015年
- 2014年
- 2013年
- 2012年
- 2011年
- 2010年
2019年
2018年
2017年
2016年
Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試してみた。
半年前ぐらいに、Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsというものがあるのを知った。
しかし、なかなか余裕がなく試す機会がなかった。年末年始休みで少し余裕ができたので、試しに使ってみる。
私の環境は、Windows10。
本家ドキュメントに従い、pipでインストール。
pip install diagrams
次に、Graphvizをhttps://www.graphviz.org/download/からダウンロードして、
C:\
に配置。そして、ユーザー環境変数のPathに、以下を追加。
C:\Graphviz\bin
とりあえず、簡単なシステム図を書いてみる。コードは以下。
# coding: utf-8 from diagrams import Diagram, Cluster from diagrams.aws.compute import Lambda from diagrams.aws.storage import S3 from diagrams.aws.network import APIGateway from diagrams.aws.integration import Eventbridge from diagrams.generic.device import Mobile with Diagram('クラウドシステム'): client = Mobile("クライアントアプリ") with Cluster("AWS"): api = APIGateway("sampleapi") evn = Eventbridge("タイマー\nsample_event") client >> api with Cluster("Lambda"): lmb1 = Lambda("メイン処理の関数\nlambda_main") lmb2 = Lambda("バックアップ処理の関数\nlambda_backup") api >> lmb1 evn >> lmb2 with Cluster('samplebucket'): with Cluster("SampleDirectory"): total = S3("sample1.json") records = S3("sample2.json") budget = S3("sample3.json") with Cluster("backup"): datelog = S3("{%Y-%m-%d}/") lmb2 >> datelog lmb1 >> [records, total, budget] lmb2 >> [records, total, budget]
出力結果が以下。コンポーネントの配置、線のつながりとも、いい感じに出力できている。
2で描いたものは解像度がずいぶん低い。これをどうにかできないかと調べたところ、Diagramコンテキストを宣言する際に、Graphvizのオプションのdpiを与えることで調整できることが分かった。以下のように、graph_attrという引数で与える。
graph_attr = { "dpi": "192" } with Diagram('クラウドシステム', graph_attr=graph_attr):
改めて出力した結果が以下。解像度が上がってきれいになっている。
コードでキチっと描けるのはとても気持ちいい。これからどんどん使っていきたいと思った。
JRAの2020年リーディングサイアーに関する一考察である。過去10年にわたるリーディングサイアーランキングの変遷とともに今年のランキングの意味合いおよび来年以降のトレンドについて考察した。
2020年もJRA全レースが終了し、リーディングサイアーランキングが確定した。本記事では、2016年末以来、さぼり気味だった過去10年にわたるランキング変遷とともに今年のランキングの意味合いと今後のトレンドについて考察する。
以下は、2020年リーディングサイアーランキング上位10傑。
順位 | 馬名 | 勝馬率 | EI | 賞金[億円] | 代表馬 |
---|---|---|---|---|---|
1 | ディープインパクト | 0.39 | 2.72 | 79.52912 | コントレイル |
2 | ロードカナロア | 0.326 | 1.64 | 40.72601 | アーモンドアイ |
3 | ハーツクライ | 0.325 | 1.56 | 30.57016 | サリオス |
4 | オルフェーヴル | 0.254 | 1.42 | 24.99326 | ラッキーライラック |
5 | キングカメハメハ | 0.341 | 1.62 | 23.23214 | チュウワウィザード |
6 | ルーラーシップ | 0.275 | 1.04 | 22.52554 | キセキ |
7 | ダイワメジャー | 0.265 | 1.18 | 19.9123 | レシステンシア |
8 | キズナ | 0.357 | 1.15 | 17.42262 | マルターズディオサ |
9 | エピファネイア | 0.237 | 1.14 | 16.01054 | デアリングタクト |
10 | ヘニーヒューズ | 0.321 | 1.1 | 14.81576 | アランバローズ |
1位はディープインパクト(以下、ディープ)で、勝馬率、EIとも他の9頭に比べて抜きん出ている。相変わらず優秀。 2位と3位は2019年から入れ替わっただけでなく、ずいぶんと差がついたように思う。 4位オルフェーヴルは、昨年10位から順当に上昇してきた。EIがやや低いがそれでも上位に来るあたりは、あたりはさすがステイゴールドの仔といった感じ。 5位キングカメハメハは、現役馬数も減ってきているにもかかわらず昨年より1つ上がった。EIも勝ち馬率も高く、さすがに優秀。 ルーラーシップ、ダイワメジャーは昨年とほぼ変わらない安定した成績だ。ルーラーシップは、2016年末の予想で将来有望と書いたが、私が考察をさぼっているうちに気づいたらトップ10常連と化していた。予想は間違っていなかった。 そして、キズナが2年目で8位に入ってきた。2年目の8位というのはキングカメハメハと同じだ。さすが有望株。 エピファネイアも、キズナとほぼ同じような上がり方。こちらも非常に期待が持てる。 ヘニーヒューズは、産駒数の増加に伴って上昇してきた。ダート専門のような感じだが、安定感がある。 昨年との変化で見ると、ハービンジャーは一時期よりも勢いがなくなっている印象。ゴールドアリュールはトップ10から落ちたがちょうど10位前後を行ったり来たりしているのでたまたま落ちただけの気がする。
図2は、過去10年のリーディングサイアーランキングの変遷である。
ディープ、キンカメの2強と、ダイワメジャー、ハーツクライ、ステイゴールドなどが安定勢力を形成していたが、今後産駒数の減っていくディープの次のリーディングサイアーをロードカナロア、オルフェーヴルが狙う展開になってきた。さらに、キズナ、エピファネイアといった注目株が2年目でトップ10に入ってきて、ロードカナロア、オルフェーヴルに迫っていく勢いを感じる。
前節までを踏まえてここでは今後の展望を行ってみたい。 来年も、1位はディープが守るだろう。産駒数は減る傾向だが2位とだいぶ差がある。2位はロードカナロア、オルフェーヴルが争うが、ロードカナロアは2017年=4歳世代以降に目立った産駒がいないのが少し心配。オルフェーヴルやや有利で、場合によっては、ハーツクライの逆転もあるかもしれない。5位以下は、キンカメ、ルーラーシップ、ダイワメジャーをキズナ、エピファネイアが追い越す可能性が十分期待される。ヘニーヒューズはダート馬が多いため、順位を上げづらいが、10位前後か。 新興勢力についてだが、以前の考察で示している通り、初年度100位以内であることが、将来のトップ10の目安となる。特に、50位以内は、トップ10どころかリーディングを狙う器ともいえる。 2020年でいえば、初年度100位以内として、ドゥラメンテ(44位)、モーリス(47位)、リオンディーズ(74位)、ミッキーアイル(80位)がいる。ドゥラメンテは、初年度勝馬率0.314でありハーツクライ級に優秀なので期待が持てそう。最後に2021年のリーディング予想を以下にまとめておく。
順位 | 馬名 | コメント |
---|---|---|
1位 | ディープインパクト | まだまだ1位を保持 |
2-4位グループ | オルフェーヴル、ハーツクライ、ロードカナロア | ディープとの差が少しは埋まるか |
5-6位グループ | キズナ、エピファネイア | トップ5の可能性十分あり |
7-9位グループ | キンカメ、ルーラーシップ、ダイワメジャー | 安定した実力で上位の常連を形成 |
10位前後グループ | ヘニーヒューズ、ゴールドアリュール、ドゥラメンテ | ドゥラメンテがトップ10圏内までくるか。 |
新興勢力 | モーリス | 将来トップ10圏内までくるか。 |
2020年のリーディングサイアーランキングについて、過去10年の変遷および今後の展望を交えて考察を行うことができた。2021年も動向を見守っていく。
電子部品用のパーツボックスを製作することにした。前回の設計に従い、組み立てを行う。
前回に続いて、組み立てを行う。
仕切り板に、定数の区分けごとのラベルを貼っていく。かなりの数があるがひたすらやってどうにか終了。
一番奥の区画のラベルは、引き出し側に貼る。
スポンジは、引き出しの奥行きを3分割する位置に張り付ける必要があるが、引き出しの数が非常に多いので、効率的に位置決めができるよう、以下のような治具を作成した。
治具を使って、貼ったところ。位置決めが非常にやりやすい。とはいえ、1つの引き出しに対して4か所あるのでかなりの作業量。
以下のような感じで、ひたすら取り付けしていく。
キャビネット2つ分が完成。非常に大変ではあったが、集中してやれば3時間くらいか。
パーツキャビネットが完成した。総費用は7000~8000円程度。常備部品の収納はこれで十分賄えるし、何より、それぞれの部品へのアクセスしやすさが上がったのと、棚になったことで作業スペースを無駄に占有しなくて済むようになった。快適な工作環境になったと思う。
LambdaのPythonバージョン変更で解決。
ここ数日、AWS IoTにパブリッシュするLambda関数が以下のようなエラーを吐いて動かなかった。
[ERROR] SSLError: SSL validation failed for https://data.iot.ap-northeast-1.amazonaws.com/topics/***********?qos=1 [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1091) :
どうしてだろうと調べたところ、
あたりを見る限り、Pythonのバージョンの問題?のように見えたので、LambdaのランタイムをPython3.7からPython3.8に変更したら、エラーが消えた。
とりあえず、解決したが、なんでエラーが出たのかよくわからない。
電子部品用のパーツボックスを製作することにした。まずは全体構想、設計と材料調達。
私が今使っているパーツボックスは、10数年以上前に買ったもので、長年使っていると改善が必要だと思う部分が出てきた。そのため、そろそろ新しいものに入れ替えて課題を改善をしたいと思い、いろいろ探したのだが、機能、大きさ、値段など含めなかなか自分の思うような市販品が見つからなかった。そこで、やはり困ったときは自分の欲しいものを作ることにした。
今回は構想の検討、設計、材料調達を行う。
現在、ある程度使う量が多い抵抗やコンデンサなどは以下のようなものに入れている。
この他の非常備品は、同じようなパーツボックスや100均のバスケットなどに雑多に入れている。
この状況で感じる課題としては、
※1スーパーピッチシリーズ自体はとても素晴らしい製品だと思う。 ※2実際にやったことはないが気を付けないといけないためストレスを感じる
実は、1を改善しようと思って数年前にパーツボックスの蓋を取って引き出しとし、収納用フレームを作って引き出し型ボックスに改造したのだが、全然改善しなかった。なぜなら、1段あたりの部品の種類が多いため、部品を取り出す際は、部品の見やすさから引き出し全体を取り出してしまうことと、引き出し自体が大きいため、何度も出し入れするのが面倒で、結局作業机に置きっぱなしになってしまうから。
というわけで、改善の方針としては、以下とする。
収納対象は、よく使う抵抗、コンデンサ、半導体等とする。 各部品の使用頻度を考慮し、区分けの細かさなどを検討した。
現在はチップ部品の手持ち数量は少ないが、将来的には増える可能性がある。とはいえ、定数ごとの区分けさえあれば問題ないので別にボックスを用意することはしない。
まずは、既製品である程度そのまま使えるものを探すことにした。この手の製品は、非常に種類が多いし、お金さえ出せば、大学や企業の実験室にあるようなHOZAN製の金属製キャビネットなど、いくらでも希望をかなえられる製品はある。しかしながら、個人の趣味であることや設置場所の問題から、そういったものを買う状況にない。 結果、引き出しサイズ、引き出し数、値段を考慮して、
を選定。 価格は楽天で1800円程度と非常に安い。 引き出しの内寸は、横幅63mm程度、奥行き108mm程度、深さ39mm程度。横幅はリード抵抗がちょうど収り、奥行き3分割すると1区画に100本セット2定数を入れても収まる。深さだけは少し深いなと感じるが、浅すぎるよりはいい。
抵抗、コンデンサの定数の種類を考えると、PC-310の引き出しを3つに仕切る必要がある。スーパーピッチシリーズのような作りになっていれば最高だが、PC-310の価格帯を考えると仕方ないこと。別途用意することにする。 問題は、大量の枚数をどうやって用意するかだが、いろいろ検討した結果、アクリル板のオーダーカットをしてくれるヒョーシンネットという会社のサービスを見つけた。
で、大まかに見積もったところ2000円程度分かった。非常に安い。このサービスを使うことにした。
また、仕切り板を引き出しに固定する方法は、いろいろ迷った結果、スポンジを引き出しと仕切りの間に挟んで固定することにした。 スポンジは、手持ちのエプトシーラー10mm幅、10mm厚が使えそうだったのでこれにする。
引き出しに何が入っているかわかるように、ラベルが必要。 印刷して作るタイプやテプラも考えたが自宅にテプラはないので、一般的な文具として売られている手書きできる紙シールタイプで十分とした。
PC-310は、楽天で2個購入して約4000円。
アクリル板は、ヒョーシンネットで注文から5日程度で到着。寸法精度もばっちり。端の欠けもなかった。送料が800円程度だったが、まあよし。このカットサービスは非常に良いと思う。
ラベルは、紙の8mm * 20mm×320枚のものがホームセンターで100円で売っていたのでこれで十分。
全体で、7000円程度。これくらい出せばそれなりの既製品が買えるようにも思えるが、収納したいサイズや引き出し内の仕切り等の条件を考えるとやはり希望のものは見つからなかったので作るのが妥当だと思う。
電子部品用のパーツボックスを製作にあたり、構想、設計と材料調達を行った。 次回は、組み立てを行う。
冷凍唐揚げを活用し、手間を省いた親子丼を作ってみた。
長引く在宅勤務により、インスタント麺を中心に適当にしのいできた昼食レパートリーにだんだん飽きてきた。そこで、簡単に作れてそこそこうまいレパートリーを増やしたいと考えたところ、冷凍唐揚げを親子丼の具として使ってしまえば、鶏肉を買ってきて作るよりも簡単ではないか?と思った。そこで、調理して試してみた。
1人前の分量とする。
電子レンジでもオーブンでもよいと思う。
解凍するだけでなく、少し焼き色というか焦がしを入れると香りが立ってうまい。また、大きすぎると思ったら、2cm角程度に切る。包丁を出すのは面倒なので、調理用ハサミで十分。
軽く炒めてもいいし、ほぼ炒めなくてもよい。
煮立って長ねぎが柔らかくなればOK。
半分ずつに分けて入れると、1回目はある程度固まるまで煮て、2回目は半熟気味になったところで火を止めるとうまいと思う。
※写真は撮り忘れた。
唐揚げに味付けがされているため、通常の親子丼よりやや味が濃いが、しょうゆ、酒は唐揚げを作る際にも使われる調味料なので、味のマッチングはよい。鶏肉のうま味がしっかりあるし、もともと味付けの完成度が高い冷食により、だれが作ってもそれなりの味になると思う。椎茸の出汁も十分感じられた。これは入れた方がいいと思う。
というわけで、なかなかうまくいったと思う。 ねぎも冷食を使って、椎茸は干しシイタケを使えば、さらに簡単になると思う。
冷凍唐揚げを活用した親子丼は、なかなかうまくいった。今後の昼食のレパートリーに加える。