なかなか良さ気なマインドマップ用ツール
マインドマップ用のツールは数あれど、 もう何年もいままでずっと
を使ってた。
有料のツールだけど、とにかくシンプルで軽い!
Mac版もWin版もあるし。
紙に書くならもちろん別だけど、PCでちょっとしたメモ用途でマインドマッピングをする場合、自分的には画像貼ったりとか「重い機能」はまったく不要。
とにかくサクサク書けるやつがいい。
そういった意味では上の「マインドピース」は最高です。
そして最近「お?これ良い感じかも・・・。」と見つけたのが
画面はこんな感じです。
シンプルでデザインが綺麗!
Webベースのツールだけど軽い!そして、他のメンバとも共有もできる。
Macの「MindNode」のようなスマートレイアウトはないけど。
うーん、こいつはなかなか。('-'=
OmniFocus(Mac)の期限リマインダーの同期期間
MacのOmuniFocusの「期限リマインダー」をカレンダーとして表示したところ、
2週間先のリマインダーが表示されない。
同期時間短縮の為とかの理由で仕様となっているのだろうか・・・。
OmniSync使っても、Spootnik使っても同じ動きする。
そんな先のイベントやタスクをリマインダーになんか登録しないだろってことかな。
QiitaのAdvent Calendarがスタート
ああっ、ついに12月に入ってしまいました!早い・・・。
てことで、Qiitaの2013年のアドベント・カレンダーに続々と情報が出てきました。
できるだけいろいろな記事を読んで勉強しなきゃなぁ。
ちなみに私もちょこっと記事を書いて見ようと思ってます。('-'=
本日12月1日より,プログラマ有志による2013年の技術系Advent Calendarが各所ではじまる:インフォメーション|gihyo.jp … 技術評論社
ソーシャルブクマ「Pinboard」で良さげなChrome拡張
プログラマなら気になりそうな、コード記述の話題
ソースコードの、
- インデントは「タブ」にするか「空白」にするか
- ここにスペースを「入れる」か「入れない」か
- カンマの位置は「前」か「後」か
といったことを、Githubから統計を取った結果のようです。
まぁ、書き方はどうあれ、
記述がプロジェクトやチームで統一されていることが大切なんじゃないかなと思う。
#Effective C# 4.0のもくじ
Chapter 1 イディオム
- アクセス可能なデータメンバの代わりに常にプロパティを使用すること
- constよりもreadonlyを使用する
- キャスト時にはisあるいはas演算子を使用すること
- #ifの代わりにConditional属性を使用する
- ToString()を常に実装すること
- さまざまな同値性メソッドの関係を把握する
- GetHashCode()の罠に注意する
- ループの代わりにクエリ構文を使用すること
- 独自のAPIでは変換演算子を定義しないこと
- メソッドのオーバーロードを最小限にするよう、オプション引数を使用する
- 機能を最小限かつシンプルにすること
Chapter 2 リソース管理
- 割り当て演算子よりもメンバ初期化子を使用すること
- staticメンバは適切に初期化する
- 初期化ロジックの重複を最小化する
- usingおよびtry...finallyを使用してリソースの後処理を行う
- 不必要なオブジェクトの生成を避けること
- Disposeパターンの標準的な実装
- 値型と参照型の違い
- 値型における0を正常な状態とすること
- 値型は不変かつアトミックにすること
Chapter 3 デザインの表現
- 型の可視性を制限すること
- 継承よりもインターフェイスの定義および実装を行うこと
- インターフェイスメソッドとかそうメソッドの違いを理解する
- デリゲートを使用してコールバックを実現する
- イベントパターンの実装により通知を行うこと
- クラス内オブジェクトの参照を返さないようにすること
- 型はできるだけシリアル化可能にすること
- 粒度の粗いインターネットサービスAPIを作成する
- ジェネリックの共変性と半変性をサポートする
Chapter 4 フレームワークの活用
- イベントハンドラよりもオーバーライドを優先すること
- IComparable
とIComparer を実装して順序関係をサポートする - ICloneableを使用しないこと
- 親クラスの変更に応じる場合のみnew修飾子を使用すること
- 基本クラスに定義されたメソッドをオーバーロードしないこと
- PLINQが並列アルゴリズムを実装する方法
- I/Oのコストが高い処理に対してPLINQを使用する方法
- 例外を考慮した並列アルゴリズムを構成すること
Chapter 5 動的プログラミング
- dynamicの利点と欠点を把握する
- ジェネリック型引数の実行時型を活用するためにdynamicを使用する
- 匿名型を引数にとれるようdynamicを使用する
- DynamicObjectあるいはIDynamicMetaObjectProviderを使用してデータ駆動のdynamic型を作成する
- Expression APIを活用する方法を把握する
- 式を利用して事前バインディングを遅延バインディングに切り替える
- 公開するAPIでは動的オブジェクトを最小限に抑えること
Chapter 6 その他
- ボックス化、ボックス化解除を最小限に抑える
- 完全にアプリケーション固有の例外クラスを作成する
- 例外を強く保証すること
- 安全なコードを採用すること
- CLS互換性のあるアセンブリを作成すること
- より小さく凝集したアセンブリを作成すること