windows8にnokogiriインストールできない

  • Development Kit を入れたところにあるdevkitvars.batを実行すると、gccのあるところにパスが追加される。
  • あとは WindowsのRuby 2.0でNokogiriを使う — KaoriYa のように libxml と libxslt をインストールすれば入るのかなーと思ったが、libxslt の make でエラー。

windowsいじるのよくわからない><

追記

どうもlibsxltがwindows 64bitにまだ対応してないぽい?

https://github.com/sparklemotion/nokogiri/pull/989#issuecomment-34102812

さらに追記

この記事を参考にしてなんとか入れた

http://roscopeco.com/2014/04/10/random-headache-57-rails-4-and-nokogiri-on-windows/

backup gem は Gemfile 経由でインストールしてはいけない

backup gem の中(.gemspec とは別の箇所)で、依存するライブラリの管理をやっているみたい。Gemfile で入れてしまうと依存するライブラリのバージョンがあってなかったりしてエラーになる。

つまり、Gemfile じゃなくて普通に gem i backup でインストールしないといけない

https://github.com/meskyanichi/backup/issues/420

nginx で location をネストしても設定は子に継承されない

なんとなく、location をネストしたら、親の location に書いた設定が引き継がれると思っていたのですが、下記のように書いたところ /hoge 配下の URL を叩いても proxy_pass は効かず…。

server {
    listen       8000;
    
    location / {
        proxy_pass http://localhost:8080;
        # ...

        location /hoge {
          # ...
        }
    }
}

子の方にも proxy_pass を設定したらうまく動きました。でもこれってネストした意味が無いような。

server {
    listen       8000;
    
    location / {
        proxy_pass http://localhost:8080;
        # ...

        location /hoge {
          proxy_pass http://localhost:8080;
          # ...
        }
    }
}

ググったのですが location をネストしたときの挙動がどうなるかのドキュメントが見つからなかったので、そもそもネストはしない方が良さそうですね。nginx 1.2.8 で試しました。

netstat

いままで全然使いこなせてませんでした…。以下メモ。

  • -a で ESTABLISHED 以外のものも表示
  • -t で TCP だけ表示
  • -u で UDP だけ表示
  • -n で アドレスやポートを数値だけで表示
    • -n としないと localhost:webcache127.0.0.1:8080 のようになる
  • -p は"管理者権限で"実行すると、PID と実行しているプログラム名が表示される
  • -s で統計情報が表示できる

octopress

前書いてた書きかけのメモを公開

インストール方法

Octopress Setup - Octopress の通りにやる。git clone して bundle install して rake install で theme をインストールするだけ。

デプロイ準備

heroku にもデプロイ出来るらしいけど、github pages がよさげだなと思うので github pages でのデプロイ方法について書く。

Deploying to Github Pages - Octopress

  • username.github.com という名前(github.com も含める!)の github リポジトリを作る。
  • rake setup_github_pages とすると remote branch の設定などもろもろ設定してくれる

これで下準備は完了。octopress は元記事(markdownとか)を source ブランチで管理して、デプロイ用のファイルを master ブランチで扱う形式らしい。基本的には source ブランチだけ触る感じ。

設定方法

設定ファイルは下記の四つ。設定内容はコメントが付いているので中見ればだいたいわかりそう。

  • _config.yml
    • Jekyll の設定。メイン。
  • Rakefile
    • デプロイの設定
  • config.rb
    • Compass の設定
  • config.ru
    • rack の設定

エントリ書く方法

source/_posts/YYYY-MM-DD-post-title.markdown みたいなファイルを作る。YYYY-MM-DD-post-titleはそのままエントリの slug になるみたい。これ手動で書くのめんどくさいなあ…と思ったら、ちゃんとそれ用の rake タスクが用意されていた。

rake new_post["title"]

ただ zsh でやると上記の書き方ではうまくいかず、下記のようにしないとダメみたい。

rake new_post\["title"\]

ちょっとめんどくさい。で、生成されたファイルの中身はこんな感じ。YAML形式でメタデータが書かれている。この下にエントリを書いていく。

---
layout: post
title: "title"
date: 2013-01-07 22:14
comments: true
categories: 
---

エントリメタデータの tips

  • 複数ユーザで書いているときは author: "hoge"みたいにすると著者を設定できるそうな
  • 下書きを published: false とすることで指定できるらしい。
  • categories は複数形だけあって複数指定できる。 YAML の配列形式で指定。

プレビュー

まず markdown などから HTML を生成するには、rake generateとする。そうすると public ディレクトリにエントリを作成してくれる。毎回rake generateとするのが面倒な場合は、rake watch とすると、source ディレクトリと sass ディレクトリを監視して変更があったら HTML を自動生成してくれる。

できあがった HTML をプレビューするにはrake previewとする。これはrake watchかつ http://localhost:4000 でエントリをプレビューできるサーバを立ち上げるコマンド。

また、pow を使ってるなら、他の Rails アプリと同じように ~/.pow/ 配下にシンボリックリンクはるだけでプレビューできる。これ便利。

デプロイ

rake generate でデプロイ用のファイルを作ったあとに rake deploy でデプロイ。master ブランチを push してくれる。source ブランチは自動で push されないので手動で忘れずに push しておく。