FileShare列挙体が肝なようです。
using (FileStream fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read))
{
using (TextReader textReader = new StreamReader(fileStream))
{
// ファイルを読み込む処理
}
}
そういえばIDisposableインターフェースを実装するクラスは上記コードのようにusing句で囲むことができます。 ここ にも記述されているようにIDisposableインターフェースのDisposeメソッドはアンマネージ リソースの解放を行うのですが、using句で囲むとDisposeメソッドを呼び出し自動で解放処理を行ってくれるのです。
つまりあの決まりきったtry finallyから解放されるってわけです。 このあたりがかっこいいと思いますC#。あとPropertyもやっぱりいいと感じてしまいます。
これもすべて例外がRuntimeException扱い(Java)だから成せる業でしょうか。 ちなみにVB.NETは2005からusingができるようです。
久しぶりにJavaを触ってびっくり。SortedListがないじゃないですか!自分はだめだめですorz
preタグの中身が横に長いと今のテーマだとスタイルが崩れちゃう(´・ω・`)
ただただしさんの日記でバッドノウハウであるといいつつも、解決法が載ってたので自分のテーマにも入れて解決(`・ω・´)
white-space: -moz-pre-wrap; /* Mozilla */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ white-space: pre-wrap; /* CSS3 */ word-wrap: break-word; /* IE 5.5+ */
うーん。確かにブラウザ依存だ(笑)。
昔へっぽこ掲示板作ったときに、友人にいじめられた記憶が思い出されます。 いや厳正なるテストだったと信じたい。 あのときはbreak-wordで回避した記憶がありますが、まさかここまで 揃っているとは。。
http://www.mozilla-japan.org/projects/firefox/
落として使ってみました。
初回起動時に対応していないプラグインの一覧が出て、無効化してくれました。
上に記してあるのは2005/11/03時点です。今は対応していなくても、いずれ 対応すると思われます。
メインに使っていれば、もっと使用可否が分かるのですが申し訳ない。 メインに使っていてもプラグインが増えるかといえばそうでもないですが(^_^ゞ
初回起動はやっぱり重いです。それ以外の動作に関しては特に問題なし。
プラグインを追加しようとしても、1.5に対応していないものはインストールできません。 ようやく感もあるかもしれませんがいいですね。暴走がかなり減ると思います。
まだRCなので過剰な期待はしないほうが無難です。
洋服買いに上野まで行ってみました。 普通に歩いていたら御徒町。そのぐらいの近さに驚いた。
上野駅を出て横断歩道で信号待ちしてると何か匂う。
タバコ吸ってる人。やめてください。 皆信号待ちで止まらざるをえず受動喫煙させてますよ。
マナーは大切に
あいかわらず自宅のDebianが寂しい思いをしているわけですが、 CPU切替器が欲しいと思う今日この頃。
今は安定しているのでSSHで接続して特に問題はありません。 しかし問題が発生したりインストール作業となると、モニタが一台しかない今の環境では 裏でごそごそ差し替えなければいけません。
これは格好悪い。
しかし今のマシンはDVI接続しているのですが、DVI対応の CPU切替器はあまり出回っていません。 秋葉原に出向いてDVI対応を探して、うろうろしてみたところ 安いもので7000円からでした(-_-;)
もう少しお預けという結末。次のモニタを購入するまでにCPU切替器 を購入していなかったら買わずじまいになりそうです。(予定では4,5年ぐらい後)
キーボードとマウスは気に入ってるので変えたくないことも理由のひとつです
安いし手ごろな大きさということで、通勤の読み物として購入。 内容は題名どおりSEとして何をしていかなくてはいけないのか、 SE・マネージャーとして必要な行動・考えといったものが書かれています。
理想と現実は違うといってしまえばそれまでなのかもしれませんが、 書いてある内容はいわれてみれば当たり前なことが 基本的には書かれていると思います。
しかし、仕事を通しているうちにその当たり前がいつのまにか 忘れてしまっていたり何かのせいにしたりしていないか? と自問自答させてくれる良本だと感じました。
だらけはじめていると感じたときに、この本を読んでみると気持ちが引き締まると思います。
おったまげました。
これは驚き。WebアプリはVWDというツールを別途でインストールすればいいみたいです。 ただしどのくらいの制限があるかやったことがないので不明です。
ソース管理はCVSまたはSubversion。テストツールはNUnitで行えば十分いけるような気がします。Click Onceはプロジェクト次第ってところかも。 でもVisual StudioとVSSの連携ができないのは痛いかもです。
何はともあれお勉強道具としては全く問題ないので、離れかけていた心が若干戻りましたよ(笑)。で、Javaと.NETどっちを極めればいいの?(基本的に言語に偏るつもりはないですけど)
それにしてもなぜ1年間なんて期限付きなのかよく分かりません。
24時前後の追記はやめよう
きちんと探してみたところtDiaryの日記削除に関するFAQを発見したので、置いておきます。
日記を隠すことはできても、削除することはできません。日付の変更もできません。
typo同様削除することはせず、へたれっぷりをさらしておこうという気持ち。
Win + pause
これは知らなかったです。ということで知っているものから 徹底的にWin + キーという暇つぶし。
| Win + M | すべて最小化(+ Shiftで復元) |
| Win + D | デスクトップの表示(もう一度で復元) |
| Win + L | ロック |
| Win + E | Explorer |
| Win + R | ファイル名を指定して実行 |
| Win + F | 検索 |
| Win + U | ユーティリティマネージャ |
| Win + pause | システムプロパティ |
| Alt + Tab (+ Shift) | タスクバー一覧 |
| Alt + Esc (+ Shift) | タスクバーウィンドウ状態保持移動 |
| Ctrl + Esc | Winキー(復元時アクティブにならない) |
| Ctrl + Shift + Esc | タスクマネージャ |
| Ctrl + Alt + Delete | Windowsのセキュリティ |
Win + Uは知りませんでした。ショートカットキーを使うときに 限って忘れたりして、結局Explorerからアイコン操作になって しまうんですよねえ。
書いてる間にどんどん思い出してきました(笑)
他にもあったら教えてくださいm(_ _)m
category_ulプラグインを更新しました。
category.rbを汚すことなく設定ができることに気づいたので追加しておきました。 コメントアウトしたさい必ず有効にするために=演算子のみの指定にしています。
またちょっとミス発見orz=3
修正しときました。だめだ。
土曜午後まで寝ている。日曜の朝方に眠りにつく。日曜午後まで寝ている。
月曜死亡。ここのところこんなパターンが続いているので、 なんとしても生活リズムを変えます。
どう考えても深夜にパソコンをつけていることがよろしくない。 よって土日は深夜パソコン禁止。
設定画面からカテゴリのヘッダを変更できることに、使い始めて3ヶ月以上もたって 初めて知りましたorz
設定を保存するとdataディレクトリに入っているtdiary.confに設定が 保存される仕組みでした。
ということでcategory_ul1.1.1にオプションとして入れる意味はなく、 重複管理になってしまうので設定部分は削除します。
1.1.1を使っていてオプションを外している場合はその内容を「設定画面」-> 「カテゴリ」->「ヘッダ2」に入れて、オプションの行を削除してください。 それ以外は変更がないので、更新する必要はありません。
きちんと仕組み(仕様)を理解しないとだめだね。猛省。 category_ulに関しては不具合が出なければ、これ以上更新はかけないつもりです。
Sleipnir 2.10出たので更新。会社のSleipnir1.66もおさらばしてしまおう。
で、なぜ0から10なんだあ。と思ったわけです。
自分はLinuxのカーネルバージョンのつけ方が一番好きでした。
なるほど。確かに10上がると機能追加の感じが違いますね。(第三原則:大きな番号を恐れない)
じゃあcategory_ulは、なぜマイナーバージョンが奇数の開発系なの?それはしくじった(笑)。でなくて開発系の公開はbetaをつけたほうが分かりやすいということです。 今の自分の好きなパターンはこんな感じです。
短い期間にばこばこ機能追加して公開してたら、あっという間にマイナーバージョンが3桁に (苦笑
この辺は臨機応変にやるということで。というかひとつの機能追加ごとにリリースなんて そうはないと思いますし。
市販のパッケージソフトは大きく変わったことを見せるために 年数あげたり、メジャーバージョンを上げるんだろうなあ。 機能自体はあまり変わっていなくても、見た目(インターフェース)でだいぶ印象も変わりますし。実際それで購入する人がここにはいるわけで。
なんだかよく分かってないけど取っておきました。
Google Analyticsを気分が向いたらやってみよう。でも今日は眠いのでまた今度。
Javascriptを利用しているみたいです。スラドに書いていた人がいたのですが、 Ajaxが流行るとJavascriptが有効でないとだめなんてことになって、 ブラウザ由来の脆弱性への危機感が薄れるていくってことに妙に納得。
現実Javascriptを有効にしないとサイトとして見れないページ が多数あるから、自分は面倒で(これが危険なだけど)有効にしっぱなし。
ということで(?)Analyticsは今のところやめとこ。
ディレクトリとファイルの変数からフルパスを作成する場合
string fullPath = dir + "\\" + fileName;
これはWindows限定なのでだめ。またdirの最後が有効な区切り文字で終了しているとアウト。
string fullPath = dir + Path.DirectorySeparatorChar + fileName;
これでプラットフォーム固有になることはなし。だけどこれもdirの最後が有効な区切り文字で終了しているとアウト。
string fullPath = Path.Combine(dir, fileName);
これでdir変数の最後に有効な区切り文字がついていてもいなくても 大丈夫。ってことを知りました。これは開発者にやさしい。ユーティリティつくったり、設定の規約を決めてもらっていたのがあほらしい。
.NETやってるときはコアライブラリを使って解決することが多くなりました。 .netフレームワークのコンポーネント使うから当たり前っていえば当たり前ですけど。
外部ライブラリとのバランスは大事ってことです。 よくよく考えたら今までの仕事でやってたJavaもコアライブラリばっかりでした(笑)
Firefox まとめサイトから引用します。 Sage は、Mozilla Firefox のサイドバーでの RSS・ATOM feed リーダ機能を追加する拡張です。
今までなんとなく一度もいれることがなかったのですが、これは気にいってしまいました。 CSSをユーザ定義なものに変えて見ることもできますし♪
ただ自分のサイトを見るとpreタグのところが改行されないというこの問題。 改めて自分のCSSのみで見られているわけではないと実感する瞬間でした。
自宅サーバにはテスト環境用のApacheが置いてあるわけですが、 エラーログにある特徴が。
"GET /favicon.ico HTTP/1.1" 404
Sleipnir2からFavicon対応が行われたからか、と今頃気づく。
ブラウザ利用者からすればお気に入りから一目で分かるっていうことも重要なインターフェースなわけで。またブックマークするということは価値があることを認識しているわけですし、IEのアイコン(IE)やら空白ページ(Firefox)の味気ないアイコンではいかん。
Favicon対応するためにも作ってみようかなと思うわけではありますが、デザインセンスというものに縁がない自分はどうすればいいのやら。
orz
昨日の日記でFavicon作ってみようということでやってみた。
うまくできず飽きた。
やっぱり向いてることと向いてないことがはっきりするなあ。 プログラムのつくりを考えたり、バグとったりするときの集中力が 全くこない。
というかソフトは何使えばいいんでしょ。ドロー系ならいいのかな。
マクロ組んでさくっと実装。力技でやったら丸一日かかる作業が楽にできました。満足。
でもVisual Basic Editorがホイールボタンに対応していなくてスムーズに スクロールできないことがショックでした。
というものかもしれない。平日は6時間ぐらい寝て十分なんだけど、 休日になると一気に爆発する。
昨日は14時間ぐらい寝たから大丈夫だと思って、寝ずに 仕事にいったのが失敗。こんなことしてるからいけない。
長生きしないな(-_-;)
サイドバーを右側に表示するように変更。
表示幅狭かったり、解像度が小さい場合左にサイドバーがあるとレイアウトが崩れてしまうのが気になっていました。 WebDeveloperで解像度の確認が楽にできたので、非常に助かりました。
サイドバーの情報は、Blogにおいて付加価値でしかないですから。