(1)レビュー
最近は、炊飯器にいろいろな種類が出てきています。
『うまみ成分』を引き出したり、炊きムラ抑止の『ダイヤモンド釜』など。
これから1人暮らしを考えている方には、必須アイテムでしょう。
…とはいえ、炊飯器は高額でなかなか手が出しにくいのも事実。
(安いのでも15,000円。)
よく知られていないかもしれませんが、
電子レンジやIHでご飯を炊く道具も出てきています。
価格的には1,000円~5,000円代で手に入る為、手軽に購入できると思います。
私も電子レンジ用のご飯調理容器を使用していますが、
1,600円で本体と計量カップ、しゃもじもついてきて、
更に、炊飯だけでなく蒸し器にも応用できるのでお得です。
【仕様】
ご飯2合が電子レンジで20分で炊けてしまう驚きアイテム♪
(幅210×奥行193×高さ130) 【ご飯の加熱時間】
500Wの場合の目安
1合:約10分、1.5合:約15分、2合:約20分
(2)関連の製品
【電子レンジで炊く】
[アーネスト]
レンジ炊飯器 銀しゃりかまど炊き
レンジ炊飯器 銀しゃりかまど炊き
[カクセー]
電子レンジ専用炊飯器 備長炭入り ちびくろちゃん 2合炊き
[ショウカンパニー]
電子レンジ用調理器具 ひとり御膳
[スケーター]
クック膳 MWC1
クック膳 ブラック MWC1
[ダイヤコーポレーション]
ダイヤコーポレーション 電子レンジ専用炊飯器楽チン御膳 APEX-2G-W(ダイヤ)
[パール金属]
パール金属 新・レンジライフ ヘルシー蒸し器 C-223
パール金属 新・レンジライフ ご飯 1合 炊き C-229
パール金属 新・レンジライフ レンジ カバー 大・小2点セット C-235
パール金属 新・レンジライフ レンジマジックトレー C-582
パール金属 新・レンジライフ とろーり カレー皿 C-239
パール金属 新・レンジライフ ご飯 2合 炊き C-230
パール金属 新・レンジライフ ラーメン鍋 C-226
パール金属 新・レンジライフ カップ ご飯 一膳 炊き C-228
パール金属 新・レンジライフ 野菜ライフ C-581
[ハリオ]
Hario 耐熱ガラス製 レンジ釜 XRC-100TW
[ビッグフィールド]
電子レンジ専用炊飯器 備長炭入り ちびくろちゃん 2合炊き
電子レンジ専用炊飯器 ちびくろちゃん2合炊き
[四日市ばんこ焼]
電子レンジ専用炊飯器セラクック(二重蓋) 黒
[和平フレイズ]
和平フレイズ ほんわかふぇ 炊飯土鍋 (二重蓋) 3合炊 HR-8382
ほんわかふぇ 白雲炊飯土鍋 (二重蓋) 1.5合炊き HR-9928
ほんわかふぇ 白雲炊飯土鍋 (二重蓋) 3合炊き HR-9929
ほんわかふぇ 木蓋炊飯土鍋 (二重蓋) 3合炊き HR-9917
ほんわかふぇ 木蓋炊飯土鍋 (二重蓋) 1合炊き HR-9916
【電子レンジ&IHで炊く】
[大慶]
有田焼 IH炊飯器 炊っくん (4合炊き/吉祥地紋)
有田焼 IH炊飯器 炊っくん (4合炊き/丸紋)
有田焼 IH炊飯器 炊っくん (4合炊き/ラスター青一珍朱吹)
有田焼 IH炊飯器 炊っくん (4合炊き/白)
有田焼 IH炊飯器 炊っくん (4合炊き/黒釉菱紋唐草)
有田焼 IH炊飯器 炊っくん (4合炊き/流水銀彩春秋)
有田焼 IH炊飯器 炊っくん (4合炊き/錦駒筋)
有田焼 IH炊飯器 炊っくん (4合炊き/黒)
有田焼 IH炊飯器 炊っくん (4合炊き/錦花絵)
IH 炊飯器炊っくん 2合炊/錦花絵
有田焼 IH炊飯器 炊っくん (4合炊き/黒)
IH 炊飯器炊っくん 2合炊/丸紋
有田焼 IH炊飯器 炊っくん (4合炊き/錦花絵)
IH 炊飯器炊っくん 2合炊/黒
2010年7月4日日曜日
2010年6月20日日曜日
[Book's Review (Develop)]プログラミングC# 第5版
(1)レビュー
.NET Framework3.0やC#の書籍で、
入門編レベルよりもさらに踏み込んだ技術を習得したい方にお勧め!
レベルの高い書籍だと、文章がわかりにくかったり、
無駄にページ数が多かったり、『~編』のようにシリーズ化しているものが多いですが、
この書籍はわかりやすくまとめてあります。
またC# 3.0の新機能LINQや.NETの新機能WPFについての解説も充実しています。
(2)リンク C#クックブック 第3版 プログラミングC#言語解説 第3版
.NET Framework3.0やC#の書籍で、
入門編レベルよりもさらに踏み込んだ技術を習得したい方にお勧め!
レベルの高い書籍だと、文章がわかりにくかったり、
無駄にページ数が多かったり、『~編』のようにシリーズ化しているものが多いですが、
この書籍はわかりやすくまとめてあります。
またC# 3.0の新機能LINQや.NETの新機能WPFについての解説も充実しています。
(2)リンク C#クックブック 第3版 プログラミングC#言語解説 第3版
2010年4月10日土曜日
[Book's Review(Book)]カラー版 CD付 高校3年間の英語を10日間で復習する本
(1)レビュー
TOEIC対策向けに購入したのですが、
大学受験を控えている高校生にも、オススメできると思います。
英会話ではなく英文法向けです。
230ページというお手軽なボリュームですが、
高校3年間で学習する英文法が濃縮されていて、
効率よく復習できます。
一番忘れているのが、『仮定法過去』だと思っていましたが、
読めば読むほど忘れている内容が、
他にもあることが明らかになっていきました。(『仮定法過去』もそうですが。。。)
例えば『比較』。
甘く見ていましたが、こんな文章にも各々で違いがあります。
復習して初めて思い知らされました。
[以下、本書より抜粋]
(2)リンク
また、関連で中学生版も出版されています。
TOEIC対策向けに購入したのですが、
大学受験を控えている高校生にも、オススメできると思います。
英会話ではなく英文法向けです。
230ページというお手軽なボリュームですが、
高校3年間で学習する英文法が濃縮されていて、
効率よく復習できます。
一番忘れているのが、『仮定法過去』だと思っていましたが、
読めば読むほど忘れている内容が、
他にもあることが明らかになっていきました。(『仮定法過去』もそうですが。。。)
例えば『比較』。
甘く見ていましたが、こんな文章にも各々で違いがあります。
復習して初めて思い知らされました。
[以下、本書より抜粋]
・This is not more difficult than that. これはあれよりも[以上に]難しくない。[これ≦あれ] ・This is not less difficult than that. これはあれにまさるとも劣らず難しい。[これ≧あれ] ・This is no more difficult than that. これはあれと同じく難しくない。[これ=あれ=難しくない] ・This is no less difficult than that. これはあれと同じく[に劣らず]難しい。[これ=あれ=難しい] |
2010年4月2日金曜日
[Book's Review (Develop)]図解C言語 ポインタの極意
(1)レビュー
通常の入門書だと、
他言語にもある基礎的な内容(条件分岐、ループ、関数など)や
高度な関連内容(VisualStudio、MFC、STL、C++、.NET)も含まれていますが、
本書は、C言語のポインタに絞っているので、集中して習得できます。
ポインタと配列の関係、ポインタのポインタ、
ポインタ変数を関数に渡した時の挙動、関数のポインタなど、
メモリ上の内容を図で示しながらわかりやすく解説しています。
C言語の開発経験はほとんどないですが、
他言語(.NET、Java、VBなど)の知識だけでも、わかりやすい内容だと思います。
(2)リンク
通常の入門書だと、
他言語にもある基礎的な内容(条件分岐、ループ、関数など)や
高度な関連内容(VisualStudio、MFC、STL、C++、.NET)も含まれていますが、
本書は、C言語のポインタに絞っているので、集中して習得できます。
ポインタと配列の関係、ポインタのポインタ、
ポインタ変数を関数に渡した時の挙動、関数のポインタなど、
メモリ上の内容を図で示しながらわかりやすく解説しています。
C言語の開発経験はほとんどないですが、
他言語(.NET、Java、VBなど)の知識だけでも、わかりやすい内容だと思います。
こんな方にオススメ! |
・他言語の開発経験があって、これからC言語を学ぶ方 ・基本的な構造化プログラムがわかる。 ・変数の値型/参照型、関数への値渡し/参照渡しの概念がわかる。 ・C言語を習得しようとしたが、ポインタで挫折した方 ・ポインタについて更に理解を深めたい方 |
2010年1月8日金曜日
[Game's Review]ドラゴンクエストIX 星空の守り人
[Book's Review(Book)]ドラゴンクエストIX 星空の守り人 公式ガイドブック 上下巻●世界/知識編
[Review]ドラゴンクエストIX 星空の守り人 公式ガイドブック 上下巻●世界/知識編
(1)レビュー
今さらかもしれませんが…
ドラクエ9をノーマルクリア後、
コンプリートを目指す方にオススメの1冊です!
但し、掲載情報は、
初版発売までのデータが対象なのでご注意を。。。
(2)リンク
(1)レビュー
今さらかもしれませんが…
ドラクエ9をノーマルクリア後、
コンプリートを目指す方にオススメの1冊です!
但し、掲載情報は、
初版発売までのデータが対象なのでご注意を。。。
(2)リンク
ドラゴンクエストIX 星空の守り人 公式ガイドブック 上巻●世界編 (SE-MOOK)
- 作者:
- 出版社/メーカー: スクウェア・エニックス
- 発売日: 2009/09/11
- メディア: ムック
ドラゴンクエストIX 星空の守り人 公式ガイドブック 下巻●知識編 (SE-MOOK)
- 作者:
- 出版社/メーカー: スクウェア・エニックス
- 発売日: 2009/09/11
- メディア: ムック
2009年6月6日土曜日
[.NET]QRコードの変換
[はじめに]
・最近、仕事でQRコードを扱うシステム開発に携わる機会が多いので、
.NETでも作ってみました。
.NET FrameworkではQRコードを標準でサポートしていない為、
外部のコンポーネントを利用しています。
[関連情報]
・QRコードの仕様 (デンソーウェーブのサイト)
http://www.qrcode.com
・外部コンポーネント
「ThoughtWorks.QRCode.dll」を参照しています。
[Open Source QRCode Library]
からダウンロードできます。
「ThoughtWorks.QRCode.dll」を参照は、「参照設定」から追加して下さい。
(※追加しないとコンパイルエラーになります。)
[ソース]
QRコードの変換ユーティリティクラスです。
提供するメソッドは、以下の2つです。
・Encodeメソッド:文字列をQRコードのイメージに変換する。
・Decodeメソッド:QRコードのイメージから文字列を取得する。
・最近、仕事でQRコードを扱うシステム開発に携わる機会が多いので、
.NETでも作ってみました。
.NET FrameworkではQRコードを標準でサポートしていない為、
外部のコンポーネントを利用しています。
[関連情報]
・QRコードの仕様 (デンソーウェーブのサイト)
http://www.qrcode.com
・外部コンポーネント
「ThoughtWorks.QRCode.dll」を参照しています。
[Open Source QRCode Library]
からダウンロードできます。
「ThoughtWorks.QRCode.dll」を参照は、「参照設定」から追加して下さい。
(※追加しないとコンパイルエラーになります。)
[ソース]
QRコードの変換ユーティリティクラスです。
提供するメソッドは、以下の2つです。
・Encodeメソッド:文字列をQRコードのイメージに変換する。
・Decodeメソッド:QRコードのイメージから文字列を取得する。
| |
[VB.NET]QRコードの変換ユーティリティ |
2009年5月24日日曜日
[.NET]データベースの接続文字列の書式を簡単に知るには?
[はじめに]
・.NETのアプリケーションからデータベースに接続する場合、
接続文字列という情報が必要になります。(.NETに限った話ではありませんが…)
.NETのアプリケーション開発で、接続文字列の書式が分からない場合、
書籍やインターネット、他のアプリケーションを参考にすることがありますが、
「Visual Studio 2008」の機能を使って、接続文字列を簡単に取得する方法があります。
(※「Visual Studio 2008」とありますが、
「Visual Studio.NET 2002」、「Visual Studio.NET 2003」、
「Visual Studio 2005」でも可能です。
試していないので若干方法が異なると思いますがご了承下さい。)
[前提条件]
・「Visual Studio 2008」がインストールされていること。
・データベースにアクセスできること。
[手順]
(1)「Visual Studio 2008」を起動し、「サーバーエクスプローラ」を選択します。
(※「サーバーエクスプローラ」が表示されない場合は、「ツール」から表示可能にできます。)
(2)「データ接続」を右クリックし、「接続の追加」を選択します。
(3)「データソースの変更」画面で、「データソース」や「データプロバイダ」を選択します。
選択する内容は、接続するデータベースの種類によって変わります。
ここでは、「SQL Server 2005 Express Edition」に接続する例として、
「データソース」に「Microsoft SQL Server」、
「データプロバイダ」に「.NETFrameworkSQLServer用データプロバイダ」を選択します。
(4)「接続の追加」画面で、接続情報を入力します。
ここでは、
・接続先のサーバを「(local)」、
・認証方式を「Windows認証」、
・接続先データベースを「master」
とします。
接続情報を入力したら、「テスト接続」ボタンを押して、
データベースの接続がうまく行えることを確認します。
(5)データベースの接続が成功したら、確認画面が表示されます。
確認メッセージを「OK」ボタンで閉じ、
「詳細設定」ボタンを押し「詳細プロパティ」画面を表示します。
(6)「詳細プロパティ」画面の一番下の欄に、接続文字列が表示されます。
通常のテキストなので、コピーして流用することもできます。
この場合の書式文字列は、
「Data Source=(local);Initial Catalog=master;Integrated Security=True」
です。
[関連サイト]
(1)接続文字列の使用
http://msdn.microsoft.com/ja-jp/library/ms254978(VS.80).aspx
・.NETのアプリケーションからデータベースに接続する場合、
接続文字列という情報が必要になります。(.NETに限った話ではありませんが…)
.NETのアプリケーション開発で、接続文字列の書式が分からない場合、
書籍やインターネット、他のアプリケーションを参考にすることがありますが、
「Visual Studio 2008」の機能を使って、接続文字列を簡単に取得する方法があります。
(※「Visual Studio 2008」とありますが、
「Visual Studio.NET 2002」、「Visual Studio.NET 2003」、
「Visual Studio 2005」でも可能です。
試していないので若干方法が異なると思いますがご了承下さい。)
[前提条件]
・「Visual Studio 2008」がインストールされていること。
・データベースにアクセスできること。
[手順]
(1)「Visual Studio 2008」を起動し、「サーバーエクスプローラ」を選択します。
(※「サーバーエクスプローラ」が表示されない場合は、「ツール」から表示可能にできます。)
(2)「データ接続」を右クリックし、「接続の追加」を選択します。
(3)「データソースの変更」画面で、「データソース」や「データプロバイダ」を選択します。
選択する内容は、接続するデータベースの種類によって変わります。
ここでは、「SQL Server 2005 Express Edition」に接続する例として、
「データソース」に「Microsoft SQL Server」、
「データプロバイダ」に「.NETFrameworkSQLServer用データプロバイダ」を選択します。
(4)「接続の追加」画面で、接続情報を入力します。
ここでは、
・接続先のサーバを「(local)」、
・認証方式を「Windows認証」、
・接続先データベースを「master」
とします。
接続情報を入力したら、「テスト接続」ボタンを押して、
データベースの接続がうまく行えることを確認します。
(5)データベースの接続が成功したら、確認画面が表示されます。
確認メッセージを「OK」ボタンで閉じ、
「詳細設定」ボタンを押し「詳細プロパティ」画面を表示します。
(6)「詳細プロパティ」画面の一番下の欄に、接続文字列が表示されます。
通常のテキストなので、コピーして流用することもできます。
この場合の書式文字列は、
「Data Source=(local);Initial Catalog=master;Integrated Security=True」
です。
[関連サイト]
(1)接続文字列の使用
http://msdn.microsoft.com/ja-jp/library/ms254978(VS.80).aspx
2009年5月17日日曜日
[Toy's Review]電子ブロック
(1)レビュー
学研より発売された電気実験キットです。
抵抗、トランジスタ、ダイオード、豆電球等のパーツが、
ブロックになっており、組み立てるだけで、
簡単に電気回路を組み立てることができます。
私は小学校3年の頃にクリスマスプレゼントで買ってもらいましたが、
予め回路の組立て例が用意されているので、
小学生でも充分楽しめる内容でした。
部品の意味を知らなくても、
電子ブザーや簡易ラジオを簡単に組み立てられる。
これが電子ブロックの醍醐味だと思います。
1981年に生産が中止になりましたが、
「大人の科学」シリーズとして復刻版が発売されたようです。
「大人の科学」とありますが、子供でも充分楽しめると思います。
子供の理系離れが進んでいる昨今、薦めてみてはどうでしょうか?
(2)リンク
学研より発売された電気実験キットです。
抵抗、トランジスタ、ダイオード、豆電球等のパーツが、
ブロックになっており、組み立てるだけで、
簡単に電気回路を組み立てることができます。
私は小学校3年の頃にクリスマスプレゼントで買ってもらいましたが、
予め回路の組立て例が用意されているので、
小学生でも充分楽しめる内容でした。
部品の意味を知らなくても、
電子ブザーや簡易ラジオを簡単に組み立てられる。
これが電子ブロックの醍醐味だと思います。
1981年に生産が中止になりましたが、
「大人の科学」シリーズとして復刻版が発売されたようです。
「大人の科学」とありますが、子供でも充分楽しめると思います。
子供の理系離れが進んでいる昨今、薦めてみてはどうでしょうか?
(2)リンク
2009年5月2日土曜日
[Game's Review]クイズマジックアカデミーDS(通常版)
[Game's Review]ドラゴンクエストV 天空の花嫁(DS版)
(1)レビュー
[DS版オリジナルの要素]
・花嫁候補が3人になった。
ビアンカ、フローラに加えて、デボラが追加!
・すれちがい通信でオリジナル名産品集めが楽しめる。
DSを閉じてかばんの中とかに入れておくだけで、
ドラクエ5を持っている人とすれ違うと勝手に通信します。
他の人と通信するとお互いが作った『名産品』を交換するというもの。
交換して受け取った名産品は専用の展示室に飾られます。
モンスターを仲間にするシステムは従来通りです。
以下は、はぐれメタルを仲間にした時の写真です。
228匹目でグランバニアの洞窟で仲間にしました。
(2)リンク
[DS版オリジナルの要素]
・花嫁候補が3人になった。
ビアンカ、フローラに加えて、デボラが追加!
・すれちがい通信でオリジナル名産品集めが楽しめる。
DSを閉じてかばんの中とかに入れておくだけで、
ドラクエ5を持っている人とすれ違うと勝手に通信します。
他の人と通信するとお互いが作った『名産品』を交換するというもの。
交換して受け取った名産品は専用の展示室に飾られます。
モンスターを仲間にするシステムは従来通りです。
以下は、はぐれメタルを仲間にした時の写真です。
228匹目でグランバニアの洞窟で仲間にしました。
(2)リンク
[Game's Review]ドラゴンクエストIV 導かれし者たち(DS版)
[Game's Review]ドラゴンクエストVIII 空と海と大地と呪われし姫君
(1)レビュー
本シリーズ初の3D対応のゲームです。
従来シリーズは「上から見下ろす視点」でしたが、
今作は「主人公視点」となることで、
あたかも自分がフィールドを歩いたり洞窟を探検しているかのような
感覚で楽しめました。
「あたかも自分が~」ってところが、
RPGの本来あるべき姿なのかなと思いました。
(堀井雄二のこだわり!?)
3Dのぐりぐりな動きには、2時間くらいのプレイで慣れると思います。
また洞窟で方向が分からなくなって迷うのも楽しみ方の一つかなと…(笑)
[今後のドラクエについて]
次回作もそうですが、今回の3Dエンジンを使ったリニューアルも期待します!!
(2)リンク
本シリーズ初の3D対応のゲームです。
従来シリーズは「上から見下ろす視点」でしたが、
今作は「主人公視点」となることで、
あたかも自分がフィールドを歩いたり洞窟を探検しているかのような
感覚で楽しめました。
「あたかも自分が~」ってところが、
RPGの本来あるべき姿なのかなと思いました。
(堀井雄二のこだわり!?)
3Dのぐりぐりな動きには、2時間くらいのプレイで慣れると思います。
また洞窟で方向が分からなくなって迷うのも楽しみ方の一つかなと…(笑)
[今後のドラクエについて]
次回作もそうですが、今回の3Dエンジンを使ったリニューアルも期待します!!
(2)リンク
[Game's Review]ファミコンミニ スーパーマリオブラザーズ
(1)レビュー
旧ファミコン時代が懐かしく思い、つい買ってしまいました。
当時のゲームは、シンプルが故に奥の深いゲームが多く、
「スーパーマリオ」もその一つだと思います。
【良い点】
・FC版と同様の操作性です。
・裏技もほぼ移植。
以下、再現させた裏技。
・コンティニュー(タイトルからAボタン+スタート)
・スケートマリオ
(ファイヤマリオで、土管から出た直前にAとBを同時押しっぱなし)
・マイナス1面(ステージ1-2)
・無限増殖
・透明パックンフラワー(8-4の水中面)
【イマイチな点】
・9-1以降のステージがプレイできない。
(FC版は「テニス」との併せ技が必要な為、GB、DSでは無理だと思いますが…)
・カメをハンマーブロスに当てようとすると、なぜかすり抜ける。(ステージ8-3)
FC版では必ずヒットしていたはず。。。
(2)リンク
旧ファミコン時代が懐かしく思い、つい買ってしまいました。
当時のゲームは、シンプルが故に奥の深いゲームが多く、
「スーパーマリオ」もその一つだと思います。
【良い点】
・FC版と同様の操作性です。
・裏技もほぼ移植。
以下、再現させた裏技。
・コンティニュー(タイトルからAボタン+スタート)
・スケートマリオ
(ファイヤマリオで、土管から出た直前にAとBを同時押しっぱなし)
・マイナス1面(ステージ1-2)
・無限増殖
・透明パックンフラワー(8-4の水中面)
【イマイチな点】
・9-1以降のステージがプレイできない。
(FC版は「テニス」との併せ技が必要な為、GB、DSでは無理だと思いますが…)
・カメをハンマーブロスに当てようとすると、なぜかすり抜ける。(ステージ8-3)
FC版では必ずヒットしていたはず。。。
(2)リンク
2009年4月26日日曜日
[雑記]黄色い新幹線
出張の帰り広島駅にて偶然見かけました。
この黄色い新幹線は『ドクターイエロー』とも呼ばれ、
偶然見かけるとその日は、いいことがあるそうです。
偶然見かけたのはこれで2回目です。
前回は通り過ぎるのを遠めでしか見れませんでしたが、
今回は回送電車だったので写真を撮る余裕がありました。
その分、いいことあるといいなぁ。。。
ドクターイエロー(その1)
ドクターイエロー(その2)
この黄色い新幹線は『ドクターイエロー』とも呼ばれ、
偶然見かけるとその日は、いいことがあるそうです。
偶然見かけたのはこれで2回目です。
前回は通り過ぎるのを遠めでしか見れませんでしたが、
今回は回送電車だったので写真を撮る余裕がありました。
その分、いいことあるといいなぁ。。。
ドクターイエロー(その1)
ドクターイエロー(その2)
2009年4月20日月曜日
[雑記]Excelで『履歴』は予約語?
Microsoftの表計算ソフト『Excel』のトリビア的ネタです(笑)
『履歴』という名前でシートを作成しようとすると、
こんなエラーが出ます。
『履歴』が予約語!?Σ(゚□゚;)
予約語は半角英数字が一般的だと思っていたので、
全角が予約語になるのは珍しいですね。
ひょっとして、Excelを英語から日本語に翻訳する際に、
予約語も一緒に翻訳しちゃったのかな?
試しに『history』でシートを作ろうとすると、
特にエラーも無く普通に作れちゃいました。。。
『履歴』ってどんな予約語なんだろう。。。
2009年4月12日日曜日
[.NET]例外の再スロー(Throwの引数の有無)
[はじめに]
・.NET系言語(C#、VB.NET)のプログラムコードで、
以下のような構文を見かけることがあります。
Tryステートメント内で発生した例外をCatchして、
再度スローする処理で、「Throw ex」と書く人が結構多いようですが、
実はこのような書き方をすると、
ここでCatchする以前のトレース情報が失われてしまうのです。
トレース情報を保持しつつ再スローするには、
以下の様に、「Throw ex」ではなく「Throw 」と記述します。
なぜか書籍やMSDNにも、前者の書き方でサンプルを紹介している為、
知らない人が多いようです。
(Throwステートメントとは直接関係ないサンプルだから、
あまり重要視していないのだと思いますが…)
[参考文献]
[検証]
Throwステートメントの仕様について、
2つのパターンの検証プログラムを実行して、結果を比較してみた。
・パターン1(Throwステートメントに引数がある場合)
・パターン1の実行結果(Throwステートメント[引数あり])
Throwの引数を指定した場合は、
保持されているトレース情報は、Method1、Button1_Clickのみで、
Method2、Method3、Method4は保持されていないことがわかります。
引数指定での再スローでは、それより前のトレース情報を保持しない為です。
この例では、
Method3で再スローする時に、Method4以降のトレース情報を保持しない、
Method2で再スローする時に、Method3以降のトレース情報を保持しない、
Method1で再スローする時に、Method2以降のトレース情報を保持しない為、
図のような結果になります。
・パターン2(Throwステートメント[引数なし])
・パターン2の実行結果(Throwステートメント[引数なし])
Throwの引数を指定しない場合は、
関連するトレース情報(Method1、Method2、Method3、Method4、Button1_Click)を
全て保持していることがわかります。
・.NET系言語(C#、VB.NET)のプログラムコードで、
以下のような構文を見かけることがあります。
| |
[VB.NET]例外の再スロー[Throwの引数がある場合] |
再度スローする処理で、「Throw ex」と書く人が結構多いようですが、
実はこのような書き方をすると、
ここでCatchする以前のトレース情報が失われてしまうのです。
トレース情報を保持しつつ再スローするには、
以下の様に、「Throw ex」ではなく「Throw 」と記述します。
| |
[VB.NET]例外の再スロー[Throwの引数がない場合] |
なぜか書籍やMSDNにも、前者の書き方でサンプルを紹介している為、
知らない人が多いようです。
(Throwステートメントとは直接関係ないサンプルだから、
あまり重要視していないのだと思いますが…)
[参考文献]
・「C#クックブック 第3版」 |
「レシピ4.1 キャッチした例外を再スローするタイミングを把握する」で、 Throwステートメントの引数の有無の違いを明確に説明しています。 「Throw」(引数なし)の記述を推奨しています。 |
・「プログラミングC#―C#2.0/.NET2.0/Visual Studio2005対応」 |
「11.4 例外の再スロー」で、 理由の説明はないが、「Throw」(引数なし)の記述を推奨しています。 |
パターン1 |
Throwステートメントに引数がある場合、 Button1_Click()→Method1()→Method2()→Method3()→Method4()と メソッドを呼び、最下層のMethod4()で ゼロ除算の例外(System.DevideByZeroException)を意図的に発生させる。 各々のメソッドのCatch句では、「Throw ex」(引数あり)で例外を再Throwする。 最上位メソッドにて、例外の内容(ToString()した結果)を表示する。 |
パターン2 |
Throwステートメントに引数がない場合、 Button1_Click()→Method1()→Method2()→Method3()→Method4()と メソッドを呼び、最下層のMethod4()で ゼロ除算の例外(System.DevideByZeroException)を意図的に発生させる。 各々のメソッドのCatch句では、「Throw 」(引数なし)で例外を再Throwする。 最上位メソッドにて、例外の内容(ToString()した結果)を表示する。 |
| |
[VB.NET]例外[Throwの引数がある場合] |
| |
[VB.NET]例外[Throwの引数がない場合] |
[VBA]ExcelVBAでオブジェクト指向の継承
[はじめに]
・ExcelのVBA(Visual Basic for Application)は、
完全オブジェクト指向言語(JavaやC#等)ほどではないですが、
オブジェクト指向によるプログラミングをサポートしています。
『オブジェクト指向』と言えば、
代表的な性質として以下の3つのキーワードがあります。
代表的な性質
[VBAのオブジェクト指向]
VBAのオブジェクト指向は、完全オブジェクト指向言語(JavaやC#等)のそれと比べると、
『子クラスのメソッドを経由して親クラスの変数やメソッドにアクセスできない』、
『子クラス内から親クラスの変数やメソッドにアクセスできない』等の制限事項がある。
[多態性(ポリモフィズム)]
『多態性(ポリモフィズム)』の説明で、
『動物』に『鳴く』メッセージを通知する例がよく挙げられる。
以下に、『多態性(ポリモフィズム)』を利用したサンプルコードを示す。
[クラス図]
[クラスの説明]
・Mammalクラス
哺乳類を表すクラス。
メソッドとして、Cry()を実装。
・Dogクラス、Catクラス、Crowクラス
イヌ、ネコ、カラスを表すクラス。各々のクラスはMammal(哺乳類)クラスを継承。
メソッドとして、Mammal_Cry()を実装。
([親クラス名]_[親クラスのメソッド名]で、親クラスのメソッドをオーバーライドできます。)
[多態性(ポリモフィズム)]
・Dogオブジェクト、Catオブジェクト、Crowオブジェクトを
Mammalオブジェクトの配列に格納する。
MammalオブジェクトのCrowメソッドを経由して、
Dogオブジェクト、Catオブジェクト、CrowオブジェクトのCrowメソッドを呼ぶ。
以下のサンプルでは、3つのMammalオブジェクトのCryメソッドを呼んでいるが、
実際に実行されるのは、Dog、Cat、CrowのMammal_Cryメソッドであることを示している。
同一のCryというメッセージをMammalオブジェクトに通知しているが、
受け取った各々のオブジェクト毎に異なった動作をしていることになる。(多態性(ポリモフィズム))
[サンプルコード]
[実行結果]
・ExcelのVBA(Visual Basic for Application)は、
完全オブジェクト指向言語(JavaやC#等)ほどではないですが、
オブジェクト指向によるプログラミングをサポートしています。
『オブジェクト指向』と言えば、
代表的な性質として以下の3つのキーワードがあります。
代表的な性質
継承 |
2つのクラス間で親子関係を持ち、子クラスが親クラスの性質を受け継ぐこと。 |
カプセル化 |
オブジェクト内部のデータを隠蔽したり(データ隠蔽)、オブジェクトの振る舞いを隠蔽したり、 オブジェクトの実際の型を隠蔽したりすることをいう。 |
多態性(ポリモフィズム) |
実行される処理の実体が、コールされたメッセージではなく、メッセージを受けたオブジェクトに よって決定される性質。 また、この性質を使って、 「同一のメッセージを使って、オブジェクトごとに異なった処理を行わせること」 |
VBAのオブジェクト指向は、完全オブジェクト指向言語(JavaやC#等)のそれと比べると、
『子クラスのメソッドを経由して親クラスの変数やメソッドにアクセスできない』、
『子クラス内から親クラスの変数やメソッドにアクセスできない』等の制限事項がある。
[多態性(ポリモフィズム)]
『多態性(ポリモフィズム)』の説明で、
『動物』に『鳴く』メッセージを通知する例がよく挙げられる。
以下に、『多態性(ポリモフィズム)』を利用したサンプルコードを示す。
[クラス図]
[クラスの説明]
・Mammalクラス
哺乳類を表すクラス。
メソッドとして、Cry()を実装。
・Dogクラス、Catクラス、Crowクラス
イヌ、ネコ、カラスを表すクラス。各々のクラスはMammal(哺乳類)クラスを継承。
メソッドとして、Mammal_Cry()を実装。
([親クラス名]_[親クラスのメソッド名]で、親クラスのメソッドをオーバーライドできます。)
[多態性(ポリモフィズム)]
・Dogオブジェクト、Catオブジェクト、Crowオブジェクトを
Mammalオブジェクトの配列に格納する。
MammalオブジェクトのCrowメソッドを経由して、
Dogオブジェクト、Catオブジェクト、CrowオブジェクトのCrowメソッドを呼ぶ。
以下のサンプルでは、3つのMammalオブジェクトのCryメソッドを呼んでいるが、
実際に実行されるのは、Dog、Cat、CrowのMammal_Cryメソッドであることを示している。
同一のCryというメッセージをMammalオブジェクトに通知しているが、
受け取った各々のオブジェクト毎に異なった動作をしていることになる。(多態性(ポリモフィズム))
[サンプルコード]
| |
[ExcelVBA]Mammalクラス |
| |
[ExcelVBA]Dogクラス |
| |
[ExcelVBA]Catクラス |
| |
[ExcelVBA]Crowクラス |
| |
[ExcelVBA]呼び出し元 |
[実行結果]
2009年1月11日日曜日
[.NET]カスタマイズした構成情報の利用(.NET1.1以前が対象)
[はじめに]
(1)カスタム構成セクションとは?
通常、アプリケーションの構成情報は、appSettingsノード配下の
addノード(key属性とvalue属性)に記述するルールですが、
独自のルール(独自のXMLタグ)で定義することもできます。
この独自のXMLタグで定義された構成情報を、「カスタム構成セクション」と呼びます。
「カスタム構成セクション」にアクセスする為には、
プログラム上で「カスタム構成セクションハンドラ」クラスを実装し、
構成ファイルに「カスタム構成セクションハンドラ」を追加する必要があります。
(2)カスタム構成セクションハンドラとは?
カスタム構成セクションにアクセスする為には、
その独自のXMLタグを解析する必要があります。
その独自のXMLタグを解析するクラスを、「カスタム構成セクションハンドラ」と呼びます。
カスタム構成セクションハンドラは、以下の(a)(b)の条件に従って実装する必要があります。
(a)System.Configuration.IConfigurationSectionHandlerインタフェースを実装する。
(b)IConfigurationSectionHandlerインタフェースのCreateメソッドに、
カスタム構成セクションを解析する処理を実装する。
(3)カスタム構成セクションハンドラが、カスタム構成セクションにアクセスするには?
カスタム構成セクションハンドラがカスタムセクションにアクセスする為には、
構成ファイルに、構成セクションハンドラを追加する必要があります。
追加することにより、カスタム構成セクションハンドラとカスタムセクションの対応付けを
定義したことになります。
(4)利用可能な.NET Frameworkのバージョンは?
本記事のサンプルは、.NET1.1以前で主流だった方法です。
.NET2.0以降では、「ConfigurationSection」クラスを使用する方法が
推奨されています。(.NET2.0以降でも使用可能)
(5))参考文献
・『MSDN Library for VisualStudio2008日本語版』
・『MCTSスキルチェック問題集70-536 .NET Framework2.0アプリケーション構築基礎』
カスタム構成セクションにアクセスする例を、以下の(1)~(4)に分けて示します。
(1)カスタム構成セクションの定義
例として、日本の地域と県、県と県庁所在地の対応を定義しています。
[ソース]
(2)カスタム構成セクションハンドラの実装 System.Configuration.IConfigurationSectionHandlerインタフェースを 実装したクラスを定義します。 System.Configuration.IConfigurationSectionHandlerインタフェースの Createメソッドに、カスタム構成セクションのアクセス処理を実装します。 この例では、カスタム構成セクションから、県と県庁所在地の一覧を取得し、 HashTableに格納しています。 [ソース]
(3)構成ファイルにカスタム構成セクションハンドラの追加 「myCustomGroup」、「Country」の対応付けを定義し、 更に「Country」のセクションハンドラを定義しています。 type属性には、カスタム構成セクションハンドラのアセンブリ修飾名を指定します。 アセンブリ修飾名については、 MessageBox.Show( _ New MyCustomConfigHandler1_1().GetType().AssemblyQualifiedName) で確認できます。 [ソース]
(4)構成情報の取得 以下に、カスタム構成セクションハンドラを使用して構成情報を取得する例を示します。 取得には、System.Configuration.ConfigurationSettingsクラスの GetConfigメソッドを使用します。(※.NET2.0以降では警告がでます。) GetConfigの引数には、起点となるカスタム構成セクションのノード名を指定します。 [ソース]
(1)カスタム構成セクションとは?
通常、アプリケーションの構成情報は、appSettingsノード配下の
addノード(key属性とvalue属性)に記述するルールですが、
独自のルール(独自のXMLタグ)で定義することもできます。
この独自のXMLタグで定義された構成情報を、「カスタム構成セクション」と呼びます。
「カスタム構成セクション」にアクセスする為には、
プログラム上で「カスタム構成セクションハンドラ」クラスを実装し、
構成ファイルに「カスタム構成セクションハンドラ」を追加する必要があります。
(2)カスタム構成セクションハンドラとは?
カスタム構成セクションにアクセスする為には、
その独自のXMLタグを解析する必要があります。
その独自のXMLタグを解析するクラスを、「カスタム構成セクションハンドラ」と呼びます。
カスタム構成セクションハンドラは、以下の(a)(b)の条件に従って実装する必要があります。
(a)System.Configuration.IConfigurationSectionHandlerインタフェースを実装する。
(b)IConfigurationSectionHandlerインタフェースのCreateメソッドに、
カスタム構成セクションを解析する処理を実装する。
(3)カスタム構成セクションハンドラが、カスタム構成セクションにアクセスするには?
カスタム構成セクションハンドラがカスタムセクションにアクセスする為には、
構成ファイルに、構成セクションハンドラを追加する必要があります。
追加することにより、カスタム構成セクションハンドラとカスタムセクションの対応付けを
定義したことになります。
(4)利用可能な.NET Frameworkのバージョンは?
本記事のサンプルは、.NET1.1以前で主流だった方法です。
.NET2.0以降では、「ConfigurationSection」クラスを使用する方法が
推奨されています。(.NET2.0以降でも使用可能)
(5))参考文献
・『MSDN Library for VisualStudio2008日本語版』
・『MCTSスキルチェック問題集70-536 .NET Framework2.0アプリケーション構築基礎』
カスタム構成セクションにアクセスする例を、以下の(1)~(4)に分けて示します。
(1)カスタム構成セクションの定義
例として、日本の地域と県、県と県庁所在地の対応を定義しています。
[ソース]
| |
例:カスタム構成セクションの定義 |
(2)カスタム構成セクションハンドラの実装 System.Configuration.IConfigurationSectionHandlerインタフェースを 実装したクラスを定義します。 System.Configuration.IConfigurationSectionHandlerインタフェースの Createメソッドに、カスタム構成セクションのアクセス処理を実装します。 この例では、カスタム構成セクションから、県と県庁所在地の一覧を取得し、 HashTableに格納しています。 [ソース]
| |
[VB.NET]例:カスタム構成セクションハンドラの実装 |
(3)構成ファイルにカスタム構成セクションハンドラの追加 「myCustomGroup」、「Country」の対応付けを定義し、 更に「Country」のセクションハンドラを定義しています。 type属性には、カスタム構成セクションハンドラのアセンブリ修飾名を指定します。 アセンブリ修飾名については、 MessageBox.Show( _ New MyCustomConfigHandler1_1().GetType().AssemblyQualifiedName) で確認できます。 [ソース]
| |
例:カスタム構成セクションハンドラの追加 |
(4)構成情報の取得 以下に、カスタム構成セクションハンドラを使用して構成情報を取得する例を示します。 取得には、System.Configuration.ConfigurationSettingsクラスの GetConfigメソッドを使用します。(※.NET2.0以降では警告がでます。) GetConfigの引数には、起点となるカスタム構成セクションのノード名を指定します。 [ソース]
| |
[VB.NET]例:カスタム構成セクションハンドラを使用して構成情報を取得する |
登録:
投稿 (Atom)
[雑記]ドローン(DJI Mini 3)
(1)雑記 もともと多趣味の友人 masakazu Drone 氏が、 最近、 ドローン にハマり始めて、 更に、新たな趣味が増えたとのこと。 ドローン を始めてから、 まだ1年も経っていないとのことですが、 旅行先で山や川の景色を 空撮 して、 Youtube ...
-
(1)雑記 もともと多趣味の友人 masakazu Drone 氏が、 最近、 ドローン にハマり始めて、 更に、新たな趣味が増えたとのこと。 ドローン を始めてから、 まだ1年も経っていないとのことですが、 旅行先で山や川の景色を 空撮 して、 Youtube ...
-
(1)レビュー 10年以上前からある書籍ですが、昨今のJavaのバージョンに合わせて、 リニューアルされましたので、改めて紹介いたします。 GOFが提唱したデザインパターンについて、とてもわかりやすくまとめた1冊です。 各パターンを章毎にまとめてあり、クラス図・...
-
(1)はじめに sqlcmd コマンドで、 SELECTステートメントを実行した時、 行の折り返しで、結果が見づらくなることがあります。 Oracle の LINESIZE に相当する設定が、 SQLServer にもないか調べてみました。 普段...
-
(1)レビュー 目覚まし時計の調子が悪くなったので、新たに購入しました。 指定した時刻にアラームが鳴ってくれさえすればよいので、 特別な機能は求めていなかったのですが、 価格の割に便利な機能が搭載されていたので、購入に至りました。 最近は、スマホにもアラーム...
-
[はじめに] (1) ある2数の和と積から、元の2数を求めるアルゴリズム です。 例えば、『 足して5 』、『 掛けて6 』になる2つの数は、 2 と 3 になります。 これを解くアルゴリズムとして、 2次方程式の解の解法 を利用することがで...
-
(1)レビュー ASP.NET は、以下の2種類に大別されます。 (1)ASP.NET Web Form .NET Framework1.0リリース時の頃から導入 (2)ASP.NET MVC .NET Framework4以降に導入 ...
-
[はじめに] Excelでシートを昇順に並べ替える機会があったので、 備忘録としてサンプルソースを掲載します。 サンプルは昇順ソートですが、引数を変更すると降順にも対応できるようにしています。 [ソース] コードのコピー Optio...
-
(1)レビュー JavaScriptは古くからあり、時代と共に進化してきています。 JavaScriptの独習シリーズは過去にもありましたが、 最近(2021年)、独習シリーズでJavaScriptの新版が登場しました。 クラス 、 反復処理 、 非同期処理 ...
-
[はじめに] ・プログラムソース(C#、VB.NET)を ブログ公開用のHTMLに変換するツールです。 (コード量が膨大の為、変換処理のみ掲載しています。) [機能] プログラムソースの文字列を、HTMLに変換する。 変換後のHTMLは、<ta...
-
(1)レビュー 最近、引越しをしました。 ベランダの物干し竿を固定する位置が転居前よりも高く、 身長が低い妻にとって家事がしづらいので、 物干し台 を購入しました。 組み立て式の為、多少のぐらつきはありますが、 実際使ってみても全く不便さを感じませ...