kariaの日記 @ Alice::Diary

ノリツッコミの鳩子がはてなブログ書いちゃうよ

Faradayを使うときの「デフォルトの」タイムアウト値

RubyのFaraday gem使ってるときにタイムアウト値を明示的に指定しなかった場合にどうなるかというお話。

これ、すごい頻繁にハマってる気がするのでメモする。なぜハマるかというと「タイムアウト値を指定した場合にどういう挙動になるのか?」という考えになかなか辿り着かないからですね。発想力が貧困である。

さっそく該当部分を見てみましょう。

github.com

なるほどAdapterに渡してるだけ。じゃあデフォルトのAdapterであるところのNet::HTTPのデフォルト値はどうなのか(AdapterがNet::HTTPでない場合は各自で調べてください)。

docs.ruby-lang.org

docs.ruby-lang.org

open_timeout、read_timeoutともに(Ruby2.5の時点では)デフォルト60秒とのこと。ということは極端な話、接続が確立するまでに59秒かかって更にreadに59秒かかったのでトータルで120秒近くかかっちゃいました、みたいなケースも一応あり得る。どんなケースだよと書いてて思いましたが、なくはない。ダイヤルアップか何かですかね。

Faradayのoptionに timeout: 5 だけを指定するとどうなるかというと、Net::HTTPに渡すopen_timeoutとread_timeoutが(後述するように指定できる場合はwrite_timeoutも)それぞれ5秒に設定される。リクエスト全体のタイムアウト値が5秒に設定できるかのように早とちりしそうだけどそんなものは存在しないので(そもそもリクエスト全体とはどこからどこまで?という話だ)、ある程度一括で揃えることが出来るだけと理解したほうがよさそうだ。

ここでFaradayのPull Requestを見て初めて知ったけど、Ruby2.6でNet::HTTPにwrite_timeoutが追加されるのね。

techracho.bpsinc.jp

確かに「bodyがむちゃくちゃデカくて全然送信し終わらないんで止めさせてくれ」みたいなケースはあり得るか。あとは、逆に「Ruby2.6に上げたら外部へのPOSTリクエストがxx秒で落ちちゃうんですが何コレ」なんてこともありそう。平成も終わるしRuby2.5も終わらせるか、などとお考えの未来の皆さんはがんばってください。

※タイトル修正しました(11/27)

2018年10月期のアニメ視聴状況 その1

3ヶ月に一度恒例のやつです。前期はこちら。

karia.hatenablog.jp

といっても前期は完走した作品がほとんどありません。以前に7月期の作品は9月頃にはすっかり視聴継続意欲が減衰していると書いた事があり、計画通りの進捗とも言えます。

さて今期。面倒なので現状鑑賞記録に使っている Animetick のスクショを貼り付けてみましょうか。

f:id:karia:20181015015630p:plain

あれ、滅茶苦茶ある。なんじゃこりゃ。

継続するであろう作品

先行上映会に行くぐらいにはちゃんとみてます。というのは、今年に入ってから2期の再放送を深夜にうっかり観てしまったのをきっかけに原作を読み返してしまい、そのまま5周ぐらいアリシゼーション編を読んでおりまして(もっとかも)、10月期に入る前からこれだけは全話観るだろうと思っていたからです。本当に全部やるのかよと疑心暗鬼になってましたが4クールやりますという発表を聞いて一安心。

監督が交代しましたがとりあえずは前作までの雰囲気を引き継いでおり一安心。問題は4クールに収まるのかどうかと、本当に原作通りにやってしまうのかというあたりでしょうか。あとロニエとティーゼの配役。

20180915_044804727_iOS

ところで菊岡誠二郎ファンって何なんだ。

  • うちのメイドがウザすぎる!

今期の太田雅彦動画工房枠。

ゆるゆり1期・2期や「干物妹!うまるちゃん」と何が違うのかと言われると、TOHO animationポニーキャニオンではない(キャストユニットがない)ということと、メイドが沼倉愛美ということです。これはキャスティングの勝利だな、タイトルの通り継続的にメイドがウザい必要があるので(それでいて嫌味がないようにしなくてはならない)、配役は重要ですね。

その他

ということでとりあえず2作品だけ挙げてみたけど、1話観て継続しそうな作品数としてはこの10倍ぐらいあるので10月下旬ぐらいにもうちょっとちゃんと書きます。前期とのギャップが激しすぎる。

Flickrが終わる日(永遠に続くWebサービスなんて無いという話)

今までデジカメやケータイやスマホで撮り溜めてきた写真をどこにアーカイブしておくかって結構重要な課題でして、膨大な量の画像ファイルを破損・劣化なく確実に保管しておかなくてはならないし、アルバムとして定期的に見返したいという需要もあるわけです。何のために写真撮ってるかって話でして、もしかしたら撮ることだけが楽しいという人もいるのでしょうけど、私の場合は「あとで見返したいから撮る」なわけです。

んで、長いことFlickrに課金してるんですけども。

www.flickr.com

FlickrWindows向けのアップローダーを常駐させておくと特定フォルダの画像を勝手にアップロードしてくれるので、iPhoneおよびAndroidのクライアントからOneDriveに自動アップロードさせるようにした上で、Windows PCのFlickrアップローダーでOneDriveのフォルダをウォッチするように設定しておけばほぼ全自動で撮った写真がアップロードしてくれていたんですね。パケット使用量があれなのでWi-Fi接続時しかアップロードしない設定にしてるとか、Windows PCが起動してるときしかアップロードしてくれないとか制約はあるにしろ、人手が介在せずアップロードを自動でしてくれるというのは大変楽なのでありました。少なくともSDカードをPCに挿してドラッグ&ドロップとかしていた時代に比べれば圧倒的に楽。

ところで、iOS11から画像の保存形式がHEIF(HEIC)になりました。

HEIFに対応していないアプリの場合はOS側で自動的にJPEGに変換される仕様だったので、しばらくはWindowsへ接続するとJPEGで見えるし、OneDriveアプリもJPEG形式でアップロードしてくるといった具合で特段使い勝手に変わりはありませんでした。オリジナルのHEIFファイルを取り出そうとするとMacに接続する必要があるのが面倒でしたが。

しかしWIndows側・アプリ側のHEIF対応状況が整ってくると話は変わってきます。すでにWindows10はアップデートでHEIFに対応しているし、WindowsiPhoneを接続するとHEIFで見えるようになっています。OneDriveアプリもアップロード時にHEIFのままアップロードするオプションが選べるようになりました(というかそちらが推奨になりました)。

f:id:karia:20181015010800p:plain

これが何故表題の話に繋がるのかというと、WindowsFlickrアップローダーはHEIFに対応していません。OneDrive経由でやってきた拡張子が.heicのファイルは無視されます。Windowsアップローダーがやる気がないだけかというわけではないようで、Webのアップローダーに投げ込んでみたところ見事にFailedになりましたし、公式に対応したという情報はありません。画像ファイル形式側にパラダイムシフトが来てしまって旧来のWebサービスでは対応できないという状態なのですが、iOS11が公開されてからもう1年が経過しているわけで、ちょっと情けない話です。

もしかして公式のiOSアプリなら対応しているのではないか(少なくともJPEGには変換してくれるのでは)と思われるかもしれませんが、そもそもの話としてFlickrは米Yahoo!のサービスなので、 日本のAppStoreではインストールすることができません。 当初から無理して使ってる状態だったんですよね(日米ヤフーの違いとか一般ユーザーに取っては「知らんがな」って話で、サービス側に無理がある状態とも言える)。

というわけで、だましだまし使っていたFlickrもついに終わりのときが来たかなという感触です。OneDriveは課金してるわけではないので定期的に古くなった画像ファイルを削除していますし、代替になりそうなGoogleフォトはオリジナル画像を無制限にアップロードすることは出来ません(縮小されることを許容すれば無制限)。ジオシティーズはてなダイアリーも終わっちゃうし、永遠に続くWebサービスなんて無いんだよな。

追記

記事公開後に、つい最近Flickr公式アプリが日本のApp Storeでもダウンロードできるようになったと教わりました。

Flickr

Flickr

  • Yahoo
  • 写真/ビデオ
  • 無料

lab.hendigi.com

Auto Uploader機能もあり。HEIFかJPEGかを選択するオプションはありませんが(JPEG変換後にアップロードされてそうな雰囲気がある、少なくともWebからHEIFでダウンロードできるわけではない)、アルバム用としてはとりあえずこれでいいかなぁ。