2016-01-01から1年間の記事一覧

self と self.class の違い

self.class は自身のクラスを返す。 self は自身のクラスまたはインスタンスを返す。 class Hoge def moge puts self.class.methods end def noge puts self.methods end end h = Hoge.new h.moge puts "-----" h.noge 出力結果は下記となる。 new allocate …

手段が目的となっても良い

概要 「手段と目的を混同してはいけない」「手段の目的化はダメ」のようなセリフはこれまで生きてきて何度も聞いていて、その意味や伝えたいことはなんとなく理解していたつもりでしたが、具体的に考えてみると違和感が出てきました。結論として、手段が目的…

unicorn のプロセスを終了させる

下記のコマンドを実行する。 kill -QUIT `cat tmp/pids/unicorn.pid` unicorn の親プロセスの ID は tmp/pids/unicorn.pid に保存されている。

親プロセスのプロセスIDを調べる

ps alx コマンドで表示される PPID が親のプロセスIDを示す。

unicorn の起動コマンド

bundle exec unicorn_rails -c config/unicorn.rb -E development -D -c: コンフィグファイルのパスを指定する。 -E: Rails の環境を指定する。この場合は development 環境となる。 -D: バックグラウンドで実行する。

指定した名前のDockerコンテナが存在すればdocker stopコマンドを実行する

sudo docker ps -a --filter "name=app" | awk 'BEGIN{i=0}{i++;}END{if(i>=2)system("sudo docker stop app")}' --fileter "name=app" は docker ps -a の結果の中からコンテナ名が app であるものだけを表示するオプション。 sudo docker ps -a --filter "…

全てのDockerイメージを削除する

sudo docker images -q | xargs sudo docker rmi

全てのDockerコンテナを削除する

sudo docker ps -aq | xargs sudo docker rm コンテナは停止している必要がある。 -aオプションは全てのコンテナを表示する。 -qオプションはコンテナIDのみを表示する。

Capistrano のタスク間で共有できる変数

set :hoge, capture("pwd") 変数 hoge に capture("pwd") の実行結果が格納される。この hoge は別のタスクからでも fetch(:hoge) と書くとアクセスすることができる。

Cygwin でデスクトップに移動しやすくするエイリアス

下記を.bashrcに書くとデスクトップに移動しやすくなります。 alias desktop='cd $USERPROFILE/Desktop'

PHPloy を使った FTP サーバーへのデプロイ

いろいろと FTP サーバーへのデプロイツールを探していましたが、PHPloy が今のところの使用感としては良い感じです。 https://github.com/banago/PHPloy PHPloy は Git と連携しており、php phploy.phar deploy というコマンドを実行すると最後のコミットの…

qrank を WordPress から Flight に移行した

Flight への移行 qrank では WordPress をフレームワークとして使っていましたが、ランキングデータの保存をすべて外部のサーバーで行うようにしたので、WordPress の役割はルーティングとビューだけになってしまいました。となると WordPress である必要は…

qrank の API サーバーを Serversman から ConoHa に移管した

概要 qrank はもともと WordPress で動かしていましたが、保存している記事の件数が増えてレスポンスが遅くなっていたため、記事情報の保存やランキングの計算を外部のサーバーに委ねることにしていました。そのサーバーに Serversman のメモリ 1GB のプラン…