SeasarCon、行きたいです。行けるといいね。
http://s2container.net.seasar.org/
S2Dao.NETも同管理になりました。そして何よりも、待望のDataset対応。しかし気力が・・・。
と弱音を吐いたのを機に、ブログタイトル変更してみます。数か月前ですが、ル・コルビュジエ展を見に行った時に「光と影」の原文を知って、かっこいいと思ったのがきっかけです。社内ブログのほうはさらに変更しようかなと。
余談はさておき、こちらも気になる気になる。
[Seasar]流れるようなインターフェースと脱CoC
どっとねったーとしては当然LINQを想起するわけです。
http://konnokiyotaka.txt-nifty.com/pgblog/2005/11/linq_876f.html
http://msdn2.microsoft.com/ja-jp/library/bb425822.aspx
<S2JDBC>
List results = jdbcManager.from(Employee.class{.keyword})
.join(“department”)
.where(“name{.keyword} like ?”, “S%”)
.orderBy(“name{.keyword}“)
.getResultList();
<LINQ>
var q =
from c in db.Customers
from o in c.Orders
where c.City == “London”
select new { c, o };
joinもfromで書き、リテラルでなくて良いというのはやはりLINQがよいかな。でも、パッと見の分かりやすさはS2ですね。既存の枠組みに納まっているというのは、結構重要な気がします。
LINQにはまだ積極的な気持ちになっていないのは2年前と変わらず。結局これだけでは収まらないんでしょ、いろいろな方式が共存するのは分かりにくいなという思いから。しかし、最近viewに目覚めているのですが、ここで頑張ってjoinしなくてもviewでしておけばよいかなとか。だとすると、ここでそんなに複雑になることはあまりなくて、この程度でも十分に使えるのかなとか。
そうだとすると、もしかしてs2daoの強力な機能であるSQLファイル機能も出番が少なくなってくるのかとか。まあ、いろいろ考えるわけですが、でもやっぱりごりごりSQLはなくならないですね。それを前提とした戦略が必要ではないかと思います。
枠組みの再利用
LTで喋れなかった内容の続きその1。
再利用にもいろいろあり、枠組みだけを再利用したいということもあると思います。
たとえば、キーブレーク処理を書きたいという時に(RDBで集計等はできても、たまに書く必要がありますね)、以前書いたソースを持ってきても、実際の処理は全然違っていて、ただ処理フローだけをまねしたいのだが、コピペして不要なところを削っていくと結局ソース自体は丸々書き換えているということがあると思います。それでも、そのおかげでノンバグなら時間的にも品質的にもめでたしで終わると思いますが、修正元が複雑だったりすると直しているうちにわからなくなったり間違えたり・・・。
そういう時には、コピペ型の再利用ではなく、生成型の再利用がよいと思うのです。具体的には、コードスニペット。VisualStudioのせっかくの機能はこういうところで使うのがよいかなと思います。
ということでスニペットファイルを作ってみました(これでも、消すところはあるのですが、分かりやすさとのバランスが微妙ですね)。使い方は下記など参照。
コード スニペットの作成
VBで独自のコード・スニペットを登録するには?[VS 2005のみ、VB] - @IT
[VS2005]コード スニペット マネージャが表示されないときの対処方法
これもそうなのですが、再利用はひと手間かけることがポイントですかね。極端に言うと、「使ってもいいよ」ではなく「これでも使いませんか」くらい。
「KeyBreak.zip」をダウンロード
やってよかった
昨日は、AKIBA LTvol.9と題して、社内ライトニングトークス大会を行いました。
9月に入って、もろもろの事情で仕事が厳しい状態になり、1週間のうち半分も家に帰らないような状態で、それでもやると言ったら嫌な顔されるかなとか、いろいろ余計なことも考えましたが、やはりやってよかったです。
今回も参加者全体では社外の比率が高く、いつもながらゲストに助けていただいていますが、発表者は7名中ゲスト1名のみで、社内のメンバーが頑張ってくれました。
発表してくれた人も様々です。
トップバッターは隣の部の部長ですが、年齢(確か)57歳。ライトニングトーカー最高齢記録は何歳ですかね?記録不明ならとりあえず57歳を記録として認定してください(誰が?)。
新人もちょこっとこれまでの資料を見たくらいという状態ですが、一生懸命練習もしてくれていたようで(原稿びっしり書いていましたからね)、時間ぴったりに終わらせるという技を見せてくれました。
別の一人も、これまで聞く方でも参加したことがない状態で、夕方「資料できた?」と聞くと「資料なんて要るんですか?朝礼みたいなものを考えていました」ということでこちらもびっくり。「次回にする?」と聞いてみるとやってみるとのことなので、楽しみに聞いてみると、急きょ作った3枚の資料(最低枚数記録?)をうまく使って面白い話をしてくれました。
懇親会は13名程度でしたが、いつもより名刺交換が活発だった印象があります。一生懸命あちこちの席を回っていただいたゲストの上司の方の行動に引っ張っていただいた感があります。
今回テーマは「レモン」という奇抜なものにしたのですが(10/5はレモンの日だそうですので)、それに合わせてわざわざ楽天でミラクルフルーツを買って持ってきてくれた人もいました。初めて食べましたが、本当にレモンが甘くなります。ついでにビールも甘くなりました。砂糖っぽい甘さが舌に残るような感じになるのです。一度どうぞと言いたいところですが、結構高価だそうです。イベントのために、みんないろいろ考えてくれるんだなと、それがうれしいです。
新人は2名懇親会に参加してくれました。新人が来たときは、仕事の状況が最高潮だったので、歓迎会にも参加できず、日中も2段くらい目がつりあがっていたと思いますが、やっと本来の笑顔(?)で接することができました。
ちなみに、目がつりあがっていたというのは、冗談ではなく、休みに姪っ子と遊んでいるときに仕事の電話の対応をしなければいけない時があったのですが、電話を切った後すぐには笑顔になれなくて姪っ子の顔を見ることができず、顔がほぐさないといけなかったのです。普段どんな顔して仕事しているのかとぞっとしましたし、新人にもそんな顔しか見せていないな、怖い人だと思われているんだろうなと思っていましたので、ちょっとほっとしました。
飯田橋の事務所から来てくれるメンバーも今回1名増えました。
9回続いていることをほめていただいたのは、率直にうれしかったです。今回やめてしまったら、結局自分の都合でやっているイベントになってしまうと思って無理してやりましたが、忙しいのに協力してくれる人が大勢いて実施することができたということ、感謝してもしきれません。
まだまだ厳しさは続きますが、気分は晴れました。頑張ろう!
日本人にとっての「銀の弾丸」
どうでもいいことですが。
「銀の弾丸」という言葉。一般人(という表現もどうかと思いますが)にいきなり使っても、あまりピンとこないような気がします。そもそも比喩なのに、たとえばググってみてもブルックスの言うところの銀の弾丸ばかりで、全然比喩になっていないわけです。
では、日本人にとっては何がそれに相当するのか。
「プロジェクト成功のための『特効薬』など存在しない」・・・面白くもなんともない。
「徹夜撲滅のための『界王拳』など存在しない」・・・余計に通じない。
「品質向上のための『十六文キック』など存在しない」・・・実は効いて・・・。
本当にどうでもよくなってきました。
人月の神話―狼人間を撃つ銀の弾はない (Professional computing series (別巻3)) Jr.,フレデリック・P. ブルックス Frederick Phillips,Jr. Brooks 滝沢 徹 ピアソンエデュケーション 2002-11
売り上げランキング : 24183 おすすめ平均 SEのバイブル
難易度の高い著書
プロジェクトマネージャーなら Amazonで詳しく見るby G-Tools
ソウルの清渓川(チョンゲチョン)
今テレビでやっている、ソウルの清渓川(チョンゲチョン)の話、すごい!
こちらも参考になります。
http://www.ne.jp/asahi/yoikawa/suikei/sub1-27.htm
道路の下の見えない部分でコンクリートの腐食が進んでいたり、いろいろな問題があってのこととは言え、それに対して道路をなくしてしまうという決断ができる人はなかなかいないと思います。
決断・・・
XP祭り2007
前日のAKIBA LT後の飲みすぎで、ちょっと出遅れました。
projectは確かに、名詞の意味と、動詞の「投影する」の意味があるんですね。もともとは関係ない気もするけど、関係しそうな気もしますね。なんてことを考えながら平鍋さんのAgile2007報告を聞きました。
ドリームチームのライブ開発は面白かったですね。gdgdになっちゃうかと思いきや最後はしっかりというのがさすが。「テストを書くことで相手の考えが分かった」という角谷さんのお言葉が最高です。あとテストが通った時のボワンとした表示がかっこよかったです。
Railsのテスト環境を改めて- MacOSX / RSpec / ZenTest / Growl
でしょうか。チェックの画像でしたが、よりかっこよかった気もします。Windows用にSnarlというのもあるようなので、この辺をかっこよく見せて周りに広めるという手もありですかね。
Day by day – Railsのテスト環境を改めて- Windows / RSpec …
ちなみに隣のwadaさん、「.NETだったらもっと早くできますか?」の質問は厳しいですよ(笑)。でも、いつも見積もってやってるんだからぱっと答えてもよいわけで、なんだいつも自信ないんじゃないのという話は、後の相馬さんの話につながるつながる・・・。
分散環境でのXP。分散は特別なことではなく、多くのところで、協力会社を入れた分散開発をやっていると思います。あ、それとも丸投げしちゃいますか??それは置いておいて、たとえば丸投げでも進捗管理はするでしょう。その時に、ネットワークとかセキュリティの問題で、システムの力を発揮できず、結局Excelをメールでやり取り、となってしまうことが多くないですかね。
TracとIRCを連携させているというお話を聞いて、両社で見られる何かがあれば、連携を考えたほうがよいのだろうと考えました。また作品ネタが・・・。
あと、チャットで朝会は意外と良いかなと思いました。てっぺんも見て、もう一度考えてみましょう。
みなさん、PMだけをやるというのはいやなんですね。私も嫌ですけど、会社ではそうなれと言われ、そうやっている人も大勢いますね。この違いはなんでしょう?
たぶんここに出てきている人は良心をもっている人なので、ちゃんと自分の責任でコントロールしたいと思っているんですよね。しかしプロマネにコントロールしてもらって救われた経験がないんですよね。できないPGを手伝ってもらって救われた経験はあるでしょうから、考え方もそうなるのではないかと思います。ちょっとまずいことを言っている気がするのでこの辺で。
契約の話はやはり出ますね。でも、マッサージ師が肩こりを直す約束をしていないのも事実ですね。ただ、そこまで行くにはやはり金額が大きすぎてなかなか難しい。小さい金額から始めるというのも方法ですけど、そもそもそれを契約でやろうとするから難しいのではというのが私の考えです。契約後であっても、とにかく顧客の要望は聞き尽くす。変に抑えようとしない。量的に追加になってしまったら、「ではこちらは優先度下げてもよいと考えられますので差し替えましょう」という話をする。それしかないんじゃないかなと思っています。
社内デブサミ。個人的に今回のベスト。問題意識もやろうとしていることも同じなので超シンパシー。懇親会でその場で携帯でマイミク申請いただいたのはびっくり。アジャイルですね~。ぜひ次回も頑張ってください!そして継続の成功体験を聞かせてください!
そういえば昼休み。「XPって体系ができているんですね」。前日の懇親会。「XPって適当なんじゃないの?」。確かにそいう言う話をしていなかったですね。
懇親会ではCode Readingゲット。やった!先にCode Quality を読み始めたのですが、やっぱりCode Readingからにしようかな。
長崎からいらっしゃった方にもびっくりしたし、♪(←ちょっと違う)に移っても戦おうとしている人もいるし、刺激たっぷりでした。早くみんなで来れるようになりたいなぁ
Code Reading―オープンソースから学ぶソフトウェア開発技法 トップスタジオ まつもと ゆきひろ 平林 俊一 毎日コミュニケーションズ 2004-06-01
売り上げランキング : 21475 Amazonで詳しく見るby G-Tools <p> <a href="http://www.amazon.co.jp/exec/obidos/ASIN/4839918201/konnokiyotaka-22/ref=nosim/" target="_blank"><img alt="Write Great Code〈Vol.
誕生日
うは、忙しくなったと思ってたら、誕生日終わってましたよ。焼き肉の日なのに焼き肉食えなかった。これからLT資料作成。またボロボロだ!
ソフトウェアファクトリーBOFで考えた「再利用について」
世の中いろいろジェネレータがありますよね。会社でもいろいろ作っていると思いますし、個人でもいろいろ作ってますよね。秀丸マクロは私はあまり見たことなかったですけど、VSマクロなら作ったので、そんなのもいろいろあるでしょう。
「再利用」というと普通は作ったモノの再利用をイメージすると思います。小さいモノであればなにも変更せずそのまま利用できると思います。でもある程度のまとまりを再利用しようと思うと、なかなかそのままでは使えないので、改変して使うことが多いのではないかと思います。たとえばジェネレータでAを生成して、Aを修正してBを作るみたいな。あるいは今回作るCはBに似ているので、直接Bを持ってきてCに改変するとか。
「生産性を上げるために再利用しよう」という方針はあちこちにあるのではないでしょうか。けど再利用で本当に生産性上がってるんでしょうか。
再利用するためには、まず再利用できるものの存在を知っていなければいけません。たくさんの小さいモノの存在を認識するためのコストは大きくないですか?
ある程度のまとまりで再利用しようと思ったら改変が必要です。毎回似たような改変してませんか?
再利用したモノに問題があることはありませんか?それを再利用したあちこちで問題が発生することはないですか?
再利用するものの中身を理解できますか?どこを直したらよいか分からなくて余計な修正してしまったりしていませんか?
なぜ再利用という発想が出るかというと、「作るコストが高い」という認識があるからだと思います。だからいろいろな問題に直面してるにもかかわらず、なるべく一から作らないように再利用の仕方を改善しようとするのだと思います。
けど、「作る」コストは本当に高いでしょうか?ジェネレータがあるじゃないですか。コピーのコストがほぼ0というのはソフトウェアの特性だと思いますが、ジェネレートのコストもほぼ0ですよね。なぜAしか生成できないままにしておくのですか?BもCも生成できるようにジェネレータを修正すればよいではないですか。
車の話がありました。今の車はほとんどBTOで、まったく同じ車が作られることはほとんどないということです。そうだろうなと思います。それでもコストが上がらないのは手順と再利用のおかげ。そうだと思うんですけど、再利用するのは部品ですよね。できたものを直そうと思ったらやはり金かかりますよね。たとえば、これまで白と灰色しかなかったんだけど赤も提供したい。白の車を再利用して赤に塗り替えようとは考えないですよね。塗装のプロセスを直して3色に対応できるようにしますよね。工場全体がジェネレータですよね。ジェネレートしたものを直すというのは、改造屋さんというニーズはあるとしても、生産性の話とは別世界の話ですよね。
要するに部品を再利用するのは人間ではなくてジェネレータではないでしょうか。人間の仕事はジェネレータがいろいろな部品を再利用できるようにジェネレータを直すという作業。その意味で、再利用という言葉は、人間の作業のように見えるので、やめたほうがよいのでは。ジェネレータという言葉は狭いのでプロセスという言葉にして、プロセスの継続的な改善こそが生産性向上への道。ちょっと陳腐な言葉になってしまいましたけど、そういうことかなと思います。
モモ
昨日は、丸の内カフェで、VisualStudioをインストールしつつ、本棚を眺めると、長年読もうと思って読んでいなかった「モモ」が。
(キョンキョンがいいと言っていたのは高校時代だろうか・・・)
モモ―時間どろぼうとぬすまれた時間を人間にかえしてくれた女の子のふしぎな物語 (岩波少年少女の本 37) ミヒャエル・エンデ Michael Ende 大島 かおり おすすめ平均 ミヒャエル・エンデはなんといってもこれ。
インド人には無関係
美しい世界と哲学的な問いかけ
とてもよい本
現代の世界問題の解決策が提示されている本 Amazonで詳しく見るby G-Tools <p> 半分くらいまでしか読めませんでしたが、なかなか、効きます。一瞬こんな思いに囚われるかもしれません。 </p> <p> <a href="https://i2.wp.com/jqinglong.html.xdomain.jp/bimg/image_7.png" atomicselection="true"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="137" alt="image" src="https://i1.wp.com/jqinglong.html.xdomain.jp/bimg/image_thumb_7.png?resize=240%2C137" width="240" border="0" data-recalc-dims="1" /></a> </p> <p> こういう形のふりかえりもいいですね。 </p>
FlashDevelopでFlex2
FlashDevelop.org :: Index
こちらが詳しいです。
as3/FlashDevelop – HirobeのHack倉庫 – Trac
上記のアプリは、こちらを参考に。
http://www.adobe.com/support/documentation/jp/flex/
これの一番下。
なかなか簡単で面白そう。が、配置の仕方とかまだよくわかりません。こちらに置いてみましたが、動かない・・・。
http://homepage2.nifty.com/konnokiyotaka/flex/test/index.html
ちょっと下記のような診断チャートを作ってみようと思っているのですが、先は長いか。
http://www.amiy.jp/pet_ct/chart_01.html