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

Capistrano3のコードを読んでみる1 ~設定ファイルのパス設定~

Capistranoを実行時に利用するconfig/deploy.rbとかproduction.rb、staging.rbのパスを変更できるのか気になったのでソースコードを読んでみました。 結論としては、変更可能ですがcapistrano/setupをCapfileでrequireする前にsetする必要があります。 また…

Nginxのモジュールの作り方 C言語でHandlers編

概要 モジュールの種類 Nginxで開発できるmoduleの種類は、ざっくりとわけると以下の3種類があります。 Handlers・・・locationを指定して処理が可能 Load balancers・・・upstream moduleやload balancer moduleと連携して使う。load balancer moduleにはRo…

TerraformをDigital Oceanで試してみる3 - provisionerにchefを使う

Terraformのprovisionerとしてchefを使うにはChefサーバが必要になります。 Chefサーバの準備が面倒な場合は、Hosted Chefで代用できます。Hosted Chefの設定については前回の記事が参考にしてください。 Chef Clientのインストール provisionerにChefを指定…

Hosted Chefを使ってみる

サーバがインターネットに接続可能でChefサーバを建てるまではないけど、少しChefサーバを使ってみたいというようなときにHosted Chefが便利なので使ってみました。 Chef 12のオープンソース版と25ノード制限について を見ると、5ノードまでは問題なく使える…

TerraformをDigital Oceanで試してみる2 環境情報の外出し

前回では、do.tfファイルの中に全ての情報を書き込みました。 それではtoken情報やssh keyの値などはgitなどで管理しづらいので、ssh_keysとtokenを別のファイルで管理します。 ファイルを外出しするようになると、以下の様な構成になります。 . ├── do.tf ├…

TerraformをDigital Oceanで試してみる1

Digital Oceanの情報取得 Terraform を Digital Ocean で触ってみた (初級編) を参考にDigital Ocean のtokenを作成します。 Degital OceanのAPI V2を利用して、curlからSSH鍵の情報を取得します。 参考:https://developers.digitalocean.com/documentation…

gorillaでAPIサーバを書く 1

gorillaを使ってAPIサーバを書く。 ディレクトリ構成としては、以下を想定。 .api │ ├── handlers │ ├── core.go │ └── router.go └── api.go それぞれのファイルは大まかに以下のような役割になります。 api.goはサーバの起動設定などを記載 router.goはフ…

SICPを読む会 1 問題1.3

読む会でSICPを黙々と読む。 SICP Support for DrRacketのインストールを参考にDrRacketをインストールして実行環境を作成します。 DrRacketで言語宣言ペイン(上側のペイン)で、#lang planet neil/sicp と書いて実行しても調べたページとは違う挙動しまし…

goのお勉強1

スコープ 変数や関数名で1文字目が小文字だとパッケージ内からのみ見える。大文字だとパッケージ外からのみ見える。 ポインタ ポインタは、C言語と同様に利用できる。 package main import "fmt" func main() { a := 5 var pa *int = &a // *intはint型のpoi…

Omnibus InstallerでインストールしたChefのRubyでserverspecを実行する

chefのバージョンを確認する。 # chef-client -v Chef: 12.0.3 Rubyのバージョンを確認する。 /opt/chef/embedded/bin/ruby -v ruby 2.1.4p265 (2014-10-27 revision 48166) [x86_64-linux] rubyなどはchef/embeddedに入っているので、serverspecのインスト…