DI とは Dependency Injection (依存性注入)というものであるが、言葉だけでは分かりにくい。

Seasarというフレームワークのサンプルを見て「ああ、こういうことね!」と概念は理解した。

 

ただ、実務ではどうなのだろう?そこまで階層を作るだろうか?とか思いつつ、もう少し使い勝手を試してみようと思う。

 

で、この考えをVBAに導入できるか?Interface という文言はないようだが、Implements はある。インターフェースを利用することができるので DI ができるかもしれない。

ただ、Interface を使わなくても、擬似的に DI 風なものはできるだろう。

 

近いうちに実験してみる所存である。

最近、インターネットで調べ事をすると、英語の資料に突き当たることが多い。

英語は学生時代から得意ではない。しかし、なんとかかんとか理解できるのは「前置詞」をしっかり学んだからだろう。

 

横道に逸れるが、英語の苦手意識を無くすには2つポイントがあると思っている。

一つは前置詞。もう一つは意味のたくさんある動詞。これさえしっかりおさえておけば会話などで困ることはないのではないか。ただ、私は会話をするのではなく文献にあたるので、意味を取りやすい動詞を使っていることが多いようだ。また、クソ難しい文法を駆使しているケースもお目にかかったことはない。一文が長いと意味を取りにくいのは日本語だろうが英語だ労が同じなようで、そのあたりは意識されて書かれているような文章が多い。意億版ユーザー向けだから平易に、という配慮があるのだろう。先日、英語のセンター試験が新聞に載っていたが、あれよりは易しく感じる。

 

前置詞は辞書を引いて「意味を覚える」のではなく「概念を理解する」といい。それに役立つのが次の書籍。私は書籍で所有しているが、今は電子ブックでしか存在しないのかもしれない。ちなみに、私にとってはこの一冊で十分。受験にも役立つとは思う。

 「西村式 英語ホイホイ上達法 英語は前置詞だ」 

  ebook Japan http://www.ebookjapan.jp/shop/title.asp?titleid=2300

  楽天ダウンロード http://dl.rakuten.co.jp/prod/105005490.html

 

なお、コンピュータ用語に特化するとまた別のモノが要るだろう。今回はまず「基礎」ってことでこれをお勧めしておく。

今まで何度かこんな会話や議論を経験した。

「SQL Serverの接続ライセンス数(CAL数)とWindows のCAL数」についてだ。SQL Server のCALだけ Windows のライセンス数もユーザー数だけ要る、という話がされていることがある。

なお、SQL Server とは Microsoft が出しているデータベースであり、Windos OS上で稼働するものだ。

 

これ、実に馬鹿らしい話なのである。

 

製品としてどういう者があるか。SQL Server はCAL数の上限があるものとCPUライセンス(接続数の制限なし)のものがある。一方、Windows は CPU ライセンスというものがない。

そうなると、Windowsサーバーでは CAL 数の制限でWebシステムなんか構築できない、ということになりはしないか?じゃあ世の中のWindowsを使ったWebサーバーはすべてライセンス違反なのか?んなことはない。

 

そのあたり、つたないながらも解説してみよう。

 

サーバーへの接続方法としていくつかある。

telnet というものがある。OSでの標準のログインID/パスワードでログインできるものである。telnetは一般的に23番ポートを使う。

同じサーバーでも、

・ブラウザで閲覧できる http は一般的に80番ポート。

・メールの送信のSMTP、受信のPOP3はそれぞれ一般的に 25番ポートと110番ポート。

なお、smtp、http、smtp、pop3などを「サービス」と呼ぶことにする(概ねいいのだけれど、ちょっと違うので)。

ここで注意すべき点は「httpで接続する際にはログインID/パスワードを要求しない」「メールの送受信時はそれ用のID/パスワードを使っている」ということで、サーバー自体のID/パスワードを必要としない点である。

つまり「同一のサーバーで提供していてもサービスによって認証方法が違う」ということである。なお、ポート番号は一般的なものであり、変更可能である。

もう少し言えば、同じサーバー上のサービスごとに入り口があり、それぞれ独自の認証を行っている、ということである。

 

SQL Server のポートは忘れたが、SQL Server への要求はあくまでも SQL Server の CAL 数に依存するのであり、OSのCAL数に依存しないのである。

 

参考まで。ポートは「入り口」なのでこれが少なければ少ないほど、認証も厳しいほど、平文より暗号文、の方が侵入されるリスクは減る。この辺もそのうち取り上げられればと思う。

 

【まとめ(になっているだろうか・・)】

・サーバーはいろいろなサービスを提供する(Server という名前からしてそもそもそうなのですけど)。

・サービスごとに認証を管理している。

・ポート番号は任意に変更できる。

・サーバーにアクセスにはポート番号と認証の関門を通過しなければならない。