「NO HARD WORK!: 無駄ゼロで結果を出すぼくらの働き方」を読んだ

前記事で Netflix の人事戦略のレビューを書きましたが、今回はベースキャンプ社 (旧37signals) という会社の働き方の本を読みました。

この会社、エンジニア界隈の人は知っている人が多いと思います。同社が書いたこちらの本『小さなチーム、大きな仕事〔完全版〕: 37シグナルズ成功の法則』は当時話題になり、その開発手法に影響を受けた会社が出てきたりもしました。

「達人に学ぶ DB設計 徹底指南書」を読んだ

データベース設計ってどうやるの?って所をちゃんと知りたかったので読んでみた。若干期待していたのと違ったがたくさん学びもあった。 自分がタイトルから想像したのは、例題やサンプルアプリケーションみたいなのを提示してそれらをどうモデリングするかっていう感じかなと勝手に思ったんだけど、どっちかっていうと当たり前のことをちゃんと考えて設計していきましょうね、っていう内容だった。

「バカでも稼げる 米国株 高配当投資」を読んだ

後輩が貸してくれたので読んでみました。

Amazon のリンクに行くと結構なレビューがついてますが、星1〜星5まで評価が別れていてその内容を読むと、信者っぽい人からアンチっぽい人までさまざまです。さすが日本一アンチの多い米国株ブロガーと言っているだけあります。

percol から fzf に移行した

新調した Mac mini の開発環境を整えていたら、どうも percol が動作してくれない。Python3 ではうまく動かないらしい。 直そうと思って調べてみるとどうやら peco や fzf の方がナウいらしいので移行することにした。 tmux の相性がいいとのことなので fzf を入れることにする。

docker-compose up で db が立ち上がらない時は volume を削除してみる

とある Rails プロジェクトを Docker 化する過程で db にうまく接続できないエラーに遭遇した。

docker-compose up するとこんな感じのエラーがでる。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Starting app_db_1 ... done
Creating app_web_1 ... done
Attaching to app_db_1, app_web_1
db_1   | 2019-01-09T01:57:45.523451Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
db_1   | 2019-01-09T01:57:45.524650Z 0 [Note] mysqld (mysqld 5.7.24) starting as process 1 ...
db_1   | 2019-01-09T01:57:45.528223Z 0 [Note] InnoDB: PUNCH HOLE support available
db_1   | 2019-01-09T01:57:45.528319Z 0 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
db_1   | 2019-01-09T01:57:45.528348Z 0 [Note] InnoDB: Uses event mutexes
db_1   | 2019-01-09T01:57:45.528374Z 0 [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
db_1   | 2019-01-09T01:57:45.528394Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
db_1   | 2019-01-09T01:57:45.528543Z 0 [Note] InnoDB: Using Linux native AIO
db_1   | 2019-01-09T01:57:45.528969Z 0 [Note] InnoDB: Number of pools: 1
db_1   | 2019-01-09T01:57:45.529276Z 0 [Note] InnoDB: Using CPU crc32 instructions
db_1   | 2019-01-09T01:57:45.530867Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
db_1   | 2019-01-09T01:57:45.540619Z 0 [Note] InnoDB: Completed initialization of buffer pool
db_1   | 2019-01-09T01:57:45.542550Z 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
db_1   | 2019-01-09T01:57:45.554602Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
db_1   | 2019-01-09T01:57:45.554769Z 0 [ERROR] InnoDB: Unsupported redo log format. The redo log was created with MariaDB 10.3.10. Please follow the instructions at http://dev.mysql.com/doc/refman/5.7/en/upgrading-downgrading.html
db_1   | 2019-01-09T01:57:45.554873Z 0 [ERROR] InnoDB: Plugin initialization aborted with error Generic error
db_1   | 2019-01-09T01:57:46.160053Z 0 [ERROR] Plugin 'InnoDB' init function returned error.
db_1   | 2019-01-09T01:57:46.160184Z 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
db_1   | 2019-01-09T01:57:46.160209Z 0 [ERROR] Failed to initialize builtin plugins.
db_1   | 2019-01-09T01:57:46.160224Z 0 [ERROR] Aborting
db_1   |
db_1   | 2019-01-09T01:57:46.160239Z 0 [Note] Binlog end
db_1   | 2019-01-09T01:57:46.160356Z 0 [Note] Shutting down plugin 'CSV'
db_1   | 2019-01-09T01:57:46.163497Z 0 [Note] mysqld: Shutdown complete
db_1   |
app_db_1 exited with code 1

db のコンテナが起動に失敗しているようだが、エラー内容でググってもあまり有効な解決策に繋がらない。 最終的に volume を削除して立ち上げて治すことで解決できた。