私が歌川です

@utgwkk が書いている

好きな漫画10冊

漫画の好みを知らないので好きな漫画10冊を挙げてくれ、と言われた気がしたので書きます。

ぱらのま 1 (楽園コミックス)

ぱらのま 1 (楽園コミックス)

有害無罪玩具 (ビームコミックス)

有害無罪玩具 (ビームコミックス)

新コボちゃん (46) (まんがタイムコミックス)

新コボちゃん (46) (まんがタイムコミックス)

ワカコ酒 1巻

ワカコ酒 1巻

4連休2日目 (7/24)

フェイの最終問題をクリアした。クリアステータスは以下。

  • Lv. 70
  • 剛剣マンジカブラ+13
    • 必中
    • ドレイン
    • 1ツ目
  • 鉄甲の盾+29
    • トド
    • 地雷
    • 見切り
    • やまびこ
    • バトルカウンター
    • ドラゴン
    • 皮甲
  • 透視の腕輪

不思議のダンジョン2 風来のシレン

不思議のダンジョン2 風来のシレン

  • 発売日: 1995/12/01
  • メディア: Video Game

当初は、ちょっと合成した鉄甲の盾しか持っておらず、36Fの壁を乗り越えられるか不安だった。幸いバトルカウンターを合成していたので、90ダメージもらって30ダメージ返す、みたいな戦い方ができた。あまりに諸刃の剣すぎる。とはいえ、盾が弱いうちはバトルカウンターが効いてくる。

強化の壺と盾を手に入れたので、どんどん壺に突っ込んで、合成の壺が出たら盾を鍛える、という作戦で、盾の強さ36まで鍛えられた。攻撃力255で30ダメージもらう、という感じでめっちゃ強いぜってわけでもないけどだいぶマシになった。

ドラゴンをジェノサイドする機会が最後までなくて、とにかくアークドラゴンに悩まされながら駆け下りていった。復活の草を大量に入手していたのでなんとかなったけど、98Fぐらいで復活の草も回復アイテムも尽きたので、南無三という気持ちで階段を探していた。分裂の壺でとりあえず草を増やしていなかったらどうなっていたか分からない。

4連休1日目 (7/23)

午前中にビールの配達があり、連休に計画していた予定が終わった。


せっかくなので遠出するか、と思って荷物をまとめるところまではやったが、気が進まないまま時間だけが経過した。

ラーメン二郎が食べたい、という気持ちになったので夕方に一乗寺に向かうが、連休中は営業していなかった。

池田屋もやっておらず、夢を語れは営業していたので向かった。Swarmのチェックイン履歴によれば、夢を語れに来たのは4年ぶりらしい。

ニンニクヤサイスクナメ

文脈は忘れたけど、霧矢あおいがラーメン荘歴史を刻めにどハマりする漫画がツイッターで流れてきたのをちょうど見かけたところだった。

食べ終わって、ぐったりしながら帰宅。昔はおなかいっぱいになりすぎたなというぐらいで済んでいたが、今は食べすぎると体調に大きな影響を及ぼす。 帰って風来のシレンをしていたら終わった。


新型コロナウイルスが日常を蝕んでいる様子がまだちらついていて、気が滅入る。

6年前に作ったGoogle App Engineで動くTwitter botを更新した

github.com

このブログで言ったことない気がするけど、素数bot (@sosuubot)というTwitter botを管理している。1時間おきにカウントアップした整数が素数かどうかをつぶやくだけのbotである。 6年前に作ったきりで、Python 2.7製で、Google App Engineで動いている。 デプロイの仕方もメモされずに6年間ずっと動いていた。 55555ぐらいの整数までの素数判定が行われているので、ほんとうに6年間動いていたのだろう。最終デプロイは2014/03/24と書いてあった。

当時はGCPの中のApp Engineではなく、GAEっていうものがあった気がする。6年前の記憶がもうない。誰か覚えていたら教えてください。 なんかGoogleアカウントを持ってたら無料で使えるプラットフォーム、という感じで、お金もクレカも持ってない高校生にはうってつけだったのだろう。 データベースぽいものがあるけどそのクエリ言語が分からない、とりあえずforループで回してデータ1件だけ取りましょう、みたいなこともやってたと思う。 そういうアプリケーションのソースコードは紛失した。

昔はGAEが好きで、このブログにもちょっと残ってた。

utgwkk.hateblo.jp

作ったことを忘れていては、たまに思い出すようなbotだったのだけれど、Python3に移行しましょう、古いSSLライブラリは廃止されます、みたいなメールが来ていた。 それも一昨年の話で、今日ちょっと思い立ってモダンにしてみよう、となった。

コードを見てまず最初に autopep8 にかけた。当時は高校生で、コーディング規約みたいな概念を知らなかった。 APIキーを key.py みたいなファイルに書いてからデプロイしましょう、みたいな感じで、今だったら環境変数として渡すと思う。 今見返すと恥ずかしいようなコードだけれど、それでも、こういったbotを動かすことができたという原体験は大切にしたい。

6年経過するといろいろなものが変わっている。

  • Python 2.7からPython 3.8にアップデートした
  • webapp2っていうフレームワークを使っていたのだけれど、ふつうにFlaskが使えるようになった
    • 使い慣れてるしコードそんなに大きくないのでガッと書き換えて移行できた
    • ちなみにPython3だとwebapp2は使えなくて、webapp3というのを使う必要がある
  • app.yamlが大きく変わって、最終的に3行になった
    • デプロイ対象外のファイルを .gcloudignore っていうファイルに記述するようになった
    • バージョンを書く必要がなくなった。デプロイ時に指定できるし、自動でいい感じのバージョンを設定してくれる
    • handlerとか書かなくてもgunicornでリクエスト受けるようになった
  • サードパーティライブラリを使うとき、実装が置いてあるディレクトリを同梱してデプロイしていたのだけれど、requirements.txtがあればデプロイ時にpip installしてくれるようになった
  • Windows上でGAEのSDKを使ってて、GUIでぽちぽちやってデプロイしてたけど、GCP SDKを入れて gcloud app deploy ... で済むようになった
  • 以前のバージョンに戻すときの操作が分からなかった*1ので、直してはデプロイしまくった

APIキーを含めてデプロイするとき、secrets manager的なものを使うとよいのだろうけど、secret.yamlを作ってデプロイするという形で無料で済ませている。 Herokuだったら管理画面から環境変数を設定できる。 手元にアクセストークンがなかったので、再発行して1時間以内にデプロイを成功させる必要がある、という感じでたいへんだったけど、よく考えたら趣味で動くbotに可用性を求められることはない。


botのプロフィールに、

なにかあったら @utgwkk までお知らせください

って書いてあるけど、お知らせをもらったことは運用当初にちょっとあったぐらいで、それ以降ずっとない。 作ったきりずっと動いていて存在を忘れてしまう、というのはよかったのではないか。

同じくらいの時期に、高校のホームページの緊急情報をスクレイピングしてお知らせするbotも作ったのだけど、そのソースコードは紛失した。 GAEで動いているもののコードをpullする、みたいなのできるのだろうか。

*1:トラフィックを移行 でできる気がする?

朝、いつも通りの時間にGoogle Homeのルーチンが作動するのだけれど、疲れが取れてなくてそのままぎりぎりの時間まで二度寝してしまう。疲れは取れないまま時間は来るので大急ぎで支度をする。今週そういう感じでずっと疲れていた。来週は連休もあるしひとまず今週末はゆっくりしたい。

夢日記

  • 青鬼*1から逃げ回る
  • 7階建ての校舎を逃げ回っていて、天井に張り付くと見つからない
  • 山手線の内側ぐらいからタクシーを拾って、京都まで東に向かってください、あっ違った西です、という注文をする
  • タクシーが動かなくなったので窓の開いた車を奪う。勢いよくレバーを引くとエンジンがかかる、という仕組みになっていた