TKC Works

ギジュツ的なメモ、読書感想文など

GitlabのMySQLをPostgreSQLに移行した

Gitlabの8系までは大丈夫だったと思うけど、9系に上げると4バイト絵文字の読み書きでエラーになるようになってしまった。

文字コードをutf8mb4に変えてみたが、うまくマイグレーションできなかったのでいっそPostgreSQLに変えてみた。

gitlabのリポジトリに移行ツールがあったのでさくっと対応できた。

github.com

やってることは単純で、

  1. MySQLからデータをdump
  2. dumpしたファイルをPostgreSQL用に変換
  3. PostgreSQLにインポート

他のRailsアプリケーションでも使えそう。

Docker for Macのディスク問題への対処

問題

Docker for MacでコンテナをVolumeして使うと辛いですよね。遅いし…。

特に困ったのはイメージビルド時に母艦のディスクは余ってるのにディスクが足りないというエラーがでてDockerfile内のapt-get updateすらコケるようになったこと。

https://github.com/docker/for-mac/issues/371

このへん見てqcow2の圧縮やらイメージ、コンテナの削除やっても解決しませんでした…。

結論

開発環境をLinuxデスクトップに移した。

  • 仕事は主にWebアプリの開発、たまに機械学習の手伝いなので特に困らない。
  • iOSアプリの仕事が来たら困るけど、たぶんこない。

詳細

マシンについて

  • MBP2015を使っていたが会社に使ってないデスクトップ(Dell Vostro470)が眠ってたのでもらった。
  • Ubuntu Mate 16.10を入れて使っている。
  • メモリは8Gあったけどスロットが空いてたので買い足して24Gにした。
  • CPUはi7-3770(3.4GHz8コア)
    • 5年前くらいのマシンでもそれなりに快適。やっぱりデスクトップ用とラップトップ用のCPUは違うなあ。
  • SDDじゃなくHDDなのはちょっと残念。

代替アプリ

  • SlackとかDropboxとか割とLinux版もある。
  • VSCodeとかGitKrakenとかElectronのおかげでLinuxでも使えてありがたい。
  • PostmanとかChrome Appもそのままで助かる。
  • iTerm2→Guake Terminal+tmux
    • 元々iTermもそんなにカスタマイズしてなくてタブとペインの分割があればよかった
    • terminatorもよかったけどGuakeのほうがかっこよかったので。
    • Guakeはペインがないぽいのでtmuxで対応
  • Evernote→NixNote
  • Dash→Zeal
  • Alfred→Albert
  • Clipy→Diodon
  • MS Office→Libre Office or Office Online
  • アプリじゃないけどpbcopy→xsel

感想

  • Macじゃなくても割と大丈夫だった。
  • Dockerのおかげでどの環境でも同じように動かせるはずだったんだけど…。
  • Appleは頑張らないとエンジニアが離れていくかもなあ。

「なぜ、あなたの仕事はおわらないのか」を読んだ

締め切りに慌ててラストスパートを頑張るのではなくスタートダッシュを決めるという仕事のやり方の本。 言われてみればその通りなんだけど、実際なかなかやれてないので気をつけたい。

プロトタイプを高速につくってフィードバックをもらいながら仕事をすすめるというのはエンジニアとしてとても大事だと思うので自分も界王拳をうまく使えるように日々工夫したい。

あと、なぜ集中できなのかという部分で、自分が本当にやりたいと思ってない、切羽詰まってないというのはその通りだなと思った。 今までなんとなくこの先必要そうだなと思って勉強のための勉強みたいな感じで勉強していたので知識が必要なタイミングで高速に学習するように変えていきたいと思った。

LIFE SHIFT(ライフ・シフト)

LIFE SHIFT(ライフ・シフト)

少し前にこっちも読んでいて、いづれ生涯現役社会になるので一生勉強しなきゃなと思っていたけど、今までの自分の勉強の仕方だと、勉強したけど頭に定着しない無駄な時間を過ごしてしまうところだった。本当にやりたい仕事を見つけるのはすごく大事。しかし仕事に追われ続ければ見つける時間がない。まずは目の前の仕事を最速でできるようにしていきたい。

「なるほどデザイン」を読んだ

仕事でWebアプリケーションを何個か作ったりメンテしたりしていて、もっとデザインもできればいいのにと思ってデザインに興味が出てきなので読んだ。

  • 書体
  • レイアウト
  • 画像の使い方
  • 強調のさせ方
  • 要素の足し算引き算

などが具体例でわかりやすく書かれている。 WEBというよりは本やチラシの話だけど、デザイナーの人がどんな風に考えて仕事をしているのかがちょっとわかった気がする。

センスは知識からはじまる

センスは知識からはじまる

こっちも読んだけど、デザインも感性じゃなくてちゃんと理論があるということがわかったので、自分ももっと勉強すればそれなりにできるようになれるかなと思った。

デザインができると、WEBとかアプリだけでなく、資料作成とか社会人としていろんなところでメリットが出るので引き続き勉強していきたい。

『コンピュータで「脳」がつくれるか』を読んだ

コンピューターで「脳」がつくれるか

コンピューターで「脳」がつくれるか

バズワード化してしまって、なんでもかんでもAIって言うようになった昨今、一時の「クラウド」みたいだなと思ってた。 そのAIとか機械学習について、本当のところどうなんだと思ったので読んだ。

この本は

について全くの初心者でもわかるように易しく書いてくれているので1冊目としてすごく良いと思った。 とりあえず日経とかの記事で「汎用AIがー」とすごそうに書かれていても冷静に見れるようになったと思う。 あとシンギュラリティで無くなる職業一覧みたいなのとか。

ちょっと興味がでてきたのでそのうちTensorFlowとかちょっといじってみようかな。