koudenpaのブログ

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

四十路ITエンジニアの感性

最近のWebサービスのUIを使いづらいと感じたり、UIの変更についていけないと感じる場面がある。

タスク管理ツールのAsanaは頻繁にUIが変わるのだけれど、変わるたびに不便になったと感じてしまう。

デザインコラボレーションツールのFigmaは全く使いこなせる気がしない。やりたいことをやるUIがどこにあるのかなかなか見つからない。

これってつまり感性が最新のものに追いつけていないんじゃないだろうか。

老化。

個人の好みは個人の自由なわけだけれど、ITエンジニアとしてプロダクトに関わる判断基準を自分でなく世間の水準に持つことは難しい。

世のプロダクト、ITエンジニアはどうやって判断基準の妥当性を担保しているのだろう。

以下辺りが一般的か?

そりゃそうだという気はするが、じゃぁプロダクトではなく個人の感覚をこれらに追いつかせるにはどうするといいんだろうな。

ムスい。

まぁ、個人の感性はどうにもならん! 仕事に当たっては個人の感性でなくデータを当てにしよう。ってことなんだろうな。

ムズすぎ。

オチはないです。

DockerのphpmyadminにSSL/TLS設定を仕込んでPlanetScaleに接続する

PlanetScaleコンテナで動かしているphpMyAdminから繋ぎたい。

何も考えずに接続すると以下のようなエラーが発生する。

mysqli::real_connect(): (HY000/1105): unknown error: Code: UNAVAILABLE server does not allow insecure connections, client must use SSL/TLS

PlanetScaleのようなインターネット越しで接続するDBサービスは接続を暗号化することを求めてくる。そりゃそうだ。

以下辺りを眺めてSSL/TLSを使って接続するようにした。

こんな感じ。

GitHub - 7474/phpmyadmin-with-basic-auth

<?php
// config.user.inc.php
// for PlanetScale
if ($_ENV['PMA_SSL']) {
    for ($i = 1; isset($hosts[$i - 1]); $i++) {
        $cfg['Servers'][$i]['ssl_ca'] = '/etc/ssl/certs/ca-certificates.crt';
        $cfg['Servers'][$i]['ssl'] = true;
    }
}
FROM phpmyadmin/phpmyadmin:5.2.1
# Dockerfile
COPY config.user.inc.php /etc/phpmyadmin/config.user.inc.php

繋がってめでたし。

AWSでプロトタイピングしているアプリケーションのRDBにPlanetScaleを試してみているたった一つの理由

「無料プランがあるから」

planetscale.com


実際「無料プランがあるから」以上の理由はない。

AWSRDB――MySQL――をマネージドで動かそうとすると毎月数千円~となってしまう。

趣味や小規模サービスの開発中などにお金をケチりたい際に払いたい金額ではない。

一応無料枠もあるが「AWS アカウントを作成した日から 12 か月間」の期間限定で、そんなものはるか昔に過ぎ去っている。

aws.amazon.com

MySQL互換のRDBであればなんでもいい、となると、AWSの外に求めてしまうのは自然だろう。

趣味や小規模サービスなら転送量のコストが発生したとしてもたかが知れている。


で、自分はIT周りのトレンドに周回遅れ、枯れてから触れることが多いのだけれど、PlanetScaleは(多分)流行っているだけあってRDBに求める機能が色々あって便利だなと思う。

そもそも、とてもスムーズに使い始められる。

流行っているサービスはおしなべてGetting Startedに障壁を感じない。

他方ニッチなサービスは使い始めが難しいことが多いように思う。


主要ユースケースはDocumentがあるのではないだろうか。

planetscale.com

Lambda関数からの接続の例示すらある。

planetscale.com

滅茶苦茶分かりやすい。


しかもRDB運用に欲しい機能が盛りだくさん。

planetscale.com

無料でつられて、課金ユーザーになっても知らんぞ?

それが嫌なら今すぐ無料は12カ月制限を外すんだ。すぐに戻っていくぞ?

が、AWSとしてはそれでいいのかもしれない。何故ならPlanetScaleはAWSで動いていそうだから……

スケジュールとリソースの見積もりは似ているのではないか

ITエンジニアをやっていると常にしょうもない例え話が思い浮かんでしまう。

今回は「プロジェクトのスケジュール」と「クラウド上のコンピューティングリソース」の見積もりは似ているのではないかという話だ。

リソース

クラウドで何かしらのアプリケーションを動かす際の利点の一つに、負荷に応じて自動的にリソースを増減させられる点がある。

Webアプリケーションをホスティングしていて、アクセス数が増えたらCPU使用率が高まる。一定のCPU使用率がかかったらリソースを増やす。のような場面はよくあるのではないだろうか。

この際、CPU使用率は100%がそのリソースが処理できる限界だが、スケールアウトするかどうかの設定に100%を指定することはまずないだろう。

~60%程度にしていることが多いのではないだろうか。

使用率が100%になってからリソースを増やしているようでは高まった負荷に対応できないので、それより低い不可であるうちにリソースを増やすように見積もっているわけだ。

スケジュール

負荷100%を前提にして見積もってはいやしないだろうか?

してない? であるならこの話は忘れて欲しい。

想定外の負荷はかかるものなので、スケジュールには一定の冗長性、なんらかのバッファを設けてあってしかるべきだろう。

自分の場合は期間バッファを設定しておくことが多い。

3日作業すれば終わると見積もったタスクが5つあったなら、それらを全部終わらせる予定日は20営業日後位に設定している。15営業日の見積もりに対して数十%程度の期間バッファを置く形。

これはかなり自信を持っている見積もりだけれど、まぁ大体達成できているのでいいかなと思う。チームのメンバーには50%位の期間バッファを設定してくれとお願いしている。その上でプロジェクトを管理している人間はさらに50%程度のバッファは最低限見ておいた方がいいだろう。タスクの消化は見積もりに対して遅れるものなのだ。

何の話だっけか?

似てるのではないか? という発想を切っ掛けに、作業の見積もりの話をしたかったのだろう。

ダンジョンズ&ドラゴンズ/アウトローたちの誇り

観た。大層よかったという感想を垂れ流す記事です。

dd-movie.jp

初見の感想。

二度目の感想。

以下垂れ流し。それなりにネタバレするはずです。

尚、D&Dは3版のルールブックを流し見したことがある程度です。

  • 何が良かったのか
  • キャラ立ち
    • 良き画
    • ここ・そこの杖
  • 分かりやすさ
  • 2023/04/26 追記(吹き替え翻訳の良さ)
    • サイモンが死者を一時的に呼び起こして5つ質問したらまた死ぬに対するドリックの反応
    • 脳みそ君に素通りされたことに対するエドウィンの反応
続きを読む

AWS Amplify での Next.js SSR 所感

従量課金かつお手軽にフロントエンドをSSRするのがそれなりの関心事であることもあり、AWS AmplifyのAmplify Hostingの表層に触れたのでメモしておく。

  • 動機
  • AWSコンソールでポチポチ構成できるのは大層良い
  • AWSが弱いところはことごとく弱いのはイマイチ
    • 状態の通知
    • !!! CustomerError: Framework Web not supported
    • 無料枠は1年
  • 感想
続きを読む