教えて、先生

ボクの心の叫びを聞いてください。
今ね、何か特殊なドキュメントに書かれてるhostのドメイン名を
DNSに問い合わせて名前解決するプログラムを書いてるんだけど、
名前からIPを引くだけならgethostbynameでいけるんだけど、
TTLから有効期間まで計算して出して欲しいという要求があって
hostentに取れる情報だけじゃ足りないということがわかって、
WinならWin32 APIかCOMにライブラリがあった気がしたんだけど
Linux gccにそんなのないかなーとGoogle先生にいろいろ聞いても
なかなか思うような答えがなく、もうこの際nslookupとかdigとかを
systemで呼んでそのストリームを読むか?とも思ったけど、
そこは私のプログラマ魂が許さず、やっぱりsocketでやるぞ!と
覚悟を決めて、DNSのRFCを読んで、名前問い合わせデータの
パケットをゴリゴリつくってUDPで飛ばしてselectで応答を取って
半圧縮されてる応答データを解析するところまでつくって、
そういえばnameserverはresolv.confから取らないとなーと思って
そんなサンプル転がってないかなと「resolv.conf」で先生に聞いたら
Linuxで名前解決するresolverなるライブラリがあることを知る!!
…ていうか、何語だよ。
ここまでつくるのに丸2日はかかったんですが?
Google先生の有効性って、ホント聞き方で大きく変わりますね。
いや、出鱈目に聞いてもある程度の答えを返してくれるんですが、
ズバリ欲しい答えを返してもらうには、コツがいるってこと。
要は、真の答えを引き出すためのキーワードを知ってるかどうか。
コレです。まさに、カギとなる言葉です。
今回の私の場合、LinuxのC++で名前解決をしたいってことで
Linux、C++、ライブラリ、名前解決…みたいなキーワードで
検索かけてたんですが、出てくるのはnslookupとかdigなどの
コマンドの使い方とか、DNSサーバであるbindの情報とか、
そんなのはいっぱい出るんだけど、肝心のライブラリの情報がない。
で、今日、帰り間際に、resolv.confの読み方を聞いてみたら、
resolverの情報がトップでヒットしやがんの!
コレだよ!オレが2日前に欲しかったのコレだよ!
ていうか、今も欲しいんだけど。ていうかライブラリあるじゃん!
しかもLinux標準!オレの2日間を返せーッ。(半泣)
Linuxを知ってる人の間では常識的な知識かもしれませんが、
10年以上Windowsな私はそんなの知らないもん。
つくづく、キーワード重要。
それを知ってるか知らないかで、私の場合、工数が2人日違ったし。
でも、知らないものはしょうがない。
知ってる人に聞けば一番はやいんですけどね。
今周囲にいる人たちはJava天国なので、そんな低レベルな操作を
知ってる人がいないんです。
そんなときに、先生はかなり重要なツールになるわけで。
このキーワード検索時代、知識は広く浅くでも良いので
できるだけ多くのキーワードを知ってると有利ですね。
そんなことを痛感したこの数日。
チクショー。[E:bearing]

コメント

  1. RORO より:

    それ なんてラノベ?

  2. はる より:

    激しく同意
    急いでる時はなかなか見つからないのに、何気に検索すると興味深いサイトが見つかる
    キーワードは重要ですな

  3. 月影 より:

    この2日はライトというよりヘヴィでした。
    はるさんの言を見て、探し物は必要なときに見つからないというのは、そういえばネット上だけのことじゃないなぁ、と思いました。キーワードも含め、記憶や身の回りを整理しておくことも大事ですね。(^-^;

  4. ホントって…なんだろう…?

タイトルとURLをコピーしました