そろそろ、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でみんな片付くとよいな・・・
Visual Studioでの正規表現 第二弾
ファイルの先頭に固定文字を挿入したいということがありまして、ちょっと悩みましたが・・・
仮に著作権表示を追加するとすると
検索する文字列
{(.|\n)+}
置換後の文字列
#Region “Copyright”\n’Copyright(c) KONNO Kiyotaka 2005-2006 All rights reserved.\n#End Region\n\n\1
こんな感じでした。
要するに、ファイル全体をマッチさせてそれにタグをつけ、固定文字+タグに置換するということですね。
タグ付き正規表現バンザイ\(^o^)/
GTD?
昨日、夕方のふりかえりの場で、「調べごとが難しくて、今日何をやっていたか分からない状態で、精神的にもつらい」というPloblemが挙がりました。それに対して、「まとまっていなくてもよいので、現時点で認識できていることを紙に書いてみよう」というアドバイスが出ました。その結果、彼はその日の成果を見える形にすることができました。
話は変わって、今もそうなのですが、最近ノートブックの線を抜いて、バッテリで動かしています。そうするとだいたい2時間程度でバッテリが切れてしまうので、それまでにその日の作業をまとめないといけません。あれこれ寄り道せずに、その日やってしまいたいことに集中できるように思います。
こんなことを考えながら、GTDという言葉が頭の中をちらつきます。収集→処理→整理→レビュー→実行のプロセスを踏めているわけではないですが、実行の一つのテクニックかなと思ったりしています。
Life Hacks PRESS ~デジタル世代の「カイゼン」術~ 田口 元 安藤 幸央 平林 純 技術評論社 2006-03-23
売り上げランキング : Amazonで詳しく見るby G-Tools <p> <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4480062858/konnokiyotaka-22/ref=nosim/" target="_blank"><img src="https://i1.wp.com/images.amazon.com/images/P/4480062858.09.SCTHUMBZZZ.jpg" border="0" alt="ウェブ進化論 本当の大変化はこれから始まる" data-recalc-dims="1" /></a> <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4893613332/konnokiyotaka-22/ref=nosim/" target="_blank"><img src="https://i0.wp.com/images.amazon.com/images/P/4893613332.09.SCTHUMBZZZ.jpg" border="0" alt="仕事を成し遂げる技術―ストレスなく生産性を発揮する方法" data-recalc-dims="1" /></a> <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4798110523/konnokiyotaka-22/ref=nosim/" target="_blank"><img src="https://i1.wp.com/images.amazon.com/images/P/4798110523.09.SCTHUMBZZZ.jpg" border="0" alt="「へんな会社」のつくり方" data-recalc-dims="1" /></a> <a href="http://www.amazon.co.jp/exec/obidos/ASIN/0142000280/konnokiyotaka-22/ref=nosim/" target="_blank"><img src="https://i1.wp.com/images.amazon.com/images/P/0142000280.09.SCTHUMBZZZ.jpg" border="0" alt="Getting Things Done: The Art of Stress-Free Productivity" data-recalc-dims="1" /></a> <a href="http://www.
CCNet構成ファイル
NAgile.comにてCCNET構成ファイルサンプルが公開されています。こういうのは本当にありがたいです。
http://www.nagile.com/nuke/Default.aspx?tabid=60
元々、この元となっているArchwayさんのサンプルを使わせていただいていましたが、今後は新しいほうを使用させていただきたいと思っています。
そんなわけでちょっと中途半端なのですが、一つご紹介。
今回buildファイルが一つにまとめられて扱いやすくなりましたが、それでも構成ファイルを書くのはどうしても面倒なところがあるので、VisualStudioのマクロで可能な限り一括置換できないかと考えてみました。
0.「CruiseControl.NET\server」フォルダに「雛形」フォルダを作って、雛形ファイルを配置しておく。
雛形ファイルは読み取り専用にしておく。
1.雛形ファイルをVisualStudioにドロップし、マクロで置換。
2.保存しようとすると保存先を聞かれるので、buildファイルについては「雛形\ccnet\buildfiles」に保存。
「ccnet.config雛形.xml」は適当な場所に保存するか、保存しないで、そのまま「ccnet.config」に追記。
3.「雛形\ccnet」以下をプロジェクトのフォルダにコピー
意図しているのは
・必要なものは近くに置く(ツールもVSで済むならVSで)
・便利にすれば自然と共通化される(フォルダ構成規約よりも便利ツールで勝手に共通化)
そんな感じです。
新しい版はまだ実使用していないのですが、今週使ってみようと思います。
(構成ファイルは私の環境用に一部改変してしまっています。)
「template.zip」をダウンロード
—
マクロ(VS2003)
Imports EnvDTE
Imports System.Diagnostics
Public Module CCNetConfigReplacer
Sub ReplaceConfig()
DTE.Find.Target = vsFindTarget.vsFindTargetFiles
DTE.Find.MatchCase = False
DTE.Find.MatchWholeWord = False
DTE.Find.SearchPath = “現在のドキュメント”
DTE.Find.ResultsLocation = vsFindResultsLocation.vsFindResultsNone
DTE.Find.Action = vsFindAction.vsFindActionReplaceAll
DTE.Find.FindWhat = “VSSデータソースPath”
DTE.Find.ReplaceWith = “E:\VSS”
DTE.Find.Execute()
DTE.Find.FindWhat = “VSSユーザ”
DTE.Find.ReplaceWith = “uname”
DTE.Find.Execute()
DTE.Find.FindWhat = “VSSパスワード”
DTE.Find.ReplaceWith = “pass”
DTE.Find.Execute()
DTE.Find.FindWhat = “NAntExePath”
Seasar Conference 2006 Spring
行けるかな~