| @ブログ

乗るしかない、このビッグウェーブに、という感じで Let's Encrypt を使って無料の証明書をゲットし、ブログを https で公開するようにした。

証明書の設定とか難しそうで敬遠してたのだけど、実際やってみると思ったより簡単だったが、いくつかはまりポイントあったので書いておきます。

自サイト内の 'http://' を 'https://' に書き換える

CSS やテンプレート内で http://hogehoge.com となっているところを //hogehoge.com に変える。本文中の画像の URL も 'https://' に書き換える。ちまちました作業。 Amazon の画像の URL も https に対応したドメインに変えないといけない。

S3 に独自ドメイン当てて使っている場合、ここも証明書がいる

画像は S3 から配信していて、独自ドメイン( resources.portalshit.net )を当てて使ってたんだけど、ブログ本体を SSL にしたのに画像配信サーバーとの通信が非 SSL なので mixed content といって怒られる。

S3 単体で独自ドメインを使って SSL 通信することはできないので、 CloudFront を経由して CloudFront に Let's Encrypt で作った証明書を登録して使う。この S3/CloudFront 用の証明書の発行・登録のプロセスが若干面倒くさい。更新のときに手順忘れてそうで心配。 Let's Encrypt プラグインを使うようにした方がよさそう。

他、 Route53 で CNAME 当てて S3 に向けていたのを CloudFront を向くように変える必要もあり。

個人ブログごときで CloudFront を使うことになるとは思わなかった。

Lokka の管理画面が SSL 通信に対応してない

やっと mixed content の警告消えて記事を書こうとしたら、なんと管理画面が SSL 非対応でブログにログインできない。 Padrino の url メソッドが protocol の指定を出来ないようだった。オーバーライドとか試してみたけどうまくいかなくて困ってたところ、 rack-ssl-enforcer という gem を発見した。こいつを RACK_ENV=production のときだけ use するようにして乗り切った。 'http://' となってるのを Rack 層でえいやっと 'https://' に書き換えてくれる。

感想

Let's Encrypt 、本当に簡単で最高便利だと思った。オレオレ証明書発行するより楽っぽい。いい世の中になったと思う。ただ有効期限が短いので更新を忘れないようにしないといけない。更新の自動化までやってしまいたい。

ウェブサーバーを Nginx から H2O に変えるのとかまでは手が回ってないので自動更新と一緒にやりたい。

| @WWW

The Old Reader

Google Reader 死んだ後、 The Old Reader 使ってる。 Feedly は高すぎてとてもじゃないけど使えなかった。無料で使うという手もあるけど、自分にとってフィードリーダーは気になるブログを放り込んどいて斜め読みし、後からおぼろげな記憶を頼りにキーワード検索して情報にアクセスする場所なので、全文検索できなかったら意味なかった。なので当然有料プランを利用することになる。

The Old Reader のプレミアムアカウントは安くて、初年度は年間 10 ドルで使える。見た目もスッキリしていてその名の通り古き良き Google Reader を彷彿とさせる。前 Feedly をちょっと試したときは UI がリッチすぎて重く使いたいという気にさせられなかった。このくらいシンプルな方がフィードのコンテンツを読むという用途には向いてると思う。購読対象のブログの UI がリッチすぎるので中身だけ手っ取り早く読みたくてフィードリーダーを使っているのだから、フィードリーダー自体の UI がリッチになっていったら本末転倒感ある。少なくとも自分にとっては。

The Old Reader はフィードの更新間隔がクソで、プレミアムアカウントのユーザーが登録しているフィードは 30 分おきにフィードをフェッチするとあるんだけど、全然そんなことなくて、平気で 4 時間遅れたりする。偏りがあって、頻繁に更新されるブログのフィードは頻繁にチェックされるけど、頻繁に更新されないブログのフィードはあまりチェックされないみたい。クローラーのつくりとしては正しいのかもだけど、利用者としては不満が残るなぁ。

| @料理/食事

Low Carbohydonate.jpg

糖質制限したら早死にするとかいろいろ情報ある1けど、個人的には肥満脱して体調良くなってきたので得られた知見を共有します。

きっかけ

年末から年始にかけてしてたら、めっちゃのど渇いておしっこ行きたくなる症状出るようになった。

  • これはひょっとしてと思ってググったら糖尿病の症状とあった。
    • 空腹時血糖値、 Hb1Ac の値は正常範囲。
    • 尿糖検査紙買って食後の尿糖計ってみたけどセーフ。
  • しかし34歳で糖尿病になったら洒落ならないと思って、年明けから糖質制限っぽいことをやりはじめた。
    • 糖質さえ摂らなければ血糖値は上がらず膵臓は疲弊しない。

食事

炭水化物

基本的に食べない。

  • 米食べない
  • パン食べない
  • 麺食べない
  • 芋食べない
  • 果物は少し食べる
    • ただしバナナはデンプン質が多いので食べない

野菜

  • ローストビーフ
  • 唐揚げ
    • 衣は糖質だけど唐揚げの衣程度の糖質は気にしなくてよいそう
    • ただし食い過ぎはダメっぽい
    • 天ぷらの衣は NG

大豆

  • 豆腐
  • 厚揚げ
    • 糖質制限は脂肪は気にしなくてよいので厚揚げ食べまくった。豆腐に比べてボリューム感があり満足感得られる
  • 納豆
    • 一日二パックくらい食べてる
    • 九州の納豆はタレが甘いのでタレの糖質に注意がいる

  • ビールは少し飲む
    • ビールの糖質は 2.8g/100ml でそんなに多くない
  • 糖質のない酒は普通に飲む
    • 糖質ゼロの第三のビール
    • ウィスキー
    • 焼酎

その他

  • 牛乳とヨーグルトは糖質(乳糖)そこそこ入ってるので気をつけて摂取する
  • チーズとバターは OK 牧場
  • 最近は朝食代わりにシリコンバレー汁飲んでる。2
  • 小腹が空いたらミックスナッツを食べる。

炭水化物を避けて腹いっぱいになるまで食べても、食い過ぎて苦しいという感じにならない。食べ過ぎたと感じても割にすぐお腹の張りがなくなる。

体の変化

体重減ったこと以外にもいろいろ体に変化が起こって興味深かった。

体重減った

  • -6kg くらい
  • BMI が 25 未満になって肥満から普通体重になった

脂っぽさなくなった

  • 毎日夕方頃になると顔が脂でべろべろになって自分の脂の臭いが気になってたのがあまり気にならなくなった
  • 自分の洗濯物、洗っても脂っぽい臭い残ってたのが臭いしなくなった

食欲減った

  • 昼前とか夕方頃にあった強い空腹感なくなった
    • 時間になったので食べるかという感じ
  • 空腹の状態が続いてもつらくなくて、軽度の空腹状態を心地よいと感じるようになった
  • 沢山食べなくても満腹感得られるようになった

眠り

  • 初めてすぐの頃
    • 夜 12 時くらいに寝て朝 5 時半頃目が覚めて睡眠時間短くなった
    • ただ朝起きるのはつらくない
    • もっと寝たいという感じがなくなった
  • 最近(糖質制限8週間くらい)
    • よく眠れるようになった
    • 睡眠時間は 6 ~ 7 時間くらい
  • 昼食後に眠くならなくなった
    • 糖質とらないせいで血糖値の乱高下がなくなったせい
    • 全般的にいつも頭がすっきりしてる感じがする

うんこ

  • 便秘傾向
    • 回数・量減った
    • 固くなった
    • 糖質制限始めて最初の頃、切れなくて長いの何度か出てビビった。多分宿便
    • お腹弱くて結構簡単に下痢してたのが全く下痢しなくなった
  • おならがよく出るようになった
    • 肉ばっかり食ってるとおならがくさくなると言われるけど前と変わらない感じがある

味覚

  • 主食を摂らずおかずばかり食べる生活なので、塩味が濃い物をキツいと感じるようになった
  • 味覚が鋭くなって、食材のおいしさみたいなのをびんびん感じるようになった。
    • 以前うまいと思わなかったスーパードライをうまいと感じるようになった。

高脂血症治った

  • 肉とか脂もの食べまくってるのに血液中の中性脂肪が多い高脂血症が治った
    • 当分糖質減らしたせい
    • 中性脂肪は血糖値が上がった後に出るインスリンによって糖分から脂肪に変えられる。(人間の体が使わなかった糖分を体に蓄えるメカニズム)

脂肪肝治った

  • 肝機能改善しまくりwww
  • 酒に強くなった(多分肝機能改善してるおかげ)

金と時間

雑に食事済ませられなくなって、食事の準備に時間がかかるようになり食費も増えた。

金かかる

  • 炭水化物安い。肉も魚も野菜も高い
  • スーパーの総菜量り売りとかだと糖質避けて食べられるけど高い
  • 糖質制限してる人の間食としてミックスナッツやチーズがあるけどどれも高い
    • いまはほとんど主食代わりにミックスナッツ食べてて、外食してないのに昼食の食費が 1000 円とかしてしまう

手軽に食事できない

  • 朝からトーストやコーンフレークを食べられない
  • コンビニでおにぎりや総菜パンを買って食べることができない

骨休め

糖質制限ばかりしてたら気が狂いそうになるので、たまにはルールを緩めてやってる。

  • 昼に人と外で食事するときは妥協して糖質とってる
  • 一週間に一回、日曜日だけ糖質食べて良いことにしてて、その時の多幸感ハンパない

まとめ

Pros

  • 糖尿病の予防になる
  • 痩せられる
  • 眠気や体臭減少など体質変わる(花粉症の症状軽くなる人もいるっぽい3

Cons

  • 金かかる
  • 時間かかる
  • みんなと仲良く和気藹々と外食できなくなる

おすすめの情報源

なお江部氏の本、いっぱい出てるけど一番安い以下を一冊読めばそれで十分だと思う。糖質制限で痩せる仕組みや血糖値と糖尿病についてなど一通り学べる。


  1. ちなみにこれはガセ情報多いっぽい(ドクター江部の糖尿病徒然日記  朝日新聞記事、「糖質制限ダイエット、長期は危険?」に反論) 

  2. なお例の本は個人の体験を一般化してて科学的でないと思うので信じてはいけないと思う。個人の日記レベル。つまりこのブログと同じ。(http://koujiebe.blog95.fc2.com/blog-entry-3550.html#comment31238) 

  3. 「花粉症の人の60%は糖質制限で軽症化する」というデータ 

| @Mac/iPhone

MindNode

↑に書いてあるような開発の進め方を前職でもやっていて、チームで集まって見積もりをするとき、最初はホワイトボードにタスクを書き出してプランニングポーカーしてたんだけど、だんだんマンネリ化してきたし老化によりホワイトボードに書くのがつらくなってきていたので、ディスプレイのある会議室で Mac をディスプレイにつなぎマインドマップアプリケーションを使ってタスクを洗い出す、というような見積もりの仕方をしてた。そこで大活躍したのが MindNode Pro という Mac のソフトだった。

C というタスクは最初 A という大タスクのサブタスクかと思われたが、話し合いを進めていくうちに実は B というタスクのサブタスクだった、というようなことが起こりうる。そういうときにぐいっとノードを A から B に移すということができる。 C にサブタスクがあったとしてもそれごと移動できて便利。

1026-mindnode-pro-1.gif (789×551)

マインドマップを書くのに熱中していると、マインドマップのレイアウトがぐちゃぐちゃになることがよくある。これではせっかく出したアイディアを整理することができない。この 1 時間は何だったのか、ということになる。しかし MindNode Pro ならこういうときに ⌘ + ⌥ + R を押すとツリーが整理整頓されて見やすくなる。便利。

1026-mindnode-pro-2.gif (789×551)

マインドマップは視覚的にタスクのつながりを把握できるので、非開発メンバーからの受けも良く、見積もりをするときは MindNode がないと困るという感じだった。スプリントを終えて振り返るときにも MindNode を使って KPT を出していた。みんなが同じ画面を見て思っていることをアウトプットできるのがよい。

実際に先日の minne の技術戦略カンファレンスで、元同僚のイケメンスーパー貴公子プラチナハッカー @monochromegane さんが、 minne のプラットフォームチームではマインドマップでタスクの見積もりをしてるとスライドに書いてた。タスクの見積もりやるときに MindNode を使うようにし始めたの自分で、 @monochromegane さんがドヤ顔で話してるのは多少いけすかない感じはしたけども、自分なんかよりもスーパー Go lang 貴公子プラチナハッカーの @monochromegane さんに宣伝してもらった方が MindNode の開発元としてもうれしいだろうからよかったと思う。

仕事以外でも、金がなくて金策をしないといけないときなどにマインドマップを作成してライフハッカーを気取ったりしてた。最近バージョンが 2 になって、書いたマップの内容を Markdown として出力できるようになった。こんな感じ。

CQQKNWwVAAA9zgO.png:large (1024×640)

MindNode で書いてる各ノードが見出しになって、各ノードのメモが本文として書き出される。ノードのネストが深くなるほど見出しのレベルが下がっていく。バージョン 1 の頃からブログのアウトラインのようなものを MindNode で書いて、それをテキストファイルとして書き出してから Markdown として体裁を整える、という使い方をしていたので、この機能は便利だった。

しかも Markdown として書き出せるだけでなく Markdown 文書ビューワーの Marked 2 と連携していて、書いている途中のマインドマップの内容をリアルタイムに Marked 2 で Markdown 文書としてプレビューする機能が付いている。「ファイル」 -> 「詳細」 -> 「マークの付いた項目で開く」(おそらく "Open with Marked" の誤訳)で Marked 2 でプレビューできる。

MindNode -> Marked 2

マインドマップを書いているだけでブログエントリが完成して時間が有効活用できてよい。マインドマップで草稿を書いた上に清書するなどしていたらいつまでたってもブログ記事を公開できない。アウトプット業でプライベートが犠牲になる時間も短くなり、家庭円満である。お試しください。


この記事はできる Mac OS X Advent Calendar 2015 一日目の記事でした。明日は @turusuke さんです。

毎年参加するだけだったアドベントカレンダーだけど、今年は作ってみた。できる Mac OS X Advent Calendar 2015 という。なぜこのようなアドベントカレンダーをやろうと思ったのかというと、iPhone や MacBook Air 出てからだいぶ Mac ユーザーが増えたなと感じるけど、一昔前に比べて、あまり Mac の凝った使い方をしている情報が入ってこなくなった気がする。 iPhone も iPad もなかった頃の方が Mac の便利 Tip を載っけてるブログとかいっぱいあって、毎日いろんなブログを読んで回るのが楽しかった。使いこなすのに知恵がいるけど慣れたら便利な QuickSilver とか、 $50 くらいして少し値は張るのだけど思いついたことを何でもメモしておける Yojimbo とか( Evernote なんてまだなかった)。ブログで紹介されているソフトのライセンスキーを kagi みたいな怪しいサイトで購入してわくわくする、そんな経験をするのがとても楽しかった。いまはブログ書く人減ってるし、主戦場がモバイルに移ってしまって Mac の情報を見かけることがなくなった気がする。 10 年前のあの頃のように、 Mac の話題で盛り上がれたら良いなと思って作ってみた。まだ結構空いてるので、書いてみたい人いたらよろしくお願いします。

| @技術/プログラミング

昨日飲みに行って今朝起きてからふとコード書きたくなって、アドベントカレンダーもあることだし(去年の Adventar で自分のブログだけ og:image がなくて画像が出てなくて残念だった)、このブログを Open Graph protocol に対応させることにした。

Twitter Card の Lokka Plugin を前作ってたのでそれを改造した。

Ruby 2.1.0 以降で使える Module#refine 使いまくったけど安全にモンキーパッチできて便利。

module AddImagesToEntry
  refine Entry do
    def images
      self.body.scan(/https?:\/\/[\w\/:%#\$&\?\(\)~\.=\+\-]+?\.(?:png|jpe?g|gif)/)
    end
  end
end

refine するときのモジュール名、 ActiveRecord のマイグレーションのクラス名みたいで面白い。

| @ブログ

一時期に比べたら Lokka 使ってる人減ってて、 Jekyll/Octopress ブームのあとは Go lang 製のスタティックサイトジェネレーターかはてなブログに移っていってしまった。自分は自分で使うツールを自分でいじるのが好きなので Lokka 使い続けていきたい。ということでいろいろやった。

最近やったこと

テスト通るようにした

Lokka の master ブランチ、しばらくコミットされてなくて Travis CI のビルド 1 年半くらい走ってなかった。久々に Pull Request 出したらビルド成功しなかったので通るようにした。 Travis がコンテナベースの環境から Docker ベースに移行したぽくて、その影響で PostgreSQL がらみで bundle install がこけるようになってた。なのでテキトーに addon を追加しといた。

同じコミットでもうメンテナンスが終了している Ruby 1.9 系の CI をやめるようにした。

Ruby 2.2 に対応させた

json 1.5.5 は Ruby 2.2 系では install に失敗するようなのでいろいろ bundle update した。 ActiveSupport も 3.1 ではエラーが出てしまうので bundle udpate して 3.2 の edge にした。

XSS 直した

コメントで教えてもらったので直した。

ただ実はまだ完全には直せてないので近日中に直したいのだけどテンプレートをレンダリングする仕組みをまるっと変えないと直らなそうなので結構きびしい…。

これからやりたいこと

フロントエンドよくしたい

具体的にはプラグインに同梱された CSS や JavaScript とテーマのやつをくっつけて配信したい。 Asset Pipeline 的な。

高速化

なんか遅い。このブログのトップページのレスポンス返すのに 1 秒くらいかかってるの改善したい。 DB にインデックス張るのとクエリのチューニングかな。

ActiveRecord 化

Fjord の皆さんで開発が続けられていたけど停滞しているっぽい。 DataMapper 、耐えられないほど不便なわけでもないし ActiveRecord にない便利な機能もあるのだけど、 N+1 起こらないという触れ込みなのに N+1 起こったり、ちょっと込み入ったクエリを投げたいと思ったときにやり方がわからないもしくは出来ないということがあるので、 Ruby エンジニアの皆さんが日常的に使ってる ActiveRecord を使うようにするのが良いだろうと思った。そもそもあまりメンテもされてないし、 DataMapper に引きずられて Lokka が停滞するのも残念だし。高速化のためにも ActiveRecord 化有効そう。


最近「仕事外でコードを書かないエンジニアは人間のクズだ」、「いやクズはそっちだ、エンジニアの業務時間外の学習に依存する会社こそ真のクソ」みたいな議論多いけど、自分で使うツールのメンテナンスくらいやらないと本当にプログラマー廃業しないといけない気がするし、自分がプログラミングに触れたの自体 P_BLOG の改造がきっかけだったので、プライベートを犠牲にして歯を食いしばりながら取り組んでいきたい。

| @技術/プログラミング

このブログの Archive ページ自分で作った Lokka Plugin でできているのだけど、ここを React を使って作ってみた。 React チュートリアルの写経の題材を自分のブログにした感じ。 CoffeeScript オワコンと言われて久しいけど Coffee で書いた。 JSX を CoffeeScript で書くときはバッククオートで囲むとよいという知見が得られた。

Entry = React.createClass
  render: ->
    `(
      <li className="entry">
        <a href={this.props.link}>{this.props.title}</a>
        <div className="detail-information">
          <span className="created_at">{this.props.created_at}</span>
          <Category category={this.props.category} />
        </div>
      </li>
    )`