タグ

ブックマーク / masutaka.net (7)

  • 今さらながら Knife-Zero を使ってみた

    個人と仕事のサーバはどちらも Knife-Solo で構成管理しています。 Chef がバージョンアップしたら、私はなるべく knife solo prepare し ていますが、このコマンドは単純実行すると、サーバの台数に比例して時 間がかかります。 Knife-Zero でそれを解決できるのかなと思い、Getting Started してみ ました。 結論# 代替にはならない。knife zero bootstrap も knife solo prepare と同 様、Chef をインストールするのは同じ。 Home(ja) · Knife-Zero まずKnife-ZeroはKnife-Solo の乗り換え先ではありません。 仰る通りでした。 勘違い# knife-solo は公式とは別に matschaffer がメンテナンスしているから、捨てる必要ないと思っていたんですが、私勘違

  • 『オブジェクト指向設計実践ガイド』を読んだ

    当に良いでした。読んで良かった。初心者を中心に中級者にも刺さる だと思います。輪読などして、チームで読むとオブジェクト指向設計の そもそもの話をしなくて良さそうです。 難しい話が易しく説明されており「あ、そうだったのか」と思うことが度々 でした。ボリュームも全9章とコンパクトで、1日1章読むのに丁度よかっ たです。 読んでメモった箇所を中心にまとめていきます。 第2章 単一責任のクラスを設計する# インスタンス変数へのアクセス方法を誤解していました。 P46 変数はそれらを定義しているクラスからでさえも隠蔽しましょう 今まで他のクラスから隠蔽する時は、直接 @hoge などにアクセスしてい ましたが、中からも attr_reader などで隠蔽する必要があるそうです。 「データではなく、振る舞いに依存する」ためだそうです。 メモ化などでこうした手法は使っていたけど、単純な参照も隠蔽す

  • Werckerのデプロイボタンはなんだかんだ言って便利だった

    [2014-09-14-1] に書いたとおり、このmasutaka.netではサーバのCIをして います。 今までテストが通ってから、手動でCook+Serverspecして不便に感じてませ んでしたが、試しにWerckerのデプロイ設定をしてみたら、案外便利でよく 使っています。 wercker.ymlはこんな感じです。 管理画面からDeploy targetを作る必要があります。ちょっと管理画面が古 いですが、こちらを参考にしてください。 wercker + Capistrano で自動デプロイ - milk1000cc’s blog 私はTarget nameをProductionにして、SSH keysで作った鍵を $WERCKER_SSH_KEY_PRIVATEという名前でwercker.ymlから参照できるように しました。 ブラウザからWerckerのサイトに行くのが面倒だけ

  • WerckerでRVMとVagrantのBoxを作った

    昨日[2014-09-14-1] の記事より。 wercker.ymlも毎回Vagrantをインストールして、vagrant upするという無 駄なことをしているので、Docker使って時短させるかもしれない。 この場合Dockerは間違い。Wercker的にはBox使うのが正解なので作ってみ ました。(このくらいのBoxはあるかと思ったらなかったのが意外でした。) 以下のようにinheritsを使うと、任意のBoxを継承できるみたいです。 ちょっと前までwercker.ymlに複数書けばそうなるかと思ってました。 inherits: wercker/[email protected] 実コードはスクリプトのベタ書きだけです。 script: | VAGRANT_VERSION=1.6.5 wget https://dl.bintray.com/mitchellh/vagrant/vagr

  • Wercker + Vagrant + AWS + serverspecでChefのレシピをCIする

    [2014-01-09-1] からmasutaka.netのCIを開始したが、残念ながら masutaka.netに直接serverspecする、なんちゃってCIだった。 masutaka.netにcookしてからPRを出して、WerckerにCIさせていた。 WerckerとAWSを連携させて、テストのたびにサーバをまっさらな状態から 作り、終わったら破棄することが可能になったので、ここに記録しておく。 去年くらいに話題になったこの辺の話。 Vagrant + Chef Solo + serverspec + Jenkins でサーバー構築を CI - naoyaのはてなダイアリー naoya/circleci-serverspec なんで今までやらなかったかというと、cookが一発で通らないレシピになっ ていたから。。気づいてはいたんだけど、番サーバのテストが通りさえ すればよかった

    Wercker + Vagrant + AWS + serverspecでChefのレシピをCIする
  • plenv + cpanm + cartonでPerlの環境を構築した(Ubuntu版)

    plenv + cpanm + carton でPerlの開発環境を構築する|Act as Professional - hiroki.jp 私もGrowthForecast をインストールするために、Ubuntu 12.04.2 LTS上に Perlの環境を構築しました。@hirocaster さんと若干違いがあった(下記★ の箇所)ので、私の手順も書き留めておきます。 Perl力はゼロな私ですが、以下の認識でだいたい合っていると思います。 plenv Rubyのrbenvに相当。複数バージョンのperlをHOMEにインストールし、切り 替えて使うツール。というよりシステムを汚さないために使う感じ。 cpanm Rubyのgemに相当。Perlのライブラリをインストールするために必要なツー ル。今はcpanじゃなくてこれを使うみたい。 carton Rubybundlerに相当。アプリ

  • screen で 最終行にウィンドウ一覧を表示する方法

    以下を ~/.screenrc に書くと、 hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w" こんな風に表示できます。 タブ表示みたいで良いですね。ウィンドウをいくつ開いているかよく忘れるので ^^; 、便利です。 参考情報: GNU screen いろいろまとめ。 - naoyaのはてなダイアリー 追記(2009-08-23): zsh ユーザの方は、以下を ~/.zshrc に書いておくと “zsh” という文字列の代わりに「コマンド実行中はコマンド名を、未実行ならカレントディレクトリを表示」してくれます。情報ありがとうございます。> kitokitoki さん case "$TERM" in screen) preexec() { echo -ne "\ek#${1%% *}\e\\" } precmd() {

  • 1