iriya-ufo's blog

Curiosity was simply the first derivative of knowledge.

Octopress のテーマをカスタマイズする

ここにテーマのテンプレートがあるので、好きなテーマを探して来てインストールすればよい。 リンク切れになってたり、全く違うサイトになって関係のないデザインになってたりするものもあるので注意。 好みのものがない場合は自作する。

このブログでは Whitespace というテーマを使ってみた。README の通りにやれば構築できる。 ナビゲーションバーにアイコンを追加するのも _config.yml にアカウント名を記載するだけだ。

もっと自分でカスタマイズしたい場合、こちらのディレクトリツリーにあるコードに手を加えていけばいい。

WordPress から GitHub Pages + Octopress に移行した

今まで http://iriya-ufo.net は WordPress で運用してきたのだけれど、GitHub Pages + Octopress に移行することにした。

WordPress を辞めたくなった理由

WordPress で記事を書くときは Emacs を立ち上げ markdown で書いて、管理画面からコピペしていた。 WordPress は管理画面からいろいろできるが、あまり使ってない上に逆に記事更新とか面倒だと思った。 さらに若干コードのデザインが崩れたりして精神衛生上よろしくなかった。

レンタルサーバー台をけちりたくなった。ホスティングには Gehirn RS2 を利用していて大変便利だった。今でもレンタルサーバーとしてはハッカー御用達のおもちゃだと思う。ちょっとお値段上がったので移動することにした。

WordPress は汎用性に欠ける。ブログのメインはテキストコンテンツである。であるならば、markdown でささっと書けて、どこでも移植できるような汎用性を持てるはず。だが WordPress を使うと MySQL やら PHP やらが必要な上にデータの移植性が乏しい。

GitHub Pages + Octopress にした理由

WordPress を辞めたくなった理由を解決できる一つの手段だった。markdown で書けてさくっとデプロイできる。お金かからずに GitHub Pages でホスティングできる。以前 middleman + S3 という環境でサイトを作ったことがあるが、S3 の設定が面倒だったので GitHub Pages でいいかなと思った。 Octopress にした理由はブログが簡単に作れる Ruby 製のフレームワークだったから。この部分はもしかしたら今後変えていくかもしれない。

Ruby かわいいよ Ruby

セットアップ

まず GitHub で username.github.io という名前でリポジトリだけ作成しておく。

公式を参考に Octopress をセットアップしていく。

ディレクトリ名はブログ名にした方が分かりやすいと思うので変えておく。

$ git clone git://github.com/imathis/octopress.git username.github.io
$ cd username.github.io
$ gem i bundler
$ bundle install --path=vendor/bundle

Octopress のデフォルトテーマをインストールしてみる。

$ bundle exec rake install

GitHub Pages にデプロイするための設定スクリプトを走らせる。リポジトリのURLを聞かれたら入力する。

$ bundle exec rake setup_github_pages

デプロイする。

$ bundle exec rake generate
$ bundle exec rake deploy

ソースをコミットする。

$ git add .
$ git commit -m "commit"
$ git push origin source

ブログを投稿する

上記手順により http://username.github.io でブログが確認できるはず。 ここからブログの書き方をまとめていく。

$ cd username.github.io
$ bundle exec rake new_post\["title"\]

source/_posts に markdown ファイルがあるので好きに編集する。以下サンプル。

---
layout: post
title: "日本語のタイトルはここにいれる"
date: 2016-04-29 19:22:13 +0900
comments: true
categories: [foo, bar, ...]
---

ここに内容を書く。

以下の rake コマンドで http://localhost:4000/ にてプレビューが見られる。

$ bundle exec rake preview

プレビューでオッケーならデプロイする。コミットも忘れずに。

ブログの設定をする

_config.yml に好きなように設定していく。項目は Configuring Octopress を参照。

過去記事を移行する

たぶんいちばん大変なのはここで、かつ重要度も高い部分だと思う。過去記事なんていらない!全部新しくやる!という人には関係ないけど、やっぱり記事も一緒に移行したいよね。 どこまで移行したいかによって作業量が大きく変わると思う。僕の場合は、投稿だけ綺麗に持ってこれたら後はぼちぼち作っていけばいいかなというスタンスでした。

以下の記事が大変参考になりました。

まず wordpress-to-jekyll-exporter を使って WordPress 記事をエクスポートします。プラグインとしてインストールして、管理画面からエクスポートすると zip ファイルができたのですが、なぜか解凍できなかったのでコマンドラインツールを使いました。

できた zip ファイルを解凍すると _posts ディレクトリの中に markdown 形式に変換された記事が入っています。これらを octopress の source/_posts 以下に移動します。プレビューで表示を確認しながら markdown ファイルをひたすら修正します。 大変でした・・・。

カスタマイズ

独自ドメインの設定とかテーマの変更とかは後日書こうと思う。

Bower-rails 使ってみた

Rails 開発で js とか css とかマジだるい。管理とかだるい。なので bower-rails 使ってみた。

事前準備

bower は node package なので最初に Node.js とかインストールしておく。

Mac に Node.js インストールした

Rails で使う

Gemfile を書いて $ bundle install する。

gem 'bower-rails'

bower をインストールする

$ bundle exec rails g bower_rails:initialize

これで Bowerfile と config/initializers/bower_rails.rb が生成される。

好きなパッケージをいれる

Bowerfile に入れたいパッケージを追加する。

aseet 'bootstrap'

パッケージをインストールする。

 $ bundle exec rake bower:install

vendor/assets/bower_components 以下にいろいろ入る。

assets path に追加する

config/initializers/assets.rb ファイルに以下を追加する。

Rails.application.config.assets.paths << Rails.root.join('vendor', 'assets', 'bower_components')

インクルードして使う

先ほどいれたパッケージをインクルードするには以下ファイルで require すればいい。

app/assets/javascripts/application.js
app/assets/stylesheets/application.css

Tips

bower_components は git 管理しなくていいようなので .gitignore に追加する。

/vendor/assets/bower_components

ちょっとした注意ですが、以下参考サイトより引用です。

bowerに統一する必要がある

jquery-railsなどのgemで管理しているjsやcssのライブラリはbowerで統一する必要がある だからjquery-railsは必要なくなる coffee-railsやless-railsやsass-railsはそのまま。gemで管理。 確かjquery-fileupload-railsなど、特定のgemは独自でjqueryのversionをfixしたりしているので、js系のライブラリはbowerに統一するのはすごく良さそう

参考

Mac に Node.js インストールした

今更すぎるけどいれた。

まず brew を使って Node.js のバージョン管理を行う nodebrew(ruby でいう rbenv のようなもの) をインストールする。

$ brew install nodebrew

PATH を .zshrc に追加

export PATH=$HOME/.nodebrew/current/bin:$PATH

ディレクトリを作成

$ mkdir -p ~/.nodebrew/src

Node.js のインストール(安定版)

$ nodebrew install-binary stable
$ nodebrew use stable

以上です。

ちなみにパッケージのインストールは以下のようにします。

$ npm install bower -g # -g はグローバルオプション

希少価値

国税庁の民間給与実態統計調査結果によると、年収900万円台の男性の割合は2.7%だそうです。1000万〜1500万台だと幅が広いためか少し増えて、4.9%となります。

トリンプ・インターナショナル・ジャパンの「下着白書 vol.15」(2014年度調査)によると、Fカップの女性比率は4.1%で、Gカップ以上は1.1%という調査結果だそうです。

今まで「貧乳は人にあらず」などの暴言を吐いてきて誠に申し訳ありませんでした。

せめて同じ希少価値のある人間になるべく年収2000万くらいを目指して精進します。女性陣のみなさんもいっぱいご飯を食べていっぱい揉んで頑張って大きくなってください。

参考データ

Botkit から Google API 叩いてみた

前回『Slack に Hubot をいれてみた』という記事を書きました。今回は Botkit をインストールして遊んでみました。Hubot と Botkit の違いはこんな感じです。

Hubot

GitHub が開発した Bot 開発用のフレームワーク Node.js で動き、プラグインなどは CoffeeScript で書く

Botkit

howdyai が開発した Slack 特化の Bot 開発用フレームワーク Node.js で動き、プラグインなどは JavaScript で書く

Hubot の方がフォルダ構成などはシンプルな感じです。Botkit は Slack がサポートしているということもあってか Slack との連携が非常にやりやすいです。Slack の公式 Bot アプリを作りたい場合などは Botkit 一択ですね。

Node.js インストール

Botkit は Node.js で動作するのでまず Node.js の環境構築が必要です。AWS に構築します。ローカルでやりたい人はローカル上で Node.js が動く環境まで構築しておきましょう。

ではまず AWS にインスタンスを作って SSH できるようにしておきます。

Node.js をインストールします。パッケージもありますがバージョン管理したいので nvm でインストールします。

$ git clone https://github.com/creationix/nvm.git ~/.nvm
$ source ~/.nvm/nvm.sh

これで nvm が使えます。続けて Node.js をインストールします。

$ nvm ls-remote # バージョン確認
$ nvm install 5.9.0
$ node -v # 確認

nvm でバージョンリストを出した時に v0.12.x 系 と v4.x.x や v5.x.x などの大きく乖離したバージョンが表示されたかと思います。これは Node.js から派生したプロジェクトの io.js が混ざっているためです。元々は Node.js からフォークして開発が進んだ io.js ですが、今は Node.js との互換性を持ちながら開発が進んでいるとのことなのでこちらを使うことにしました。不安な人は 0.12.x 系を使っておくといいと思います。

次にバージョンのデフォルト設定などをします。

$ nvm alias default v5.9.0

次回ログイン時も node コマンドが使用できるようにするため .bashrc に以下を追記します。

if [[ -s ~/.nvm/nvm.sh ]];
  then source ~/.nvm/nvm.sh
fi

ここまでで Node.js の環境構築が終わりました。

Botkit インストール

こちらの記事に丁寧に書かれています。ローカルユーザーで動かしたかったので sudo はつけませんでした。

使い方などは公式を参照しましょう。

Google Calendar API を叩いてみる

では、Google API を叩いてみます。Google Developers サイトに Node.js からカレンダー API を叩くサンプルがあるのでその通りすれば動きます。

大まかな流れはだいたいこんな感じです。

  • Google Developers Console でプロジェクトを作成
  • ダッシュボードから「APIを利用する」をクリック
  • CalendarAPI を探して「有効にする」をクリック
  • 認証情報をクリック ※「認証情報に進む」だとうまくいかないので左側のペインから選択する
  • 認証情報を作成 => OAuth Client ID をクリック
  • 同意画面に進み、メアド、サービス名を入力して保存
  • クライアント ID の作成で「その他」を選び名前は"Google Calendar API Quickstart"とする
  • json ファイルができるのでダウンロードする
  • client_secret.json という名前で botkit の直下に置く
  • google パッケージをインストールする
1
2
$ npm install google-auth-library --save
$ npm install googleapis --save
  • サンプルプログラムを置いて下記コマンドを打つ
1
$ node quickstart.js
  • 初回起動時はターミナルに URL が貼ってあるのでそこにアクセスし、アクセプトする
  • 認証に必要なコードが帰ってくるので、それをターミナルに貼って Enter
  • カレンダーに予定があれば API 経由でデータが取れる
  • 認証情報は ~/.credentials/calendar-nodejs-quickstart.json

以上です。とても簡単でした。Node.js は初めて触ってみましたけど Rails に比べてシンプルですね。まぁ View とかやってないし API しか叩いてないので比べるのもおかしな話しですが。今後は本番構成はどうするべきか調べてやってみたいと思います。

Docker DataCenter さわってみた

以下の記事をみかけて、これはやらずにいられないと思っていじってみた感想。

インストール

AWS に small 環境でつくってみた。Amazon Linux だとうまくいかなかったので Ubuntu でやり直した。 インストールの方法は以下の通り。(画像のみですが・・・

ステップ 1

Ubuntu なので DEB の内容をコピペ。

ステップ 2

UCP のインストールはすっ飛ばしでOK。ここまでで https://your-ip-address で接続できる。すごい!

ステップ 3

ライセンスファイルをダウンロードして先ほどの画面の Settings > Licenses でアップロードして完了。

ステップ 4

こっから先はドキュメントみてね的な何か。

管理画面

こんな感じの管理画面ができる。たぶんここにレポジトリ作っていけるんだと思う。これすごい便利。今後も使ってみたいけど1ヶ月1ノードでUSD150と少しお高いです。

Slack に Hubot をいれてみた

Hubot は GitHub が開発した bot のフレームワークです。Node.js の上で走って CoffeeScript で動きます。実装環境は AWS にしました。常時稼働させとかなきゃいけないからね。

インストール方法はここを参考にします。参考というかまるパクリです。先人の知恵ってありがたい。あざーす!!

Hubot の起動が確認できたらバックグラウンド(デーモン)で動かしたいと思うのが人間の心理です。最初はうんこなスクリプト書いてたらいろいろめんどくさくなったのでまじめにググりました。そしたらやっぱりありましたね。先人さん、まじあざーす!

あとここを参考にすると、かんなちゃん画像スクリプトとか寿司スクリプトとか書けます。

がっつりやりたい時はやっぱりドキュメント

なんというか全体的にただのリンクになってしまっただけですが、これで bot 事始めが出来ますね。やったね。

ネフローゼ再発したからなんか書く

今回も原因はよく分かりませんが、再発してしまいました。

前回記事が2014年07月20日なので一年と半年ぶりくらいでしょうか。一年半くらいで周期がめぐってくるんだろうか?笑

前回書いた詳細記事が思いの外役にたったので、今回も寛解状態になるまではしばらく経過をログとしてつけていくことにします。

さて本日、2016年02月08日に渋谷の南口近くのクリニックに行って、診察してもらいました。とりあえず血液検査と尿検査だけして処方してもらうという形。正確な検査結果は後日記載するとして、試験紙で3+を記録している状態でプレドニン 10mg/day からスタートします。ん?少なくない?と思うのは僕だけでしょうか。ステロイドは副作用の強い薬なので確かに少量服用がいいのですが、この服薬量で尿蛋白減量まで持っていけるのだろうかと心配です。透析機械のあるクリニックだったのでそこそこいいのかなと思ったのですがちょっと違う病院にすることも検討中です。

体調のほうはひたすらだるい感じ。寝起きはいつもと変わらないからヨッシャってなるけど、朝支度して家から駅までの道のりを歩くともうだるい。あったかいお布団で寝たい感じ。むくみは無いので血中アルブミンはまだぎりぎり正常なのか?という感覚値。食欲はあるけれど少したべるとだるい。全体的にだるいので横になりたい欲が強い。そんな感じ。

ではまた後日。

更新 3/8 先月の検査結果がでました。もう一ヶ月もたってしまったのですね。

  • 尿蛋白 118.6 mg/dl
  • 尿-CRE 0.84 mg/dl
  • 血中アルブミン 4.2 g/dl

結果、尿蛋白の量が大幅な異常値を示していたが、クレアチニンおよび血中アルブミンまでの影響はなかった。つまり早期発見と対応がよかったということになりますね。先月から薬を飲み始めて最初は 10mg でいけるんかなぁと思ってましたが体調面では一週間ほどでだるさが改善していった感じでした。ステロイドの効きがよかったのは幸いです。本日の問診では 5mg にステロイドを減らしまた一ヶ月様子見ということになりました。このままうまくいくといいな。