2014/06/24

Sapporo.clj#0 開催しました

参加者の皆様、@tnoborioさんありがとうございました。
誰にも参加意思を確認せずに開催に踏み切ってしまったので、最悪 @tnoborio
さんと二人きりかと思いましたが、予想外にあつまっていただいて感謝しております。

特に赤字覚悟で札幌まで来ていただいた登尾さん、本当にありがとうございました。
ニャンパスステッカーを寄付していただきましたので、#1以降で配っていきたいと思います。

次回以降ですが、隔月くらいの頻度でもくもく会なんかを開いていきたいところです。
参加者の皆さんにご協力いただくこともあるかと思いますので、よろしくお願いします。


最後に私のLTで使ったスライドのリンクを貼っておきます。

Web開発時におけるClojureとPerlのライブラリ比較です。
Clojureはさっとしか触っていないので、他にベターなもの等あるかと思います。
http://ysasaki.github.io/presentations/sapporoclj0/#/title

2014/06/20

Sapporo.cljを開催します

明日6/21(土)にSapporo.cljを開催します。

はじめてのClojureの著者 @tnobrio さんが来札されるので、 それに合わせての開催となります。

イベント詳細ページ

Sapporo.clj #0 「はじめてのClojure」出版記念
http://atnd.org/events/51603

私自身もClojureの勉強を始めたばかりで、わからないことだらけです。 参加者同士で互いにお役立ち情報をシェアしましょう。 需要があれば、今後もSapporo.cljを時々開いていきたいと思います。

はじめてのClojureについては著者割引があるそうなので、 事前に連絡をすると買えるんじゃないでしょうか。

2014/03/28

CentOS 6.x向けにremiのchef cookbook書いた

気づいたらopscodeのyumからremiが消えていて、何度も書くのが段々めんどうになったので作成

https://github.com/ysasaki/yum-remi

よんどころのない事情によりCentOS 6.x系でphp55が使いたい、そんな時に使ってください。

Berksfileに以下のようなものを追加

cookbook 'yum-remi', git: 'git://github.com/ysasaki/yum-remi.git'

後はrun listにrecipe[yum-remi]を追加して、remi-php55のリポジトリを有効にするだけです。

default['remi']['php55']['enabled'] = 1

remiのrpmをinstallして、/etc/yum.repos.d/remi.repoを上書きしているだけです。

2013/10/06

MTDDC Meetup HOKKAIDO 2013 に参加しました #mtddc

10月5日のMTDDC Meetup HOKKAIDOと翌日のHackathonに参加してきました。 非常に盛況で、予想よりも賑わってたのが印象的です。

ノベルティにMONA+SKという函館のお菓子が入ってて、これが結構美味しかったです。

さらにはじゃんけん大会でMovableType Tシャツをゲットできたので非常に満足度の高いイベントでした。

Hackathon

今回のHackathonではVagrantfileを含んだMTOSのアプリケーション環境丸ごとのchef cookbookを公開しました。
cookbook-movabletype-opensource-standalone

これは5ヶ月ほど前に作成したVagrantとchefのcookbookをブラッシュアップしたものです。
先にMTOSだけのcookbookは公開していましたが、Vagrantfileとその他のcookbookの設定等は含まれていませんでした。

今回は丸ごと配布なので、githubからcloneしてきてvagrant up --provisionを実行すると以下のような環境が作成されます。

  • CentOS 6.4
  • Perl 5.16.3
  • Nginx
  • MySQL

この環境はSkyarcさんのエンジニアブログの記事を元にしております。
デザイナー必見!VPSで高速なMovable Type用サーバをゼロから構築する方法

公開するに当たって、以前のバージョンに以下の作業を行ってます。

  • Vagrantfileをversion 2にアップデート
  • cookbookの管理をBerkshelfに移行

環境丸ごとのcookbookを公開しているのでVagrantでローカルに環境を作成するだけではなく、AWSのEC2上やWindows Azure、その他任意の場所のLinuxサーバにも簡単に環境を作れることになります。

2013/10/05

Vagrant + Chef Solo + Berksfileでのアプリケーション環境の作業手順

仕様変更だったり、ディレクトリ配置等が色々あるので自分の流儀を決める

Chef, Vagrantのインストール

chef関連ツールをインストール

> gem install chef knife-solo berkshelf

Vagrantはgemで入れると古いので公式サイトからパッケージでインストールする

Vagrant Pluginをインストール

> vagrant plugin install vagrant-berkshelf vagrant-vbox-snapshot

アプリケーションの雛形の作成

一番最初の雛形はknife soloで作成するのが無難

> knfie solo init foo

berksでBerksfile, Gemfile, Vagrantfileの雛形を生成する。gitの初期化もしてく
れる。既存ファイルを上書きするか聞かれるので"a"を押して、全部上書きする。

> berks init foo

cookbookの雛形を作成しておく

> knife cookbook create MyApp -o site-cookbooks

gitに突っ込んでおく

> git add -f * .chef/ .gitignore
> git commit

.chef/knife.rbにknife solo実行時のcookbook, role, node等のpathが入っているの
でこれは必須ファイル。このファイルがなくてハマることが多い

Vagrantの設定

いい感じに設定して、provisionをoffでとりあえず立ち上げる

> vagrant up --no-provision

chef soloの開発やsshで簡単に接続できるようにssh-configを書きだしておく。 この時ホスト名を分かりやすいものに置換しておくと良い

> vagrant ssh-config | sed 's/default/HOSTNAME/' >> ~/.ssh/config

置き換えたホスト名で接続確認

> ssh HOSTNAME

Chef SoloをVM側に容易

> knife solo prepare HOSTNAME

VMのスナップショットを作成

今後すぐに初期状態に戻せるようにスナップショットを作成しておく

> vagrant snapshot take chef-ready

Berksfileを更新

cookbook用のbundler。これから自分が書くcookbookの依存ファイルを追加する

> cat Berksfile
site :opscode

cookbook "yum"
cookbook "database"
cookbook "mysql"
cookbook "nginx"
cookbook "simple_iptables"
cookbook "openssl"

Cookbookを修正

好きなようにsite-cookbooks/MyApp/以下を修正していく

chef soloを実行

ある程度できたらVMにchefを適用する。

> knife solo cook HOSTNAME -V | tee install-log

-Vを付けて詳細なログを出す。長いのでinstall-logにも書きだしておく。 後はトライアンドエラーで徐々に修正していく

繰り返しすぎてよくわからなくなったりしたら、スナップショットの状態に戻して再度試す

> vagrant snapshot go chef-ready

完成

最終的にいい感じに仕上がったら、vagrantコマンドで一発で入るか確認する

> vagrant destroy
> vagrant up --provision

2013/09/22

YAPC::Asia 2013と今後のHokkaido.pmの活動について

YAPC::Asia 2013

今年もYAPC::Asiaに行ってきました。スタッフの皆さまのおかげで、非常に楽しい二日間を過ごせました。スタッフの皆さま、ありがとうございます!

普段お世話になっている方への挨拶や次回以降のHokkaido.pmでゲストとして招待したい人とコンタクトを取ることができたので、非常に満足しています。今回は前回よりも中々いい感じにいろんな人に会えた気がします。

今年は私事が色々と重なり、年内の予定が不明瞭だったためスピーカーには応募できませんでした。またスピーカーに応募したい思っていますが、次回のYAPC::Asiaの開催は不明ということで、とりあえずアウトプットを増やしつつ機会を待とうかなと思います。

今後のHokkaido.pm

次回のHokkaido.pmは1月後半から2月頃になるんではないでしょうか。もしかすると12月あたりにもあるかもしれません。

何人かに言われたので、そろそろUstをどうにかしたいところです。Ustがあれば遠方の方からも反応をもらえるのというメリットがありますし、土日に参加できない人が一定数いるようなので、そういった方にもフレンドリーかなと。また、先週札幌で行われたオープンソースカンファレンスでもHokkaido.pm Casualの空気感がわからず参加しにくいという話も聞きました。ブログ等での開催報告をもう少し頑張るというのももちろんですが、Ustも空気感を伝える手段の一つにもなるのかなと考えています。何か手頃なUSB接続のカメラを探したいと思います。

2013/09/03

Hokkaido.pm#10 を開催しました #hokkaidopm

8/31(土)に札幌市産業振興センターでHokkaido.pm#10を開催しました。
今回はJPA様の支援でゲストに@tokuhiromさんをおよびしてお話しして頂きましたありがとうございます。
さらにTengの中の人である@nekokakさんやPerl Beginners主催の@ytnobodyさん、mod_perl大好きな@xtetsujiにもお越しいただき大変豪華は顔ぶれとなりました。
皆様、まことにありがとうございます。

春から夏にかけて時間が取れなかったので前回の開催から半年程度間が開いてしまいました。
物足りない方は毎月第3水曜日開催のHokkaido.pm Casualに参加していただけると良いのではないでしょうか。
次回の開催日はまだ決まっていませんが半年に一度は開催したいと思っております。
ゲストの目星はある程度つけてありますので、9月のYAPC::Asiaで何人かにアプローチしたいと思います。

イベントのレポートはHokkaido.pm#10 開催報告を御覧ください。

LT - Asset Pipeline for Perl

今回はLTで『Asset Pipeline for Perl』という発表をしました。Railsについてるあの機能の一部をPlack::Middlewareとして実装したものです。
CoffeeScriptは私が使わないので対応していませんし、javascript_include_tagも未実装です。
もう少ししたら『GitHub止まりモジュール』から格上げされてCPANにアップロードするかもしれません。