Force.com Sites?

仕事なんでそれなりに世の中の動向はWatchしないといかんわけでして、今はたまたまSFDCの案件をやっているので、SFDCが何をやっているかは気にしてみたり。

とかいいつつ、Google ReaderにRSSを登録してるけどまったく見てなかったので、ふと見てみた。そこには見慣れない新しいサービス「Force.com Sites」などという名前が。つっても・・・発表があったのは11月上旬 (゚Д゚;)

とりあえず、Previewとして利用できるようです。

ココで登録すると、Developer環境の[設定]-[アプリケーションの設定]-[開発]に「サイト」が追加されます。サイトの設定で「有効なサイトのホームページ」で素のVisualForceのページを指定して、作成したページを表示すると。「ホーム」タブで素のVisualForceのページが表示される。作ったものは、下記のサイトです。

えぇ、時間がないので何も作ってないですよ。。
尚、IE6だとJavaScriptのエラーが出まくった・・・ま、Previewってことで見なかったことにしよう。。。

要はAmazon Web Servicesと同じようにプラットフォームを提供しようとする(PaaS)取り組みの一環なのでしょうけど。Amazonと違い、Force.comというプラットフォームは自由度はほとんど無い。JavaもどきのApexコードやどうやって動いているのかよーわからんVisualForceという独自の言語なので、既存の開発者が取っつき難いつーか、触ろうとも思わんだろう(開発なんかやったことない人は、幸せになれるかもしれない)。また、マルチテナントなんで制約もてんこ盛り!なので、流行るかどうかは微妙。。。正直、このプラットフォームの上で物を作ってて、面白いと感じたことは残念ながら今のところ無い。

とはいっても、開発経験のない人でもカスタマイズできるようにというユーザ主体の試みは賞賛すべきだと思う。それに、今まで普通だったこともいつ普通じゃなくなるかわかったもんじゃないので、何ともいえないですから。

Firefox3のパフォーマンス劣化?

自宅のPCはそれなりの性能があるのでそれほど気にならないが、会社で使っているヘッポコノートPCだとFirefoxの動作が非常にモッサリするのが気になった。また、コードネーム「SHIRETOKO」のFirefox 3.1 β2を試しにインストールした際に、異常に速かったのもありアドオンが問題だろうというは当たりはついていた。

そこで、必要のアドオンを見直すことにした。
参考にしたサイトは以下のサイトです。

無効化したアドオン

削除したアドオン

とりあえず、Stylishを無効化したらかなりモッサリ感がなくなった。Firebugもワシの貧弱なマシンではほとんど動かすこともないので外した。他にもIETabが効果ありそうなのだけども、IEを別で起動するとなるとそれはそれでメモリを喰うので残した。

起動も多少速くなったかな?起動については[オプション]-[詳細]-[更新]で自動的に確認するのチェックを外しても、多少は変わったきがする。終了するときのスピードも劇的に速くなった!とはいえ、面倒なので実測値はないです (゚Д゚;)

まぁ、機能をどんどん追加すれば性能が劣化するのは、すごく当たり前のことなんですけどね。。。セキュリティしかり。

話が飛ぶが、ページによって急激にメモリ使用量が増えるページがある。特に、Salesforceのページ(かなり作りこんでいるから?)はやたらとメモリを喰う。。。何故に???
そもそも、メモリ管理ってどうやってるんだ?という疑問がフツフツと ←メモリ管理なんて知らないくせに (゚Д゚;;)
それっぽいページ↓を見つけたのでとりあえず読んでみる・・・

要はページを表示する際に必要な画像やファイルをキャッシュとして保持するようになっているようだ。

■2009/03/04 追記
「about:config」でフィルタのフィールドにipv6と入力すると「network.dns.disableIPv6」という項目が残るので、其処をダブルクリック又はコンテクストメニューから「切り替え」で値がTrueにするといいらしい。

3歳

土曜日でノンも3歳になりましたヽ(´ー`)ノ
ってことで、2歳の写真を160枚ほど見繕ってコラージュ♪

2歳の思い出

写真を選んでいると「あ~こんなことあったなぁ」っと何とも感慨深いものがありますね。

今回はPicasa 3を導入して、新しいコラージュの機能で作ってみました。

ToDo管理

永遠の課題だと思う。日々、やらなければいけないことは山積み。あまりに色んなことが起こるもんだから、どんどん忘れてしまうものだ(ワシだけ?・・・じゃないよね??)。だいたい、ToDoのリストには消化できる以上の量が日々登録され、雪だるま式に作業が増えていく。まずは「如何にしてやらなければいけないことを忘れずに管理したらいいのだろう?」ということに焦点を置いて話を進めたいと思います。

正直なところ、人によってやり方は様々だろうし、お勧めのやり方があれば教えて欲しいものです (゚Д゚;)
(ちなみにGTDなどは勉強したことありません・・・)

個人的にRemember The MilkやGMailでのTask管理には興味があるのだが、そもそも会社では使うことができない。まぁ、情報として外に漏れたらまずことだってあるだろうから、当然の措置といえばそうだと思う。

とりあえず、現時点ワシが落ち着いているやり方についてまとめてみようと思う。あくまでワシ個人のやり方であって、いいかどうかはわからない。

[ツール]
ツールとしては以前から愛用している。以下のものを使用(ぶっちゃけ何でもいいと思う)。

このツールは紙copiというツールの海外展開を始めるという名目でアルファ版が公開されてから、かれこれ一年以上が経過しているものだ。アルファ版といえど、フリーで普通に使えるので愛用させてもらっている。
個人的にこれ以上に簡単にテキスト情報を管理できるツールはないと思ってる。

[使い方]
まずこのKamicopiで管理するための「ToDo」という名前の箱を作ります。

[箱の作り方」

  1. メニューの[箱(T)]-[新しい箱を作る]で表示されるダイアログのテキストボックスに「ToDo」と入力し、「作る!」ボタンを押下します。
  2. 作成した箱を右クリックし、「予定表として使う」をクリックしチェックを入れます。

以上で準備は完了です。

[ToDoの入力]
箱を予定表として使うようにすると向こう二ヶ月間の日付が設定された状態になります。
今日の日付で頭にToDoと入力し、後はその下にやらなくてはいけないことをツラツラと書くだけ。

Kamicopi

自分の場合はツラツラと入力する際に非常に簡単なルールを決めています。

  • 完了していないToDoの頭には「□」を、完了したら「■」と変更する。
  • 基本的に優先度が高いものを上に書く。
  • 優先度が高い中でも急を要するものは「□」代わりに「☆」を使う。
  • 詳細も含めて、全て同じ日付のところに書く。
  • 「■」や「★」となったものは、次の日には引き継がないで完了した日付のところに残す。
  • メールや口頭で頼まれたら直ぐに書くようにする。

といった具合です。とりあえず、これで今は何とか回ってはいます。まぁ、、仕事の負荷が高くなると大きな雪だるまが出来上がりますけどねヽ(;´Д`)ノ

よくあるツールでは一覧でToDoをリスト化して、詳細を見るにはワンアクション必要となる(OutlookのToDo管理しかり)。でも、個人的にはパッと見で、どの作業がどういう状態かを把握したいから、テキストベタ書きで管理している。バグの管理といったものは非常に管理する内容が明確であるため、内容がわからなくてもステータスで大体把握できる。しかし、日々のToDoといったものは千差万別であるため、一覧で項目とステータスがわかってもよくわらない。そもそも、ステータスのつけ方が難しいと思うから。

パース

今日の朝、ノンが

「これパースで買ったの!」

と言った。

ん?

「それって、スーパーのことか?」

と聞くと、「しまった間違えた」という顔をしているではないですか。

いやぁ~、成長って面白いね♪

[JavaScript] CSVファイルを生成してダウンロードさせたい。

ASP.NETだったらサーバ上でCSVファイルを生成してダウンロードさせることは簡単だが、
JavaScriptで同じことがしたい場合はどうすりゃいいのだ?と思い調べてみると。
(今更な話なのでしょうが・・・困ってるんですよ)
同じようなことで悩んでいる方はいっぱいいました。

んでもって、上記のページに書かれていたものにほんのちょっと手を入れたものが以下のもの。

function download()
{
var win = window.open("", "",
"width=1,height=1,directories=no,location=no,menubar=no," +
"scrollbars=no,status=no,toolbar=no,resizable=no");
window.document.width = 1;
window.document.height = 1;

FileName = "20081217.csv"
var fr = win.document;
var Data = "1,2,3,4,5";
fr.write(Data);
fr.execCommand("SaveAs",true, FileName);

win.close();
}

ファイル保存のダイアログでそのまま保存すると、文字コードがUnicodeで保存されます。
そのため、Excelで開くとUnicodeテキストと認識されてしまうのでカンマ区切りで表示されません。
なので、保存したファイルの文字コードを「Shift_JIS」や「UTF-8」に変換してやらないといけません。。。

要するに、JavaScriptでファイルを生成してダウンロードさせることは出来ないってことがわかりました。
(なんとかやりようがあるのなら、教えて欲しいですが・・・)
まぁ、普通ファイルはサーバサイドで生成するものですから(;´Д`)

つーか、こんなことで悩みたくね~・・・

年賀状の写真

週末に、ようやく年賀状の写真を決めた。
年賀状というよりは、個人的には自分の写真を発表する場に近かったり・・・( ; ゚Д゚)マチガッテル?
よくよく考えるとするわけです。
ま、傍から見れば「親バカ」な年賀状に過ぎないのでしょうが(´▽`*)アハハ

今年も残すところわずかですが、自分がビックリするぐらい
よく撮れたと思うのは暑中見舞いの写真に使った以下のもの。
(今更ですが、公開!)

2008暑中見舞い
PENTAX K10D + smc PENTAX FA 77mm F1.8 Limited

実際、この写真をどうやって撮ったか?というと。
カメラ(K10D)の設定は以下のとおり。

撮影モード:プログラムモード(だいたいプログラムモードにしっぱなし、たまに絞り優先だけど、Hyper Programで絞りを変えるほうが多い)
測光モード:スポット測光(分割測光か、スポットかってところ)
ホワイトバランス:太陽光(これもだいたい固定。最近は寒々しくなりすぎるので「日陰」に設定することはある)
AFエリアモード:スポット(AFが迷うので、スポットにしてることが多い)

で、ノーファインダーですw 子供の目線で撮る場合は、ファインダーを覗かないで撮ることは多いかも。

つまり、総括すると。カメラ任せで、たまたま撮れた写真ってわけです。。
後はレンズに依存するところは大きいな。きっと。。

最近は、動きについていけてなくて、ブレブレな写真を量産中♪
精進が足らんですなヽ(;´Д`)ノ

アイディアの創出

ワシの会社でも数年前から新しい事業を考えようとする取り組みが全社的に進められている。当たり前のことかもしれないが、無駄に大きな会社でもあるのでその辺の動きは鈍かったことからも、随分変わってきたとは思う。

しかしながら、日々の業務でボロボロになっている設計部署に連中にとって、そんなことを考える気が起きないという状態が大多数であることは間違いない事実。実際、設計部署のサポート部隊にいたころには、それなりに「心に余裕」みたいなものがあったから、色々なことを妄想する余裕があったと自分でも思う。

しかーし!忙しいからといって新しいことを考えなければ、この厳しい世の中を生き残っていくことはより困難になるとも思う。ま、思うのは簡単だが、実行に移すのは難しい(;´Д`)かといって、忙しいからと言ってそういう時間を作らないのではなく、忙しくてもそういう時間を作るようにしなければいけないとも思う。

そんな折、1ヶ月ほど前だろうか、同僚と上司から「新しいサービスとかを考える場を設けてくれないか」と頼まれた、まぁ場を設けるぐらいならと思い、セッティングをしてみたはいいが、気がつけばワシが言いだしっぺということになっていたわけだ (´▽`*)アハハ

ブレインストーミングなんていう洒落た言葉の存在は知っているし、「やったほうがいい」とか口では言っていたが、実際やったこともないという、右も左もわからない状態。とりあえず、1回目はみんなを集めて適当に話すことにしたが、話にくいし、話はまとまらないしとヒドイ状態 (゚Д゚;) まぁ、当たり前の結果だろう。
2回目は何とかせんといかんと思い、事前にお題を連絡して考えてきてもらうことにし、マインドマップもどき(本とか読んだことないので・・・こんど図書館で借りてこよう。。)を書きながら進めてみた。試行錯誤ではあるが、これが中々面白かった!とりあえず、面白くなけりゃ続かないのでヨシトシヨウ。。

んでもって、議事録をマインドマップ風にまとめるのに使ったのは以下のフリーのツール。ベータ版の最新のものが安定版よりも機能面でしっくりきた気がします。次回はこのツールで描きながら(ホワイトボードだと物理的に狭いと思った)、やってみようかと思う。

しかし、アイディアをいざ出そうとすると、出ないものだと痛感。日頃からそういうことを考えることが、まず第一歩なのか?と思う今日この頃。

“アイディアの創出” の続きを読む

[Salesforce.com] 画面を開発する際の性能について その1

SFDCのForce.comというプラットフォームで物を作るのは、何かよくわかんねーけど「面白くない」。
今まで普通に出来ていたことができなくなるからかもしれない。
でも、クラウド上で物を作る場合には、こういったことは普通になるのかもしれません。

まず、画面を作る際には下記の2つの選択肢がある。

  • SControl・・・HTMLとJavaScriptでゴリゴリ作る感じ。
  • VisualForce・・・ASP.NETモドキ

まぁ、どっちでも作れますが、現状ならVisualFroceをお勧めする。

何故か?

SControlもVisualForceもSFDC上のServletを介してページが生成されている。ま、どっちも呼び出されるたびに生成処理が走るので速くはないのは同じだが、SControlだと共通の処理記述したJavaScriptを外だしすることが出来ない(静的リソースを使うことができない)分、コード量が多くなってしまう。そのため、サーバサイドでのページの生成処理に負荷がかかる分、VisualForceに比べてもどうしても遅くなってしまうからです。

しかし、VisualForceもまだまだ出来たてホヤホヤなんで、、、。例えば、Winter ’09がリリースされて、VisualForceのページはデフォルトだと標準画面とは別のドメインで動くようになった。おかげで、標準の画面との間でクロスドメインの制限を気にする必要が出るようになった。
セキュリティ上の問題(セッションハイジャックとか)があってこうなっているらしいのですが、SSLで通信してても問題になるのかどうか?私がバカなんで理解できていません。誰か教えてください。

また、VisualForceやSControlで作成した画面を標準画面レイアウトに埋め込むことができるが、出来る限り最小限に抑えたほうがいい。これらの画面を埋め込むと、実際には標準画面に「IFRAME」で呼び出されるようになる。当然ながら、埋め込んだ数が増えれば増えるほど、どんどん遅くなる。しかも、CPUの処理に依存して性能差が出てくる。

なので、標準画面はカスタマイズで出来る範囲でおさめて、どうしても画面を作る必要がある場合は、その画面をポップアップのようなかたちで別画面として単体で表示するような仕様に落とし込むことを考えたほうがいい。

あくまでこれは現状での話しであって、今後改善されるかもしれないです。

つーかさぁ、これから先クラウド上での開発が主流になるのかねぇ。。。