ドジャースタジアム観戦心得初心者編

f:id:komajou:20210810134716p:plain
ドジャースタジアム
f:id:komajou:20210810135229p:plain
ゲーム開始2時間前くらいなのでガラガラです

この記事 is

2021年のMLB観戦いろはです。MLB全然しらないさんがドジャースタジアムに行くにあたって調べたこと・行って困ったこと・注意点・覚えておきたいことのメモ

値段

MLBのチケット価格は球場・試合・曜日によって値段がかなり変動する様子です。
今回のチケットは日曜日のドジャースタジアムということで、安い席を選んでも$36でした。
ちょっといい席を取るとすぐ$100を超えます。
一方、エンゼルスはかなりお安く、$10から気軽に見に行けます。(アナハイム遠いからね…)

なので、とりあえず気軽に行きたい場合は$40程度、いい席に行きたい場合は$150~300くらいを見ておくと良いと思います。

暑さ対策

一番伝えたいところです。
デイゲームの気温はマジでやばかったので舐めないでください。特に旅行客の方。
ロサンゼルスの日差しは本当に強く、そしてアメリカの医療費は高いです。
もし熱中症になって救急車搬送された場合、医療費30万円は飛ぶと覚悟してください。海外旅行保険でどうにかなるのかもしれないけど)
熱中症にかからないように最大限の対策をするべきです。

どれくらい暑かったか

これ声を大にして言いたいのですが、デイゲームで開始時点から日影に入っていないシートを選んだ場合、対策なしだと熱中症待ったなしです。特に子供・高齢者。
湿度が低いので日影に入るとかなり涼しく感じますが、それでもシートはほぼ無風・炎天下です。
試合開始前セレモニー~1回裏まで頑張ってシートに居ましたが、2回表でめまい・頭痛・心拍数上昇、それから肌のひりつきを感じたので4回裏あたりまで離席して日影で休みました。
それからクソお高いアイスをやむなく食べてクールダウンするなど…。
幸い、4時くらいからはシートが日影に入ったので快適に観戦できましたが、それまでの5時間くらいは本当しんどかったです。

何を用意するべきか

1人合計1リットルまでの未開封ペットボトルの持ち込みが許可されています。マックス持ち込んでください。場内の売店水は500ml以下のサイズで$5です。
また、試合前に常温のお水をスーパーで買ってきたのですが、着席1時間後くらいにはお湯になってしまっていました。できるならば冷凍したペットボトルを持ち込むのが理想だと思います。
また、日影のシートでない場合、場内でアルコールを購入することも控えたほうが良いと思います。アルコールは脱水を促します…。

おやつ

ジップロックに入れていれば食品も持ち込めるので、水と合わせてある程度塩分のあるものがあると熱中症対策になります。
LA圏で買いやすく・取りやすいものだとTrader Joe'sのスナック海苔が栄養素補給に良いと思います。

www.traderjoesgroceryreviews.com

おいしいよ

その他

日焼け止めは必須です。塗っててもかなりこんがり焼けました。
帽子も強くおすすめします。帽子のてっぺんがアチアチになってたのでかなり熱を防いでくれていたと思います。
他にタオルハンカチ、涼感汗拭きシート、扇子が結構役に立ちました。ないより断然マシでした。
ドジャースグッズストアでは水に濡らすと冷たくなるタオルがあったので、そういうものもよさそうです。

訪問時の注意点

カバン

Bags, backpacks, beach bags, hard/soft coolers, large purses, etc. are no longer permitted. Adult Diaper bags and infant diaper bags that accompany infants are permitted as well as clear plastic bags, smaller than 12”X12”X6”. Any non-clear bags must be smaller than 5”X8”X2” (i.e. the size of half a sheet of paper), may be brought into the stadium. All items will be subject to search.

https://www.mlb.com/dodgers/ballpark/information/guide

端的に言うと、ほぼすべてのカバンが持ち込み禁止です。
許可されているのは実質「12”X12”X6”以下のプラスチック製の透明なバッグ」もしくは「5”X8”X2”以下の不透明なバッグ」のみです。
野球のほか、他スポーツや、音楽ライブ興行もこのポリシーに準拠している場合があるようです。LA遊びをするにあたって、透明バッグは一つくらい持っておくと便利そうです。

https://www.target.com/p/mlb-los-angeles-angels-clear-carryall-crossbody/-/A-53222246

Targetとかで買えます。

ちなみに僕は試合前日にチケットを買ってバッグルールを知り、「そんなカバンねえし近所でも買えない!!!」とパニックになった結果、レジ袋持っていきました。
恥さらしかと思いきや、それなりの人数レジ袋さんいたので最悪レジ袋でOKです。

球場フード

球場フードはアホほど高く、買うのに超行列します。買うのはあまりおすすめできません。
例えばビールは$16くらい。税とか考えると日本円で2000円程度します。 名物といわれるドジャードッグも普通のホットドッグ出されて$7です。
滅茶苦茶暑くてヤバイ死ぬって思ったのでディッピンドッツアイスクリーム食べましたがこれすらも一袋$7です。

f:id:komajou:20210811002950j:plain
(味とか関係なくただただ体を冷やすために買った)

決済はPostmates経由のピックアップ(オンライン前払い)もしくは店頭ではクレジットカードです。
現金使えるかどうかわかりませんが、使ってる人は少なくとも一人もみなかったので使えないと思った方が良さそう。観測範囲、だいたいのお店がクレジットカード決済マシンしかなかった。

食べ物持ち込み

Food Brought into Dodger Stadium Food is permitted from outside the stadium provided it is in a clear bag smaller than 12"X12"X6" and not in glass bottles, cans, coolers, glass containers or thermoses. Unbroken, factory-sealed plastic bottles of non-alcoholic beverages of 1 liter or less are permitted. (No outside food or beverage can be brought into stadium suites).

https://www.mlb.com/dodgers/ballpark/information/guide

1リットル以下かつ未開封のペットボトル飲料、もしくは事前に透明な袋に移し替えた食べ物は持ち込みできます。ジップロック大活躍。

駐車場

f:id:komajou:20210810134617p:plain
駐車場。広い
事前に駐車チケットを購入している場合$20、
当日駐車チケットを購入する場合$25です。
そのほかシャトルバスがあるらしいので、安い駐車場に泊めてバスで来るのも選択肢です。が、このへんはよくわからない。

駐車料金を払いたくない現地民たちは、球場から徒歩15~20分くらいのエリアに路駐しまくってました。
土地勘と球場慣れしてる人はこの方法が使えるでしょうが、土地勘がない場合は素直に駐車チケットを購入したほうが良いと思います。

ゲーム中の楽しみ方

ファーストビジター

First Time Visitors Visit any of our Fan Service Stations for a free 1st DODGER GAME Button commemorating your visit to Dodger Stadium. Email us at Fanfeedback@ladodgers.com with the date of your visit and the name of the Fan and we would be happy to email you a First Visit Certificate! Make sure to visit the Jackie Robinson Statue in the Center Field Plaza, and our Dodger Archive exhibits outside of the Vin Scully Press box on the 5th Floor/ Club Suite level.

https://www.mlb.com/dodgers/ballpark/information/guide

f:id:komajou:20210810134515p:plain
1st dodger game!

バッヂ、訪問証明書が無料でゲットできます。
バッヂには希望すれば訪問日も書いてもらえるのでお好みでどうぞ。

特殊チケット

何らかのコラボレーションデーは、+10ドルくらい高いチケットを買うことで、キャップ・ユニフォーム等々の入場者特典をゲットすることができます。物欲・お値段とご相談ください。

私を野球に連れてって

Take Me Out to the Ball Game。7回裏開始前にみんなで歌うやつなので覚えていくと楽しいかもしれません。

www.youtube.com

ブルペン

f:id:komajou:20210810134849p:plain
ドジャースブルペン
ドジャースタジアムブルペンが客席からよく見えるところにあります。
一階席を選んだ場合間近で投球練習を見られますし、2・3階席でも外野席なら十分よく見えます。席選びの参考にどうぞ。

公式ガイド

www.mlb.com

大抵のことはここに書いています!!!

余談

すげーシーンに遭遇してしまった。

コロナワクチンしんどめ副反応体験記、接種前・副反応への備えのススメ(21/11/13追記)

(21/11/13追記)3回目(ブースターショット)の項目を追加しました。

おことわり

ここに記載してあることは自分の経験談と、これに基づくレコメンドです。
この記事のせいで不利益が出た場合にも責任は負えませんので、ご自身でのファクトチェックと合わせてお読みください。

要約

  • ファイザー2回目ワクチン接種後、インフルエンザの一番しんどい時に近い症状を呈する可能性がある。
  • フル副反応が出ると2日は何もできない。接種前の事前の備えを計画的に行うことを強くおすすめする。
  • 副反応抑制には、個人的にはイブプロフェンよりアセトアミノフェンのほうがよく効いた。
  • 副反応はつらいが、安易に「じゃあ接種しない」と考えるのは待ってほしい

はじめに

アメリカ留学を開始してはや2か月が経ちました。
こちらにきて特段の成果はまだないんですけど、5/6(木)にコロナワクチンの接種だけは完了させることができました。
ファイザー・ビオンテック製ワクチン、4月の半ばと2日前、計2回きっちり打ってきました。

2回目は副反応率高いぞ!!!!っていうニュースをたくさん聞いていたので(これは昨日のものですが↓)、 www.yomiuri.co.jp 体の弱い自分は「アッこれ絶対死ぬやつ」って思ってたら、案の定副反応フルコンボ爆誕して1.5日寝込みました。超しんどかった。
日本のワクチン状況は、悲しいかな、まだまだ一般層には届かなさそうな様子ですが、
日本の方々がいざ接種するときにしんどい思いが少しでも和らげられるよう、記事に残します。
実際に副反応が出る確率は5割らしいですが、備えあれば憂いなしってことで!
準備したほうがいいものリストもあるので、これが少しでも参考になればと思います。

副反応で何が起きたか

時系列でまとめます。
自分の場合、1回目は筋肉痛のみ、2回目は発熱、悪寒、筋肉痛、頭痛…でフルコースでした。2日で収まったのは幸いでした。

1回目

  • 接種3時間後:接種部(上腕)の軽い腫れ。筋肉痛的違和感が出始める。接種部の腫れはこれ以上大きくならず。
  • 接種6時間後:接種部の痛みが強くなり始める。あくまで筋肉痛。痛みで肘が肩より上に上がらない。
  • 接種18時間後(翌日):起床後、接種部の痛みが激しい。無理してストレッチしたらその後は多少痛みが和らいだ。この感じが接種翌日・接種翌々日に続く。
  • 接種3日後朝:痛みが消失。やったー。

2回目

  • 接種3時間後:1回目と同じような接種部の違和感が発生。接種9時間後までこれ以外の目立った症状はなし。
  • 接種12時間後:深夜、激しい倦怠感で目が覚める。接種部の激しい痛み、悪寒、首・背中・両肩への激しい筋肉痛、頭痛があり、接種部がベッドに擦れると全身に痛みが伝播するような感覚。苦しみつつ2時間後くらいに再び寝付く。
  • 接種17時間後(翌朝):とりあえず寝て起きたらなんとなくよくなってる感じがしたので朝食。食べてる最中になんかおかしいな…になってくる。
  • 接種18時間後:強めの倦怠感が再現した。イブプロフェン服用していったん眠る。
  • 接種22時間後:ちょっと良くなる→またダメになるを繰り返す。イブプロフェン2回目服用。
  • 接種26時間後:イブプロフェン3回目。が、この時はあまり効果出ず。接種12時間後ばりにまた苦しくなってくる。
  • 接種28時間後:夕食後にアセトアミノフェン服用。この時点で発熱が38℃。
  • 接種29時間後:今までの苦しみは何だったのかと思わんばかりの回復。なんかもう普通に生活できる。
  • 接種38時間後(2日後朝):発熱感はないものの、首・背中・両肩への筋肉痛がひどい。朝食後にアセトアミノフェン2回目服用、楽になる。
  • 接種50時間後:概ね調子は戻ったが、37.0~37.2℃程度の微熱と疲労感あり。また入浴した際にのぼせ、めまい、呼吸困難感あり。ちょいつらなのでイブプロフェン4回目。
  • 接種3日目朝:快復。

3回目(ブースターショット)(21/11/13追記)

11/7(日)にブースターショットを打ってきました。
副反応は2回目と同じ程度と言われているため(↓記事参照)ある程度覚悟を決めて行きましたが、結果的に2回目より軽かったです。
ただそれでも丸一日潰してしまったので、日曜日ではなく金曜か土曜に打っておけばよかった…というのが反省点です。

www.nhk.or.jp

  • 接種6時間後:接種部の痛みが強くなり始める。
  • 接種15時間後:深夜、激しい倦怠感で目が覚める。接種部の激しい痛み、悪寒、首・背中・両肩への激しい筋肉痛、頭痛。2回目とほぼ同じ。アセトアミノフェン服用1時間後、楽になってきたので寝付く。
  • 接種22時間後(翌朝):37.4℃程度の微熱。朝食後イブプロフェン服用。寝直す。
  • 接種25時間後:微熱・倦怠感は残るものの家事ができるくらいまで快復。昼食後イブプロフェン服用。
  • 接種30時間後:ほぼ大丈夫。夕食後イブプロフェン服用。
  • 接種2日後:快復、一方接種部の痛みが残り続ける。
  • 接種5日後夜:接種部の痛み解消。

接種前の備えのススメ

自分の場合は1回目は大した症状は出ませんでしたが、
すでにコロナに感染したことがある(無自覚感染も含む)人は、1回目から激しい副反応が出るケースもあるとニュースで見ました。

www.asahi.com

できる限り、1回目の接種前から以下のものは準備しておくべきです。

用意をおすすめするものリスト

  • ポカリスエットなどの飲料(2Lボトルを複数本)
    • 接種後は血栓防止のため、十分な水を飲むことが推奨されます。熱が出た場合にも備えて、水分補給効率の良い飲み物を枕元に常備しておくと良いと思います。
  • 2,3日分の食料品
    • 副反応が重い場合、外に買いに出たり調理したりすることは厳しいです。インスタント食品などでよいので非常食を。
  • イブプロフェン
    • アメリカCDCが推奨している、副反応発生時用の解熱鎮痛剤です。日本での販売名はEVE、バファリンなど。*1
  • アセトアミノフェン
    • こちらもCDCが推奨しているものです。日本での販売名はロキソニンカロナール、新セデス、ナロンなど。*2
    • 個人的にはイブプロフェンよりもアセトアミノフェンのほうが体を楽にしてくれる感じがしました。
    • 用意するのはどちらか片方でも良いと思います。体質・状態・症状によって効きが左右されることを想定して、自分の場合は保険をかけて両方用意しておきました。

接種前にやっておいたほうが良いことリスト

  • 2-3日やらなくても困らない分の、今できる範囲の家事
  • 知人・家族へワクチン接種日の連絡
    • 症例は極めてまれですが、重篤な症状が発生するリスクはあります。また、副反応がつらい場合もあります。助けを求められる人にワクチン接種日を伝えておいて、何かあったら助けてもらえる状態を作っておくと良いと思います。
  • 家族間でのリスク分配
    • 人数の多い家族・子供のいる家庭などで家族全員が同時にワクチンを接種し、同時にダウンすると、家庭が回らなくなることも考えられます。接種予定日を数日ずらす、助けてもらえる人を確保するなど、対策を家族で話し合っておくことをお勧めします。
  • 重篤な副反応発生時の連絡先確認
    • 役所が用意してくれるといいなと思っていますが…これはどうかわからない。病院、役所、保健所など、何か発生したときに相談できる公的機関の連絡先がすぐにわかると安心です。

参考にした情報

今回、イブプロフェンアセトアミノフェンを服用した判断は以下のリンクに基づきます。
アメリカのサイトではイブプロフェンアセトアミノフェンは服用してよいと明言されています。

日本の厚生労働省アメリカと同様に、発熱時には解熱鎮痛剤を服用してよいとしています。

www.cov19-vaccine.mhlw.go.jp www.covid19-yamanaka.com

最後に

今回、自分はリアルタイムでTwitterで副反応のことをつぶやきまくったり、友人に伝えたりしていたのですが、
つらいつらいって言いまくったせいで回りをビビらせてしまい、「そんなにつらいならワクチン打ちたくない」という言葉を引き出してしまいました。
そう思わせてしまった人には申し訳ないことをしたと思います。
自分は今のところ、ワクチンはどんどん打ったほうがいい派です。
ワクチンの副反応は上記のような感じでしたが、しょせん38度台の熱と倦怠感程度です。実際に感染したときの症例は(無症状感染ではない場合)もっとひどいように見受けられます。
ワクチンに対して色々な考え方があることは承知ですが、この記事やほかの人の副反応の話だけを聞いて、「ワクチンってやっぱり怖いものだ、百害あって一利なし」とは思わないでほしいなとおもいます。

はやく日常に戻りたいですね。

*1:薬剤を購入前に成分をご確認くださいね。シリーズがたくさんある薬はそれぞれ成分が少しずつ異なります

*2:こちらも。薬剤を購入前に成分をご確認ください

アメリカの運送会社USPSのAPIで貨物追跡がしたい

概要

日本→アメリカ移住にあたり船便でいくつか荷物を送ったが、到着まで3ヶ月くらいタイムラグがある。
普段すっかり忘れてるんだけど、時々寝る前に突如思い出してロストしてないか心配になるサイクルを4ヶ月くらいやっていたのだが、公式がちゃんとAPを提供していることに気づいた。
これを使って追跡情報をフェッチして眠れない夜を回避する。

説明すること・しないこと

この記事ではAPIの使用方法の解説だけ。日本語でこのAPIに関しての情報がなかったので書き残しておくのが目的。
このAPIを使ってなにやらやることについては解説しない。

USPS APIでできること

無料でできることは以下の4つ。

  1. 価格計算ツール
  2. 荷物追跡
  3. 配達所要日数計算
  4. 住所確認(住所・郵便番号引きDB)

基本的に日本から使いたくなるのは荷物追跡・住所確認あたりだろうか。
さらに、有料で下記のオプションも使用申請できるらしい。ただ、アメリカ国内でしか恩恵はなさそう。

  1. USPSウェブツール(eコマースで出荷する人用のサービス)

USPS APIXMLで提供されている。しかもリクエストもXMLで書く。びっくらこいた。
RESTじゃないのでものすごくめんどくさい。パーサーが要る…つらい。
アメリカの企業、公式でAPIを提供してくれるのはありがたいんだけどちょいちょいXMLに出会うのなんなん(怒り)

使い方

登録

  1. USPSのWeb Tools APIポータルにアクセス。Developer Centerの項目を参照。 www.usps.com
  2. 利用には登録が必要なのでサインアップする。情報入力。
  3. 送信後、ユーザーID、パスワードが記載されたメールが届くので確認する。

APIコール

リクエストもまさかのXMLである。
GETで以下のようなリクエストを投げる。ちょっとびっくりなクエリでリクエストすることになるのでびっくりしてしまう。
USERID にはメールで通知されたユーザーIDを、 TrackID には追跡したい番号を入れる。
APIドキュメントを見るとMin=1と書いてあるので、TrackIDはいくつ指定してもよさそう。ペイロードサイズ上限を超えない限り…

https://secure.shippingapis.com/ShippingAPI.dll?API=TrackV2&XML=<TrackRequest USERID="XXXXXXXXXXXX">
<TrackID ID="XXXXXXXXXXX1"></TrackID>
<TrackID ID="XXXXXXXXXXX2"></TrackID>
</TrackRequest>

実装

github.com

調べてたらすべてめんどくさくなった。
Pypiにはなんでもある。
ありがとう先人よ。

海外移住前にやったことリスト

海外引越を控えてやったことリスト。
書き残しておくと需要あるって周りから言われたので書き残します。
絶賛準備中なので随時更新。

  1. 会社に退職届を出す
    • 海外転居しますって言うとまずもう引き止められない、最高にスムーズな言い訳だった
  2. 不動産屋へ退去の申し出
  3. 不動産保険会社へ退去の連絡
    • 自分でやらなきゃいけなかった。不動産管理会社から指定された番号に電話して解約を申し出たら、翌日に前払いしていた保険料が戻ってきた。
  4. ガス屋、水道局、電気屋へ電話して利用終了申請
    • 停止予定日を決めてから電話するとスムーズ
    • 転居後にも通じる国内の連絡先も用意しておくとスムーズ
  5. インターネット利用停止申請
    • 停止予定日を決めてから電話するとスムーズ
    • フレッツ光の場合、電話もしくはインターネットで手続き可能。
    • 申告した停止予定日の数日前に機器返送セットが届くので、それに機器を入れて返却。で完了。返却期限はないとのこと(3週間返ってこないと催促の手紙は出しますよとコールセンターのお姉さんが言っていた)
  6. 生命保険の登録情報変更申請
  7. 不要な銀行口座を解約
  8. 確定拠出年金iDeCo移換
    • 複雑だったので、下に 企業型確定拠出年金iDeCo移換 セクションをまとめました。そちらを参照。
  9. 出発前PCR検査の予約(陰性証明書が出せるところ)
    • 入国先の国によって、検査内容や証明書のフォーマットが異なるので、予め確認しておく。
    • https://www.haneda.toho-u.ac.jp/international/information/2020PCR.html
    • また、航空券をデルタ航空で買ったが、デルタも独自フォーマットの書類提出を義務付けている。書類はホームページからダウンロードできるので、予め印刷して持っていく。
  10. 航空券予約
    • 片道航空券は高い。20万円した…
  11. 動物検疫予約(猫連れのため)
  12. ペットホテル予約
  13. ホテル予約
    • 家の退去~出発に日数があったので、その間ホテル滞在
  14. 航空券や様々な書類をコンビニで印刷→持ち込み用ファイルにファイリングしておく
  15. 病院に行っておく
    • 海外の病院開拓は大変そうなので、治せる部分は今のうちに直しておく
    • もらえる処方は日本でもらっておく。海外の薬は基本的に日本のものより強いので、自分に合う薬を一定量得ておく。
    • (2021/6/27追記)アメリカでは、日本と似たような処方を安く買えるものもありました。Amazon.comで薬の成分を検索して値段を調べたうえで決めると良いと思われます。
  16. 納税管理人の申請
    • 今回、3月転出だったので来年の6月まで住民税を納税する義務がある
    • 納税管理人として親を立てることで、親に住民税の支払いを委託した
    • 本人直筆署名と印鑑が必要のため、遠方に住んでいる場合は書類の郵送が必要
  17. 転出の手続き
    • 転出の30日前から手続き可能。異動届を提出する。
    • 転出日は飛行機に乗る日にしておくことを勧められた。住宅退去から飛行機に乗る日に間がある場合、ノーガードになってしまうため。
  18. 国民健康保険国民年金の加入手続き
    • 仕事辞めてから転居までの期間が一ヶ月あるので国民健康保険国民年金の払込が必要だった。
    • 役所の保険年金関連の課で申し込み
    • 保険証は出発前に返却する必要あり。転出日を伝えておくと、健康保険証の有効期限を設定してもらえる。保険証は郵送返却が可能。その場合窓口で返送用封筒も一緒に受け取ることができる。料金が発生する場合、その場で払込用紙をもらえる。
    • 年金は登録申請をしてから2〜3週間後に払込用紙が届く。
      • ※トラブル …とのことだったが、3週間しても一向に届かなかったので最寄りの年金事務所に電話したところ、「1ヶ月くらいはかかります」とのことだった。もうすぐ海外転居するので今すぐ払込用紙がほしい旨を伝えたところ、翌営業日に発行してもらえた。待たずに予め電話しておくのが賢い。
    • 年金は任意加入をしない限り特段手続きなし。
  19. 在外選挙人名簿の登録申請
    • 登録しておくと海外から日本の選挙に投票できる。やってもやらなくてもいい。
    • 日本居住中に役場の選挙担当部署で在外選挙人名簿に登録してから、移住後にインターネットで手続きする。
    • インターネット手続き完了後、居住区域の担当大使館から在外選挙人証が郵送されてくる。
  20. 荷物の発送
    • すでに海外の転居先の住所が決まっていたので、国際小包・船便で少しずつ荷物を送っておいた
    • アメリカの場合、だいたい1箱15kgで送料10000円くらい。食べ物や電子機器は送れない(正確には制限があるが送れる、要確認ください)
    • 2021年から一部の国では国際郵便マイページからの送り票登録が必須になった。内容物を事前申請しないと税関を通れない。↓から手続き。 www.int-mypage.post.japanpost.jp
    • 船便は10箱送ってフィギュア3つ壊れるくらいのクオリティなので、壊れると困るものは飛行機で持っていくのをお勧めする。

企業型確定拠出年金iDeCo移換

手続きでの困りごとが多かったので細かめに書いておきます。 手続きに時間がかかるので、先手先手で行動をしないと移換完了までに1ヶ月程度かかります。 今回は退職~引っ越しまで1ヶ月しか時間がなく、諸々待てなかったので、退職前から準備を行っていました。

https://honyakuabroad.com/2019/06/20/15/00/09/1122/

こちらのサイトを参考にしました。 住民票を抜くと加入者にはなれないとのことで、運用指図者になるための手続きです。

移換先のiDeCo提供企業選定・申し込み資料請求

  • 退職日から逆算して、10日前までには実施しておくべき。資料請求に1週間程度かかった。
  • イデコは様々な会社が提供しているので、条件を確認しながら検討する。
  • 会社の確定拠出年金大和証券だったが、大和証券のイデコだと、転居の際は国内の住所が証明できる書類が必須とのことだったので断念。
  • 最終的に三井住友銀行のイデコを選択した。理由は申込時の住所証明だけあれば良く、引越し先住所の証明書類がなくても登録可能とのことだったので。内容は全く見ていない。

移換元情報の確認

  • 移転のためには移換元の情報が必要になるが、これが記載された「企業型確定拠出年金の加入者資格喪失のお知らせ」は 退職の翌月の中旬ごろ 、証券会社から発送される。
  • お知らせの発送が待てない場合、 会社の総務に確認 or 証券会社に電話 のどちらかの方法で、以下の4点を確認しておく。(証券会社に電話の際は、加入者番号を手元に用意する)
    1. 実施事業所・登録番号
    2. 実施事業所・名称
    3. 記録管理運営管理機関名+コード
    4. 資格喪失日(通常、退職日の翌日)
  • 上記情報があればiDeCo移換の書類が記入できるので、大変スムーズに申し込みができる。

トラブル

電気が一ヶ月早く止められて死にかけた

  • 退去日は2月末だったが、早めに1月末に電話で申し込みをしておいた(お客様番号を捨てちゃってたので電話申し込みしかできなかった)。「電気停止時間は2月28日の23:59で」とオペレーターに伝えた
  • 1月29日の朝、異様に部屋が寒くて起きた。隣の部屋から洗濯機を回す音が聞こえるので、うちだけ止められたことを瞬時に察した
  • 停電情報確認ダイヤルに契約情報を照会してもらったところ、「契約終了状態になっています」とのこと
  • 送電再開電話番号を教えられるも、まだコールセンターが開いていない。凍えながら数時間耐え忍ぶ。
  • コールセンターが開く時間になったので送電再開電話番号に電話するも、自動案内で 電気料金未払いの人の送電再開受付をするだけのダイヤル だった。それ以外の御用は3を押して下さいって言われたので押したら、「電気料金支払期限猶予のお申し出のお受け付けはできません」とだけ言われる。ふざけんな!!!!!!!!!!111
  • 最終的に、 0120-995-001 の引っ越し受付センターに電話する。電話が混み合っていてここでまた10分くらい待たされてキレそうになる。
  • オペレーターに事情を伝えて、送電再開手続きをしてもらう。ただ、いつ送電再開されるかはわからないとのことだった。
  • 約2時間後、電気送電再開確認。電気のありがたみに感謝しつつガチギレ。

「お客様番号」さえわかればインターネットから申し込みができるので、こんなヒューマンエラーは起きなかったはずです。引っ越しの中でお客様番号が記載された検針票とかは絶対捨てないでください。

Django Rest Framework + django.test.RequestFactoryを使うと期待値と異なるbodyが渡される

まとめ

Django Rest Frameworkを使っている場合、テストを書くときのRequestFactoryは
rest_framework.test.APIRequestFactory
を使ったほうがいい

起きたこと

テストとpostmanからリクエストを受けたときでRequestオブジェクト内のbodyの型が違ったので調べてみたら、
from django.test import RequestFactory が期待した形式ではないRequestオブジェクトを渡していた

... 前提 ...
使用パッケージ

Django Rest FrameworkでRest APIを作るとする。
ざっくりこんなクラスを用意して、ここにpostを投げるテストを書く。

class SampleViewClass(APIView):
    def post(self, request):
        title = request.data.get('param1')
        items = request.data.get('param2')

Django+RestFrameworkを使っている場合、RequestFactoryの選択肢が2つある。

  1. from rest_framework.test import APIRequestFactory
  2. from django.test import RequestFactory

こちらは from django.test import RequestFactory を使った場合のテストコードである。

from django.test import RequestFactory

class TestSampleViewClass(TestCase):

    def test_param(self):
        factory = RequestFactory()

        body = {'param1': 'nanakusa',
                'param2': ['seri', 'nazuna', 'gogyou', 'hakobera', 'other']
        }

        request = factory.post('/view', body, format='json')

        SampleViewClass.as_view()(request)

上記のRequestFactoryを経由してlistを含むjsonを渡した場合に問題が起きる。
SampleViewClass は以下のように値を受け取る。

class SampleViewClass(APIView):
    def post(self, request):
        title = request.data.get('param1')  # 'nanakusa'
        items = request.data.get('param2')  # 'other'

items にはなぜかstring型の 'other' が入る。

原因は RequestFactory がRequest.Bodyを QueryDict 型で保持しているため。
QueryDictはListをiteratorとして保持しているため、単純にgetするとlistで取得できず、list内要素の1つだけが返されてしまう。

一方、変数 title はStringがそのまま取得できていることからわかるように、この現象はiterate処理ができる型のbodyを受け取る場合のみに起きる。
StringやIntで構成されるようなリクエストの場合はどちらを使ってもさほど問題にはならないが、
階層構造があるリクエストを処理する場合に問題になる。

というわけで、Django Rest FrameworkでAPIを作っているときは、テストで使うRequestFactoryメソッドも APIRequestFactory で合わせたほうが安全。

参照

QueryDictタイプの挙動差異についてはこちらがわかりやすいので参照のこと。

qiita.com

flake8拡張+vultureでよりストイックなlintルールを作ってみた

仕事で使っているプロジェクトにflake8を導入していたが、PRでlintで拾いきれないちまちましたものを指摘する頻度が上がってきたので、この手間を減らすべく色々試してみた。 tox.ini + flake8の構成は変えずに、これを拡張する形でプロジェクトをもっとキリキリ締め上げていく。

使い方メモとか、ポイントとかをざくざく書き残し。

flake8-quotes

https://github.com/zheller/flake8-quotes

概要

ダブルクォーテーション or シングルクォーテーションへの統一用に使用した。
プロジェクト内の歴史が深く統一されていなかったが、この拡張で強制的に統一した。

デフォルトのクォーテーションの指定

デフォルトではシングルクォーテーションに統一する設定になっている。ダブルクォーテーションをデフォルトにしたい場合は inline-quotes をtox.iniに追加してあげれば良い。

[flake8]
inline-quotes = "

Django+シングルクォーテーションの場合

Djangoと一緒に使っている場合、Djangomanage.py がルールに引っかかってしまう(デフォルトがダブルクォーテーションのため)。 exclude に指定してあげることで回避できる。

[flake8]
exclude = project_root/manage.py

flake8-print

https://github.com/JBKahn/flake8-print

概要

入れるだけで print() を検知してくれる。特に設定必要なし。 デバッグ行が時々あやうくコミットされかけるときがあったのでこれも導入。

hacking

https://github.com/openstack/hacking

概要

強め拡張ルールが盛りだくさんのhacking。頼もしすぎて一部ignoreしないととってもじゃないけど使えない(プロジェクトに問題があるのでゎ?という指摘については一度耳を塞ぐ)。

ドキュメントはこちら https://docs.openstack.org/hacking/latest/index.html

一部のルールを無視する方法

あまりにも鬼すぎたのでプロジェクトで使う際は以下の extend-ignore を追記した。

[flake8]
extend-ignore = H301

[H301] Do not import more than one module per line (*)

* でのインポートは流石によくないと思うが、複数インポートは許してほしい…流石に1行ずつは見づらい。

ルールのコードはドキュメントに記載があるので参照。 https://docs.openstack.org/hacking/latest/user/hacking.html

vulture

https://github.com/jendrikseipp/vulture

概要

静的解析で使っていないコードを検知できる。 flake8単体だと未使用のimport+変数くらいしか検知できないのだが、vultureだとそれに加えて 定数+関数+関数の引数 も検知できるようになる。 pipインストール後にコマンドラインから実行。ディレクトリ指定でプロジェクトを横断的に解析できる。

$ vulture project_root/

Django用引数・関数の誤検知対策

Django + vultureで最初につらかったのが、Djangoが参照している定数・関数が軒並み引っかかってしまったことである。

/usr/src/app/project_root/proj/settings/__init__.py:28: unused variable 'SECRET_KEY' (60% confidence)
/usr/src/app/project_root/proj/settings/__init__.py:33: unused variable 'ALLOWED_HOSTS' (60% confidence)
/usr/src/app/project_root/proj/settings/__init__.py:35: unused variable 'SECURE_BROWSER_XSS_FILTER' (60% confidence)

回避方法はいずれか。

  1. ホワイトリストを作る
  2. min-confidence を指定する

今回は 2 で対処した。 ホワイトリストに登録すれば除外できるものの、最初にホワイトリストを頑張って作る+ソースコードの更新に合わせてホワイトリストをメンテナンスする手間が発生するので、それは避けたかった。 Django関連はだいたい60% confiedenceで出てるようなので、min-confidence=61にしておけば一通りの出現はブロックできる。値は要調整かな。

$ vulture project_root/ --min-confidence 61

関数内でコールしない引数の検出回避

*args, **kwargs を引数に取るが関数内でコールしない場合、これが100% confidenceで引っかかる。 testの中でmockとして用意されている関数で起きがち。

このような場合は引数の先頭に _ をつけることで検出の回避が可能。
ちなみにこの方法を使うとPyCharmも画面上で使っていない引数として扱ってくれるので、可読性がちょっとだけ上がる。

def hoge(*_args, **_kwargs):
    return 'ok'

2020年まとめ

いろいろやってたけど、そんなに大きく成長できた感じがしない一年だった

人生

  • 人生の転機になるイベントが多発した。人生は全く予想できないものだ

Tech

  • これと言って伸びた感じがしない一年だった…
  • AWS SAAは取得できた
  • 競技プログラミングをちょっとかじりはじめた。数学能力やっぱり要るわ
  • 技術書全然読まなかった…

お出かけ

  • Goto使ってそれなりに高級なところにお出かけできたのはよかった
  • 海外行きたかった…

体調

  • ちょいちょい崩しているし今も現在進行系で胃腸炎
  • 一時期運動の習慣はあったけどなくなってしまった

こんなかんじですが来年もがんばっていきます。