-->

« 第八十一回 レガシーメディアは何処に行くのか? 後編 | メイン | 銀の玉で振るとゴーンというやつ、ついに発見 »

2006年11 月 4日 (土)

秋の二大プレゼント!ギートステート・ハンドブック三冊とBB-SHOUT!当選者発表!

Geet Bb

永らくお待たせいたしましたが、当選者発表です。

今回の抽選アルゴリズムですが、今回プレゼントの、ギートステートハンドブックの、ギートという言葉は、「グーグル・ニート」の合成語というところから、

応募者の皆さんのメールアドレスのドメイン名をグーグルで検索
そのヒット数で乱数を初期化
ギートステートの舞台が2045年であるところから、2045までの乱数を発生させて、数の多い順にソート
BB-SHOUTは、上位一名様、ギートステートハンドブックは、上位三名様にプレゼント!


という、意味があるんだかないんだか、妙に複雑なものにしました。

で、今回も私シン石丸が、Rubyの勉強も兼ねて、Rubyで抽選プログラムを作成しました。

作成したRubyのソースがこちら。

require 'mailread'
require "soap/wsdlDriver"
require 'nkf'

# googleで指定のキーワードで検索した結果のトータル数を返す
def getGoogleSearchCount( search_keyword )

    wsdl = "./GoogleSearch.wsdl"
    license_key = "ABCDEFGHIJKLMN"    # ライセンスキー

    google = SOAP::WSDLDriverFactory.new(wsdl).create_rpc_driver

    # SOAPとRubyの型変換を有効にする(?)
    google.generate_explicit_type = true
    param = "-k " + search_keyword;
   
    result = google.doGoogleSearch(
                license_key,            # ライセンスキー
                param,                    # 検索キーワード
                0,                      # 何件目から取得する?
                10,                     # 一度に何件取得する?
                true,                   # true:似たような結果を取り除く
                "countryJP",            # 制限情報
                true,                   # true:安全な検索
#                "lang_ja|lang_en",      # 日本語または英語のページ
                "lang_ja",              # 日本語のページ
                "UTF-8",                # 文字コード(入力)
                "UTF-8"                 # 文字コード(出力)
            )
            
    return result.estimatedTotalResultsCount.to_i
end


# 応募者クラス
class Applicant
    def initialize( app_name, app_email )   
        #応募者名
        @name = app_name.split("<")[0] + "さん"
        #応募者メールアドレス
        @email = app_email
        #応募者ドメイン名
        @domainname = app_email.split("@")[1]
        #ドメイン名をgoogleで検索してヒットした数
        @count = getGoogleSearchCount(@domainname)
       
        #googleでのヒット数から乱数初期化、2045までの乱数取得
        srand(@count)
        @num = rand(2045)
    end
   
    def name
        return @name
    end
   
    def email
        return @email
    end
   
    def domainname
        return @domainname
    end
   
    def count
        return @count
    end

    def num
        return @num
    end
   
    #メールアドレス、ドメイン名を*で隠した文字列を返す
    def putAst(str)
       
        dot_index = str.rindex(".");
        at_index = str.index("@");
       
        mail = "";
       
        if at_index != nil
            for i in 0..at_index
                mail = mail + "*"
            end

            mail += "@"
        else
            at_index = 0
        end
               
        for i in at_index..dot_index
            mail = mail + "*"
        end
   
        mail += str[dot_index, str.length]
       
        return mail   
    end
   
    #要素の表示関数
    def show()

        mail = putAst(@email)
        domain = putAst(@domainname)
        #domain = @domainname
       
        print("Name:", @name, "\n");
        #print("E-Mail:", @email, "\n");
        print("E-Mail:", mail, "\n");
        #print("Domain:", @domainname, "\n");
        print("Domain:", domain, "\n");
        print("SearchCount:", @count, "\n");
        print("num:", @num, "\n");       
    end
   
end


# それぞれの応募メールをUNIX mbox形式でエクスポートしたファイルの読み込み

#mailbox = File.open('./CSC_GEET')
mailbox = File.open('./CSC_BB')

app_array = Array.new

until (m = Mail.new(mailbox)).header.empty?

    #応募者のメールアドレス、名前をクラスに保存。クラスは配列に保存
    app_name = NKF.nkf('-me', m['From'])
    a = Applicant.new( app_name, m['X-Envelope-From'] )
    a.show()   
    app_array << a;
    # なんかあんまり連続でリクエストするとエラーがでるから適当に休み
    sleep 10
end

#numの数値の大きい順に配列内の要素ソート
sorted = app_array.sort{ |a, b|
    b.num <=> a.num
}

#結果表示
print("\n結果\n\n")

sorted.each{ |app|
    app.show()
}

RubyからGoogle SOAP Search APIを使って、検索しとります。

さて、それでは結果発表!

まずは、ギートステートハンドブックから。

ギートステートハンドブックには、7名の方からご応募がありました。

さきほどのRubyスクリプトを動かすと、次のような結果になりました。

Name:"takeshi kito" さん
E-Mail:*******@*******.com
Domain:******.com
SearchCount:698000
num:1743
Name:大城 晶 さん
E-Mail:******@**************.jp
Domain:*************.jp
SearchCount:62
num:1554
Name:福井 香輔 さん
E-Mail:*************@*****.com
Domain:****.com
SearchCount:113000
num:1216
Name:藤岡和夫 さん
E-Mail:******@*************.jp
Domain:************.jp
SearchCount:24600
num:850
Name:林 直宏 さん
E-Mail:*****************@************.jp
Domain:***********.jp
SearchCount:610000
num:354
Name:秋山弘行 さん
E-Mail:*********@***************.jp
Domain:**************.jp
SearchCount:790
num:240
Name:湯浅 一誠 さん
E-Mail:**********@*********.jp
Domain:********.jp
SearchCount:7
num:175

当選は、"takeshi kito" さん、大城 晶 さん、福井 香輔 さんの、お三方です!

おめでとうございます。

ついで、トグサ氏作成のBB-SHOUT。

こちらには、11名の方からご応募がありました。

1/11の狭き門となりました。

で、実行結果がこちら!

Name:Yoshikazu Urabe さん
E-Mail:*********@**********.jp
Domain:*********.jp
SearchCount:742000
num:1866
Name:R SATO さん
E-Mail:*****************@*******.to
Domain:******.to
SearchCount:659
num:1831
Name:"Akira Matsuda" さん
E-Mail:***************@***********.net
Domain:**********.net
SearchCount:1960
num:1549
Name:SEKO Keisuke さん
E-Mail:*********@***********.jp
Domain:**********.jp
SearchCount:8500
num:1436
Name:藤岡和夫 さん
E-Mail:******@*************.jp
Domain:************.jp
SearchCount:24800
num:1047
Name:"Ryohei Arai" さん
E-Mail:***********@*******.com
Domain:******.com
SearchCount:456000
num:945
Name:ishii さん
E-Mail:********@*******.com
Domain:******.com
SearchCount:456000
num:945
Name:osten さん
E-Mail:*********@********.jp
Domain:*******.jp
SearchCount:110000
num:734
Name:"rihaku" さん
E-Mail:****************@*********.com
Domain:********.com
SearchCount:918000
num:450
Name:カシハラ さん
E-Mail:*******************@*****.com
Domain:****.com
SearchCount:107000
num:425
Name:後藤 昌幸 さん
E-Mail:***************@********.net
Domain:*******.net
SearchCount:7
num:175

当選は、Yoshikazu Urabeさんです!

おめでとうございます!

応募してくださった皆さん、ありがとうございました!!!

このエントリーをはてなブックマークに追加

トラックバック

この記事のトラックバックURL:
https://www.typepad.com/services/trackback/6a0120a713b5fd970b0120a713b6f8970b

Listed below are links to weblogs that reference 秋の二大プレゼント!ギートステート・ハンドブック三冊とBB-SHOUT!当選者発表!:

» Google様のお通りだ。控えおろぉ from お金ちゃんねる-喜怒哀楽のマネー-
株式公開以来、初めて500ドル(約6万円)を超えた。 やはり、地球連邦が出来て採用されるのは【Google】だな コレぐらい、突き抜けているとかえってすがすがしいです。 [続きを読む]

関連書籍-Kindle

iTunesStoreで評価する

フォトアルバム

他のサービス

Twitter
powered by TypePad
登録年月 2005年10月