規則正しい生活をやめた

寝たい時に寝て、食べたい時に食べて、走りたい時に走るようにしている。

といっても最近はある程度スタイルが固まっており、 深夜2時頃にランニング、6時頃に就寝、9時頃に起きてひと仕事、コーヒーを飲んで、出社または客先で商談、眠たくなったら30分程度の仮眠を何回かとることが多い。

平日は細かく睡眠時間をとり、土日は長時間がっつり寝る。

基本的に起きておきたい人なので、この生活はしっくりくる。

前回の投稿からの約2年間の出来事

久しぶりに書いてみる。

健康

  • 痛風
    • 解決済み
  • 健康的な食事
    • 2018年の夏から野菜不足解消のために週1は必ず鍋を作って食べるようにしている
  • 健康診断
    • 受けていない
  • フルマラソン
  • 毎月100kmラン
    • 2017年は8月に風邪を引いてダメだった
    • 2018年はフルマラソン後に疲労から体調を崩してあまり走れておらず平均すると80km/月ぐらいになっている
  • 筋肉
    • 2018年5月ぐらいから暇があれば懸垂するようになった
    • 2019年からジム通いを始めた

仕事

  • 2017年1月
    • 退職して起業
      • 事業は受託開発と自社プロダクト開発の2軸
  • 2018年2月
    • 学生アルバイト(リモート)が入社
  • 2018年4月
    • 社員2名が入社
  • 2018年11月
    • 創業から参加していたサービスがリリースされた
  • 2018年12月
    • 渋谷にオフィスを設立
      • これまではパートナー企業のオフィスを間借りしていた
      • 自社プロダクト開発をさらに加速させる
      • 受託に関しても新しい分野に挑戦していく
    • 自社サービスの一部を関係者向けにリリース
      • 最初の自社サービスとなるだろう旅行情報共有サービスのほんの一部

技術

  • 相変わらず数え切れないぐらいの技術を使った(駆使した)
  • 印象に残っているものは.NET Core(C#)によるサーバ開発
    • とあるサービスのSDKを使うためにC#を採用したのだが、かなり好印象
    • サーバ開発言語選択肢に入り込んできた
  • 自社サービス開発ではAWSからGCPに移行し、Kubernetesを採用

痛風の危機 その後

去年の8月の健康診断で痛風の危機を宣告されており、、、

nabeix.hatenablog.com

最近何人かからどうなったか聞かれたのもあり、その後の報告ということで。

結果から言うと、痛風の危機は去りました。万歳。

尿酸値は6.0。7.7 → 6.0です。

痛風の危機宣告を受けてから色々取り組んだのでまとめておきます。

  • 水を毎日2リットル飲む【中止】
    • 去年10月~今年1月ぐらいまで続けたけど、体がだるくなってつらいのでやめた
  • ジャスミン茶を毎日1リットル飲む【中止】
    • 水2リットルをやめた後、今年2月~4月ぐらいまで続けたけど、これも体がだるくなってつらいからやめた
  • 水を毎日500ミリリットル飲む【継続】
    • ジャスミン茶1リットルをやめたあと、一応500ミリリットルは飲むように心掛けている。これぐらいがちょうどいい。
  • レッドブルやめた【継続】
    • 痛風危機宣告以前はほぼ毎日飲んでたのをやめた(今はどうしても気合いれなくてはならない時に飲むぐらい)
  • ランニングはじめた【継続】
    • 今年4月中旬から毎月100km走ってる
  • 野菜増やす【継続】
    • キノコとか海藻を意識して食べるようにしてる
  • たらこおにぎりやめた【継続】
    • たらこおにぎり控えるようにしてたら、コンビニでおにぎり買わないようになってた(たらこが食べたかったんですよ)

食生活改善したり運動するようになって体重も57kg→52kgになり、良いこと尽くしですね。

健康には気を付けよう。健康診断は受けよう。

Slim+Twigでテンプレート文字列を使う

PHPのSlimというフレームワークを最近触ってる。

www.slimframework.com

テンプレートエンジンはTwigを使ってみた。

slimphp/Slim-Views · GitHub

メモとしてテンプレートファイルではなくて生文字列をTwigに渡す方法を残しておく。

$app->view()->getEnvironment();
$template = $twig->createTemplate('render with {{ engine}}');
echo $template->render(['engine'=> 'twig']);

PHP自体久々に書くこともあってか精神を消耗している。

GitHubのリポジトリ一元管理

GitHubのユーザリポジトリやOrganizationリポジトリを一元管理できるコマンドラインツール作りました。

github.com

会社でGitHub Enterprise使ってるのですが、Origanizationがいっぱいあって一括clone等したかったので。

少し前に全レポジトリに同じ細かい修正があって一括commit & pushするとき助かりました。

gitlump exec checkout -b fix-branch
# 全レポジトリに修正を加える
gitlump exec commit -m "change url"
gitlump exec push

Dockerについて

今更感があるけどもDockerについて調べてみた。 (コマンドを叩いたことはない)

痛風の危機

8月の健康診断で尿酸値が7.7になる。半年前は全く問題なかった(数値は不明)のだが・・・。

家系的にも尿酸値が高くなる傾向があるらしく、父親もよく痛風になってたのでこのままでは痛風不可避。

ここ半年は週3ぐらいでコンビニのたらこおにぎりを食べ、ほぼ毎日レッドブルを飲み、小腹がすいたらすぐお菓子という生活をしていたからだろうと思う。

レバー等の内臓系も好きでよく食べてたのだが、これは昔からだからあまり関係無いような気もする。

そういうことでたらこおにぎりとレッドブルとお菓子をやめた。

毎日水2Lと食事は野菜中心。

痛風だけは絶対になりたくない。

Ubuntu 15.04にElixirをインストールしてみる

新しい言語をやってみようということで、今話題のElixirを試してみる。

本家サイトのチュートリアルをざっと眺めてインストールしようとしたけども、

http://elixir-lang.org/install.html

debをダウンロードしようとすると、タイムアウト。今日の時点ではサーバが死んでるらしい。

wget https://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb 

おとなしくソースからビルドすることにした。

Erlangが必要なのでインストール。

sudo apt-get insatll erlang

ソースをcloneしてビルド

git clone https://github.com/elixir-lang/elixir.git
cd elixir
make clean test

パスを通す。

export PATH=/path/to/elixir/bin:$PATH

Elixirのインタラクティブシェルとなるiexを実行してみる。

iex --version

でこんな感じに表示される。

Erlang/OTP 17 [erts-6.2] [source] [64-bit] [smp:4:4] [async-threads:10] [kernel-poll:false]

Elixir 1.1.0-dev

これでElixirを使う準備は整ったはず。

Building WebKit on Ubuntu 15.04

Ubuntu GNOME 15.04 64bitでWebKit GTK portをビルドしてみる。

手順は公式サイトやWikiに書いてあるが、まとまっていない印象があるのでここでまとめておく。

The WebKit Open Source Project

BuildingGtk – WebKit

WebKitのリビジョンは186705となる。

環境

UbuntuVirtualBox上にインストールされている。

ホストマシンはi7-2600K、メモリ16GBで、 Ubuntuゲストには4コア、メモリ8GBを割り当ててある。

gccのバージョンは4.9.2となっている。

gcc --version
gcc (Ubuntu 4.9.2-10ubuntu13) 4.9.2

最新のWebKitではgcc 4.9.0以上がビルドに必要となっているため古いUbuntuでビルドする場合は注意が必要である。

手順

ビルド準備

ソースコードSubversionを使って取得する。

svn checkout https://svn.webkit.org/repository/webkit/trunk WebKit
cd WebKit

ビルドに必要なパッケージをaptを使ってインストールするスクリプトを実行する。

./Tools/gtk/install-dependencies

ビルドに必要なライブラリをインストールする。

./Tools/Scripts/update-webkitgtk-libs

このスクリプトはjhbuildを使っているらしい。

jhbuildが何をしているのか詳細は不明だが、Tools/gtk/jhbuild.modulesに記述されているソースコードをダウンロードし、ビルドを行っているようだ。

WebKitBuild/DependenciesGTK以下のSourceディレクトリにWebKit依存ライブラリのソース、Rootディレクトリ以下にビルド済みライブラリが作られる。

WebKitのビルド

GTK portをビルドする。

./Tools/Scripts/build-webkit --gtk

環境にもよるが、それなりに時間がかかるのでゆっくり待とう。

私の場合はmakeの並列ビルドオプションを使っている。

./Tools/Scripts/build-webkit --gtk --makeargs="-j4"

2015/07/22追記: 何も指定しなくても4コアで並列ビルドを行っていたのでmakeオプションは無指定にした。

実行

ビルドが終わると

 To run MiniBrowser with this newly-built code, use the
 "Tools/Scripts/run-minibrowser" script.

なんてメッセージが表示されるので、そのまま実行すると、

Unsupported platform. at ./Tools/Scripts/run-minibrowser line 58.

とエラーがでる。

GTKオプションをつけて実行すればよい。

Tools/Scripts/run-minibrowser --gtk

このMiniBrowserというのはサンプルブラウザである。

MiniBrowserの実体及びビルド成果物はWebKitBuild/Release以下に作られる。

cd WebKitBuild/Release/bin
./MiniBrowser http://www.google.com

ソースの更新

./Tools/Scripts/update-webkit

デバッグモードでのビルド

./Tools/Scripts/build-webkit --gtk --debug