いや、ライブというのは言い過ぎで(笑)、単に来週バーベキューのときに生演奏しようかということで話をしていただけなのですが。
昨日深夜(1時って・・・)、同期の友人からスタジオ借りて練習しようか、というお誘いがあったので、行ってみました。ドラムやらなにやら置いてあってちょっと狭いかなと思いましたが、譜面台もタダで貸してもらえて、良いもんだなと思いました。思う存分練習しましたが、まだまだ下手なので手が痛いです~。
時間までマクド(関西風)でプログラミングってたのですが、お茶の水はみんな楽器持ってるんじゃないかというくらい楽器持ち歩き率が高いのですね。2時間いて、隣に座る何組かの人たちは必ず楽器を持っているか音楽の話をするかしていました。
うん、御茶ノ水いい。
ライブに向けて一五一会練習
明日は発表
明日は某グループ会社内コミュニティにてテスト駆動開発をテーマに発表します。
持ち時間25分はなかなか長いなと思って、資料もそれなりに作ったのですが、いざ通しで読んでみると時間オーバー。
ということで、昨日から話す内容を削っていっているのですが、削っても削っても時間が変わらない・・・。なぜ?の嵐
寝る前にもう一練習だな~
Seasar Conference 2006 Spring 終了
自分の未熟さを感じながらも、熱いコミュニケーションに感動した一日でした。
コミッタの皆さんも、使っていただいている皆さんも、本当にすごいな~
さて、気づいたこと・知ったことを忘れずに。
■サンプル重要
やはり、動くサンプルがないと、はまった時のより所がないということで、サンプルをぜひとも作っていきたいと思います。
■全ページへの適用のためのAOP
ちょっと前に、Page ← CustomBasePage ← 個別ページの話を書きましたが、AOPであれば継承忘れもなくなるのではないか。ここはちょっと試してみたいと思います。
■Clover.NET
http://www.cenqua.com/clover.net/
ブースでは落ち着いて見られませんでしたが、終わった後の居酒屋で見せていただき、よさそうだなと思いました。
そこでの話で、「几帳面な人にテストコードを書いてもらったらものすごい量になった」という話があって、カバレッジツールがあると必要最小限のテストになるのでは、なんていう笑い話をしていたわけですが、逆にテストが足りない状況で最低限のゴールを示すことができるということで活用できるとよいなと思います。
■メモ!!
色々聞きながら「やばい、メモ取らないと覚えきれない」と思っていたのですが、やはり結構忘れてしまっています。ちゃんとメモ!
クリティカルチェーン
GW最終日は雨のため外出もせず、クリティカルチェーン一気読みで終わりました。
クリティカルチェーン―なぜ、プロジェクトは予定どおりに進まないのか? E・ゴールドラット 三本木 亮
おすすめ平均 改革の臨場感があります
小説として十分に楽しめる
3冊読んで理解済みの方には不要です
どんな職種の人でもうなずける1冊
大変重要な分野だがまどろっこしい Amazonで詳しく見るby G-Tools <p> TOCをどうシステム開発に適用するか、ということを考えていたわけですが、クリティカルチェーンがまさにプロジェクト管理を題材にしていたんですね。是非内容共有したいですが、少なくともザ・ゴールくらいは読んでいないと、いきなりこれを読んでも敷居が高そうなのが残念。<br /> それにしても、やはりこれも色々考えさせられます。<br /> ・たいていの人は自分がどう評価されるかによって行動する<br /> ・PG進捗管理はその期限までに完了したPG本数/完了されているべきPGの本数で管理される<br /> →(書きませんが、ありがちですよね・・・)<br /> クリティカルパスで管理←そもそも、クリティカルパスを認識できる管理ができているか。WBSというけれどもPERT図にできないレベルではブレークダウンとは言えない??<br /> さて、下請け業者との関係でwin-winにならないと本当の解決になっていないというところは一つの山場だと思います。下請け業者は早く終わらせても遅くなっても何の損得もないというところです。ここで、人月の問題にも入ってほしかった。そして、その視点からは、下請け業者だけでなく、従業員とのwin-winも問題になってくると思われるわけです。会社の業績が上がっても、ボーナスが100万円上がるという人はそんなにいないと思います。そして、多くの人が残業代を100万円以上もらっているとしたら・・・。<br /> 納期短縮でお客様も喜ぶ、会社の利益も向上する、そして、従業員も・・・ここが大事なんだよな~ </p>
Tuigwaa、Ruby on Rails、そして・・・
そろそろ、GWも締めに入らないと。
昨日は、Tuigwaa、今日はRuby on Railsを簡単に動かしてみています。
■Tuigwaa
http://tuigwaa.sandbox.seasar.org/
インストールは、ダウンロードファイル内のINSTALL.txtよりも、
http://tuigwaa.sandbox.seasar.org/start/quickstart_single.htmlを参考にしたほうがよさそうです。
データベースを作りながら画面入力方式を定義しているというあたりが「ユーザ主導型」の理念のための基本コンセプトでしょうか。
色々やってみたいのですが、来週14日に期待。
■Ruby on Rails
満足せる豚。眠たげなポチ。さんを参考にInstant Railsをインストール。
これは簡単!(IISはいったん停止しましょう)
そして、task*pad.jp Imitation with Ruby on Railsさんをベースに10分間で作るRailsアプリケーションをInstant Rails環境で試すさんを参考にしながら、ちょっといじってみました。
作業は、Iアイコン > Rails Applications > Opne Ruby Console windowで起動するコンソールから。
rails Taskで、Taskフォルダ以下の階層が作られます。
次のDB設定は、Instant Rails ではMySQLなので、変更せずそのまま。
※ここで注目は、development・test・productionの三構成が作られているというところ。参考になります。
で、DBを作るのは、Iアイコン > Configure > Database ( via phpMyAdmin )のWeb画面から。
作り終わったらコンソールに戻り、cd Taskの後、ruby script/generate model task、ruby script/generate controller task。
とりあえず、これでできているようなので、Iアイコン > RailsApplication > Manage Rails Applicationで、Taskにチェックしてstart with WEBrick後ブラウザでhttp://127.0.0.1:3000/Task表示。
動いているようですが「Unknown action」なので、app\controllers\task_controller.rbにscaffold :taskを追記すると、見事「Listing tasks」と表示されました。
後は、書いてある通りに書いていけばよいですが(ちょっと時間の部分のテーブルレイアウトを間違えたかもで、一部動きがおかしくなってしまいましたが・・・)、ちょっとづつエラーも出しながら書いていけば、Railsが何をやってくれているかの雰囲気がわかってよいと思います。
データ追加のメソッドで
星野リゾートのやり方
もう2ヶ月くらい前になると思いますが、軽井沢にスノボに行った帰り、温泉に行こうということになって、あちこちに看板の出てた温泉を目指していったのですが、途中でちょっとよさそうな所があり、ここでもいいか、と入ったら結構当たり!広い浴場と、露天風呂もあり、値段も最初目指したところより安いし、雰囲気もなかなかで、「いや~また来たいね」なんて言いながら帰ってきました。
さて、今、上司から「日経情報ストラテジー」を借りて読んでます。
特集1は「改革を成功させるファシリテーション」ということで、冒頭で取り上げられているのが星野リゾートのやり方です。社員が「自分たちが本当にこうなりたい」という像を描けるようにするための場を提供するのが星野リゾートの役割ということで、これはまさにファシリテーションだねということです。
今回のガツンと来た一言は、場作りの際に明確にすべき目標は「収益性向上」とか「売り上げ増加」とかではなく「お客様に喜んでもらえるサービスの提供」だということ、なぜならスタッフが仕事の楽しさを味わうのは自分のサービスを喜んでもらえたときであり、目標は人が基本的な性質において素直に共感できるものであるべきだから、ということ。
とかく、上からの目標は数値中心であり、自分もだんだん上の気持ちを分かろうとする気持ちが強くなっているような気がしますが、もう一度原点に返るのも必要だなと思ってます。日々の改善も、まずいところを直そうという方向が多いのは仕方がないかもしれませんが、小さな喜びを大きくするような改善もしていけるとよいなぁ(そもそも喜びを感じられているのか、という大問題を退治しないといけないかもしれませんが)。
ところで、記事の中で星野リゾートは軽井沢で旅館のようなものをやっているようなことが書いてあり、ふと「そう言えばあの温泉、星野なんとかだったっけ」と思って調べてみたら、やはり星野リゾート経営でした。
星野温泉 トンボの湯
ちょっと写真の撮り方うますぎの気もしないでもないですが、こんな雰囲気は味わえます。
ASP.NET2.0 テーマの動的変更
ASP.NET2.0のテーマを今更試してみようとしたら軽く一はまり。
Web ページの表示デザイン(テーマ)を動的に変更する方法
http://thesource.ofallevil.com/japan/msdn/asp.net/tips/Theme2/default.aspx
ASP.NET 2.0 での Web アプリケーション テーマの作成
http://www.microsoft.com/japan/msdn/vs05/aspnet/themes.asp
この辺の情報が参考になるのですが、マスターページを使っている場合はこのままではダメで、
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
‘Request コレクションを使用しているのは、
PreInit イベントがページ実行ライフサイクルにおいて初期に発生するので、dropTheme DropDownList コントロールのプロパティを使用できないためです。
Page.Theme = Request(“ctl00$ContentPlaceHolder1$ListBoxTheme”)
End Sub みたいになります。
手っ取り早いのはHTMLのソースでnameを確認することですね。
で、次に問題は、どうやってそれを全ページに適用するか。
theme プロパティは、Page PreInit イベントの前、またはその中でのみ設定可能なのですが、なんと、マスターページにはPage_PreInitがないのですね。
中の技術日誌ブログさんでもちょっと前に書かれていましたが、結局
Page ← CustomBasePage ← 個別ページ
の構造にするしかないのかなという感じです。
で、CustomBasePageで
Private Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreInit
If Not Request.
確認
現実主義に目覚めよ、日本!~グローバル・スタンダードの罠に陥るな!~より
「・・・会計のときでも、顧客に確認させて『これで間違いありませんか』という。そんなことは店員の仕事のはずだ。顧客への確認などいらない。」
グサッと来る人と来ない人といるんでしょうね。
休日
今日は、新ブラ、錦ブラ、カフェプロ。まずまず。
(訳)
今日は、新宿をブラブラし、その後錦糸町でオリナスなどをブラブラ。
靴がほしくて、OSHMAN’Sで惜しいのがあったのですが、サイズが合わず残念でした。
オリナスはなかなか盛り上がってますね。
津田沼に戻って、カフェ(と言っても、駅中のベッカーズですが)で軽く趣味のプログラム作成。
津田沼ベッカーズは、背後を取られない席が多く、勉強とかもしやすい感じでなかなかよいと思っています。(ってお店にとっては迷惑ですか??)
まずまず充実した休日でした。・・・なんて一人でふらふらしている場合じゃないなぁ。
GridViewの情報をExcelファイルに出力する
ちょっと前にどっとねっとふぁんBlogさんで紹介されていたビデオを見て試してみました。
Export GridView to Excel (Video)
簡易Excel出力としてはかなりよいですね。
TemplateFieldがあると失敗してしまいます(「RegisterForEventValidation は Render(); の実行中にのみ呼び出されることができます。」)が、
Me.GridView1.Columns(11).Visible = False
みたいな感じで不可視にすれば逃げられます。
これについてはVSUGのスレが参考になりました。
http://vsug.jp/tabid/63/forumid/47/tpage/1/view/Topic/postid/3056/Default.aspx
VSUGバンザイ\(^o^)/
おぉ、夜が明けてきた・・・
GWでみんな片付くとよいな・・・