マシン移行がまだ落ち着きません。
どうもファイルコピーに時間がかかるなと思っていましたが、ウイルスチェックがかかっていたからですね。いったんチェックを外したらスピードアップしますかね。
さて、ブログライターは、やはり
Windows Live Writer
が、最強かなと思いますが、そちらは会社でも使うので、
xfy Blog Editor
を入れてみました。
結論としては、やはりかゆい所に手が届かない。
クリップボードから画像を張り付けられてしかも影も付けられたりするのは、やはりWindows Live Writer強いなと思います。あと、いかにもというJavaJavaした感じが嫌。
ただ、Vistaのセキュリティのせいでできていない機能もありそうなので、今後要調査ではあります。
なお、Mac側には
MacJournal
を入れてみる予定。
このページは xfy Blog Editor を利用して作成されました。
xfyで投稿
Vista on MacBook Pro
MBP、午前中買ってきました。
で、ネットにつなげることを確認したらすぐに、Boot Camp →Vista。
しかし、旧PCでDVD書けないことをすっかり忘れていて、余計なDVD買ったり、素人みたいなことしてました。
で、ファイルコピー時間かかりすぎて、今日はorcasまで行けそうにありません。
これはVista側から書いていますが、とりあえずここまでか。
何をインストールするか思案中。せっかくどちらもかっこいいのに、結局メールはThunderbirdでこれまでと一緒というのもかっこよくないなとか。
PCはこれで5代目。最初だけ入社時の会社支援でデスクトップ、後はノート。
1)富士通:95(+Slackware):情報処理のC勉強用Linux・・・Run Run Linuxなつかしい
2)NEC:98:Visual Cafe・・・割とすぐ親戚のおじさんにあげちゃったような
3)富士通:2000(←Me):~VS.NET2003・・・Meはほんとにひど・・・
4)VAIO:XP:VS.NET2005・・・もっと長持ちすると思ったのですが
5)Mac:MacOS+Vista:orcas・・・Mac使うかな
いい感じで網羅してる。
ちょっとコピペに戸惑い気味なので、もう少し慣れたら追記予定。
スクロールするテーブル
ヘッダ固定で、データ部分だけスクロールするテーブル。
永遠のテーマっぽいところがありますが、下記を参考に作ってみました。結構いけてるような気が。
参考:http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=7368&forum=3&12
ここがいい!
・ヘッダテーブルの幅定義はデータテーブルの幅定義に従う(ヘッダとデータで幅がずれない)
※と言いつつ、IE(7)では若干ずれが・・・(FirefoxはOKなのに)
・見える領域の幅も、ウインドウサイズに従う(ウインドウサイズ変更時は要リロード)。
※これをやってないのが多いと思うのですが、やっぱ広い画面では広く見たいですよね
「table.html」をダウンロード
Microsoft Visual Studio 2005によるWebアプリケーション構築技法
正月で読み終わってよかった~!
Microsoft Visual Studio 2005によるWebアプリケーション構築技法 赤間 信幸 おすすめ平均 Visual Studio 2005専用
ちゃんと教えてもらえます
ASP.NET 2.0アプリ開発前に必読 Amazonで詳しく見るby G-Tools <p> 本当に良い本だと思います。何が良いかと言うと、「立ち位置」が良い。<br />例えば下記の記述。<br />「従来型のデータベースアプリケーションの開発方法を抜本的に改善する、ファイルアタッチデータベース機能とテーブルアダプタ機能が追加されている。・・・こうした基本的なポイントを疎かにして。Visual Studio Team SystemやらTeam Foundation Serverやら開発プロセスやらと、『目立つ』『カッコよさそうな』ところばかりに関心が行くのは、非常によくない傾向である。」<br />こうしたスタンスで、新機能を紹介しつつ、冷静に、実践で使える手法を薦めてくれます。 </p> <p> 願わくば、本当の初心者向けに、最初の説明だけもう少し噛み砕いてもらえると良かったなと思います。Webアプリというものの仕組みを説明する際に、多分ASPって分かりやすいと思うのですが、ASP.NETはもう1ステップ必要なのですよね。そこを何とかしたいんです・・・ </p> <p> 付録も良いですね。一度目を通しておくと、全然違うと思います。<br />みんなに読んで欲しい・・・ </p> <p> 頂いたVSUGさんにも感謝! </p>
1年をふりかえる
1年分の記事をざっと読んでみました。自分的ベストフレーズは、こちらから。
星野リゾートのやり方
—
今回のガツンと来た一言は、場作りの際に明確にすべき目標は「収益性向上」とか「売り上げ増加」とかではなく「お客様に喜んでもらえるサービスの提供」だということ、なぜならスタッフが仕事の楽しさを味わうのは自分のサービスを喜んでもらえたときであり、目標は人が基本的な性質において素直に共感できるものであるべきだから、ということ。
—
ふと気づくと、また原価低減に一生懸命になっている自分がいますが、それは手段であり、「喜んでもらえること」のような目標を共有しないと、結局誰も付いてこれない。自分だって、他人に喜んでもらうために色々やってるのにね。プログラマは最下層にいるからこそ、全ての層の人に喜んでもらえるのだし。
そういう意味で、来年の目標も、「より多くの人に喜んでもらう」。
方法は「スピードを感じてもらう」。
やることは
・月1回イベント継続・他社との融合拡大
・新情報の実装への落としこみを確実に実施(月1個アプリ作成)
まずはこんなところから。
来年も良い年になりますように!!
大掃除から考える
掃除と○○が苦手な自分への言い訳・・・
—
今年も大掃除の季節がやってきました。
今年こそ部屋をきれいにしたい私は、掃除マネージャという人にアドバイスを求めました。
彼が言うには、この部屋は6畳なので、これまでの実績上1Kgのごみが出るはずなので、最後にごみの量を報告してくださいとのことでした。それによってちゃんときれいに掃除できたかどうかを判定してくださるそうです。
また、どれくらいの時間がかかりそうなのか聞かれたので、2時間くらいかと答えたら、1畳当たり20分で進むはずですが、そのペースで進んでいるか確認しますので、20分ごとに何畳できたか報告してくださいと言われました。
さて、掃除を始めましたが、いきなりまごついてしまいました。昔は掃除は上から、と言われたような気がしますが、とりあえず、1畳分の天井のすす払いをして、壁や桟のはたきがけをして、窓を拭いて、床を拭きます。30分くらいたってしまったことに気づいて1畳分終わったことをマネージャに報告したら、次の1畳は10分で終わらせるように言われました。
同じようにやっても30分かかりそうな気がするので、真ん中の壁の無い1畳をやることにしました。適当に天井をはらって床を拭いて10分で終わらせました。そこで報告すると、現在までのごみの量を聞かれました。まだ、ごみを寄せているだけなので量といわれてもちょこっとたまっているくらいとしか答えられません。ちゃんときれいになっていないんじゃないか、と言われましたが、確かにきれいになっている気はしませんし、だからと言ってこの時点でいったんゴミ箱に入れて量を図るのも無駄な気もします。
とりあえず、進めましたが、1畳ずつやっても隣の1畳がまた汚れるような気もします。ごみ1Kgというのもどんなごみの話をされているのか良く分からないので、最後にいらなそうな本を何冊か捨てることにして、1Kgということにしました。
何か、点々と埃が残っているような気がしますし、きれいになった気はしませんが、掃除マネージャは、1Kg集まったのなら、きれいになったと言えるでしょうね、と言ってくれました。部屋は見てくれませんでしたけどね。
—
この物語はフィクションであり、実在の人物、団体、○○とは関係ありません。
・・・イブの夜に何くだらないこと書いているんでしょうね。
M-1
個人的に一番期待の笑い飯は敗退。期待通りの流れだったのですが、こうなってくると最後の畳み掛けの一つ一つの質と言う感じですかね。
最後のチュートリアルの畳み掛けはすごかった。こんなとこにいるはずもないのに・・・最高!
ライトニングトークスでもそうでしょうね。時間内に収め、かつ最後にリズミカルにページを繰りながら盛り上げて終わる。そうすると、聞いている人は、面白かったと言うことで改めて内容をふりかえってくれるので、伝えたいことがより深く伝わる、という感じではないでしょうか。
ということで、真鍋さんへ初トラバ。
コントとコンビ、まっいいか!
Fusion-VMware Virtualization for Mac
Mac OS X 向けVMWareも登場。
Fusion Beta Program
via MOONGIFT オープンソース – Fusion – VMWare for Mac OSX
Macworld Expo (Jan 9-12)に向けて、という感じでしょうか。
とりあえず、そこまでは我慢・・・。
パーシャルクラス
コンポジションを即実践しようとしてみました。
まずその前に、前回投稿後すぐに、当然触れるべきパーシャルクラスに触れ忘れたなと思い出しました。
パーシャルクラスはテーブルアダプタの機能拡張の文脈で出てくることが多いと思います。
例えば下記。
http://www.atmarkit.co.jp/fdotnet/bookpreview/vs2005webapp_07/vs2005webapp_07_04.html
自動生成されるソースを直接触ってしまうと、変更発生した場合に自動生成のやり直しができなくなってしまうので、別にしておこうと言うことですね。
で、これは自動生成だけでなく、自分で管理しきれないソース(他者から提供されるソースなど)についても同様に考えられるわけです。
話を戻して、コンポジションですが、一番の懸念点は転送メソッド記述の面倒さでした。
これもある程度自動化できるかなと思っていたのですが、それがいやだなと思うのが大量にプロパティばかりが存在するクラス。
例えば20行くらいの処理が書いてあるメソッドがあって、それを呼び出す転送メソッドを1行書くのは許せる気がするのですが、プロパティの場合は、ほとんど同じ量の記述を違う内容(プライベート変数の読み書きの代わりに元クラスのプロパティ呼び出し)で書かないといけないというのは、ストレスですし、単純に記載間違いのリスクも負いますし、やりたくない作業です。
で、パーシャルクラスを使う場合ですが、継承と同様カプセル化を壊すリスクがあります。
ただし、別のクラスではなく、プライベート変数にもアクセス可能なので、いざと言うときは逆に何でもできるという救いがあるような気もします。
また、コンポジションと違って、同シグニチャのままで拡張するということはできませんので、拡張時には呼び出し側も変える必要があるということになります。
まあ、単純ではないですが、まずはパーシャルを検討するという方向でやってみようと思います。
Effective Java プログラミング言語ガイド
実はずいぶん前に頂いた本ですが、やっと読みました。
Effective Java プログラミング言語ガイド Joshua Bloch ジョシュア・ブロック ピアソン・エデュケーション 2001-12-03 おすすめ平均 上を目指す人の基礎固め 脱初心者に必須 Effective C++とともに最良の書籍 JAVA言語を理解するための効果的な実践書です。 翻訳も良いと思う by G-Tools , 2006/12/16 題材がJavaというだけで、.NETプログラマーでも十分に役立ちます。
私のようなパンピー(一般プログラマ)では、スレッドの辺りはあまり使わないので飛ばしてしまいましたが・・・。 まず、自分的に一番ホットな内容だったのは、「継承よりコンポジションを選ぶ」。
元となるプログラムがあって、その機能を拡張するために継承を使うということを考える場合があると思います。
実は私も以前やったことがあり、どうもうまくいかないという感じがありました。ここでは問題点と解決法が明確に書かれており
・サブクラスはスーパークラスの実装に依存する→スーパークラスの変更でサブクラスの動作が不正になる可能性がある
・スーパークラスにメソッドが追加される可能性がある→サブクラスのメソッドとぶつかる可能性がある
そこで、コンポジションを使いましょうということで
・新クラス(ラッパクラス)に元クラスのインスタンスを持つ
・転送メソッドで、元クラスのメソッドを呼び出す
・拡張したいメソッドだけを実装する
という形で、元クラスのカプセル化を壊さないで実現するというわけです。
他でも読んだ記憶がありますが、継承はサブクラスがスーパークラスにis-a関係が成り立つときだけ使いましょうということです。 次にいいと思ったのは、「nullではなく、長さゼロの配列を返す」。こうしておけば、最初にnullチェックをせずにいきなりループ処理に入っても安全なわけですね。 あと、基本ですけどなかなかできていないこととして「メソッドのシグニチャを注意深く設計する」の中の「パラメータ型に関しては、クラスよりインタフェースを選ぶ」。余談ですが、画面コントロール(テキストボックスとか)をインターフェースの実装にできたら、記述が楽になるのかなと思ったり。 さらに、「ローカル変数のスコープを最小限にする」の中で、変数宣言は使用の直前で、と言われているのは、好まない人もいると思いますが(最初に宣言が固まっていたほうが見やすい)、直前の方が安全だと思いますし、さらにループカウンタは別に宣言するのではなく、ループ変数を使うようにする(For i As Integer = 0 To n みたいな宣言)というのも、使う変数を間違えないようにする等の効果が挙げられていてよいです。 というわけで、コンポジッションは即実践!