私が歌川です

@utgwkk が書いている

失敗から学ぶRDBの正しい歩き方

失敗から学ぶRDBの正しい歩き方 (Software Design plus)

失敗から学ぶRDBの正しい歩き方 (Software Design plus)

  • 作者:曽根 壮大
  • 発売日: 2019/03/06
  • メディア: 単行本(ソフトカバー)

全体的にハラハラしながら読み進めることができてよかった。こんなことがあるのか、みたいな気持ちになりながら読む人もいるかもしれないけど、こんなことというのは起こりうるものである。

WebアプリケーションにおけるJOINだと、O/Rマッパを使ってないとき*1昔はよくやってたけど、今だと SELECT * FROM a したあと SELECT * FROM b WHERE a_id IN (...) してからアプリケーションでくっつける書き方のほうがすぐできるようになった。アプリケーションはスケールさせやすい、クエリを分けて書くと個別にチューニングしやすい、みたいな話題だと思う。

腐ったテーブル設計にしないのが一番よいけれど、知識が蒸留されていなかったとか、とにかく開発速度を上げるためにデータモデリングを犠牲にしたとか、いろいろな事情があって腐ってしまうこともあると思う。借金のようなものが強くのしかかってくる状態なので、どこかで工数をかけて返済したい。

*1:ISUCONとか

机に置くものを最小にしたい

机の上が整頓されていないと生活のパフォーマンスに支障をきたす*1ので、机の上の複雑性を減らしたい。したがって、机に置くものが少ないのがよい、と考えている。

  • マウス
  • キーボード
  • ディスプレイ
  • スピーカー
  • 箱ティッシュ
  • コップ

これ以上ものを減らすには、スピーカー付きのディスプレイを買うぐらいしか思いつかなくて困ってきた。

*1:あるいは、パフォーマンスが落ちているので整頓ができなくなっているのかもしれない

身分証送信のためにimagemagickをビルド

GIF/PNG/JPEG形式の画像だけがアップロードできる身分証送信フォームに身分証をアップロードするために、imagemagickをビルドしていた。Ubuntuで apt install imagemagick でインストールできるimagemagickだとHEIF形式の画像の変換に対応していない。iPhoneで撮影した身分証の写真はHEIF形式で保存されている。画像の性質が性質なので、知らない画像変換Webサービスにアップロードするのは憚られる。

あとで気づいたけど、iPhoneのカメラの設定を変えてから撮影し直すほうが早かったと思う。ところで最近のスマホで撮影した写真は巨大すぎてびっくりしがちで、撮影した後に convert -geometry 25%x25% input.jpg ってやってる。

巨大すぎる写真を送り付けない、みたいなマナーがそのうち出てくる? 時代が逆行していそう。


だいたい以下をやったら、ソースコードからビルドしたimagemagickが使えるようになる。とくに目新しいことはしてないと思うけど参考にしてください。

# 古い (aptでインストールできる) imagemagickをとにかく消す
$ sudo apt remove imagemagick imagemagick-6-common imagemagick-6.q16

# HEIF形式の画像を操作するためのライブラリを入れる
$ sudo apt install libheif-dev

# imagemagickをビルドする
$ git clone https://github.com/ImageMagick/ImageMagick
$ cd ImageMagick
$ ./configure --prefix=/usr/local
$ make -j8 # 引数は適宜調整してください
$ sudo make install