Tweet
miyakeです。今日は、近頃話題のオープンソースなシステム自動管理ツール「Puppet」の小ネタをご紹介します。 今回使用した環境ですが、とりあえず試してみようという感じで、CentOS5.0(x86_64)にDAGリポジトリから0.22.4をインストールしています。現時点でのstable版は0.23.2なのでやや古く、設定や機能も変わっているため、本エントリの内容が合致しない場合もあるかと思いますがご容赦ください。 インストールや基本的な設定は、gihyo.jpにてペパボCTOのmizzyさんが執筆されている連載が大変詳しいので、そちらをご覧ください。 連載:オープンソースなシステム自動管理ツール Puppet|gihyo.jp puppet wiki (パペウィキ) Puppet公式 本エントリでは、そうして試したみたところ僕自身が引っ掛かった部分などをご紹介します。 単にpu...
Tweet
こんにちは、miyakeです。早く書くつもりだったのに前回からずいぶんと時間が空いてしまいました。今日は前回構築したPXEブート環境を用いて、いよいよOSの自動インストールに取りかかります。 ■前回のフォロー まず初めに、前回の内容について追加です。前回の手順でうまくインストールできなかったという情報がありましたので、ご紹介させて頂きます。 zuzara : CentOS5をネットワークブートからインストールする(ウノウラボの記事に補足) next-serverの指定をしないとインストール出来なかったという事例が紹介されています。前回の内容でうまく動かなかった方は、/etc/dhcpd.confへの追加設定を、 filename "pxelinux.0"; next-server 192.168.10.10; のようにしてみてください。next-serverに指定す...
Tweet
miyakeです。今回は近頃流行りの、サーバの自動インストール方法をご紹介します。 1エントリにまとめるには内容が多かったので、2回に渡って書きたいと思います。ひとまず今日のところは「ネットワークブートから手動インストール」までです。 自動化の部分を期待された方は申し訳ありませんが、次回のエントリをお待ちください(普段より早めに書きたいとは思います)。 ウノウラボでは「 ベンチャー流サーバ構築のススメ(ソフトウェア編)」と題して、OSをインストールではなくコピーする方法をご紹介しています。両者を簡単に比較してみると、それぞれ以下のような特徴があります。 ■OSコピーのメリット 新サーバの環境構築の手間がほとんどない 最低限、IPアドレスの設定だけ変更すればすぐに実践投入できます。 完全に同じ構成のサーバを用意出来る 当然ながら、インストールされたパッケージだけ...
Tweet
miyakeです。皆さんドキュメントはしっかり書いていますか? 近頃のWeb界隈では、詳細仕様書的なものは作らずにスピーディーに開発を進めるケースも多いかも知れません。ドキュメント作成のコストは小さくありませんし、内容を最新に保つのも一苦労です。とは言え、複数の人間が関わるプロジェクトにはER図はあると嬉しいなと個人的には思います。 今日はそんなER図をブラウザ上で作成するアプリケーション「WWW SQL Designer」をご紹介します。 以下のスクリーンショットは、このアプリを実際に触って試せるlive DEMOのものです。 WWW SQL Designer posted by (C)フォト蔵 上部のメニューからテーブルやカラムを作ったり消したりして、テーブルをドラッグアンドドロップで配置、リレーションを同じくドラッグアンドドロップで設定、というのがおおまかな作業の流れになります。まず...
Tweet
miyakeです。突然ですが、CSSって書くの面倒ですよね。何らかのプログラミング言語を知っている人間から見ると、CSSというのは言語としてはかなり貧弱です。 もちろんCSSはプログラミング言語では無いので、それを貧弱だと言われてもCSSもいい迷惑かも知れません。でも、 div#content { ~ } div#content div.entry { ~ } div#content div.entry p { ~ } div#content div.entry ul { ~ } こういう大したことをしていないのに、コードがどんどん長くなっていくのを見ると、もう少し何とかならないものかと思ってしまいます。 コピペするにしても、 コピー元にカーソルを移動 範囲選択してコピー コピー先にカーソルを移動 ペースト という操作が必要になります。数が増えてくるとコピペのミスも発生しかねません...
Tweet
miyakeです。Webアプリケーションにおけるユーザーインタフェースの代表格と言えばフォーム。今日はそんなフォームのUIを作るに当たって、普段自分が心掛けていることをつらつらとご紹介します。 ■チェックボックスやラジオボタンはfieldset,label要素でくくる チェックボックスやラジオボタンには一般的にその内容を表すテキスト(ラベル)が付けられますが、input要素だけでマークアップした場合、チェックボックス(ラジオボタン)の部分しかクリックすることができません。 label要素を用いることで、ラベルの部分をクリックしてフォームを操作することが可能になります。これは是非設定しておきましょう。 ラベルをクリックできると思って期待を裏切られると、かなりのストレスになりかねません。 また、そのチェックボックスやラジオボタンのグループをfieldset要素で囲んでおくことをお勧めします。マ...
Tweet
miyakeです。 php4のサポート打ち切りが発表されて様々な物議を醸している今日この頃、皆様いかがお過ごしでしょうか。 今日はphpでURLルーティングをしてくれるPEARライブラリ、Net_URL_Mapperをご紹介します。 このNet_URL_Mapperはphp5専用となっており、残念ながらphp4では動作しません。また、公式ドキュメントが英語版すら用意されておらず、Web上にもほとんど資料がなく手探りで使うような状況です。 そんなNet_URL_Mapperですが、個人的にはなかなか重宝しているので、少しでも使う人が増えてくれればいいな、ということで基本的な使い方をまとめてみました。 では、早速コードを見てみましょう。 // $path = 'blog/view/123'; $router = Net_URL_Mapper::getInstance(); $router->c...
Tweet
こんにちは。先日入社しましたmiyakeと申します。新入りです。 今日はSmartyでRuby on Rails的なレイアウトテンプレート機能を実現するTipsをご紹介します。 まず、そもそもRailsのレイアウトテンプレートとはどんな物なのか、簡単に解説します。 Smartyに限らず、何らかのテンプレートエンジンでページを出力する場合、ヘッダやフッタといった共通部分を別ファイルに切り分けるというのはよくあるアプローチです。 この場合、そのページのテンプレートファイルに加えて、ヘッダとフッタのテンプレートを別途用意します。 これに対して、レイアウトテンプレートはそのページのテンプレートと「土台になるテンプレート(=レイアウトテンプレート)」でページを出力します。 実際のHTMLに照らし合わせて図にすると、こんなイメージです。 レイアウトテンプレートのイメージ posted by (C)フォ...