成らぬは人の為さぬなりけり

エンジニアライフをエンジョイする為のブログ

Chef-solo+knife-solo+Vagrantでサーバ構築を自動化してみる - その3 nginx

さて、今日は前回に引き続き nginxのインストール&設定をやってみたいと思います。

※環境は前回と同様です。

今回の流れ

  1. Berksfileをいじる
  2. jsonファイルに設定を書く
  3. サーバに適用してみる
  4. 自前のconfを用意する
  5. サーバに適用してみる

今日もシンプル。

続きを読む

Chef-solo+knife-solo+Vagrantでサーバ構築を自動化してみる - その2 sudoers

さて、前回に引き続き、
今日はsudoersをいじってみようと思います。

※環境は前回と同じです。

今回までのコードは、以下においてあります。

yagince/chef-sample · GitHub

今回の流れ

  1. Berksfileをいじる
  2. berks install
  3. jsonファイルで設定を書く
  4. サーバに適用する

今日はシンプル。

続きを読む

Chef-solo+knife-solo+Vagrantでサーバ構築を自動化してみる - その1 ユーザー追加

本日(8/24)、LL祭りで、
Inftastructure as LLというセッションを見てきました。
最近、Chef-solo+knife-soloをいろいろいじっていたので、今日は一番興味深いセッションでした。

いい機会なので、最近自分がChef+Vagrantでやった事を、メモしていきたいと思います。

続きを読む

Gitのコミットメッセージを書き換えるフックをRubyで書いてみる

  • コミットメッセージにチケット番号を埋め込みたい!
  • チケット番号はブランチ名から判断してほしい

みたいな事、ありせんか?
僕はあります。

というわけで、コミットメッセージをいじるフックをRubyで書いてみたいと思います。

続きを読む

TypeScriptのAPIドキュメントをyuidocjsで自動生成

現在、仕事でTypeScriptを使っていますが、
APIドキュメントが欲しくなってきて、
JavaDocとか、RDocとか、ScalaDocとか、みたいに
自動生成させたいなぁと思い、いろいろ試してみました。

試したツール

  • jsdoc (npm)
  • JsDoc Toolkit
  • jsduck (gem)
  • yuidocjs (npm)
続きを読む

Perl勉強日誌 - FizzBuzz

Perlを勉強し始めたので、
現状の知識でFizzBuzzってみます。

PerlFizzBuzz

use 5.012;

my @fizz = qw/Fizz/;
my @buzz = qw/Buzz/;
foreach (1..100) {
  say ("$fizz[$_%3]"."$buzz[$_%5]" || $_);
}

実行結果

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
16
17
Fizz
19
Buzz
Fizz
22
23
Fizz
Buzz
26
Fizz
28
29
FizzBuzz
31
32
Fizz
34
Buzz
Fizz
37
38
Fizz
Buzz
41
Fizz
43
44
FizzBuzz
46
47
Fizz
49
Buzz
Fizz
52
53
Fizz
Buzz
56
Fizz
58
59
FizzBuzz
61
62
Fizz
64
Buzz
Fizz
67
68
Fizz
Buzz
71
Fizz
73
74
FizzBuzz
76
77
Fizz
79
Buzz
Fizz
82
83
Fizz
Buzz
86
Fizz
88
89
FizzBuzz
91
92
Fizz
94
Buzz
Fizz
97
98
Fizz
Buzz

その他の回答

こんな風に書けるらしい

print+(Fizz)[$_%3].(Buzz)[$_%5]||$_,$/for 1..100

プログラミング言語/Perl - プログラミングスレまとめ in VIP

まだまだ修行が足りん、、、

おまけ

ついでにRubyでもFizzBuzzってみます。

def fb i
  (s="#{[:Fizz][i%3]}#{[:Buzz][i%5]}").empty? ? i.to_s : s
end

p (1..100).map{|i| fb i }

実行結果

["1", "2", "Fizz", "4", "Buzz", "Fizz", "7", "8", "Fizz", "Buzz", "11", "Fizz", "13", "14", "FizzBuzz", "16", "17", "Fizz", "19", "Buzz", "Fizz", "22", "23", "Fizz", "Buzz", "26", "Fizz", "28", "29", "FizzBuzz", "31", "32", "Fizz", "34", "Buzz", "Fizz", "37", "38", "Fizz", "Buzz", "41", "Fizz", "43", "44", "FizzBuzz", "46", "47", "Fizz", "49", "Buzz", "Fizz", "52", "53", "Fizz", "Buzz", "56", "Fizz", "58", "59", "FizzBuzz", "61", "62", "Fizz", "64", "Buzz", "Fizz", "67", "68", "Fizz", "Buzz", "71", "Fizz", "73", "74", "FizzBuzz", "76", "77", "Fizz", "79", "Buzz", "Fizz", "82", "83", "Fizz", "Buzz", "86", "Fizz", "88", "89", "FizzBuzz", "91", "92", "Fizz", "94", "Buzz", "Fizz", "97", "98", "Fizz", "Buzz"]