前回受賞者の資料

 インストールマニアックス2008の受賞者の資料を参考にする。

PORT25
http://port25.technet.com/archive/2009/03/10/japanese-lamp-engineers-visit-redmond.aspx
http://blogs.technet.com/port25j/archive/2009/03/18/3214512.aspx
優勝者 田中氏
http://iis.museum-in-cloud.com/joomla/
# http://museum-in-cloud.com/ ネットショップをなさっている方

ドキュメント賞
http://itmx.kids-beads.com/
http://itmx.kids-beads.com/wordpress/
# http://www.kids-beads.com/ を運営している方かな?

インストールマニアックス2008に当社パートナーの細田様が2位に入賞。
http://mcea.jp/archives/2445

カテゴリー: 開発 | 前回受賞者の資料 はコメントを受け付けていません

インストールマニアックス配布マシン調査

インストールマニアックス2009用の配布マシンの調査メモです。

インストールマニアックスのページ
http://www.thinkit.co.jp/maniax/2009/prize.html

<blockquote>
NEC Express 5800/110Ge + Windows Web Server 2008
CPU: Pentium Dual Core Processor E2160 1.8GHz
RAM: 1GB (ECC付きDDR2-800 SDRAM-DIMM(デュアルチャネル対応)
</blockquote>

NEC Express 5800/110Ge(NEC得選街)
http://club.express.nec.co.jp/store/server/110ge.html
http://club.express.nec.co.jp/store/server/config_110ge_cel.html

NEC Express5800/110Ge のまとめ wiki
http://wiki.nothing.sh/page/NEC%20Express5800%A1%BF110Ge

ということなので、
 * サーバーマシンにしてはメモリが少ない。
 * できれば HDD はもうちょっと欲しいかな。
が気になるところ。
NEC得選街で3万円ちょっと(期間限定では1,5000円位)。
なので、内部調達のコストが10,000円位だと仮定して(もっと低い?)
  10,000 x 500台 = 500万円
Microsoft の Web server のソフトは販売では8万円程度ですが、内部的な価格を考えれば(ライセンス代がほとんどだろうから)トータルで、宣伝費が700万円弱というところでしょうか?
サイトの運営や会場費など諸々あわせて1000万円程度の費用だとすると、コンテスト&宣伝費として妥当なところなんでしょうか?よくわからんけど。

まぁ、提供先として、
 * NEC
 * Microsoft
があるわけですから、impress としては、サーバー系の技術情報の売り込みの相乗効果がある、とみるべきか。

http://www.impressbm.co.jp/news/090401/tetsujin64
http://web-tan.forum.impressrd.jp/n/2009/04/04/5325

前回(第1回)は、正月をまたいでいたのと、人数が100名。そして DELL のマシン。
http://tedia.jp/installmaniax/2008/index.html

今回は5月の連休をまたいで、人数が500名。そして NEC のマシン。
単純に考えれば、NEC は DELL の 5倍投資をしている、と考えられます。

まぁ、どちらかといえば、
 a) NEC サーバーマシンの売り込み(在庫処分も含めて?)
 b) Microsoft の IIS + OSS の組み合わせ情報の増加を期待
 c) Microsoft の Server マシン情報の増加を期待
というところでしょうか。

素直(?)にやれば、linux + apache + oss というのを microsoft の iis 上で動かすわけですから。
サーバ系はノウハウが重要なところが多いから、ハード&ミドルウェア&アプリケーションの組み合わせ無限に広がってしまうから、このあたりが大変なのかも。「かも」というのは私がソフトウェア開発系(いわゆるdeveloper)なので。

カテゴリー: 開発 | インストールマニアックス配布マシン調査 はコメントを受け付けていません

井口昇「わびしゃび」

片腕にガンを仕込む人間と言えば、

1.コブラ
2.タロス(クラッシャージョー)
3.ガッツ(ベルセルク)
4.片腕マシンガール

かな?

youtube の「わびしゃび」
http://www.youtube.com/watch?v=9fQ_ckyxSa0

を見ていると、細野不二彦著「あどりぶシネ倶楽部」を思い出す。林海象も。
ちょっと昨日の夜に「秋刀魚の味」を見ていたので、記憶のメモ代わりに。

カテゴリー: 雑談 | 井口昇「わびしゃび」 はコメントを受け付けていません

Hyper-V 仮想化技術活用ガイド

詳説 Microsoft Windows Server2008 Hyper-V 仮想化技術活用ガイド 
遠山 藤乃 (著)

を読了。

 

最近、テスト/勉強環境のために VMWare Workstation を使っています。
VMWare の中で、Windows Vista、Windows Server 2008 等、諸々の OS を動かしては動かして試しています。
Active Directory なんかは、物理マシンならば数台用意しないといけない訳ですが、仮想環境なら1台でも十分。今まで躊躇していたサーバー系の分野にも手をださなくちゃなぁ(理由は後日)と思い、諸々のサーバーをインストールしては試しては、の繰り返しです。

VMWare の場合、仮想環境を構築するのに3つの方法があります。

a) VMWare Workstation(有償)を使う。
b) VMWare Server(無償)を使う。
c) VMWare Workstation で作成した仮想環境を VMWare Player で使う。

VMWare は ver.3 の頃から使っていて、当時「3万円で仮想環境ができるならば」と使っていた覚えがあるので、なんとなく VMWare Workstation を使っていたのですが(何が違うのか分らなかった)、 VMWare Server ってのが無償で提供されているのを最近知りました。

となると、有償と無償の違いは何?ということになるので、ちょっと検索すると。

仮想化プラットフォーム,VMware WorkstationとVMware Serverの違い
http://itpro.nikkeibp.co.jp/article/COLUMN/20080218/294036/

に詳しい記事がありました。
# 本家 VMWare の説明を読めばいいのだけど、いまいちわからなかったので。

私の気になったところとしては、

* VMWare Server は サービスとして動作する
* VMWare Workstation は複数のスナップショットを取れる

ってところですね。

お試しインストールやアプリケーションの動作環境を調べるためには、スナップショットが必須です。スナップショットは途中状態をバックアップを取っておいて、後で戻せるようにする仕組みです。まぁ、ファイルをまるごと保存しておいてもよいのでしょうが、それだとサイズ大きくなり過ぎるので、差分を取る仕組みがスナップショットには備わっています。

というわけで、使い分けとしては

* 試験環境の構築、開発系の場合は VMWare Workstation
* お試し運用系、安定稼働としては VMWare Server

という使い分けになると思います。

閑話休題……というか前置きが長過ぎ。

さて、鳴り物入りで登場(したハズと思う、去年の春は)した Hyper-V ですが。
まずは、どれくらいのスペックが必要かと言うと、

* CPU は 64bit が必要
* CPU は Inter VT か AMD VT という CPU で仮想化技術をサポートしている CPU が必要。
  安めのデスクトップマシンで試そうと思ったけど Core 2 Quad だと Q9300 以上が必要。
 http://ja.wikipedia.org/wiki/Intel_Core_2
* お試しでもメモリは4GBぐらいは必要か。
* HDD はあるだけあればいいのだが。運用時を考えたとき I/O を分散させるために、
  HDD を複数台用意するのがベター。

という感じみたいです。

# I/O に関しては結構シビアに効いてきそう。
# 最近 media player を使いながら visual studio 2008 を動かしたり(笑)するのですが、
# 同じ HDD 上にある iso ファイルから読み込むよりも、LAN 上の他のマシンにある iso ファイルを
# 読んで表示したほうが快適に動きます。
# このあたりの負荷の話はまた後日。

で、vmware 同様、microsoft の仮想化技術もたくさん種類があって、

* Virtual PC(無償)
* Virtual Server 2005(無償)
* Hyper-V Server(無償)
* Windows Server 2008 の Hyper-V
* Windows Server 2008 の ターミナルサーバー(RemoteApp)
* Microsoft Enterprise Desktop Virtutalization(MED-V)
* Microsoft Application Virtutalization(App-V)

があります(ってのが分りました)。

Virtual PC もそうですが、MED-VもApp-Vも買収ものです。何をしてどう運用するかによってそれぞれの製品の選定がきまってきます。

で、この本を読みながら思ったのですが、24時間のダウンしない運用が求められたり、大量のアクセスが発生するWebサイトを運用したりする場合には、現在の物理サーバーを増やす方式のほうがいのかな、と。あくまで、仮想化は

 * レガシーの環境をひとつの物理マシンにまとめてしまう(物理スペースの節約、電源の節約)
 * ソフトウェア開発時の試験環境/実験環境
 * ネットワーク、ミドルウェアの組み合わせの試験環境
 * おれおれサーバーの持ち歩き(ノートブックへで持ち歩き)

に限って「最初のうちは」使うのがいいのでは?と感じました。
ただしレガシーの移行とはいえ、Windows Server 2008の Hyper-V では Windows NT が動きません。Windows PE での移行にも「メモリを512MBはいる」ということだし。そうなると、逆に「レガシー環境を仮想化へ移行するのは難しい」という本末転倒なことになってしまいます。

ちなみにうちの開発/仮想化/リモート化は、

 * VMWare Workstation で Windows Server 2008 の各種環境をお試し
 * VMware Workstation で Windows XP に Apache 等を入れてお試し
 * サーバーマシン(単にディスプレイのないPC)にリモートデスクトップで入って Visual Studio 2008 を動作させる。
 * これらを、Thinkpad s30 やら vaio type-T からリモートで行う。
 * さらに、notobook pc には 21インチのディスプレイを外部接続して使う。

ってな環境になっています。

実はキッチンで仕事をしているので、流行りの「フリーデスク」と言ってみたり。

カテゴリー: 書籍 | Hyper-V 仮想化技術活用ガイド はコメントを受け付けていません

スキルチャージプログラムを参考にして

Microsoft のスキルチャージプログラムに当たった方がブログを公開しています。
スキルチャージは OSS とは限りませんが、インストールマニアックス2009にかなり参考になるはず。

That’s how I do that.
http://thats-how-i-do-that.spaces.live.com/blog/
 – XOOPS

ほぼ月刊 おきらくなブログ
http://okiraku-blog.spaces.live.com/blog/

皆様の御努力に期待^^; … もとへ、先人の努力を無駄にせず。

カテゴリー: ブログ | スキルチャージプログラムを参考にして はコメントを受け付けていません

Windowsマシンのスクリプト

「日付をつけた連番のファイルを作成する」(今作ったのだが)のようなツールを作ろうとすると、わざわざC#とかC言語で書くのは面倒/大袈裟なので、スクリプトを使う、と思う多分。

日頃、C#やVB.NETを使っていると、このあたり忘れてしまうわけですが。果たして、構築し直した vaio type-T(ドライブが40GBしかないのが辛いところ…)では、Visual Studio 2008 は入れたものの、スクリプト言語は入れていない。はてどうしたものか。

私の馴染みなスクリプト言語と言えば、perl な訳ですが、先ほどのツールを作るために activeperl をダウンロードして、というのは面倒なので、やっぱり windows マシンならば vbscript というところでしょう。という訳で作ってみました。。。何故か 30 分近くも掛ってしまった。。。忘れているからねぇ。
できたソースはこんな感じ

‘==============================================================
‘ 連番でテキストファイルを作成するスクリプト
‘==============================================================

dim fso  ‘ファイルオブジェクト
dim folder  ‘作成先のフォルダ名
dim file  ‘作成するファイル名
dim n       ‘本日

‘==============================================================
‘定数
‘==============================================================
folder = “c:\work\blog\memo\”

set fso = WScript.CreateObject(“Scripting.FileSystemObject”)
‘日付を取得
n = now
file = Year(n) & Right(“00” & Month(n),2)  & Right(“00” & Day(n), 2 )

‘ファイルの新規作成
for i = 1 to 99
 f = folder & file & “_” & right(“00” & i, 2 ) & “.txt”
 if fso.FileExists( f ) = false then
  set ofile = fso.OpenTextFile( f, 2, true )
  ‘ofile.WriteBlankLines(1) ‘ひとつだけ空行を作る
  ofile.Close
  exit for
 end if
next

さて、ソースコードの話はどうでもいいわけですが、今回のような軽いスクリプトを作るときに何がいいのかなぁと思うと、

 * perl
 * ruby
 * phython(←使ったことはない)
 * vbscript

ぐらいが候補ですかねぇ。最近は PHP のスクリプトもあります。

perl, ruby, 多分 phython は正規表現が楽なので、テキストを検索してなんとかするというのがお得意。フォーマットをヒアドキュメントで書いて、それに埋め込んでいくというのはお手のものです。ヒアドキュメントというのは、perl のソースコードにドキュメント部分と変数部分を埋め込む方法で、asp.net や jsp に似ています。というか、asp,net や jsp が perl 等のヒアドキュメントに似ています。

具体的には、

print << EOF
名前: $name
住所: $address
EOF

な感じで詳細は、↓なぞを参照してください。

CGI-Perl 基礎実地編 – 実習3 (ヒアドキュメント)
http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/pe_kj03.htm

vbscript でヒアドキュメントをやることも可能は可能なんですが、perl 等ほどには手軽ではありません。

閑話休題。

スクリプト言語は、それぞれ特徴があって手に馴染むもの/馴染まないものがあり、私は大学の頃に fortran と perl を組み合わせていたために、ruby に手が出ておりません。先ほどのようなオブジェクト指向を使わない、簡単なツールであればさほど言語は問いません。

いえ「言語を問いません」と言いましたが、実は「問います」。というのも、この vaio type-T。さらの状態にしてしまったので、標準で付いているスクリプト言語以外は使えないわけで、となると、候補としては、

* vbscript
* javascript
* C#
* Visual Basic .NET

実は Windows XP3 や Vista のマシンでは既に .NET Framework が(勝手に)導入されており、実は環境変数を設定すれば Visual C# Express Edition を入れなくてもコンパイルができます。当然実行もできます。

具体的には

 1. C:\Windows\Microsoft.NET\Framework のフォルダを調べる。
 2. ↓のようなフォルダがあれば、
2009/04/13  19:00    <DIR>          v1.0.3705
2006/11/02  20:18    <DIR>          v1.1.4322
2009/04/14  19:24    <DIR>          v2.0.50727
2006/11/02  21:41    <DIR>          v3.0
2009/04/14  15:59    <DIR>          v3.5
 3. それぞれのフォルダに以下があればコンパイルできる。
  – csc.exe   C#のコンパイラ
  – vbc.exe   vb.net のコンパイラ

これは windows xp, vista の場合ですが、windows server 2008 の場合は条件がきつくなっていて、IIS や SQL Server 等が入っていないと、wscript.exe/cscript.exe しかありません。
# windows server 2008 の「core インストール」の場合は、.net framework が入らないので
# ありませんが。

つまり、手元で開発をするとか社内マシンの場合は perl やら ruby やらを入れてもよいわけですが、

 * 客先の運用マシン
 * 客先の運用サーバー
 * 社内でもサーバーの類

なんかは、このあたり「勝手に」何かソフトウェアを入れることを許されない。じゃあ、面倒な作業は手作業にするのかと言われれば、面倒だなぁが(私は)先に立ってしまうわけで。となると、適度に vbscript ぐらいは使えたほうがいいよね。という感触を持っているのですがどうでしょう?
# もともと、そういう方針で作られた訳なんですが。

そうそう、客先の環境にExcelが入っていれば、VBAで作るってのもあり。

カテゴリー: 開発 | Windowsマシンのスクリプト はコメントを受け付けていません

インストールマニアックス2009

就職活動の裏側で、
 * 就職活動の足しになるかなぁ
 * Windows Server 2008 64bit を試す環境が欲しいなぁ
という(不埒な)思いで、
インストールマニアックス2009へ応募。
http://www.thinkit.co.jp/maniax/2009/

参加者(抽選で500名)には、サーバーとOS一式がプレゼントされるわけですから、手を出さない訳にいかない、かな。

まぁ、私の場合本職がプログラマな訳ですから、巷のシステムエンジニアの方に遠く及ばないハズ。ハズ。ハズ。
というわけで、(抽選に当たったら)腕試し。

Windows+IIS ということなので、IIS 7.0のインストールは↓の虎の巻を参考にすると良いかも。

Microsoft スキルチャージ プログラム「Web サーバー導入 Kit」
http://www.microsoft.com/japan/powerpro/skillcharge/default.mspx

画像がないで辛いという人は、日経BPソフトプレスの「ひと目でわかる IIS 7.0」を購入するのもありかと。
http://www.amazon.co.jp/dp/4891006129
あと、インストールマニアックスでは OSS を入れることになるので、PHP が必須かな。虎の巻にもありますが、

PHP利用者向けの情報サイトPHP on IIS
http://www.microsoft.com/japan/opensource/php/default.mspx

を参考にするとベター。

PHP on Windows
http://phponwindows.net/default.aspx

を見ると PukiWiki や XOOPS のインストール手順なんかが載ってます。

それにデータベースは OSS ということで、MySQL か PostgreSQL なのかな?

MySQL の場合は、
MySQL 5.1 リファレンスマニュアルの「2.3. Windows に MySQL をインストールする」あたりかな?
http://dev.mysql.com/doc/refman/5.1/ja/windows-installation.html

PostgreSQL は、
PostgreSQL インストール
http://www.db.is.kyushu-u.ac.jp/rinkou/postgresinstall/postgres.html#windows

がいいのかな?このあたりは実際にやってみないと分からない。
基本は、自宅サーバにOSSをインストールして公開という流れになるので、

 * Windows Server 2008 のインストール
 * IIS 7.0 のインストール
 * ASP.NET 2.0 のインストール(ASP.NET の OSS 用)
 * PHP on Windows のインストール
 * MySQL のインストール
 * (PostgreSQLのインストール)
 * この後に、各種 OSS のインストール

という作業手順になると思う。

各種 OSS へアクセスする場合は、
 * フォルダを切り替える(URLが異なる)
 * ポートが異なる(ポートを指定)

という方式になるが、PukiWiki や blog 系はフォルダを切り替えて、URL で指定するほうが楽だと思う。
EC や CMS はよく分からない。ポートを切り替えて、他のコンテンツの干渉を抑えたほうがいいのかな?、ただ、ポートを切り替えたときにルータの設定を変えないといけないので、業務的には面倒なことが多いが、まぁ、家庭用の場合は適当なポートを一括であける(8000から9000までとか)、あるいは(あまり良くないんだが)全ポートを空けてしまうというのもいいかと。←このあたり、ネットワークを専門にしているSEの方には言語道断!かもしれないのですが、ご容赦を。

カテゴリー: 開発 | インストールマニアックス2009 はコメントを受け付けていません

ソフトウェアは工業製品ではない

ブログを書かなくなって2年程経つので、書き方、というかペースを忘れてしまった。
就職活動で家に居ることも多い(出るのは昼食と喫茶店ぐらいか 苦笑)ので、何か毎日書き込むようにしよう。

家に居るとネットサーフィン(死語か?)を過ごしている時間が長くなり過ぎるので時間を制限している。あるいは目的を絞って探し物をしている。

そんな中で、インストールマニアックス2009 繋がりで、

「ソフトウェアは工業製品ではない」、Rubyのまつもと氏が講演
http://www.atmarkit.co.jp/news/200904/10/matz.html

なところにたどり着いた。

「ビューティフルコード」を読んだことはないのだけど『コード(ソフトウェア)を書くというのは、組み立てのことではなく、製造業でいう「設計」に相当するという。』は同意。多くの人が言っていることだけど、ソフトウェア開発は製造業界に属するけれど(株式的には通信業となる)、「製造」よりも「設計」が主な仕事になる。

これは「ブラック会社に勤めてるんだが、もう俺は限界かもしれない」で出てくる「設計」してから「製造(コーディング)」という流れを見ると業界外の人にも分かる、、、かもしれない。

または、昨今流行であるオフショア開発も
・日本で設計(詳細設計まで作成)
・中国で製造(詳細設計を元にコーディング)
という流れで、詳細設計とコーディングの間に伝達する情報が整理されてまとめられている、という点を見ると「設計」と「製造」が工程として分かれているのが分かる、、、と思う。

さて、まつもとひろゆき氏の言う「ソフトウェア」のところを、敢えて曲解すれば、いわゆるIT会社(SIerと呼ばれるものも含めると)

・システム構築を主たる仕事とするSE(システムエンジニア)
・ソフトウェア開発を主たる仕事とするPG(プログラマ)

という分類が(就職斡旋やIT派遣)には存在している。実際、各会社の中でこれらが部門(SEのほうはネットワーク部門、あるいは営業も含んでいたりする)に分けられていることが多い。また、単価(人月)という形でひとりあたり(属人性のない)の金額が決まっている。これは当然のようにプログラマのほうが安い。

# 余談だが、IT派遣の単価を見るとフリーSEとPGではほぼ同じ程度、むしろフリーSEのほうが単価が安かったりする。

という分類を踏まえていると、情報の伝達の仕方が

顧客→営業→システムエンジニア→プログラマ

となっている場合、顧客や営業から見ると、プログラマは

・如何に安くコードを製造してくれるか?
・如何に迅速にコードを提供してくれるか?

なことを要望されるので、そうなるとこれは自動車産業でいう製造工程に見えなくもない。というか、システムエンジニアや営業が行うプレゼンテーションやシステム設計の作業までは見えるだろうけど、設計(ソフトウェア設計と呼ぶ?)やコードを書いているプログラマの作業は、まさしく「製造」=「マシン」に見えなくもない。

まあ、実際オフショア開発になってしまうと、まさしくコーディング=製造ということになるんだが。
なので、ソフトウェア開発が「設計」かどうかは別として、「設計」と「製造」の定義をソフトウェア開発のために見直すか(新しい用語を作るか)、他の業界と比較がしやすいように(誤解込みで)用語をそのまま受け入れるというのがいいじゃないかな。
因みに今の私は後者のほうがいいと思っている。他の業界のノウハウ(建築業界の工程表とか、自動車業界のモックアップの概念とか)が流用できるので、下手に独自な概念を持ち出すよりもうまくマッチングさせていく方がよい。
そう、町工場のモデルを参考にするといいと思うだが。長くなったので、この話は後日。

カテゴリー: 開発 | ソフトウェアは工業製品ではない はコメントを受け付けていません

ブログを再開

密か・・・でもなく、ブログを再開します。

就職活動も含めて、IT技術者としてのメモ書きとおすそ分けを綴る予定。

カテゴリー: ブログ | ブログを再開 はコメントを受け付けていません