<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>(っ´∀｀)っ ゃー</title>
	<atom:link href="http://nullpopopo.blogcube.info/feed" rel="self" type="application/rss+xml" />
	<link>http://nullpopopo.blogcube.info</link>
	<description>nullpopopo</description>
	<lastBuildDate>Sun, 22 Apr 2012 09:06:53 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>[PHP] タイムゾーンのエラーを抑止したい</title>
		<link>http://nullpopopo.blogcube.info/2012/04/php_timezone_error.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/04/php_timezone_error.html#comments</comments>
		<pubDate>Sun, 22 Apr 2012 09:06:53 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[php]]></category>
		<category><![CDATA[VPS]]></category>
		<category><![CDATA[さくら]]></category>
		<category><![CDATA[メモ]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=457</guid>
		<description><![CDATA[さくらのvpsを借りてあれこれ遊ぼうとhshsしている (っ´∀｀)っ ゃーたんです、こんにちは！ メモリ2GB(仮想3コア)を借りてみたのですが、思ったよりサクサク動いてくれています。お申し込みはこちらから。 まだお試 [...]]]></description>
			<content:encoded><![CDATA[<p>さくらのvpsを借りてあれこれ遊ぼうとhshsしている (っ´∀｀)っ ゃーたんです、こんにちは！<br />
メモリ2GB(仮想3コア)を借りてみたのですが、思ったよりサクサク動いてくれています。お申し込みは<a title="さくらのVPS" href="http://vps.sakura.ad.jp/" target="_blank">こちら</a>から。</p>
<p>まだお試し期間なのをいいことに、ab砲ぶっ放したりして遊んでるのですが、テスト用のphpファイル(単なるphpinfo)にアクセスすると、apacheのエラーログに何やら変なのが・・・。環境は CentOS release 6.2 (Final) httpd-2.2.15 PHP 5.3.3 です。</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">[Sun Apr 22 15:47:03 2012] [error] [client xxx.xxx.xxx.xxx] PHP Warning: phpinfo(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'Asia/Tokyo' for 'JST/9.0/no DST' instead in /home/vhosts/path/to/hoge/public_html/index.php on line 2</div></div>
<p>見てみたらタイムゾーンのエラー(warning)と言っています。このままにしておくと、date系の関数を実行するたびにエラーが記録されてしまいます。</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">We selected 'Asia/Tokyo' for 'JST/9.0/no DST'</div></div>
<p>って言ってるので、きっとタイムゾーンの設定してないんだろうなーと思って /etc/php.ini を見てみたら案の定でした。どうやら<a href="http://jp.php.net/manual/ja/datetime.configuration.php#ini.date.timezone" target="_blank">こういう理由</a>のようです。</p>
<p>※ PHPのドキュメントより引用</p>
<blockquote><p>全ての日付/時刻関数で使用されるデフォルトのタイムゾーン。 PHP 5.4.0 より前のバージョンでは、これは環境変数 <var><var>TZ</var></var> の値が設定されていない場合にのみ機能していました。 明示的に指定しなかったときにどのタイムゾーンを利用するのかについての優先順位は <a href="http://jp.php.net/manual/ja/function.date-default-timezone-get.php" target="_blank">date_default_timezone_get()</a> のページで解説されています。サポートしているタイムゾーンについては <a href="http://jp.php.net/manual/ja/timezones.php" target="_blank">サポートされるタイムゾーンのリスト</a> を参照ください。</p></blockquote>
<p>&nbsp;</p>
<p>※ エラー発生時の設定</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">;;;;;;;;;;;;;;;;;;;<br />
; Module Settings ;<br />
;;;;;;;;;;;;;;;;;;;<br />
<br />
[Date]<br />
; Defines the default timezone used by the date functions<br />
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone<br />
;date.timezone =</div></div>
<p>※ 変更後の設定</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">;;;;;;;;;;;;;;;;;;;<br />
; Module Settings ;<br />
;;;;;;;;;;;;;;;;;;;<br />
<br />
[Date]<br />
; Defines the default timezone used by the date functions<br />
; http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezone<br />
;date.timezone =<br />
date.timezone = 'Asia/Tokyo'</div></div>
<p>たった1行 「<strong><span style="color: #ff0000;">date.timezone = &#8216;Asia/Tokyo&#8217;</span></strong>」 を追加してあげて、Apacheを再起動すればOKです。エラーログは余計なもの出力しちゃうと、実運用でクリティカルなエラーを見逃してしまう原因になるので、極力余計なログを出さない設定にしたいものです。</p>
<p>でわ～♪</p>
<div id="wherego_related"> </div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/04/php_timezone_error.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>トラブル☆しゅーたーず &#8211; ドMな演技派インフラエンジニアたちによる障害対応ごっこ -</title>
		<link>http://nullpopopo.blogcube.info/2012/04/troubleshooters001.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/04/troubleshooters001.html#comments</comments>
		<pubDate>Sat, 07 Apr 2012 15:33:59 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[hbstudy]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[ncstudy]]></category>
		<category><![CDATA[odstudy]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[やってみた]]></category>
		<category><![CDATA[イベント]]></category>
		<category><![CDATA[勉強会]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=453</guid>
		<description><![CDATA[こんばんは。2012/04/07に、普段怒られながら障害対応してるであろう僕らが休みの日にわざわざ障害対応しに集まるイベント「トラブル☆しゅーたーず」に参加してきた (っ´∀｀)っ ゃーです。 ■ トラブル☆しゅーたーず [...]]]></description>
			<content:encoded><![CDATA[<p>こんばんは。2012/04/07に、<span style="color: #0000ff;"><strong>普段怒られながら障害対応してるであろう僕らが休みの日にわざわざ障害対応しに集まるイベント「<a href="http://www.zusaar.com/event/231008" target="_blank"><span style="color: #0000ff;">トラブル☆しゅーたーず</span></a>」</strong></span>に参加してきた (っ´∀｀)っ ゃーです。</p>
<h1>■ トラブル☆しゅーたーず とは</h1>
<blockquote><p>シナリオ<br />
あなたはとあるwebインテグレーターにつとめる社員です。<br />
立ち居値としては、リーダークラス？<br />
ちょっといい気分になってきていました。</p>
<p>ある日、待望の新入社員の山〇君がやってきました。<br />
しかも、あなたの部署です。<br />
OJTが一通り行われたあと、幸運にもあなたの配下に配属されたではありませんか。</p>
<p>さっそく、いろいろ教えつつ「これで少しでも負荷がさがれば。。。」とほくそ笑むのでした。<br />
さてある日、山〇君にお客様のクラウド上のシステムメンテナンスを指示します。<br />
さほど難しい作業ではなかったので、彼にまかせて別の作業を実施します。<br />
しばらくすると、お客様から入電が・・・・</p>
<p>どうもお客様のシステムが調子がおかしいとのこと<br />
山〇君にどのような作業を実施したのか確認しても<br />
「何もやっていない」<br />
「ログはとっていない」<br />
と繰り返すばかりです。</p></blockquote>
<p>一抹の不安を覚えつつ、あなたはチームを従えてコンソールに向かうのでした</p>
<p>という前提で障害対応のロールプレイをしよう！というhbstudy、ncstudy、odstudy合同開催の勉強会でした。</p>
<p><span id="more-453"></span></p>
<h1>■ 最初にハンズオン</h1>
<p>本編は会場およびインフラ提供のniftyさんで13時から開始だったのですが、<a title="ニフティクラウド" href="http://cloud.nifty.com/" target="_blank">ニフティクラウド</a>の簡易ハンズオンを11時からやるということで、ニフクラ初体験の私はハンズオンから参加しました。ニフクラのゲストOSを触って気づいたことは次の通りです。</p>
<ul>
<li>ゲストOSはVMWare</li>
<li>コンソールログインはvmware-vmrcから繋ぐ</li>
<li>コントロールパネルはIEのみサポート (IronやFirefoxではvmware-vmrcのActiveXダウンロード不可)</li>
</ul>
<p>ひと通り説明を受けた後、niftyの方から「<span style="color: #ff0000;"><strong>よろしかったら rm -rf してみてくださいｗｗｗ</strong></span>」と言われたので、-v オプションまでつけてやってみました。今生きてるプロセスが掴んでいるファイル以外はまるっと消えて (当たり前ですね) lsコマンドも打てないので 「 echo * 」などのように bash内部コマンドのみで戦わざるを得ない状況でしたｗ</p>
<p>&nbsp;</p>
<h1>■ いよいよ本番</h1>
<p>50名弱のドMなインフラエンジニアたちが集まり、いよいよ6チームに別れての障害対応です。はじめの前提条件は、次のスライドに示されていますが、詳細はログインしてみないとわかりません。<br />
<a href="https://docs.google.com/presentation/d/1aIAh6JAzHHufsc_O1Xb0o_CY1pnJQgXxYfhep1rp-n0/edit#slide=id.p22" target="_blank">https://docs.google.com/presentation/d/1aIAh6JAzHHufsc_O1Xb0o_CY1pnJQgXxYfhep1rp-n0/edit#slide=id.p22</a></p>
<blockquote><p><strong>○ やらなければならないこと</strong><br />
・ サイトの復旧<br />
・ 原因究明<br />
・ 再発防止策提案<br />
・ 障害報告書作成</p>
<p><strong>○ こりゃひどいと声を上げたサーバの中身</strong><br />
・ MySQLがrpmとソースからインストールされていたのが1つずつあった<br />
・ WordPressとMovableTypeが同居していた<br />
・ PostgreSQLが動いていた<br />
・ 踏み台サーバからログインと思いきやSSHでログインできた<br />
・ WordPressは他所のサーバで作ったものを単純にコピーしただけだった (URIがDBに書かれているのでdumpして置換してインポートした)<br />
・ zsh、bashのヒストリーサイズが0だったw<br />
・ などなど・・・</p></blockquote>
<p>ときどき運営スタッフがお客様という体で見回りに来るので、実際に手を動かす人(オペレータ)と全体統括者、顧客対応者(全体統括者が兼ねる場合もあり)がおのずと必要になってきそうです。全体的なタイムラインは <a href="http://togetter.com/li/284778" target="_blank">Togetter</a> をご覧ください。ここでは、私がいたチームについて振り返ってみたいと思います。</p>
<blockquote><p>○ 同じチームに @koyhoge さんがいる！ということは、障害切り分けにそれほど苦労しなさそう (他力本願ではなく、スキルセットがある程度把握できているという意味で)<br />
○ と思いきや、先に @koyhoge さんと私で手を動かす作業の7割がたを担ってしまい、特にドキュメンテーションまで @koyhoge さんがされていたので恐らく人的負荷が偏っていた<br />
○ 僕も手を動かしたかったけど、ファシリテータに徹するか、ファシリテータを誰かにやってもらえばよかったかも<br />
○ 運営が仕掛けた罠を一生懸命調査してたけど、それが障害の本質だったのかをもっと早めに判断できればよかった<br />
○ 自分に自信がなくてあまり積極的に発言していなかったメンバーもいたけど、最初の15分くらいでチームビルドのための時間を設けて、間違ってもいいからどんどん自分の意見を言っていこうという空気を作ればよかった</p></blockquote>
<p>というような反省があったかなーと思います。インフラ寄りのメンバーからアプリ開発者さんまでいたので、それぞれのスキルセットでできることをやったので、チームビルドと時間配分をしっかり意識していれば、時間内に100パー復旧しないまでも、きちんとした体裁で中間報告書は書けたのかなーと反省しきりです。(あくまでエクストリームスポーツであって、実際の障害対応はもっときちんと体制考えてやりますけどね)</p>
<p>■ 結果発表</p>
<p>タイムリミットがやってきて各チームの発表 (障害報告会) が行われましたが、みんな普段から謝り慣れているのか、どのチームもガチの障害報告すぎて笑えませんでした (；´Д｀) というか本当に胃が痛くなって、帰りに胃薬飲みましたがwww 今回はタイムリミットがある中にもかかわらず、時系列も含め原因特定から今後の再発防止策まで顧客にきちんと説明できたチーム2 が優勝で、ただただ感心するばかりでした。繰り返しになりますが、ほんとにお通夜な雰囲気でしたが・・・。ココらへんの雰囲気作りや壇上での障害報告の喋り方まで、ほんとの障害報告会のようで、なので「演技派インフラエンジニア」とタイトルにつけたのです。このあと、hbstudyの馬場さんによる講評がありました (以下資料参照)。</p>
<p><a href="https://docs.google.com/presentation/d/117SdD0NjMaunm1UfFBFPPaXxdrgvvkeXnmMETConnMI/edit#slide=id.p22" target="_blank">https://docs.google.com/presentation/d/117SdD0NjMaunm1UfFBFPPaXxdrgvvkeXnmMETConnMI/edit#slide=id.p22</a></p>
<p>&nbsp;</p>
<h1>■ やってみた感想</h1>
<p>ほんっと繰り返しますけど、休みの日にわざわざ障害対応しに来るって、どんだけ僕らドMなのでしょうかｗ 一部、その後ガチ障害対応しに行った参加者もいましたが。。。けど、単なるハンズオンと違ってマイナスから0に持っていくという緊張感で、しかも初見のサーバで烏合の衆が集まって対応するんですから、いい勉強になったと思います。技術的にすごい人の真価(嗅覚やコマンド捌き、何が大事かの判断)を見られるのは勿論、手前味噌ながら自分も食らいついていけるだけのアシストはそこそこできたのかなと思いました。</p>
<p>あと、私は誰かに声かけするより先に、まずSSHの画面に向かって対応していたのですが、確かに障害対応ではこういう姿勢が大事です。メンバーの半分くらいは自分から声を出して「僕この作業しますー」というようなタイプではなかったので、次回があればそこに気をつけて、最初の15分くらいは手を止めてでも役割分担をきちんと明確にしておくべきでした。(先に気づいたもん勝ちなエクストリームは、チーム間でやるべきであってチーム内ではやるべきではなかった)</p>
<p>ここいらの反省を踏まえたら、仕事での障害対応をメンバーとしてもリーダーとしても更に高品質な対応ができるのかなと思いました。とにもかくにも、これだけの障害を仕込んだ運営の皆様、参加者の皆様、本当ーっに、お疲れ様でした！</p>
<div id="wherego_related"> </div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/04/troubleshooters001.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>はじめてのGithub &#8211; Githubアカウント作成から初期設定 CentOS6から繋いでみよう -</title>
		<link>http://nullpopopo.blogcube.info/2012/04/github_centos6.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/04/github_centos6.html#comments</comments>
		<pubDate>Fri, 06 Apr 2012 09:04:02 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[やってみた]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=445</guid>
		<description><![CDATA[みなさんこんにちわ。githubのアカウント作成から自作のプログラムをアップロードするまでの手順をまとめてみました。 用意するもの • プログラム開発環境 (ここではCentOS6を前提としています) • メールアドレス [...]]]></description>
			<content:encoded><![CDATA[<p>みなさんこんにちわ。githubのアカウント作成から自作のプログラムをアップロードするまでの手順をまとめてみました。</p>
<h1>用意するもの</h1>
<p>• プログラム開発環境 (ここではCentOS6を前提としています)<br />
• メールアドレス</p>
<p>これだけです。開発環境はroot権限のコマンドを実行できるようにしておいてください。(suコマンドでrootに昇格できるか、sudoコマンドが使える)</p>
<h1>githubって何？</h1>
<p>• gitのプロジェクトホスティングサービス<br />
• 100MBまで無料で使える<br />
• gitリポジトリを自分で作って公開できる<br />
• WEB上から変更履歴などが参照可能<br />
• githubで公開されている他のOSSのコードをforkして開発することが可能<br />
• ただしバグトラッキングシステムがない<br />
※ 出展： <a href="http://d.hatena.ne.jp/keyword/GitHub" target="_blank">はてなキーワード</a></p>
<p>すべての手順を書くと長くなってしまうので、1枚のスライドにまとめてみました。それでも、1時間もあればgithubアカウント作成、リポジトリ作成、自分で作ったプログラムのアップロードまでできてしまいます。</p>
<div id="__ss_12293342" style="width: 425px;">
<p><strong style="display: block; margin: 12px 0 4px;"><a title="はじめてのgithub" href="http://www.slideshare.net/nullpopopo/github-12293342" target="_blank">はじめてのgithub</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12293342" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/nullpopopo" target="_blank">Yasutaka Hamada</a></div>
</div>
<div style="padding: 5px 0 12px;"></div>
<div style="padding: 5px 0 12px;">アカウント作成方法はスライドを見てください。ここでは開発環境のサーバ側でどんな作業をするのかをまとめておきます(スライドにも書いてありますが)。</div>
<div style="padding: 5px 0 12px;">
<p>■  rpmforge リポジトリをダウンロードする</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>pkgs.repoforge.org<span style="color: #000000; font-weight: bold;">/</span>rpmforge-release<span style="color: #000000; font-weight: bold;">/</span>rpmforge-release-0.5.2-<span style="color: #000000;">2</span>.el6.rf.x86_64.rpm</div></div>
<p>■  git パッケージをインストールする</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum</span> <span style="color: #660033;">--enablerepo</span>=rpmforge <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #c20cb9; font-weight: bold;">git</span></div></div>
<p>■ SSH鍵ペアを作成する<br />
1) すでに鍵ペアがあった場合、上書きしないように .ssh ディレクトリをバックアップする</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-d</span> <span style="color: #800000;">${HOME}</span><span style="color: #000000; font-weight: bold;">/</span>.ssh <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #c20cb9; font-weight: bold;">cp</span> <span style="color: #660033;">-pr</span> <span style="color: #800000;">${HOME}</span><span style="color: #000000; font-weight: bold;">/</span>.ssh <span style="color: #800000;">${HOME}</span><span style="color: #000000; font-weight: bold;">/</span>DOT.ssh.$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">date</span> +<span style="color: #000000; font-weight: bold;">%</span>Y<span style="color: #000000; font-weight: bold;">%</span>m<span style="color: #000000; font-weight: bold;">%</span>d<span style="color: #7a0874; font-weight: bold;">&#41;</span></div></div>
<p>2) ssh-keygenコマンドで鍵ペアを作成する</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #666666;">$ </span><span style="color: #c20cb9; font-weight: bold;">ssh-keygen</span></div></div>
<p>鍵ペアは、ホームディレクトリ/.ssh の下に生成されます。ホームディレクトリでlsコマンドを叩いて「そんなのねーよ」と思っても焦らないでください。「ls -la」のように、aオプションをつけると .ssh ディレクトリの存在が確認できます。sshの鍵ペアを作成したら、「id_rsa.pub」のほうをcatコマンドで開いて、マウスでクリップボードにコピーし、githubの公開鍵登録画面に貼り付けます。</p>
<h1>成果物をアップロードしよう！</h1>
<p>githubでアカウントを作成し、sshの公開鍵登録を行い、リポジトリを作成したあとは、開発サーバでプログラム開発してgitコマンドでアップロードしましょう。</p>
<h2>■ 初期設定</h2>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> user.name <span style="color: #ff0000;">&quot;githubのユーザ名&quot;</span></div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git config</span> <span style="color: #660033;">--global</span> user.email <span style="color: #ff0000;">&quot;githubに登録したメールアドレス&quot;</span></div></div>
<p>これらは最初に1回やっておけばOKです。ただし、同じサーバで複数のgithubアカウントを切り替えて使う場合は、都度実行する必要があります。</p>
<h2>開発サーバでリポジトリを新規作成する</h2>
<p>例) NABEATSU というリポジトリを作成してみる</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> NABEATSU</div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> NABEATSU</div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git init</span></div></div>
<p>リポジトリ名と開発サーバに作るディレクトリ名は必ずしも同じでなくてもよいらしいですが、後でわかりにくくなるので同じ名前にしておいたほうが無難でしょう。</p>
<h2>READMEファイルを新規作成する</h2>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">touch</span> README</div></div>
<p>READMEファイルは、ファイル名を大文字にして作成します。この中に書き込んだテキストをローカルリポジトリにコミットし、リモートリポジトリにpushする(反映させる)までは、githubからは存在しないものとして扱われます。</p>
<h2>READMEファイルをローカルリポジトリにコミットする</h2>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git add</span> README</div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git commit</span> <span style="color: #660033;">-m</span> <span style="color: #ff0000;">'first commit'</span></div></div>
<p>コミット後、次のページに表示するようにコミット後のメッセージをchangelogに書くよう、編集画面が出てきます。デフォルトのエディタが立ち上がるので、コミットメッセージを残しましょう。</p>
<h2>ローカルリポジトリにgithubのリポジトリをリモートとして登録する</h2>
<p>例) oresama アカウントで NABEATSU というリポジトリに登録する場合</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git remote</span> add origin <span style="color: #c20cb9; font-weight: bold;">git</span><span style="color: #000000; font-weight: bold;">@</span>github.com:oresama<span style="color: #000000; font-weight: bold;">/</span>NABEATSU.git</div></div>
<p>このコマンドは、リポジトリを作成して最初に実行するだけでOKです。ローカルリポジトリで何かしら編集するたびに実行する必要はありません。</p>
<h2>ローカルリポジトリからリモートリポジトリへ修正内容を反映させる</h2>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git push</span> origin master</div></div>
<p>ローカルリポジトリで何かしら編集し、リモートリポジトリへ反映させる都度に実行します。</p>
<h1>自作のプログラムをアップロードしてみよう！</h1>
<p>ここでは例として、binディレクトリの下に自作のシェルスクリプト「3.sh」を作ります。</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> bin</div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> bin</div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000;">3</span>.sh</div></div>
<p># 成果物 3.sh を編集します</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #7a0874; font-weight: bold;">cd</span> ..<span style="color: #000000; font-weight: bold;">/</span></div></div>
<p>ここまでできたら、ディレクトリの中身全部pushしてみましょう。</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git add</span> <span style="color: #000000; font-weight: bold;">*</span></div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git commit</span></div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git push</span> <span style="color: #660033;">-u</span> origin master</div></div>
<p>※ 個別のファイルをアップロードしたい場合は以下で。</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git add</span> bin<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">3</span>.sh</div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git commit</span></div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">git push</span> <span style="color: #660033;">-u</span> origin master</div></div>
<p>ここまでできたら、githubの画面で確認してみてください。スライドの通りに設定したら、リポジトリ内にご自慢のプログラムがアップロードされているはずです。ね、簡単でしょう？</p>
</div>
<div id="wherego_related"> </div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/04/github_centos6.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rubyで簡易ダウンローダを作ってみた</title>
		<link>http://nullpopopo.blogcube.info/2012/04/ruby_simple_downloader.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/04/ruby_simple_downloader.html#comments</comments>
		<pubDate>Wed, 04 Apr 2012 13:32:37 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[ruby]]></category>
		<category><![CDATA[やってみた]]></category>
		<category><![CDATA[プログラミング]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=440</guid>
		<description><![CDATA[rubyでコマンドラインの引数に与えたサイトをダウンロードするスクリプトを作ってみた。お手本サイトのこことかここの合わせ技で、ハードコーディングされたURLではなく、引数の1番目に与えたURLを引っ張ってくる。あと、引数 [...]]]></description>
			<content:encoded><![CDATA[<p>rubyでコマンドラインの引数に与えたサイトをダウンロードするスクリプトを作ってみた。お手本サイトの<a href="http://www.namaraii.com/rubytips/?%A5%A4%A5%F3%A5%BF%A1%BC%A5%CD%A5%C3%A5%C8%A5%B5%A1%BC%A5%D3%A5%B9" target="_blank">ここ</a>とか<a href="http://yakinikunotare.boo.jp/orebase/index.php?Ruby%2F%A5%B3%A5%DE%A5%F3%A5%C9%A5%E9%A5%A4%A5%F3%A4%AB%A4%E9%B0%FA%BF%F4%A4%F2%BC%E8%A4%EB" target="_blank">ここ</a>の合わせ技で、ハードコーディングされたURLではなく、引数の1番目に与えたURLを引っ張ってくる。あと、引数が空っぽだと&#8221;nil&#8221;って表示されちゃうので、エラー抑止するようにした。rubyのお手本サイトを見て自分でちょっと考えて手を加えた第一号かも。楽しい！ソース (URL01.rb) は以下。</p>
<div class="codecolorer-container ruby default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="ruby codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color:#008000; font-style:italic;"># coding: utf-8</span><br />
<br />
<span style="color:#9966CC; font-weight:bold;">unless</span> ARGV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#0000FF; font-weight:bold;">nil</span>? <span style="color:#9966CC; font-weight:bold;">then</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#9966CC; font-weight:bold;">if</span> ARGV.<span style="color:#9900CC;">size</span> <span style="color:#006600; font-weight:bold;">&gt;</span> <span style="color:#006666;">0</span> <span style="color:#9966CC; font-weight:bold;">then</span><br />
<span style="color:#CC0066; font-weight:bold;">require</span> <span style="color:#996600;">'open-uri'</span><br />
<span style="color:#CC0066; font-weight:bold;">open</span><span style="color:#006600; font-weight:bold;">&#40;</span>ARGV<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>f<span style="color:#006600; font-weight:bold;">|</span><br />
&nbsp; f.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> <span style="color:#006600; font-weight:bold;">|</span>line<span style="color:#006600; font-weight:bold;">|</span><br />
&nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> line<br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span><br />
<span style="color:#9966CC; font-weight:bold;">end</span></div></div>
<p>実行結果はこんな感じ。</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ruby URL01.rb http://nullpopopo.blogcube.info/ &gt; index.html</div></div>
<div id="wherego_related"> </div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/04/ruby_simple_downloader.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails開発環境をCentOS6にインストールする</title>
		<link>http://nullpopopo.blogcube.info/2012/04/rorinstall_centos6.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/04/rorinstall_centos6.html#comments</comments>
		<pubDate>Wed, 04 Apr 2012 10:08:29 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[CentOS]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[やってみた]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=432</guid>
		<description><![CDATA[こんにちは。次回のTechLION vol.6に、まつもとゆきひろさんが登壇される記念に、と言いながら忘れっぽい自分用のメモにruby開発環境インストール手順をまとめておきます。とか言いながら、さらに言うと「XXでエラー [...]]]></description>
			<content:encoded><![CDATA[<p>こんにちは。次回の<a href="http://techlion.jp/vol6" target="_blank">TechLION vol.6</a>に、まつもとゆきひろさんが登壇される記念に、と言いながら忘れっぽい自分用のメモにruby開発環境インストール手順をまとめておきます。とか言いながら、さらに言うと「XXでエラーおきた」→「ググろう」で一部の手順しか載っていないサイトより、最初から最後までの手順があったほうがみんな幸せでしょ？ということでまとめておきました。前提は以下の通りです。</p>
<p>・ 作業日 2012/04/04<br />
・ OS <a href="http://www.centos.org/" target="_blank">Centos6.2</a> (インストール時に使用したISOイメージは CentOS-6.2-x86_64-bin-DVD1.iso )<br />
・ OSインストール時のパッケージ すべて「<strong>チェックを外す</strong>」<br />
・ OSインストール後は$ sudo yum updateですべてのパッケージをアップデート済<br />
・ 作業用ユーザにはsudoでroot権限のコマンドを叩けるように設定済</p>
<p><strong>■ sshで作業できるようにopenssh関連のパッケージをインストールする</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> openssh-server openssh-clients libedit openssh</div></div>
<p><strong>■ 時刻あわせのためntpdateコマンドをインストールする (任意)</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> ntpdate</div></div>
<p><strong>■ rubyのpathが通っているかを調べるためwhichコマンドをインストールする (なくてもよいがあったほうが便利)</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> <span style="color: #c20cb9; font-weight: bold;">which</span></div></div>
<p><strong>■ libyamlやrubyのパッケージをwebからダウンロードするため、wgetコマンドをインストールする</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> <span style="color: #c20cb9; font-weight: bold;">wget</span></div></div>
<p><strong>■ 日本語文字コード変換のためnkfコマンドをインストールする (iconvがインストールされているので、それで充分って方はお好みで)</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> nkf</div></div>
<p><strong>■ libyamlインストール時にfileコマンドがあるかどうかチェックしているので、fileコマンドをインストールする(なくてもコンパイル通ったけどあると便利なので)</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> <span style="color: #c20cb9; font-weight: bold;">file</span></div></div>
<p><strong>■ その他ネットワーク系などのトラブルシュートに便利なコマンドをインストール(任意)</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> bind-libs bind-utils tcpdump libpcap lsof</div></div>
<p><strong>■ メール飛ばしたいときはpostfixとmailコマンドがあると便利(任意)</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> postfix mailx</div></div>
<p><strong>■ コンパイラなどをインストールする。zlib-develとopenssl-devel、sqlite-develはrubyインストール時にあったほうがいい</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> <span style="color: #c20cb9; font-weight: bold;">gcc</span> openssl-devel zlib-devel <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">patch</span> sqlite-devel</div></div>
<p><strong>■ DBにMySQLを使う場合は先にインストールしておく</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">yum install</span> mysql mysql-libs mysql-devel mysql-server</div></div>
<p><strong>■ libyamlとrubyをダウンロードする</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">mkdir</span> src<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> src<br />
<span style="color: #c20cb9; font-weight: bold;">wget</span> http:<span style="color: #000000; font-weight: bold;">//</span>pyyaml.org<span style="color: #000000; font-weight: bold;">/</span>download<span style="color: #000000; font-weight: bold;">/</span>libyaml<span style="color: #000000; font-weight: bold;">/</span>yaml-0.1.4.tar.gz<br />
<span style="color: #c20cb9; font-weight: bold;">wget</span> ftp:<span style="color: #000000; font-weight: bold;">//</span>ftp.ruby-lang.org<span style="color: #000000; font-weight: bold;">/</span>pub<span style="color: #000000; font-weight: bold;">/</span>ruby<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1.9</span><span style="color: #000000; font-weight: bold;">/</span>ruby-1.9.3-p125.tar.gz</div></div>
<p># 最新版のパッケージがあるかどうかは以下のサイトで確認のこと<br />
# http://pyyaml.org/download/libyaml/<br />
# ftp://ftp.ruby-lang.org/pub/ruby/1.9/</p>
<p><strong>■ libyamlをインストールする</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf yaml-0.1.4.tar.gz<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> yaml-0.1.4<br />
.<span style="color: #000000; font-weight: bold;">/</span>configure<br />
<span style="color: #c20cb9; font-weight: bold;">make</span><br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span><br />
<span style="color: #7a0874; font-weight: bold;">cd</span> ..<span style="color: #000000; font-weight: bold;">/</span></div></div>
<p><strong>■ rubyをインストールする</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">tar</span> xvzf ruby-1.9.3-p125.tar.gz<br />
<span style="color: #7a0874; font-weight: bold;">cd</span> ruby-1.9.3-p125<br />
.<span style="color: #000000; font-weight: bold;">/</span>configure<br />
<span style="color: #c20cb9; font-weight: bold;">make</span><br />
<span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></div></div>
<p>※ 確認</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">which</span> ruby<br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>ruby</div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">ruby <span style="color: #660033;">-v</span><br />
ruby 1.9.3p125 <span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #000000;">2012</span>-02-<span style="color: #000000;">16</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span>x86_64-linux<span style="color: #7a0874; font-weight: bold;">&#93;</span></div></div>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">which</span> gem<br />
<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>gem</div></div>
<p><strong>■ railsをインストールする</strong></p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>local<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>gem <span style="color: #c20cb9; font-weight: bold;">install</span> rails <span style="color: #660033;">--version</span> <span style="color: #ff0000;">&quot;~&gt; 3.2.1&quot;</span> <span style="color: #660033;">--no-rdoc</span> <span style="color: #660033;">--no-ri</span></div></div>
<p><strong>※ 必ずバージョン3.2.1以上を指定すること</strong></p>
<p>※ 確認</p>
<div class="codecolorer-container bash default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="bash codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">rails <span style="color: #660033;">-v</span><br />
Rails 3.2.3</div></div>
<p>以上がRailsの最低限の開発環境構築手順でした。ね、簡単でしょ？</p>
<div id="wherego_related"> </div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/04/rorinstall_centos6.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012/03/31 Apacheスタートスクリプト読書会だん</title>
		<link>http://nullpopopo.blogcube.info/2012/04/20120331-apachestartscriptreadingcircle.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/04/20120331-apachestartscriptreadingcircle.html#comments</comments>
		<pubDate>Tue, 03 Apr 2012 16:09:07 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[USP友の会]]></category>
		<category><![CDATA[ペアプログラミング]]></category>
		<category><![CDATA[勉強会]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=417</guid>
		<description><![CDATA[みなさんこんにちわ。少しだけ遅くなってしまいましたが、Apacheスタートスクリプト読書会をやってきましたのでレポートします。さっそく上田会長がこんな記事やこんな記事でレポートを書かれているので、全体の流れはおわかりいた [...]]]></description>
			<content:encoded><![CDATA[<p>みなさんこんにちわ。少しだけ遅くなってしまいましたが、Apacheスタートスクリプト読書会をやってきましたのでレポートします。さっそく上田会長が<a title="Apacheスタートスクリプト読書会 ---非常に盛り上がって完了" href="http://www.usptomonokai.jp/TOMONOKAI_CMS/CGI/TOMONOKAI_CMS.CGI?PAGE=20120401APACHE" target="_blank">こんな記事</a>や<a title="Apacheスタートスクリプト試乗会 ---非常に盛り上がって完了" href="http://www.usptomonokai.jp/TOMONOKAI_CMS/CGI/TOMONOKAI_CMS.CGI?PAGE=20120401AH64" target="_blank">こんな記事</a>でレポートを書かれているので、全体の流れはおわかりいただけたかと思いますので、私は違う視点から書いてみたいと思います。当日の発表資料はこちらになります。</p>
<div id="__ss_12270738" style="width: 425px;">
<p><strong style="display: block; margin: 12px 0 4px;"><a title="2012/03/31 Apacheスタートスクリプト読書会発表資料" href="http://www.slideshare.net/nullpopopo/20120331-apache" target="_blank">2012/03/31 Apacheスタートスクリプト読書会発表資料</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12270738" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/nullpopopo" target="_blank">Yasutaka Hamada</a></div>
</div>
<div style="padding: 5px 0 12px;"></div>
<div style="padding: 5px 0 12px;">また、冒頭に @hi_saito さんによるawkでアクセスログ解析のライトニングトークもありました。</div>
<div style="padding: 5px 0 12px;"></div>
<div id="__ss_12240136" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="GNU awk (gawk) を用いた Apache ログ解析方法" href="http://www.slideshare.net/HirofumiSaito/gnu-awk-gawk-apache" target="_blank">GNU awk (gawk) を用いた Apache ログ解析方法</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12240136" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/HirofumiSaito" target="_blank">Hirofumi Saito</a></div>
</div>
<p><span id="more-417"></span></p>
<h1>何を読んだの？</h1>
<p>CentOS release 5.8 (Final) にインストールした最新版のApache (httpd) のスタートスクリプト /etc/init.d/httpd および /usr/sbin/apachectl を読んでみました。読書会開催時の最新パッケージは httpd-2.2.3-63.el5.centos.1 です。時間があれば、 /etc/sysconfig/httpd や /etc/init.d/functions も読みたかったのですが、そこまでの時間が取れず・・・。</p>
<h1></h1>
<h1>気になった関数</h1>
<p>上から順に読んでいって、1箇所気になる関数を発見。末尾のcase文には出てこない「check13」関数なのですが、これが何のためにあるのか非常に気になりました。ソースは以下。</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"># check for 1.3 configuration<br />
check13 () {<br />
&nbsp; &nbsp; &nbsp; &nbsp; CONFFILE=/etc/httpd/conf/httpd.conf<br />
&nbsp; &nbsp; &nbsp; &nbsp; GONE=&quot;(ServerType|BindAddress|Port|AddModule|ClearModuleList|&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GONE=&quot;${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; GONE=&quot;${GONE}AccessConfig|ResourceConfig)&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; if LANG=C grep -Eiq &quot;^[[:space:]]*($GONE)&quot; $CONFFILE; then<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo 1&gt;&amp;2 &quot; Apache 1.3 configuration directives found&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo 1&gt;&amp;2 &quot; please read /usr/share/doc/httpd-2.2.3/migration.html&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; failure &quot;Apache 1.3 config directives test&quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; echo<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; exit 1<br />
&nbsp; &nbsp; &nbsp; &nbsp; fi<br />
}</div></div>
<p>これなんですが、Apache1.3で使っているディレクティブをhttpd.confから探して、GONE変数にリストアップされているものが見つかったら異常終了させるというやつです。例えば、80番ポートでhttpを待ち受ける場合、</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Listen 80</div></div>
<p>や</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Listen 192.168.0.1:80</div></div>
<p>などのように書きますが、Apache1.3の頃の癖で</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">Port 80</div></div>
<p>と書いてApacheを起動しようとすると、check13関数によって「それ違うよー」と怒られてしまうんですね。</p>
<h1>頭痛が痛い</h1>
<p>次にstart関数まで読み進めて気がついたのですが、ここで先程のcheck13関数が出てきて、古臭いディレクティブのチェックに引っかかったら異常終了しまｓ・・・あれ？</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">start() {<br />
&nbsp; &nbsp; &nbsp; &nbsp; echo -n $&quot;Starting $prog: &quot;<br />
&nbsp; &nbsp; &nbsp; &nbsp; check13 || exit 1<br />
&nbsp; &nbsp; &nbsp; &nbsp; LANG=$HTTPD_LANG daemon --pidfile=${pidfile} $httpd $OPTIONS<br />
&nbsp; &nbsp; &nbsp; &nbsp; RETVAL=$?<br />
&nbsp; &nbsp; &nbsp; &nbsp; echo<br />
&nbsp; &nbsp; &nbsp; &nbsp; [ $RETVAL = 0 ] &amp;&amp; touch ${lockfile}<br />
&nbsp; &nbsp; &nbsp; &nbsp; return $RETVAL<br />
}</div></div>
<p>check13関数でexit 1してるのに、またexit 1してる！(start関数の3行目に注目。「check13 || exit 1」) なんぞこれwww 頭痛が痛いって言ってるようなものじゃないかwww 「check13で異常終了したら異常終了する」ってドヤ顔で言われてもなあ・・・まるで頭痛が痛いと言われているようなものだw</p>
<p>ここまで読み進めたところでタイムアップとなりましたが、普段気づかない発見があるなど非常に有意義な勉強会となりました。また読書会シリーズをやりたいと思います。</p>
<p><BR><br />
<BR><br />
02:46 2012/04/04 追記<BR><br />
ブログを書いてくださった方々<BR><br />
<BR><br />
<a href="http://hichon.cocolog-nifty.com/blog/2012/03/apache-bc76.html" target="_blank"><br />
[hichonのBlog]<BR></p>
<p>http://hichon.cocolog-nifty.com/blog/2012/03/apache-bc76.html</p>
<p></a></p>
<p><a href="http://d.hatena.ne.jp/kitokitoki/20120331/p2" target="_blank"><br />
[わからん]<BR></p>
<p>http://d.hatena.ne.jp/kitokitoki/20120331/p2</p>
<p></a></p>
<p><a href="http://d.hatena.ne.jp/nsymtksjp/20120323/1332453218" target="_blank"><br />
[Happy Hacking Life]<BR></p>
<p>http://d.hatena.ne.jp/nsymtksjp/20120323/1332453218</p>
<p></a></p>
<div id="wherego_related"> </div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/04/20120331-apachestartscriptreadingcircle.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ペアプログラミング合コン 第1回目無事終了！ #02</title>
		<link>http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-02.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-02.html#comments</comments>
		<pubDate>Sun, 25 Mar 2012 14:00:36 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[ペアプログラミング]]></category>
		<category><![CDATA[勉強会]]></category>
		<category><![CDATA[合コン]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=402</guid>
		<description><![CDATA[みなさんこんにちわ。何のプレッシャーもなく飲める酒がこれほどまでに美味いと思わなかった (っ´∀｀)っ ゃー です。ペアプログラミング合コン 第1回目の続きです。当日の様子はTogetterにまとめられていますが、スタッ [...]]]></description>
			<content:encoded><![CDATA[<p>みなさんこんにちわ。何のプレッシャーもなく飲める酒がこれほどまでに美味いと思わなかった (っ´∀｀)っ ゃー です。<a href="http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-01.html">ペアプログラミング合コン 第1回目</a>の続きです。当日の様子は<a href="http://togetter.com/li/277810">Togetter</a>にまとめられていますが、スタッフ目線でいろいろ書いてみたいと思います。</p>
<p><span id="more-402"></span></p>
<p>当日会場入りしたスタッフは、受付テーブル、座席作成、おやつやソフトドリンクの準備のほか、スタッフ腕章もその場で作成しました(東雲さんありがとう！)。座席はこんな風に、グループ分けしています。</p>
<p><a href="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/001_201203243189_S.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-403" title="001_201203243189_S" src="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/001_201203243189_S-150x150.jpg" alt="" width="150" height="150" /></a><br />
おやつの準備も万端です！ちんじゅうちゃん飴が予想以上に大人気でした！男性参加者の @chihayafuru さんからも、塩羊羹を差し入れていただきました！有難うございます！</p>
<p><a href="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/002_201203243192_S.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-404" title="002_201203243192_S" src="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/002_201203243192_S-150x150.jpg" alt="" width="150" height="150" /></a><br />
本編は前半のプログラミング (30分プログラミング、10分休憩、30分プログラミング) 、休憩 (兼 ワールドカフェとペア入れ替え) 、後半のプログラミング(30分プログラミング、10分休憩、30分プログラミング) を行いました。参加者さんのプライバシーもあるのでプログラミング中の写真は撮影しませんでしたが、ワールドカフェが殊の外盛り上がりましたので写真をお見せしますね。</p>
<p><a href="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/003_201203243193_S.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-407" title="003_201203243193_S" src="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/003_201203243193_S-150x150.jpg" alt="" width="150" height="150" /></a> <a href="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/004_201203243194_S.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-408" title="004_201203243194_S" src="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/004_201203243194_S-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>そうこうしているうちに、プログラムが出来上がったペア、環境構築で終わってしまったペアもいましたが、休憩中も熱心にプログラミングされているカップルがほとんどで非常に有意義でした。</p>
<p>そしてお待ちかねの懇親会。懇親会の時間にあわせてビール到着です。</p>
<p><a href="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/005_201203243197_S.jpg" target="_blank"><img class="alignnone size-thumbnail wp-image-409" title="005_201203243197_S" src="http://nullpopopo.blogcube.info/wp-content/uploads/2012/03/005_201203243197_S-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>懇親会ではペア以外にも参加者やスタッフを交えての交流が深まり、ワールドカフェの続きも行われ、たいへん盛り上がりました。運営については初回ということもあり課題もありましたが、概ね成功だったと思います。</p>
<p>ところで、当日はスタッフとして忙しく動き回っていたので帰ってから気づいたのですが、当日に成立したカップルはいたのでしょうか？また、後日カップルが成立したらこっそり教えていただけると主催者冥利につきるというものです。</p>
<div id="wherego_related"><span style=”color: #FFA500; font-size: medium;”><h3>この記事を読んだ人は、こちらの記事も読んでいます。</h3></span><ul style=”list-style:none;”><li><b><a href="http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-01.html" rel="bookmark"><img src="http://0.gravatar.com/avatar/ee7388e24b6fd7d1a00a0aa60e13286d?s=64&d=&r=G" alt="ペアプログラミング合コン 第1回目無事終了！ #01" title="ペアプログラミング合コン 第1回目無事終了！ #01" width="12" height="12" class="wherego_thumb" /></a> <a href="http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-01.html" rel="bookmark" class="wherego_title">ペアプログラミング合コン 第1回目無事終了！ #01</a></b></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-02.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ペアプログラミング合コン 第1回目無事終了！ #01</title>
		<link>http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-01.html</link>
		<comments>http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-01.html#comments</comments>
		<pubDate>Sun, 25 Mar 2012 13:27:44 +0000</pubDate>
		<dc:creator>(っ´∀｀)っ ゃー</dc:creator>
				<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://nullpopopo.blogcube.info/?p=397</guid>
		<description><![CDATA[みなさんこんにちわ。何のプレッシャーもなく飲める酒がこれほどまでに美味いと思わなかった (っ´∀｀)っ ゃー です。ペアプログラミング合コンの企画段階からスタッフとして参加させていただき、おかげ様で無事第1回目を終えるこ [...]]]></description>
			<content:encoded><![CDATA[<p>みなさんこんにちわ。何のプレッシャーもなく飲める酒がこれほどまでに美味いと思わなかった (っ´∀｀)っ ゃー です。ペアプログラミング合コンの企画段階からスタッフとして参加させていただき、おかげ様で無事第1回目を終えることができましたのでレポートしたいと思います。</p>
<p><span id="more-397"></span><br />
■ きっかけはつぶやきから</p>
<p>主催の <a href="https://twitter.com/#!/happa_no_ko/status/148241831581323265" target="_blank">@happa_no_ko さんのつぶやき</a>がRTでまわってきたので、非常に面白そうでスタッフに加わることにしました。その後、数度の企画会議を行い、2012/03/24に株式会社KDDIウェブコミュニケーションズさんのセミナールームをお借りして実施しました。</p>
<p>■  企画段階のウラ話<br />
どの合コンでもそうだと思いますが、ほとんどのケースにおいて男性参加者の募集は「人数」だけで考えるとそんなに苦労せず、女性参加者の確保に苦労するのは容易に想像できました。特に、顔見知りではなく一般公募のため、詳細が決まってから女性参加者に「え？こんなはずじゃなかった・・・」とガッカリさせてしまっては、企画倒れもいいところです。</p>
<p>今回、ペアプログラミングというスタイルを取ることもあり、</p>
<p>・  女性参加者のスキルセットに男性が合わせる<br />
・  ナビゲーターはできるだけ男性に、ドライバーは女性にやって欲しい (not強制)</p>
<p>という観点で参加者を募集することにしました。ゆえに女性参加者募集が先になりましたが、どれだけ集まるかは、やはり正直不安でした。しかし、意外と定員の20名はそう遅くないタイミングで埋まりました。一方で男性参加者応募のエクストリームっぷりは、想像していましたが20名の枠に対して120名弱の応募があり、こりゃ大変なことになったな・・・と(笑)</p>
<p>■  男性応募者をどうする？</p>
<p>結果として、実は女性参加者の応募管理よりも、男性参加者の選考のほうが苦労しました。当初は先着順にしようかとも思ったのですが、男性参加者のスキルセットがわからないと当日の進行をどうしたらいいかまったく読めず、また、スタッフ以上に女性参加者が不安になります。そこで、女性参加者とのスキルマッチングがやはり必要だということもあり、また、先着順だけではプログラミングができる応募者なのか記念応募者なのか判別できないため、男性参加者のスキルセットを判断する必要が生じました。</p>
<p>このため、スキルセットが判断できるBlogエントリーかGithubのアカウントのどちらかを男性参加者の応募必須条件とさせていただきました。私はbash以外のコードの良し悪しを判断できるスキルがなかったため、選考作業はPHPやRoRに精通しているメンバーが中心に行いました。</p>
<p>ある程度予想はしていましたが、きちんとこちらの趣旨を理解して応募された方は20名近くいるかどうかのギリギリでした。中にはもんのすごくハイスキルだった方もいらっしゃいましたが、開催趣旨に沿うかどうかを最優先とさせていただきました。これは、出来あがりの品質の良し悪しではなく、あくまでペアプログラミングが成立するかどうか、が主となるからですので、ご理解いただければと思います。</p>
<p>とまあ、こんな感じで企画および応募受付を行いまして、当日を迎えるまでは本当にドッキドキでした。おそらくは参加者の皆さんよりもやきもきしていたと思います(笑)。</p>
<p>当日の感想については、<a href="http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-02.html" target="_blank">次のエントリー</a>で。</p>
<div id="wherego_related"><span style=”color: #FFA500; font-size: medium;”><h3>この記事を読んだ人は、こちらの記事も読んでいます。</h3></span><ul style=”list-style:none;”><li><b><a href="http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-02.html" rel="bookmark"><img src="http://0.gravatar.com/avatar/ee7388e24b6fd7d1a00a0aa60e13286d?s=64&d=&r=G" alt="ペアプログラミング合コン 第1回目無事終了！ #02" title="ペアプログラミング合コン 第1回目無事終了！ #02" width="12" height="12" class="wherego_thumb" /></a> <a href="http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-02.html" rel="bookmark" class="wherego_title">ペアプログラミング合コン 第1回目無事終了！ #02</a></b></li></ul></div>]]></content:encoded>
			<wfw:commentRss>http://nullpopopo.blogcube.info/2012/03/20120324_ppcon-01.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

