[ Office / WebApp ] ZOHO work online
ZOHO work online なるものを教えていただいた。
MS-Word, Excel, PowerPoint 互換の Web アプリらしい。
他に Wiki とかプロジェクトマネージメント、スケジューラのようなものまである。
Google gears を使うことでオフラインでも使用可能らしい。
すばらしいサービスだ。
| 固定リンク | コメント (0) | トラックバック (0)
ZOHO work online なるものを教えていただいた。
MS-Word, Excel, PowerPoint 互換の Web アプリらしい。
他に Wiki とかプロジェクトマネージメント、スケジューラのようなものまである。
Google gears を使うことでオフラインでも使用可能らしい。
すばらしいサービスだ。
| 固定リンク | コメント (0) | トラックバック (0)
A map is a container that stores pairs of keys and values. Looking up keys, inserting keys, and deleting keys can all be performed in logarithmic or better time. Maps support bidirectional iterators (no random access). In other languages and libraries, maps are also called dictionaries and associative arrays.
( C++ in a Nutshell, Oreilly & Associates Inc )
とあるように、C++ の map は「他の言語では辞書とか連想配列と呼ばれている」ものらしい。
こう説明されているとすっきり理解できるね。比喩は偉大だ。
で、multimap はというと
The multimap class template represents a map container that can store duplicate keys.
( C++ in a Nutshell, Oreilly & Associates Inc )
ということで、key の重複が許される map らしい。key の重複が許される点が Python の辞書と異なる。map も multimap も key に直接変更を加えることはできず、変更するときはいったん削除 ( erase ) してから変更したものを挿入 ( insert ) する必要がある。
A map's iterators are bidirectional. They return value_type references; use the first member to access the key or second to access the associated object.
( C++ in a Nutshell, Oreilly & Associates Inc )
map オブジェクトのそれぞれの要素の key にアクセスするには、それぞれの要素へのイテレータを取得してそのイテレータの first メンバ変数を使う。values にアクセスするには second メンバ変数を使うらしい。イテレータは find メソッドとかの戻り値として取得できる。
ところで何ゆえにわたしは C++ なんぞやっているんだろう。
他にやりたいことがたくさんあるのに。
最後に一言言わせてもらうとだ、「グローバル書き換えまくりプログラミングは最悪だ」。
| 固定リンク | コメント (0) | トラックバック (0)
Parallel LINQ: Running Queries On Multi-Core Processors
使い道は DB にクエリ投げるだけじゃなくて、他にもあるかもしれないなと思って。
そのうち実験してみよう。
| 固定リンク | コメント (0) | トラックバック (0)
.NET Framework 3.5 正式版と VisualStudio2008 ( コードネーム Orcas ) 正式版が公開されました。
.NET Framework 3.5 Runtime ( つまり実行環境 ) の方は こちら からダウンロードできます。
.NET Framework 3.5 SDK と Orcas は MSDN サブスクリプションからのダウンロード提供のみにとどまっているようで、まだ一般ユーザはダウンロードできないようです。
| 固定リンク | コメント (0) | トラックバック (0)
ここ数日、悪い意味でとってもすごいコードを読んでいる ( バグ修正のため ) わけですが
まさか実務で i1 とか i2 っていう変数名をつけられているコードを読むことになるとは思いませんでしたよ。
変数名からはなにやっているんだかさっぱり想像がつきません。
現代でこんなコードを書く人は人生考え直したほうがいいと思う。
| 固定リンク | コメント (0) | トラックバック (0)
ファイルシステムの機能をまとめたページが Wikipedia にあった。
まとまっていて便利。FAT と NTFS で混沌としていた Win2k 登場初期にこのページがあったら大活躍だったろうなぁ。今でもかなり役に立つけど。
| 固定リンク | コメント (0) | トラックバック (0)
少なくとも、業務で、チームの一員として書いたコードでは。
業務で、チームの一員として書いたコードのコメントってのは、メンバーのために書くものだと思う。
デバッグのための役に立つ情報かもしれないし、あまり知られていないアルゴリズムを解説するものかもしれない。
「いいコメント」の例は Python の DocString だろう。Python の標準モジュールの DocString は自分のためではなく、Python を使う開発者 ( つまりユーザ ) のために書かれている。そのメソッドの引数は何か、何をするのか、戻り値として何を返すのかといった自分以外の開発者にとって有益なことが書かれている。
少なくとも、
int hoge = 32; // 数値に意味はない
なんてのはコメントのうちに入らない ( 数値に意味がないならなんで代入してるんだ? ) し、
// XXX
void functionname( args ){
....( 以下略 )
なんてのは論外だ ( XXX って何だよ?これみて何を理解しろってんだ? )
個人で趣味で書いたコードならどう書いてもいいと思うけどね。
わたしは Python の DocString のようなコメントを心がけて行こう。
2007.11.14 追記
なんか誤解されていたので追記。
XXX って書いてあること自体は悪いことじゃない。
悪いのは XXX だけ しか書いていないことだ。
# XXX ( 確かめなきゃいけないこととか )
| 固定リンク | コメント (0) | トラックバック (0)
C/C++ だとこんなのがあるらしい
Automatic Tab Bar for MDI programs ( CodeGuru )
.NET だともっと楽になる。WindowsForms の TabControl をつかう。
TabControl コントロール (Windows フォーム) ( MSDN ライブラリ )
| 固定リンク | コメント (0) | トラックバック (0)