2011年7月27日水曜日

Eclipse慣れしたボクがVisualStudio環境で困惑すること

これまではCとかJava一辺倒だった(むか~しVB 6.0とかExcel VBAとかもやってましたが、あれはまぁ、ねぇ)ボクですが、今回仕事でC#をVisual Studio 2010環境で弄ってまして、WebアプリケーションをASP.NET MVC3とRazorで作ってるわけですが、もう困惑しまくってます。
というわけで、今後のために「ここが違う」っていうのを、何回かに分けてメモっておきます。
#しかしアレだね、C#ってのはなかなかイケてる言語だね。今更ながら。

デバッグ用WEBサーバーがややこしい

EclipseでWebアプリ(Servlet)開発するとなると、まぁ一般的にはTomcatをインストールして、EclipseにTomcatプラグインを入れて、Eclipse側にTomcatのホームを教えてあげるじゃないですか。

で、下記のボタンを操作することでWEBアプリケーションサーバーが起動して、無事デバッグが出来るようになる。
一番左のボタンを押せばTomcat(WEBアプリケーションサーバー)が起動し、×印のボタンを押せば、サーバーが止まる。
実にわかりやすい。


Visual Studioでも当然、Webアプリのデバッグが出来る。下記の実行ボタンを押すと、Webアプリケーションサーバーが起動してデバッグが出来るようになる。

ちなみに、実行ボタンを押すとブラウザが自動的に起動して、自動で割り当てられたポートに対してアクセスした状態になる。

さらにちなみに、このポートを固定したければ、プロジェクトを右クリックしてプロパティを開き、「WEB」タブを選ぶ。すると、任意で指定したポートに固定したり、IISを指定したり出来る(ここで「え?IISを指定できるって、じゃあ一体何が動いているの?と思った方は勘がいい)。

ここまでは何となく理解できるが、実は既にEclipse+Tomcat環境に慣れ親しんだボクには既に理解し難いことが起こっている。

Tomcatの×ボタンに相当する(であろう)上記の停止ボタンを押したら、普通はWebアプリケーションサーバーも止まる、と考えると思うんだけど、Visual Studio は違う。実はこのボタンを押しても止まってなくて、証拠に、ボタンを押した後にIE等のブラウザを起動して同じポートにHTTPアクセスすると、同じように画面が表示されるんですねぇ。

じゃあ実行ボタンを押したら何が起こっているかと言うと、裏でコイツが起動している(パスは64bit環境の場合)。
C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0\WebDev.WebServer40.EXE

要は、こいつがデバッガで、Visual Studioの三角の実行ボタンは「そのデバッガにブラウザをデタッチさせて起動する」ボタン、といったところ。たぶん。

ちなみに、環境とか設定のせいかもしれないけど、Visual Studioで「cshtml」とかのソース画面をアクティブにした状態で実行ボタンを押すと、その画面をブラウザで表示しようとしてエラーになるから気をつけろ。(csとかのhtmlではないソースをアクティブにした状態で実行すること!)


他にもいろいろ、本当にいろいろ「え?」っていうところがあるんだけど、また追々書いていこうと思います。

2011年7月20日水曜日

Chrome Extensions何使ってるか教えて?(テッパン19+3)

以前、ChromeのExtentions、どんなの使ってますか?という記事を書いたのが昨年11月。
それ以降、いくつか便利に使っているExtensionsがさらに増えたので掲載するとともに、皆さんにも教えていただこうと思い、【2011夏】をテーマに(嘘)厳選した17個と評価中の3個をまとめて掲載します。

ちなみにボクのChromeの右上部分はこんな感じ。


前回から引き続き使っているExtensions

何よりこれがないと快適ブラウジングはあり得ない

マウスジェスチャ。これがなきゃ死ぬ、ってやつです。
Smooth Gestures - Chrome ウェブストア


見ているページをEvernoteに放り込む

1クリックでEvernoteに放り込めるこの手軽さは、一度使うともう離れられませんよね~。
Evernote使い必須のExtensions。
Clip to Evernote - Chrome ウェブストア


Gmailの着信通知

Mail Checker Plus for Google Mailを使っていた時期もありましたが、ポップアップでメール一覧を見る、というのが逆に中途半端で使いにくく、結局最もシンプルなこのExtensionsに落ち着きました。
ボクにとっては「控えめな着信通知」をしてくれるだけで機能としては十分なのです。
Google Mail Checker - Chrome ウェブストア


Googleカレンダーのチェック

これもGoogleカレンダーを使ってるなら必須。次の予定までの残り時間を表示してくれます。シンプルに、カレンダーへのショートカットとして使うことが多いです。
Google Calendar Checker(by Google) - Chrome ウェブストア


検索した後のページでさらに自動検索

Google検索で見つけたページを表示した後、キーワードに該当する箇所を探すためにブラウザの検索機能で…なんて面倒なことをしなくても、コイツが検索後のページで勝手にハイライトしてくれて、当該箇所にジャンプも出来ます。
Google Quick Scroll - Chrome ウェブストア


情報収集に

これも、Google Reader使っているなら必須。前回は「未読434」という破滅的な状況のボクですが、今ではガッツリと活用してます。情報収集には欠かせないExtensions。
Google Reader Notifier(by Google) - Chrome ウェブストア


IEなんてもう無くなっちまえ!というWEB開発者向けw

言わずと知れた。
IE Tab - Chrome ウェブストア


気に入ったサイトを一発購読

Google ReaderにRSSを一発登録。
RSS Subscription Extension(by Google) - Chrome ウェブストア


開いているページを画像として保存

WEBページのキャプチャ。「見たまま」「ページ全体」が選べて便利。
webページショット - Webpage Screenshot - Chrome ウェブストア


はてブ。名作。

はてブユーザーで使ってない人なんているのでしょうか。名作Extensions。
はてなブックマーク GoogleChrome 拡張 - Chrome ウェブストア


よく行くサイトにすぐアクセス

定番、スピードダイヤル。
Speed Dial - Chrome ウェブストア


今回追加したExtensionsたち

タブ開きっぱな人は

タブの数が多くなり過ぎてこんがらがってきたら、これで整理。タブを開きっぱなしにする人には必須。
Chrome用TooManyTabs - Chrome ウェブストア


Twitter投稿やBlog投稿に欠かせない

これ、爆裂便利。
ページを開いた状態でボタンを押すと、こんな画面が表示されて、

URLそのままはもちろん、「タイトルとURL」、「タイトルとショートURL」(Twitter向けだね)、「タイトルのAタグ」(ブログ向けだね)をクリップボードにコピーしてくれる。
このリンクも、このExtensionsに完全にお世話になってます。

Copy Title+URL to clipboard - Chrome ウェブストア


Gmailの本文を固定幅フォントにしてくれる

Gmailは普通に本文を表示すると、プロポーショナルフォントなのでメルマガ等の本文が崩れて表示されてしまう。これを入れておくと固定幅で表示してくれるので、メルマガ等もスッキリ読めます。
Fixed Width Text for Gmail™ - Chrome ウェブストア


ショートURLなら

GoogleのショートURL作成ツール。上記「Copy Title+URL~」同様、使い勝手が良いExtensions。
goo.gl URL Shortener - Chrome ウェブストア


Google検索をキーボードで完結

Google検索結果の一覧に、キーボードでアクセスできるようになる優れもの。いちいちマウスに手を伸ばさなくてもよいので作業を止めずに流れるように検索できます。これも慣れると離せません。
Google Search Result Navigation - Chrome ウェブストア


シンプルで使いやすいタイマー

「ちょっと、5分だけ待って」と言いながら、つい作業が長引いて10分、20分…と人を待たせたりしてませんか?
してないですね、ボクだけですね。
このタイマー、とてもシンプルなので、その分とても使いやすい。デフォルトで「3分」「5分」「10分」「30分」と4段階ありますが、もちろん好きな時間にカスタマイズも出来ます。
Timer - Chrome ウェブストア


自動で次に内容を持ってきてくれる気の利くヤツ

「次のページ」の内容を、今のページに継ぎ足してくれる優れもの。定番&テッパンですね。
AutoPatchWork - Chrome ウェブストア


ちょっと調べたい時に

ボクもよく使う人気の辞書サイトWeblio辞書の公式プラグイン。現在のページを離れることなく調べられて、写真とかまで表示されるのですこぶる便利です。
Weblio エクステンション - Chrome ウェブストア



操作検証中のExtensionsたち

ショートURLを復元表示してくれて安心

ショートURLは、元のドメイン等が隠されている分、セキュリティ面が心配。で、これを入れておくとショートURLを自動的に元のURLに復元して表示してくれるんで、怪しいドメインだったりするとすぐわかる。
なんだけど、実際これを入れた状態でTwitterとか見ると、結構ダラダラっと同じ文言が重複したりして見辛くなってしまう。というわけで、有効にしたり無効にしたりしながら操作感を検証中。
LongURL - Chrome ウェブストア


ちょっとしたメモ

Evernoteに放り込むまでもないほどの、ホントにちょっとしたメモを付けるのにいいかも。まだそんなに使うシーンが無いので、ただいま絶賛評価中。
Quick Note - Chrome ウェブストア


誰もが気になる放射線量

放射線量が指定した値を超えたときに通知してくれます。が、常に表示されていると若干暗い気分になってくるので、たまにしか有効にしてません(意味ないか…)
放射線量率モニタ - Chrome ウェブストア




とりあえず、ダラダラと掲載してみました。
まだまだ良いExtensionsがあるかと思うので、お気に入りのものがあったら是非教えてください。

2011年7月17日日曜日

行番号を(やっと)表示できるようにしたので簡単なソースコード共有とかにどうですか?

JavaのソースコードをWEB上でハイライト表示に変換するアレですが、やっと行番号を表示するオプションを付けました。

参考:
技術への名残り: Javaをやる人でブログを書く人にしか役立たないツールを作りましたよ
技術への名残り: 無駄にアップデート。Javaをやる人でブログを書く人にしか役立たないツール

このツール、元はホントに単純に「(自分がこのブログで使うために)ソースコードをハイライト表示させたい」って思っただけなんですが、ms2からのネタ提供でハイライト結果に一意のURLを振るようにしたので、使い方が変わってきました。

先日、仕事でC#(ASP.NET MVC)を書いててちょっと不安なところがあってどうにかしたいなぁ、と思ったんだけど、物理的に身近なところに詳しい人がいないのでネットで調べたりしたが、どうにもよく分からない。
で、「そうだ、ms2先生に相談してみよう」と。
Gmailを開くとちょうど彼もオンラインになっていて、チャットで話しかけてみたら即返事が来たので、早速相談を持ちかける。
で、こちらの困っていることを説明するところから始めるんだけど、ソースを直接見てもらった方がこちらも説明しやすいし、先方だって理解がしやすいはず。ただ、メールやテキストメッセンジャーで送ったんじゃあ、いくらコードが読める人だってすごく見辛い。

と、そんな時、このツールの出番ですよ!

先方に見てもらいたいソースをコピペしてハイライトさせるとその結果に対して一意のURLが振られるので、そのURLをチャットで「これ見て」と投げれば、先方もブラウザさえあればキレイに整形されたソースコードを見れるのですよ。
で、お互いにこのソースを見ながら、あとはチャットで会話すれば、説明も解説も随分楽になりますよね。よね?

そうやって使ってみたんだけど、行番号が表示されないのが我ながら非常にツライ、ということにハタと気付きまして、ただ、行番号表示は以前から対応しようと思ってたんだけどなぜか上手くいかなくて、それもms2についでに相談したら、Javaの標準APIに「LineNumberReader」というそのものズバリなクラスがあることを教えてもらって、それを使ったらあっという間に行番号表示対応、完了。

というわけで、ようやく行番号表示に対応したので、そういう使い方をされてみるのも良いかと思いますよ。

JavaのプログラムソースコードをHTMLに整形


バグってたり、マズイところがあれば教えてくださいまし。

2011.07.17追記
生成したURLはちょっと長いので、同時にGoogleのURL短縮サービスでショートURLを取得して表示するようにしました。

2011年7月7日木曜日

Javaプログラム(jar)をLinux上でデーモン起動する

意外と半日ぐらいかけてしまったので、今後のためにメモ。
(無理やりねじ伏せたところがあるので要注意)

環境

OS: CentOS release 5.6 (Final)
デーモン起動させたいプログラム:SVF Connect [Server] (svf.jar)

詳細はウィングアークさんのページへ。製品知らないと見てもわからんと思うけど、要は Java製の常駐プログラムです。
適宜、ご自身で作成したものと読み替えてください。
※なんでデーモン起動用スクリプトが製品に付いてないのか(自作しなきゃいけないのか)、謎過ぎる。
(追記)インストール後のディレクトリ掘ったらいたわ…「SvfJavaConnectServer」。そういう大事なことはマニュアルかどっかに書いといてよ…半日潰したのに(涙)

基本方針

/etc/init.d にスクリプトを用意してランレベル別にリンクを設定(基本が大事かなってことで)

以下、内容。

設定ファイル


ファイル名: /etc/sysconfig/svfrserver
#
# SVF Connect [Server] Settings
#

#--------------------------------------------
# CLASSPATH(実行に必要なjar)
#--------------------------------------------
SVF_LIB=/opt/svfjp/svfjpd/lib
CLASSPATH=.:$SVF_LIB/svf.jar
CLASSPATH=$CLASSPATH:$SVF_LIB/vfpdfparser.jar
CLASSPATH=$CLASSPATH:$SVF_LIB/vfgrph.jar
CLASSPATH=$CLASSPATH:$SVF_LIB/jai_codec.jar
CLASSPATH=$CLASSPATH:$SVF_LIB/jai_core.jar
CLASSPATH=$CLASSPATH:$SVF_LIB/forme.jar
export CLASSPATH

#--------------------------------------------
# Java Boot Options(ここは結構苦し紛れ)
#--------------------------------------------
SVF_JAVA_OPTIONS=-Xrs
SVF_MINMEM=-Xms1024M
SVF_MAXMEM=-Xmx1024M

export SVF_JAVA_OPTIONS
export SVF_MINMEM
export SVF_MAXMEM

#--------------------------------------------
# SVF Connect [Server] Boot Options
#--------------------------------------------
FIT_PRODUCTS_BASE=/opt/svfjp
SVFLOGDIR=/var/log/svfrserver.log

SVF_OPTIONS="-L$SVFLOGDIR"

export SVF_OPTIONS


スクリプト


ファイル名: /etc/init.d/svfrserver

#!/bin/sh
#
# description: Starts and stops the SVF Connect for .NET Server daemon
#
# pidfile: /var/run/svfrserver.pid
# config:  /etc/svfrserver/svfrserver.conf

# Source function library.
if [ -f /etc/init.d/functions ] ; then
    . /etc/init.d/functions
elif [ -f /etc/rc.d/init.d/functions ] ; then
    . /etc/rc.d/init.d/functions
else
    exit 1
fi

# Avoid using root's TMPDIR
unset TMPDIR

if [ -f /etc/sysconfig/svfrserver ]; then
   . /etc/sysconfig/svfrserver
fi

pidfilename=svfrserver
pidfile=/var/run/$pidfilename.pid
# 自作プログラムの時は以下で指定
bootclass=jp.co.fit.vfreport.SvfrServer
# コマンドラインで実行する内容
cmdline="java $SVF_JAVA_OPTIONS $SVF_MINMEM $SVF_MAXMEM $bootclass $SVF_OPTIONS"

RETVAL=0

start() {
    KIND="SvfrServer"
    echo -n $"Starting $KIND services: "
    daemon --pidfile=${pidfile} "$cmdline &"
    RETVAL=$?
    # pid
    pgrep -f "$cmdline" > $pidfile
    echo
    [ $RETVAL -eq 0 ] && touch /var/lock/subsys/svfrserver || RETVAL=1
    return $RETVAL
} 

stop() {
    KIND="SvfrServer"
    echo -n $"Shutting down $KIND services: "
    killproc -p $pidfile $pidfilename
    RETVAL=$?
    [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/svfrserver
    echo
    return $RETVAL
} 

restart() {
    stop
    start
}

case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  *)
        echo $"Usage: $0 {start|stop|restart}"
        exit 2
esac

exit $?

ハマったのは、STOPするためにプロセスIDを記載したpidファイルを生成しないといけない箇所(startのとこ)。
自前で作ったJavaプログラムならプログラム内で自由にファイル生成できるけど、サードパーティのプログラムなんでプログラムからは生成できない。
というわけで、pgrepコマンドを利用しました。

# pgrep -f "コマンドライン文字列"

で、そのコマンドのプロセスIDが取得できるので、その内容をpidファイルとしてリダイレクト。
これでなんとかSTOPも出来るようになりました。

ランレベル別リンク設定

ランレベル0, 3, 5, 6にシンボリックリンクを作成。ランレベルの詳細はこちら
【例】ランレベル0の設定

# cd /etc/rc0.d
# ln -s ../init.d/svfrserver S16svfrserver


動作確認


# cd /etc/init.d
# ./svfrserver start
Starting SvfrServer services:      [OK]

大いに参考にさせていただいたサイト(多謝)

自作プログラムをサービスで起動・停止する方法 - とみんのブログ
PC覚え書き | プログラムのデーモン化
ランレベル

しかし、SVF。言いたいことが山ほどあるぞ。
ランタイムは良いのかもしれないけど、製品以外の部分(要はウ○ング○ークさん)はもう全然ダメ。
これがデファクトって、すごいよね。帳票部分ってよっぽど誰もやりたがらない分野なんだろうね。
まぁ、わかるけど。

2011年7月4日月曜日

【読書】ストーリーとしての競争戦略

ストーリーとしての競争戦略 ―優れた戦略の条件 (Hitotsubashi Business Review Books)書店に行けば平積みされているので、読んだことはなくてもこの表紙とタイトルを目にした方はたくさんいらっしゃるんではないでしょうか。ボクは1ヶ月ほど前に読み終わってたんですが、これ、(あまりに良くて)皆には読んで欲しくないな…と思って感想を書くのを渋ってました(笑)。


「人は、モノを買うのではなくストーリーを買うのである。」という言葉があります。
例えば、ここに1本のワインがあるとします。
店員さんから「このワインはボルドー産でフルボディ、濃厚さと重厚感が云々・・・」と言われるよりは、
「このワインが生まれた背景には、実はあるワイナリーの壮絶な戦いがあったんです。ワイン造りに一切妥協を許さないことで知られる○○さんが全財産を投じて云々・・・」と言われた方が、断然そのワインに対して興味が湧きませんか?
(そういう意味では、以前JMMで続いていた[JMM]特別寄稿~ワインは語りかける~/内池直人という連載は非常に危険なメルマガだった(笑))

ボクがいるIT業界でよく見られる「事例」も、ストーリーです。例えば何かプロダクトを持っているとして、その製品の既存ユーザーさんの事例というのは、新規の見込客に対して絶大な効果を発揮するんですが(もちろん、発揮するように作るんですが)、これも事例というストーリーを背景に共有することで、購入までの障壁を取っ払う仕組み。その話はまた今度。

いずれにしろ、営業をやったことがある方なら『ストーリーテリングは、最も過小評価されているビジネススキルである。』というゲイリーの言葉を知っている方も多いでしょう。
~Twitter、Ustream.TV、Facebookなど、ソーシャルメディアで世界一成功した男~ゲイリーの稼ぎ方(ソーシャルメディア時代の生き方・考え方)


この話は、そういったストーリーとは違います。

長々と関係ない話をしてしまってすいません。
ただ、ボク自身がこの本の内容を上記のように思い込んでいたので読むのを後回しにしていたんですが、いやこれは、是非皆さん読むべき名著であると思い、「そういう筋の本じゃないよ」と言いたかったので長々と関係ない話をしました。


さてこの本。ハードカバーなのでさぞかし(ハーバードビジネススクールシリーズのような)重厚な文章で検証されつくした理論が展開されていく重ための本、かと思いきゃ、文章のタッチがとても軽くて非常に読みやすい。どちらかと言えば、ちょっとくだけた方に分類される。例えも軽妙でわかりやすく、スラスラっと読み進められるんだけど、スルスルと読んでいるうちにポーターの競争戦略のエッセンスや、それを踏まえた上で著者の唱える「ストーリーとしての競争戦略」が立体的に頭に入ってくる。

ズルイのは、第1章の最初のページで、こんな文章が出てくるところ。
この本を手に取って読んでくださっている方々の多くは、ビジネスを実践している実務家だと思います。皆さんのような実務家に対してお話をする機会を、私はこれまでに数多く経験してきました。そうしたときには、いつも私は思います。私の話を聞いて実務家の頭によぎるのは、こういうことなのではないでしょうか。「おまえに何ができる?偉そうなことを言うな!」
のっけから、いい感じの先制パンチ(笑)。ボクの周囲にも、「本なんて読んでる時間があったら実践して経験を得る方が良い」という主張の人が多いけど、そういう人には是非これに対する著者の見解を読んでみて欲しいと思います。「理屈じゃないから、理屈が大切」という逆説。


ストーリーとは何か?競争戦略とは何か?そして本題のストーリーとしての競争戦略とは?ということが、スターバックスやデル、サウスウエスト航空、アマゾン、マブチモーターやアスクルなどの事例を引っ張りながら、非常に丁寧に、かつ小説を読むかのごとく気楽に読み進められます。

ボクがここで中途半端に内容を紹介するよりは、是非通して読んでいただきたいので引用等は控えますが(というか、引用したいところだらけなんですが)、これを読んだ後、絶対に自社ビジネスの根本的なところからじっくり再考したくなるはずです。

企業が出す様々な打ち手が複雑なパスとして絡み合い、一見、非合理な行動が実は他社を跳ね返す源泉となって一筋のストーリーとなり、競争優位を保ち続ける結果となる。
普段何気なく見たり聞いたり感じたりしている「イケてる会社」に対する見方に、新たな視座、気付きをもたらしてくれます。

ベストセラーになって当然、超オススメの本です。


(おまけ)
これを読んだ後、IT業界において今いちばん筋の良い、そしてホットなストーリーを持って戦略を展開している企業を考えてみた。きっと「すべてを記憶する」、Evernoteじゃないかな?
(facebookとかはもう完全に突き抜けちゃってるんで、外しました。いや、まぁ、Evernoteも突き抜けてますけどね…)

2011年7月2日土曜日

今日のスクラップ20110701

「今日のスクラップ」は、日中つぶやいた「気になるIT界隈の記事」に一言メモを付け足してまとめたものです。
仕事への活用、あるいは企画のひとりブレスト用、あるいはより良い人生のための自分専用ネタ帳です。

2011.07.01

なるほど~。そこだけ切り出したか。 RT 雨の日限定の割引サービスを掲載、閲覧できる「雨割」--Dayzと日本気象協会が提供 http://t.co/GtQxqY3 via @cnet_japan
これは、皆が嬉しいサービスで良い企画!まだ店舗の登録が少ないみたいだけど、広がるといいなぁ。


ロケーション系クーポンとの合わせ技専用販促サイトとかが簡単に出来そう。 RT:Google Sitesがモバイル対応―誰でも数分で携帯向け通販サイトが作れる http://t.co/UeEjFFs via @jptechcrunch
そういうパッケージングしてくる代理店が多そう。


ついこの間Analytics with SBMを入れたばかりだけど、今後は本体が対応してくれるのか。RT:Google、 +1ボタン(その他すべてのソーシャルボタン)の効果を測定するサービスを開始 http://t.co/WJyCRu6 via @jptechcrunch
「+1」のローンチをトリガーにいろいろ仕掛けてきますね~。来週のFacebookの発表も気になります。


ほんと選択肢が広がりますね。2サービスまで無料。 QT プログラミング言語やデータベースが選べる新世代PaaS「DotCloud」が正式サービス開始 - Publickey http://t.co/07G1dSq
プログラマーだって、身ひとつでどこでも仕事できるようになってきました。

2011年7月1日金曜日

今日のスクラップ20110630

「今日のスクラップ」は、日中つぶやいた「気になるIT界隈の記事」に一言メモを付け足してまとめたものです。
仕事への活用、あるいは企画のひとりブレスト用、あるいはより良い人生のための自分専用ネタ帳です。

2011.06.30

特に1、2年前から「(広義の)デザインがとても重要」とよく言われてますが、確かにnanapiはデザインが考えぬかれてますよね。 QT コレスジ!(1) 伝えることを考え抜く「nanapi」のUIデザイン(1/2) - @IT : http://t.co/AkRD7EI
デザインは大事です。でも未だにプロダクト開発でデザインに凝らない(こだわらない)人は多い。だから、デザインに力を尽くせばそれだけで差別化できる可能性が高まる。


Visual Studio 2010(SP1)でASP.NET MVC3のHello Worldを作って動かしたけど、 プラットフォームを「x64」にすると(実際64bit環境なので)ViewBagの値が更新されないんだけど、誰か助けて?(「Any CPU」にすると正しく動く)
これ、Vスタのバグ?


まぁ、確かに。 QT イノベーションは簡単に殺される--5つの問題点を紹介 http://t.co/im8G1ZB via @cnet_japan
この手の話は、業態によらず何度も繰り返し主張されていることなんだろうけど、繰り返されるってことはそれだけ実行が難しいことばかりなんだろうね。いや確かに難しいことばかり。


スマホガール・・・? RT コンテストも→スマホガールファッションショー開催! 「TechWave人xテクノロジー祭@浅草花やしき」開催前レポート(1) #hanatech【@maskin】 http://t.co/HjAhlT2 via @techwavejp
なんだか、とても楽しそうである。


大阪駅前はまだ伊勢丹ビル工事中の頃だなー QT Google Japan Blog: きれいな画像で見られる地域が増えました : http://t.co/ERZ7BO4
Google先生の徹底っぷりには恐れ入ります。