koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

ダイスボットを作りはじめた

昔、少しTRPGをやっていたこともあってサイコロを転がすという行為が好きだ。

記憶にあるごく初期のプログラム体験も掲示CGIスクリプト*1にサイコロを振る機能を追加した事だ。

今やオンラインでのTRPGプレイは当たり前のもので、それをサポートするダイスボットは欠かせない存在だ。

が、別にそういう実際に便利なボットを作りたい訳ではなく、単にサイコロを振りたいときに振れるようにできるだけのものにしたい。

この思いは数年前からあったのだけれど、最近高まってきたので実行に移した。

*1:CGIスクリプトなので当然Perl。触れてから20年越しで仕事としてPerlを書いていて不思議な縁を感じる

続きを読む

MackerelのURL外形監視でAzure App ServiceをAlways on

Microsoft AzureにはApp Serviceという便利なPaaSがあって、趣味でWebアプリケーションを作ったらとりあえずそのFreeプランでホスティングしている。

App ServiceのFreeなど無料や低料金なプランは、一定時間アクセスがないと動作が停止する。アクセスがあったら再開する。これによってリソースを節約することで無料なり安価でPaaSが提供されているのだろう。

f:id:koudenpa:20200916134538p:plain
FreeやSheredなどの低料金プランはアプリケーションが休止する

このアクセスがなかったら停止する振る舞いはPaaSでは一般的(Herokuなんかもそうのはず)で、一定時間アクセスがないと動作が停止するの一定時間より短い間隔で定期的にアクセス、常に動作しているようにするややダーティなプラクティスが存在する。

AzureならLogic Appsで定期的にHTTPRequestを発生させられるだろう。

しかし、僕らにはMackerelのURL外形監視がある。なんと、URLを指定するだけで、1分毎にアクセスして、応答時間の記録まで採ってくれる。便利。

mackerel.io

今回常に動作していて欲しいWebアプリケーションを作っているので、さしあたってこれでAllways onっぽい動作を得てみた。便利。

なお、定期的にアクセスしていれば無制限に動き続けるわけではなくて、Freeなどのプランにはリソース使用料の上限(クォータ)が設けられている。これを超えると一定時間止まる。

https://docs.microsoft.com/en-us/azure/app-service/web-sites-monitor

なので安心して? Always on的な動きをしてもらっている。

Raspberry Pi壊した

タイトルの通り、Raspberry Pi 3 A+を壊した。自戒のため記録しておく。

おきたこと。

  • カメラをつないで写真を撮ったら電源が落ちた
  • 電源を再投入してもSDカードを読み込まなかった
  • SDカードの内容は壊れていた
  • SDカードにOSを再書き込みしても読み込まなかった

ああ、壊れたんだなって思った。

やったこと。

  • ケースがなかったので裸の基板を素手で触っていた
  • ワンチャンいけるやろ! とノートPCのUSBバスパワーを電源としていた
  • その状態で写真を撮った

今後はケースに入れてちゃんとした電源を取ろうと思った。

ノートPCの側が無事でよかった。そちらが吹き飛んでいたら金銭面だけでもダメージが数十倍だった。

f:id:koudenpa:20200914120019p:plain
さようなら

アニメ「ダイの大冒険」前夜

www.dqdai-official.com

好きな漫画は? と問われたらまず名前が挙がってくるほどにドラゴンクエスト ダイの大冒険が好きだ。

先だってその再アニメ化が発表され、今本編画像も発表されつつある。10月頭から放映開始とのことだ。

アニメ化に伴う商品展開も充実している。

好きなだけにどのようなものがでてくるのか期待と不安が入り混じっている。この気分は今にしかないものだと思うので、少し記録しておく。

youtu.be

続きを読む

Amazon EFSへのリソース配置をAWS CLI + 踏み台サーバでやってみる

先にAWS Lambdaの関数実行時にEFSをマウントしてみた。その時にはファイルの出力先として使ってみたのだけれど、入力ファイルの配置先としても使えると思う。Lambdaは何かと容量制限があるが、EFSなら容量制限とは無縁だ。Lambda + EFSの記事でも機械学習結果のモデルの配置が紹介されている。

が、このファイル配置は曲者で、結構面倒くさい様子だった。面倒くささへの愚痴と、手軽にはこんな感じだろうと試したAWS CLIと踏み台サーバでの配置を試した記録を書いておく。

続きを読む

AWS Lambda上のChromeでHTMLをレンダリングしてS3やEFSに保存した

Twitterのタイムラインを動画にしたいと思ったのでしてみた - koudenpaのブログ からの流れでHTMLをレンダリングして画像を取得することをいくらか試している。

先には.NET FrameworkWindowsのローカルマシンで試したので、次はクラウドでと考えてAzure Functions上で何かしら試そうとしていたのだけれど、触り始めたライブラリ.NET Core3サポートがまだ完了していなくてFunctions上で動かすのは難しそうだったのでとりあえず匙を放ってしまった。

じゃぁ幾らでも事例が転がっていそうなAWSのLambdaをたしなんでおこうかと思った次第。

実際試す分には簡単で、やりたいと思ったことを非常に平易に行えた。流石にやっている人が多い行為はこなれている。

試しているリポジトリ。もうしばらく気になったことを更新するかもしれない。

github.com

続きを読む

Twitterのタイムラインを動画にしたいと思ったのでしてみた

のだけれど、とりあえず動画なったところで「こんなもんどう考えても動画編集ツールにデータ入力してレンダリングしてもらった方がいいじゃん」と正気に返ったのでやったことを備忘して終わる。

出来た動画(の一部分)。

youtu.be

続きを読む