持つとは?
|
IDによって管理されているデータベース上のデータのように、キーと値が対となるデータを扱わなければならないことはよくあります。そのようなときは、コアAPIのjava.utilパッケージにある、HashMapクラスやDictionaryクラスを利用するのが一般的でしょう。 しかし、2つのキーの組み合わせで値が特定されるようなデータにも直面することがあります。例えば、各都道府県の年齢別人口といったデータでは、「都道府県」と「年齢」という2つのキーによって、人口を特定しなくてはなりません。 このような2次元のキーを持つデータを扱うときは、どのクラスを使えばいいのでしょうか? HashMapクラスやDictionaryクラスは、1つのキーだけで値を一意に特定できるデータには問題なく使えますが、このようなデータはうまく処理することができません。実際のところ、複数キーを持つデータを扱うためのクラスは、コアAPIには用意されていません。従って、複数キーを持つデータを扱えるようなオブジェクトを、自分で用意する必要があります。 本稿では、2次元のキーを持つデータを作成する典型的な方法を2つ紹介します。どちらも、コアAPIにあるクラスのインスタンスを組み合わせることで実現します。 まず、java.util.HashMapを2回用いる方法です。アイデアとしては、HashMapの値をさらにHashMapオブジェクトにすることで、2次元キーのデータを表現する、というものです。 以下は、HashMapを2回用いた方法のサンプルコードです。ここでは、先ほど例に挙げた各都道府県の年齢別の人口を、2次元キーのデータとして表現しています。「東京都」「25歳」という2つのキーに対し、「234567人」という値を対応付けています。 この方法では、2次元キーのデータを表すHashMapオブジェクト(サンプルではtwoKeysMap)が、値としてHashMapオブジェクトを持つことを常に意識しながらコードを書かなくてはならないため、多少の注意が必要になります。一方、1つ目のキー(サンプルでは都道府県)が同一なデータをすべて取り出す、といった操作が容易に行えるという特徴があります。 こちらの方法のサンプルコードは、以下のようになります。例として取り上げているデータは、前述のTwoKeysMap.javaと同じものです。また、実行結果もTwoKeysMap.javaと同様です。 こちらの方法では、キーの多次元性をArrayListオブジェクトで表現しているため、ハッシュデータそのものは単なるHashMapオブジェクトとして扱え、操作が直感的で容易です。一方、1つ目のキーが同じデータをすべて取り出すという操作は、最初に紹介した方法に比べるとかなり難しくなります。 どちらの方法を採用するかは、そのデータを使ってどのような操作をするかによって、適切に選択すればよいでしょう。また、どちらの方法にしても、少し応用するだけで、キーを3つ以上持つような多次元キーのデータ表現へ、簡単に拡張することができます。 本稿では、既存のコアAPIのクラスのインスタンスを組み合わせることで、2次元キーのデータを扱う方法を紹介しました。しかし、システムの中でこのようなデータ構造が頻繁に使われたり、あるいは、それがシステムの中で特定の意味を持っているようであれば、新たなクラスを用意することをお勧めします。もちろん、そのようなクラスは、ここでご紹介した方法を応用して実装することができます。 バッチ処理はJavaでバッチリ?その現状とこれから (2007/11/14) 基幹システムで多く見られるバッチ処理はJavaでどこまで適用できるのか。Spring Batchを筆頭に数々の製品やオープンソースも紹介しよう JavaScriptを書かずにAjaxを実現するjMaki (2007/11/7)jMakiを知ってますか? タグを書くだけでAjaxが実現できる便利なライブラリです。今回はそのjMakiをさらに便利に使うプラグインを紹介します Spring 2.0で自分なりの開発スタイルを確立しよう (2007/11/1)2.0の目玉機能であるAspectJとの統合を強化したAOPとWebに対応する新たなBeanスコープの使い方をサンプルを見ながら解説します 意外と知らないファイル圧縮技術の常識 (2007/10/24)アーカイブと圧縮の違いなどの基礎知識とともに、Java APIでJava定番のファイル圧縮形式jarやgzip、zip形式を扱う方法も紹介 ホワイトペーパー利用者に「Amazonギフト券」を抽選で100名様にプレゼント!――TechTargetジャパン リニューアル・キャンペーン Solutionフォーラム トップ|会議室|利用規約|プライバシーポリシー|サイトマップ |
[ 39] @IT:Java TIPS -- 2次元のキーを持つハッシュデータを作る
[引用サイト] http://www.atmarkit.co.jp/fjava/javatips/081java010.html
|
オーソリティ(authority)とは日本語で「権威」のことです。DNS の言葉としては、委任されたドメインの情報を管理できるという「権威」を指します。「権威」そのものを指すこともありますし、「権威を持つもの」の意味で使うこともあります。 ドメイン名はツリー構造をしており、委任により管理が分散されています。それぞれのドメインの管理者は、委任されたドメインを自由に管理することができ、この状態を「オーソリティを持っている」といいます。管理者がサブドメインをさらに別の管理者に委任すると、オーソリティは委任先の管理者が持つことになります。 つまり、ツリー構造のすべての部分に、管理者という「オーソリティを持つもの」が必ず存在し、ゾーン(参照:「ゾーンとは」 オーソリティの及ぶ範囲と、ゾーンの範囲は同じです。オーソリティはゾーンの完全な情報を持つことが理解できるでしょう。また、逆にいえば、ゾーンの完全な情報を持つものがオーソリティです。 コンテンツサーバ(参照:「ネームサーバの3つの働きとは」)は、管理するドメインの情報を提供するものであり、そのゾーンに対してオーソリティを持つネームサーバということになります。オーソリティを持つことができるネームサーバは、コンテンツサーバのみです。コンテンツサーバは自分で管理するゾーンファイルを持っており、それに基づいて応答しています。 携帯メールポータビリティは開国を迫る黒船となるか (2007/10/31) 丹後から日本のケータイにもの申す。TANGOメールは携帯電話ネットワークのオープン化への第一歩となるか? 「はてな」を作り出す人的ネットワークの仕組みとは (2007/8/24) 次々とWeb2.0的サービスをリリースするはてな。拡大する組織の中で行われているコミュニケーションのかたちとは? @IT ネットワーク用語辞典 (2007/8/22)ネットワーク管理者のための用語集です。「LAN」や「IPアドレス」といった基本中の基本から、「HTTP」などのプロトコル、「ping」などのコマンドまで、幅広く解説します 正式サービス開始をにらみモバイルWiMAXに熱視線 (2007/8/2) 次世代モバイル通信を支える有力な技術がモバイルWiMAXだ。固定ブロードバンド通信並みのスピードを安価に提供できるとして注目を浴びている ホワイトペーパー利用者に「Amazonギフト券」を抽選で100名様にプレゼント!――TechTargetジャパン リニューアル・キャンペーン |
[ 40] @IT:DNS Tips:委任された管理者が持つ、「オーソリティ」とは
[引用サイト] http://www.atmarkit.co.jp/fnetwork/dnstips/013.html
|
重くて深いけれど理解してしまえば、簡単に、しかも神経症にならずにすむかもしれません。「もっと早く知りたかった」と言ってくれることを期待し、独断と偏見と、そして読者の方に愛をこめて思いつくまま書きます。健全な精神的成長のできる賢者は、そういるものではありません。 言葉をかえて言うのなら、大抵の人間は神経症的傾向にあります。なぜなら「人生は困難な問題を解決していく課程である」からなのです。 人って問題が生じると避けていきたいですよね。楽して安易な道へ進みたいので、問題を避け、時間が解決するまで待ち、問題が消えてしまうことを選択してしまいます。苦しまずにすむなら問題などなかったかのようにふるまったりもします。 このような人間の特徴的な問題解決を回避する思考、行動を長年とっていると神経症になってしまいます。換言すれば、苦しいことを避けてきたために神経症の苦しさでさらに暗闇に迷い込むことになります。 カウンセリングを受ける人たち 絶望、悲しみ、孤独感、怒り、不安、罪悪感などの感情で苦しみ神経症から脱出したい人たちは「勇気」という意志を持ってカウンセリングを受けています。こんな不快な感情になる以前に問題解決してこなかったことを率直に認め困難な問題を解決する方法を学んでいきます。 これから来るであろう辛い経験をどのように考えて乗り越えていけばよいのかをカウンセラーと共に考えるのです。 帰りの遅い夫に「何かあったの」と聞こうものなら「俺を拘束するな」という言葉と同時にこぶしが飛んでくることがしばしばでした。 翌日は離婚届に署名をし、夫にも捺印を求めるのですが夫はいつも「ごめん、もう二度としない」と優しくなるのです。このようなことの繰り返しでした。 彼は可哀想な人間で「自分しか救ってあげられない。私がそばにいなければいけない」と考えてしまうのです。Aさんは自分の問題を解決する力がありませんでした。「夫の行動に対して拒否すること」は人を侮辱することと考えてしまうのです。毅然とした態度で「自分を尊重すること、自分を守ること」をないがしろにしていたのです。 Aさんはカウンセリングで「自己尊重する」ことは自分の人生にとても大切なことであることに気づきました。「夫の暴力は拒否する」ことができ、離婚の同意も夫から取りつけたのです。 Aさんは以前のAさんではありません。積極的に自分の人生の困難を引き受けています。精神的成長をしたいと思う勇気があれば、いつでもカウンセリングを気軽に受けてください。 各分野の専門知識・豊富な実績をもつ、こころのマッサージルームPeacemindのカウンセラー。Peacemindでは対面・電話・オンライン等、本人の希望にあわせてカウンセリングに対応している。 |
[ 41] 人生の問題解決能力を持つ勇気 - goo ヘルスケア
[引用サイト] http://health.goo.ne.jp/column/mentalcare/m002/0019.html
|
独立行政法人理化学研究所(野依良治理事長)は、金属ナノ構造体を使って自然界には存在しない負の屈折率を持つ材料を人工的に作り出すことに成功しました。これは理研中央研究所河田ナノフォトニクス研究室の河田聡主任研究員と田中拓男先任研究員らの研究成果です。 光の伝搬は、物質が持っている屈折率によって支配されます。自然界に存在する物質の屈折率はすべて正の値であり、負の値を持つ物質は存在しません。そこで金属のナノ構造体を用いて屈折率を人工的に負に変えてしまうという手法が、近年提案されており世界中で研究が進められています。しかし、私たちの目に見える電磁場である可視光域において、実際に負の屈折率が実現できるのかどうかについては、これまでいっさい明らかにされていませんでした。今回の研究で、研究グループはその議論に決着させる理論解析結果と、実際に負の屈折率を実現する金属ナノ構造を提案しました。 銀でできたナノメートルサイズの特殊な共振器を用いることで、赤外光域から紫外域までの可視域全域において、負の屈折率が実現できることを解析的に証明することに成功し、さらに具体的な金属ナノ構造を提示しました。 光の伝搬や屈折、反射を支配する物理量として「屈折率」があります。自然界に存在する物質の屈折率はすべて正の値ですが、もし負の屈折率を持つ材料があれば、光の波長の限界を超えてナノの物体をイメージングするレンズや、光強度を増幅する光機能素子を実現できることが理論的に予測されています。ところが、負の屈折率を持つ物質は自然界にはありません。屈折率という物理量は、誘電率(ε)と透磁率(μ)という2つの物理量から構成されています。屈折率が負になるためには、これら誘電率と透磁率の両方が同時に負にならなければなりません。しかし透磁率が負という物質が自然界に存在しないのです。「光」は、電磁場の一種で、電場の波と磁場の波が一緒に空間中を伝搬しています。物質の透磁率が負になるには、物質に光を照射したときに、物質が光の磁場の波に反応し、その磁場を打ち消すような磁場を物質自らが作り出す必要があります。しかし自然界のほぼ全ての物質は光の磁場とは相互作用せず、光に対しては物質の透磁率は1.0に固定されています。 そこで、金属の中にある自由電子の集団的振動(=プラズモン)を利用して、光の磁場成分と相互作用する機能を物質に与え、人工的に負の透磁率を得る手法が考案されました。具体的には、金や銀をナノ構造に加工して3次元的に並べた物体を作ります。このようなプラズモンを使って人工的に屈折率を操作した物質は「メタマテリアル」と呼ばれ、近年わが国では理研、海外ではアメリカ、イギリスなどを中心に世界的競争が進んでいます。今回の成果は、この人工の負屈折率物質を、私たちの目に見える可視光領域で実現できることを明らかにしたものです。 物質に光を照射したときに、その物質が光の磁場成分と相互作用できるように、光の波長より小さな(数百ナノメートル(nm=10−9m)以下)金属製のコイルをたくさん作って材料中に埋め込みました(図1)。このコイルに可視光を照射すると、コイルの中の自由電子が光の磁場によって振動(プラズモン共鳴)して電流が流れます。電流は外からの磁場を打ち消すような磁場をコイル内部に作り出します。「電磁誘導」の原理です。コイルは、材料と形状によって決定されるキャパシタンス※1とインダクタンス※2を持っており、この2つがコイルの共鳴周波数を決めます。共鳴周波数と等しい周波数を持つ光がコイルに照射されると、光の磁場成分とコイルが共鳴して光がコイルに吸収されます。この共鳴周波数の前後で物質の透磁率が大きく変化します。メタマテリアルそのものは、多数のナノコイルを備えた一種のナノ構造体ですが、コイルのサイズが光の波長より小さいと、個々のコイルは光には感知されません。メタマテリアルは、全体として外部から印可された磁場に反抗する(負の透磁率を持つ)均質な物質となります。 研究グループは、図2のように半円弧2つでできた構造のコイルを3次元的に並べると、可視光の領域においてもメタマテリアルの透磁率を負にできることを証明しました。コイルの材料となる金属は、金、銀、銅を考え、それぞれの金属でコイルを作製して、これらを配列した際の光に対する応答特性を評価しました。コイルのサイズや配列間隔を変化させながら、どれだけ小さな透磁率を実現できるかを電磁気学的に計算した結果が図3です。いずれの場合も周波数が高くなるにつれて負の値を示さなくなり、銅では564テラヘルツ(THz)が、金では693THzが負の誘電率を実現できる上限の周波数になります。最適な金属は銀で、これを用いたメタマテリアルでは可視光域全域から近紫外域までをカーバーする周波数領域で負の透磁率を実現できることがわかりました。研究グループが設計した共振器の一例として、図3に示すような内径38nm、線幅38nm、ギャップ間隔18nmの微小共振器を、平面内に210nm間隔、縦方向に40nm間隔で並べると、周波数423THz(波長710nm)の赤色域において、-5.7という負の透磁率を得られることを確認しました。 今回の成果の特徴の1つは、「メタマテリアル」という技術を使うと、可視光領域においても、物質の透磁率や屈折率を人工的に制御できることを示したことです。「負の透磁率」はそれだけでも興味深い現象ですが、それだけではありません。図4を見ると共鳴周波数よりわずかに低い周波数側では、透磁率がプラス側にも変化していることがわかります。つまりメタマテリアルは、これまで1.0に固定されていた透磁率をプラス方向にもマイナス方向にも人工的に変化させることができる技術です。図5のように横軸に誘電率、縦軸に透磁率を取ると、ほぼ全ての物質の光に対する透磁率は1.0ですから、どの物質も透磁率が1.0を表す一本の直線上に乗ります。物質間の屈折率違いというのは、誘電率の違いだけであったということです。これは、もし透磁率を人工的に制御できれば、人類が手にする物質の種類をこれまでの何万倍、何億倍に拡大できることを示しています。そしてその新しい材料は、さらに全く新しい光デバイスの可能性につながります。この成果のもう1つの特徴は、金属ナノ構造体のナノテクノロジーにおける応用分野をまた1つ広げた点にあります。これまでナノテクノロジーの材料と言えば、カーボンナノチューブに代表されるカーボン材料か、半導体材料、もしくはDNAのような生体分子を指すのが一般的でした。一方、理研ではこれまでに、金属のナノ周期構造を使ったレーザーデバイス(プラズモンレーザー)や、金属ナノロッドを用いてナノ構造を可視化するプラズモンレンズなどを発表してきました。今回の可視域における負の屈折率材料に関する研究成果によって、金属を用いたナノ構造体がナノテク材料として有効であることの実証例をまた1つ加えたことになります。 また学術的には、今回の成果により光周波数領域におけるナノ金属構造体の振る舞いが明らかになったことにより、ナノ金属中のプラズモンの振る舞いを取り扱う「ナノプラズモニクス」という学問分野の研究がより発展すると期待できます。 日本語では「静電容量」という。キャパシタンスはコンデンサなどにどのくらい電荷が蓄えられるかを表す量で、単位電圧あたりの蓄えられた電荷として与えられる。単位はファラッドで、ある物体に1ボルトの電圧を与えたとき、1クーロンの電荷が溜まった場合、その物体の静電容量を1ファラッドと定義する。 ここでは自己インダクタンスの事を指し、日本語では「誘導係数」という。コイルなどの巻線に流れる電流が変化すると、巻線を貫く磁束が変化し、さらにその磁束によって磁束の変化を打ち消す方向に誘導起電力が発生する。これを自己誘導という。インダクタンスは、この自己誘導の起こりやすさを表す量で、単位はヘンリーである。1秒間に1アンペア電流が変化したとき、1ボルトの起電力が発生した場合、その物体のインダクタンスを1ヘンリーと定義する。 光の波長より小さな金属ナノコイルを無数に作り込む。コイルに光が入射すると、光の磁場によってコイルに電流が流れる。コイルに流れた電流は光の磁場を打ち消すような磁場を作り出す。つまり、1つ1つのコイルは入射した光に反抗する磁場を作りだす人工原子のように働き、物質全体としては透磁率が変化したように見える。物理的には、コイルの持つ共振周波数と同じ周波数の光をコイルに照射すると、コイルと光の磁場が共鳴して光がコイルに吸収される(図の青線)。この共鳴周波数の前後で透磁率が大きく変化し、変化量が大きいと負の値を取るようになる。 2つの円弧から構成されるナノコイルを3次元的にアレイ化したメタマテリアルを考案した。コイルに用いる金属材料としては、金、銀、銅を考え、コイルの径や2つの円弧間のギャップ間隔を変化させて、光に対する応答特性を計算した。 横軸に周波数、縦軸にその周波数で実現できる最小の透磁率をプロットしたものである。いずれの場合も周波数が高くなるにつれて(波長が短くなるにつれて)、実現できる最小値が大きくなる。銅(緑線)の場合は、564THz付近で負の値を示さなくなる。金(青線)の場合は、693THz付近で負の値を示さなくなる。最適な材料は銀である。銀でメタマテリアルを作った場合は、可視光領域全体を含み紫外線領域に及ぶ広い周波数帯域で負の透磁率を実現できることがわかった。 屈折率を決める2つの物理量である誘電率と透磁率をグラフにしたもの。誘電率と透磁率が共に負になる第3象限は決して自然界に存在しない負の屈折率を持つ物質を示す。これを人工的に作り出せるのがメタマテリアル技術の1つであるが、この技術のおもしろさはそれだけではない。可視光域に限れば、自然界に存在する物質の透磁率は全て1.0である。つまり、自然界に存在する物質は全て図の赤線の上に乗っている。もし人工的に透磁率を制御して1.0から変化させることができれば、人類が手にする物質の種類は何万倍、何億倍に拡張できる。 |
[ 42] 『可視光域で「負の屈折率」を持つ初の光機能材料』
[引用サイト] http://www.riken.jp/lab/dri/discovery/jpn/press/press060119.html
