工作と競馬2

電子工作、プログラミング、木工といった工作の記録記事、競馬に関する考察記事を掲載するブログ

リーディングサイアーランキング回顧

  • 2020年

dekuo-03.hatenablog.jp

  • 2019年

    • サボり
  • 2018年

    • サボり
  • 2017年

    • サボり
  • 2016年

blog.livedoor.jp

  • 2015年

blog.livedoor.jp

  • 2014年

blog.livedoor.jp

  • 2013年

blog.livedoor.jp

  • 2012年

blog.livedoor.jp

  • 2011年

blog.livedoor.jp

  • 2010年

blog.livedoor.jp

Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試した

概要


Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsを試してみた。


背景と目的


半年前ぐらいに、Pythonでコーディングしてクラウドシステムの構成図が描けるDiagramsというものがあるのを知った。

dev.classmethod.jp

しかし、なかなか余裕がなく試す機会がなかった。年末年始休みで少し余裕ができたので、試しに使ってみる。


詳細


0. 参考情報

1. インストール

私の環境は、Windows10。

1.1 Diagramsのインストール

本家ドキュメントに従い、pipでインストール。

pip install diagrams

1.2 Graphvizのインストール

次に、Graphvizhttps://www.graphviz.org/download/からダウンロードして、

C:\

に配置。そして、ユーザー環境変数のPathに、以下を追加。

C:\Graphviz\bin


2. 描いてみる

とりあえず、簡単なシステム図を書いてみる。コードは以下。

# 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]

出力結果が以下。コンポーネントの配置、線のつながりとも、いい感じに出力できている。

f:id:dekuo-03:20210101133011p:plain

3. 解像度を調整する

2で描いたものは解像度がずいぶん低い。これをどうにかできないかと調べたところ、Diagramコンテキストを宣言する際に、Graphvizのオプションのdpiを与えることで調整できることが分かった。以下のように、graph_attrという引数で与える。

graph_attr = {
    "dpi": "192"
}

with Diagram('クラウドシステム', graph_attr=graph_attr):

改めて出力した結果が以下。解像度が上がってきれいになっている。

f:id:dekuo-03:20210101133015p:plain


まとめと今後の課題


コードでキチっと描けるのはとても気持ちいい。これからどんどん使っていきたいと思った。

2020年リーディングサイアーランキング回顧

概要

JRAの2020年リーディングサイアーに関する一考察である。過去10年にわたるリーディングサイアーランキングの変遷とともに今年のランキングの意味合いおよび来年以降のトレンドについて考察した。

背景と目的

2020年もJRA全レースが終了し、リーディングサイアーランキングが確定した。本記事では、2016年末以来、さぼり気味だった過去10年にわたるランキング変遷とともに今年のランキングの意味合いと今後のトレンドについて考察する。

詳細

1. 2020年リーディングサイアーランキング

以下は、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は、過去10年のリーディングサイアーランキングの変遷である。

f:id:dekuo-03:20210105221016p:plain

 ディープ、キンカメの2強と、ダイワメジャーハーツクライステイゴールドなどが安定勢力を形成していたが、今後産駒数の減っていくディープの次のリーディングサイアーロードカナロアオルフェーヴルが狙う展開になってきた。さらに、キズナエピファネイアといった注目株が2年目でトップ10に入ってきて、ロードカナロアオルフェーヴルに迫っていく勢いを感じる。

3. 今後の展望

前節までを踏まえてここでは今後の展望を行ってみたい。 来年も、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年も動向を見守っていく。

電子工作用パーツキャビネットの製作(2) --- 組み立て ---

概要


電子部品用のパーツボックスを製作することにした。前回の設計に従い、組み立てを行う。


背景と目的


前回に続いて、組み立てを行う。


詳細


1. ラベルの貼り付け

仕切り板に、定数の区分けごとのラベルを貼っていく。かなりの数があるがひたすらやってどうにか終了。

f:id:dekuo-03:20201220130158j:plain

一番奥の区画のラベルは、引き出し側に貼る。

f:id:dekuo-03:20201220130321j:plain

2. 仕切り板固定用スポンジの貼り付け

2.1 仕切り板固定用スポンジ治具の作成

スポンジは、引き出しの奥行きを3分割する位置に張り付ける必要があるが、引き出しの数が非常に多いので、効率的に位置決めができるよう、以下のような治具を作成した。

f:id:dekuo-03:20201220130642j:plain

2.2 仕切り板固定用スポンジの貼り付け

治具を使って、貼ったところ。位置決めが非常にやりやすい。とはいえ、1つの引き出しに対して4か所あるのでかなりの作業量。

f:id:dekuo-03:20201220130653j:plain

3. 仕切り板の取り付け

以下のような感じで、ひたすら取り付けしていく。

f:id:dekuo-03:20201220130711j:plain

4. 完成

キャビネット2つ分が完成。非常に大変ではあったが、集中してやれば3時間くらいか。

f:id:dekuo-03:20201220130830j:plain

まとめと今後の課題


パーツキャビネットが完成した。総費用は7000~8000円程度。常備部品の収納はこれで十分賄えるし、何より、それぞれの部品へのアクセスしやすさが上がったのと、棚になったことで作業スペースを無駄に占有しなくて済むようになった。快適な工作環境になったと思う。

Lambdaからboto3を使ってAWS IoTにパブリッシュするときにSSL validation failedが出たので修正

概要

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)
:

どうしてだろうと調べたところ、

github.com

あたりを見る限り、Pythonのバージョンの問題?のように見えたので、LambdaのランタイムをPython3.7からPython3.8に変更したら、エラーが消えた。

とりあえず、解決したが、なんでエラーが出たのかよくわからない。

電子工作用パーツキャビネットの製作(1) --- 構想、設計、材料調達 ---

概要


電子部品用のパーツボックスを製作することにした。まずは全体構想、設計と材料調達。


背景と目的


私が今使っているパーツボックスは、10数年以上前に買ったもので、長年使っていると改善が必要だと思う部分が出てきた。そのため、そろそろ新しいものに入れ替えて課題を改善をしたいと思い、いろいろ探したのだが、機能、大きさ、値段など含めなかなか自分の思うような市販品が見つからなかった。そこで、やはり困ったときは自分の欲しいものを作ることにした。

今回は構想の検討、設計、材料調達を行う。


詳細


1.課題整理と改善の方針

1.1 現状の課題

現在、ある程度使う量が多い抵抗やコンデンサなどは以下のようなものに入れている。

  • リード抵抗用 → リングスターSP-2800S ×2個
    • E24シリーズ 10台-100k台を1区画3定数に分けて収納
  • コンデンサ用 → カインズホーム製パーツボックス、型番不明
    • 100p~100u程度をE6シリーズ収納
  • 半導体部品等 → リングスターSP-2800D ×1個

この他の非常備品は、同じようなパーツボックスや100均のバスケットなどに雑多に入れている。

f:id:dekuo-03:20201213141409j:plainf:id:dekuo-03:20201213141419j:plain

この状況で感じる課題としては、

  1. 平らで面積のあるタイプ(※1)は、作業中に工作スペースを占有してしまって作業の邪魔になる
  2. 部品すべてをぶちまける可能性がある(※2)

※1スーパーピッチシリーズ自体はとても素晴らしい製品だと思う。 ※2実際にやったことはないが気を付けないといけないためストレスを感じる

実は、1を改善しようと思って数年前にパーツボックスの蓋を取って引き出しとし、収納用フレームを作って引き出し型ボックスに改造したのだが、全然改善しなかった。なぜなら、1段あたりの部品の種類が多いため、部品を取り出す際は、部品の見やすさから引き出し全体を取り出してしまうことと、引き出し自体が大きいため、何度も出し入れするのが面倒で、結局作業机に置きっぱなしになってしまうから。

1.2 改善の方針

というわけで、改善の方針としては、以下とする。

  • よく使う部品は、1段あたりの部品数が少なくて済むようにできるだけ小さめの引き出しに分類する


2.構想

収納対象は、よく使う抵抗、コンデンサ半導体等とする。 各部品の使用頻度を考慮し、区分けの細かさなどを検討した。

  • 抵抗
    • E24シリーズのリード部品、チップ部品
      • 10Ω台~10kΩ台は1区画2定数
      • 100kΩ台は1区画4定数
      • 1Ω台、1MΩ台以上は1区画8定数
    • 高精度抵抗、可変抵抗、セメント抵抗など所持数が少ないものは大雑把な区分け
  • コンデンサ
    • E6シリーズのリード部品、チップ部品
      • 100pF~1uF台は1区画2定数
      • 10uF,100uF台は1区画
    • 100uF以上、10pF台以下は大雑把な区分け
  • 半導体
    • バイポーラトランジスタ NPN/PNP×小電力/大電力
    • FET Pch/Nch
    • ダイオード 一般整流/ツェナー/その他など
    • 電圧レギュレータ 3.3V/5V/その他など
    • LED R/G/B/赤外/その他
    • オペアンプ 汎用/オーディオなど
    • インダクタ(半導体じゃないけど)

現在はチップ部品の手持ち数量は少ないが、将来的には増える可能性がある。とはいえ、定数ごとの区分けさえあれば問題ないので別にボックスを用意することはしない。


3.設計

3.1 パーツボックス選定

まずは、既製品である程度そのまま使えるものを探すことにした。この手の製品は、非常に種類が多いし、お金さえ出せば、大学や企業の実験室にあるようなHOZAN製の金属製キャビネットなど、いくらでも希望をかなえられる製品はある。しかしながら、個人の趣味であることや設置場所の問題から、そういったものを買う状況にない。 結果、引き出しサイズ、引き出し数、値段を考慮して、

アイリスオーヤマのPC-310

を選定。 価格は楽天で1800円程度と非常に安い。 引き出しの内寸は、横幅63mm程度、奥行き108mm程度、深さ39mm程度。横幅はリード抵抗がちょうど収り、奥行き3分割すると1区画に100本セット2定数を入れても収まる。深さだけは少し深いなと感じるが、浅すぎるよりはいい。

3.2 引き出しの仕切り

抵抗、コンデンサの定数の種類を考えると、PC-310の引き出しを3つに仕切る必要がある。スーパーピッチシリーズのような作りになっていれば最高だが、PC-310の価格帯を考えると仕方ないこと。別途用意することにする。 問題は、大量の枚数をどうやって用意するかだが、いろいろ検討した結果、アクリル板のオーダーカットをしてくれるヒョーシンネットという会社のサービスを見つけた。

  • W61mm×H27mm×D2mm
    • 後述のスポンジ厚みを考慮し横幅を決定。
    • 高さは
  • 角R加工、面取りなどなし
  • 透明
  • 100枚

で、大まかに見積もったところ2000円程度分かった。非常に安い。このサービスを使うことにした。

また、仕切り板を引き出しに固定する方法は、いろいろ迷った結果、スポンジを引き出しと仕切りの間に挟んで固定することにした。 スポンジは、手持ちのエプトシーラー10mm幅、10mm厚が使えそうだったのでこれにする。

3.3 ラベル

引き出しに何が入っているかわかるように、ラベルが必要。 印刷して作るタイプやテプラも考えたが自宅にテプラはないので、一般的な文具として売られている手書きできる紙シールタイプで十分とした。


4.材料調達

PC-310は、楽天で2個購入して約4000円。

f:id:dekuo-03:20201213140547j:plain

アクリル板は、ヒョーシンネットで注文から5日程度で到着。寸法精度もばっちり。端の欠けもなかった。送料が800円程度だったが、まあよし。このカットサービスは非常に良いと思う。

f:id:dekuo-03:20201213140427j:plain

ラベルは、紙の8mm * 20mm×320枚のものがホームセンターで100円で売っていたのでこれで十分。

全体で、7000円程度。これくらい出せばそれなりの既製品が買えるようにも思えるが、収納したいサイズや引き出し内の仕切り等の条件を考えるとやはり希望のものは見つからなかったので作るのが妥当だと思う。


まとめと今後の課題


電子部品用のパーツボックスを製作にあたり、構想、設計と材料調達を行った。 次回は、組み立てを行う。

冷凍唐揚げを活用した親子丼

概要


冷凍唐揚げを活用し、手間を省いた親子丼を作ってみた。



背景と目的


長引く在宅勤務により、インスタント麺を中心に適当にしのいできた昼食レパートリーにだんだん飽きてきた。そこで、簡単に作れてそこそこうまいレパートリーを増やしたいと考えたところ、冷凍唐揚げを親子丼の具として使ってしまえば、鶏肉を買ってきて作るよりも簡単ではないか?と思った。そこで、調理して試してみた。


詳細


1. 材料

1人前の分量とする。

  • ごはん 茶碗1杯
  • 冷凍唐揚げ 直径5cm程度のもの 2個(ブランドは何でもよい。)
  • 長ねぎ 5cm~7cm程度(香味野菜系なら、玉ねぎでもニラでもいい。)
  • 椎茸 1枚(お好みだが、入れた方が出汁が出てうまい。)
  • 鶏卵 1個
  • みりん 大さじ1
  • 酒 大さじ1
  • しょうゆ 大さじ1
  • 水 大さじ1
  • 砂糖 小さじ半分(お好みで。私は甘すぎないのが好きなのでこの量)


2. 調理

(1)冷凍唐揚げを解凍する

電子レンジでもオーブンでもよいと思う。

(2)フライパンで、唐揚げに軽く焼き色を付ける

解凍するだけでなく、少し焼き色というか焦がしを入れると香りが立ってうまい。また、大きすぎると思ったら、2cm角程度に切る。包丁を出すのは面倒なので、調理用ハサミで十分。

(3)フライパンに、長ねぎ、椎茸を入れる

軽く炒めてもいいし、ほぼ炒めなくてもよい。

(4)フライパンに、水、酒、しょうゆ、みりん、砂糖を入れる

煮立って長ねぎが柔らかくなればOK。

(5)フライパンに、溶き卵を入れる

半分ずつに分けて入れると、1回目はある程度固まるまで煮て、2回目は半熟気味になったところで火を止めるとうまいと思う。


3. 試食

※写真は撮り忘れた。

唐揚げに味付けがされているため、通常の親子丼よりやや味が濃いが、しょうゆ、酒は唐揚げを作る際にも使われる調味料なので、味のマッチングはよい。鶏肉のうま味がしっかりあるし、もともと味付けの完成度が高い冷食により、だれが作ってもそれなりの味になると思う。椎茸の出汁も十分感じられた。これは入れた方がいいと思う。

というわけで、なかなかうまくいったと思う。 ねぎも冷食を使って、椎茸は干しシイタケを使えば、さらに簡単になると思う。


まとめと今後の課題

冷凍唐揚げを活用した親子丼は、なかなかうまくいった。今後の昼食のレパートリーに加える。