197x特別企画10年泥シリーズ リアル泥にまみれた現場な人たちと学生との交流会

時間をたっぷりとるのはいいんだけど、学生との討論会を2セットやるよりも、
もう1セットは、SI業界の重鎮との討論会のほうが面白いと思うんですが、
みなさんの意見をお聞かせください。

http://d.hatena.ne.jp/higayasuo/20080623/1214197466

実は1セット目はアルファギーク枠なんですが、
しかし2セット目は197x枠で企画をもちかけてました。

というわけで197xグループで「日本のSI業界のリアル現場な人たちと学生との交流会」をやる予定です。
そう、ひがさんとほぼ同時期に197xグループでも技術評論社さんに企画を持ち込んでたりするんです。
技術評論社さま、ありがとうございます。

それもほぼ予想通り、アルファギークたちが理想論ポジティブな未来をしゃべってた後に
日本のSI業界のリアルな開発の現場はどうなってんだい?ほんとのところどうなってんの?というのを
生々しく語りますよ。弾言してもいいけど、自重ゼロの大人しか揃えませんwww


あと、おいらが今ちょうど30なんですけど、たぶん大学生の頃って30くらいになったら
どういうモノがみえるんだろうって少なからず考えると思うんですよ。
(30になれば、ちょっとは・・・みたいなのって自分も思ってたわけだし。)


だからそういう人たちに、197xとか198xの人たちくらいを中心に、
じゃあ今どういう感じなのよってのを知ってもらえたらいいなあと思ってます。
アルファギークが伝えるイメージメッセージだけじゃなくって、
他にも日本のSI業界で頑張っている人たちの声ってのも聞いてみる価値あるよってのがそもそもの企画の原点です。

SI業界って今かなりマイナスイメージあるかもしれないけど開発の現場も悪くないですよって
感じになると予想してるんだけど、ホントのところ何が出るかはお楽しみということで。


キャストも着々と準備してますよ。まだ全く確定はしてないけども。
それもSI業界の中でもそれぞれ役割・職種によって見え方も見える風景も大分違うので、
いろいろな役割の人を議論に巻き込めたら、すごく面白いんじゃないかと思ってます。
この部分だけで、結構オモシロイ試みだと思う。
例えばコンサルとプログラマとか全然見え方も違うし、考え方も違う。
でもその違いに面白さがあるし、それぞれのやりがいの差みたいなものもあるんじゃないかと
自分は思ってます。なので、学生さん含めてそういう面白い話ができたらいいなあと思ってます。


というわけでリアル現場な人とこちらの第2部の徹底討論もご期待ください^^


(ごーざ先生の方の宣伝)


(追記)
議論という形よりもむしろ交流して、もっと良く知ってもらおうという意味合いが
そもそもの企画に近いので名前変更しました。

他にもエントリ書くため、続きを読むにしてみました。

(追記2)
はてぶから突っ込まれました。ちょっと理想論という言い方がよくなかったようです。すいません。訂正します。
それよりはポジティブな未来というかそういうのを語ってくれるかなと想定しています。
で、197xで持ち込んでいる企画はそういうのではなく泥臭い感じの現場の清濁を伝えるっていうのを
テーマに考えていたので、そことの対比が出来ればなあと考えてます。

(追記3)

どれも架空のものではないリアルな現場です。人によってリアルな現場は違うのです。

http://d.hatena.ne.jp/higayasuo/20080624/1214284047

ひがさんの言うとおりです。
自分のリアルという言葉と使い方がよくなかったので、削除します。
この点について、申し訳ありませんでした。
miyagawaさん、ひがさん含め指摘してくださった方々・関係各位ありがとうございました。

Django本発売 -ちょっくら昼休みに書店にダッシュしてくる!-



Django本が遂に発売された!
ちょっくら昼休みに5千円札にぎりしめて、書店にダッシュしてくる!

続続続生産性の幻想

Twitterでつっこみを頂いた。Thanksです。

生産性をある一定の基準に基づいて計測した上で、ボトルネックを明らかにし、それを改善する事で、
それを向上させる事が可能。

http://twitter.com/ryushi/statuses/842061543

つまり、どの様なパラメータで、生産性を計測したのかを明らかにせず、生産性が向上します。はアリエナイ。

http://twitter.com/ryushi/statuses/842062273

ここまで、書けば分かると思うけど、「生産性の向上」ってパフォチューなんよ。

http://twitter.com/ryushi/statuses/842063282


つまり、生産性は自分が良く知ったコンテキスト上で同一の計測物なら計測できるということですかね。
全く異なるコンテキストや背景上ではなく、自分が見知った環境下で人的リソースも同じならば
それは確かに出来るような気がします。例えばあるシステムの旧バージョンと新バージョンでの生産性の違いといった
例が最も顕著に測定できるってことなのかな。その場合はパフォチューという言い方もたしかにできるかもしれない。

妄想その7 -FileUpload-


前回AMF通信をやれるところまで説明したので、続いてはFileUploadです。
FileUploadは軟弱にcommon-fileupload、commons-ioを使ってます。


もちろんFilterベースでの実現なので、このあたりはMyFacesあたりを参考にしつつ、
やってみました。


まずはjspはというと、

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>アップロードサンプル</title>
</head>
<body>
<form action="samples/upload" method="post" enctype="multipart/form-data">
	<input type="file" name="aaa" />
	<br />
	<span>${fileUploadResult}</span><br />
	<input type="submit" name="upload" value="1つだけファイルアップロード"/>
</form>
</body>
</html>


シンプルにfileをひとつアップロードするだけの画面です。
続いて、対応するPOJO(Page)クラスとしては、以下のようなものを準備。

@Page("upload")
public class UploadPage {

	@Default
	public Navigation index() {
		return Forward.to("/jsp/upload.jsp");
	}

	/**
	 * @param file
	 * @param request
	 * @return
	 */
	@POST
	@ActionParam
	public Navigation upload(UploadFile file, HttpServletRequest request) {
		System.out.println("file:" + file.getName());
		System.out.println("size:" + file.getSize());
		System.out.println("contentType:" + file.getContentType());
		request.setAttribute("fileUploadResult", file.getName()
				+ " is uploaded.");
		return Forward.to("/jsp/upload.jsp");
	}
}


これでUploadFileが引数でわたってきます。
しかしこれだと複数の場合に対応できないので、複数の場合は引数を配列にしてあげます。

	@POST
	@ActionParam
	public Navigation upload2(UploadFile[] files, HttpServletRequest request) {
		StringBuilder builder = new StringBuilder();
		for (UploadFile file : files) {
			System.out.println("file:" + file.getName());
			System.out.println("size:" + file.getSize());
			System.out.println("contentType:" + file.getContentType());
			builder.append(file.getName());
			builder.append(", ");
		}
		builder.setLength(builder.length() - 2);
		request.setAttribute("fileUploadResult", builder.toString()
				+ " is uploaded.");
		return Forward.to("/jsp/upload.jsp");
	}


引数アノテーションをつけるかで悩んでたのですが、型である程度の明示性が示せれているので
デフォルトではつけなくてもいいかなと思っています。(一応@Uploadを準備してます。)


次回はSilverlightと通信させてみる、になるはずです。