アカウント名:
パスワード:
A「まずクラス名・関数名の一覧を見て欲しい。」A「他の人も言っているように命名規則がバラバラなのが解るだろう。複数の人のコードが混ざっていると推測できる。」B「犯人は複数犯だと?」A「いや、この規模のプログラムで複数犯というのは考えづらい。インターネットなどからコピペしたコードだと考えるのが妥当だろう。」B「つまり、関数名だけ判断できないと?」A「そうは言っていない。もう一度よく見て欲しい。」A「命名規則はバラバラだが、小文字の動詞で始まり、区切りが大文字になっている関数が圧倒的に多いのがわかるだろう。」A「これはJavaなどでよく使われる命名規則だ。」B「つまり犯人はJavaのプログラマだと?」A「これだけでそう判断するのは早計だろう。」A「さっきも言ったが、これらの関数はインターネットからコピペしている可能性が高い。」A「つまり、コピペ元のソースがJavaだったという事ではないだろうか?」B「なるほど」A「ここで犯人が生粋のC#プログラマーだったらと仮定しよう。」A「サンプルコードを探すとき、検索文字列に「C# ~」とか「.netf ramework ~」を付けて検索する場合が多いと考えられる。」A「C#はメジャーだし、大抵のことは出来るので、わざわざ他の言語のサンプルを参考にする必要がないからね。」A「しかし犯人はJavaらしきサンプルを利用している。」B「つまり犯人はC#プログラマーではないと?」A「その可能性が高い。」A「もし犯人がC言語のプログラマだったなら、ウイルス作るのに巨大なランタイムが必要なC#はまず使わない。」A「スクリプト系言語のプログラマだったら、もっと短めの関数名を好むはずだ。」A「そう考えると、犯人はJavaプログラマだと考えるのが妥当かもしれない。」A「次はCommon.GetUnixTime()に注目してみよう。GetUnixTimeで検索すると結構な数のページが検索される。これもコピペだろう。」B「でしょうね。」A「これはUNIX時間を返す関数だと推測できる。」A「ここで犯人がUNIXを全く知らないと仮定しよう。どうやったらこれらのページにたどり着くだろうか?」A「実はUNIX時間という言葉を知らないとこれらのページにはなかなかたどり着けない。」B「クラス毎コピペしたら、この関数も付いてきたのでは?」A「クラス内のほかの関数と命名規則が違うので、その可能性は低いだろう。」A「つまり犯人はある程度UNIXに馴染みがあるのではないだろうか?」B「なるほど」A「では次はCommon_Crpt.addKaigyo()、removeKaigyo()に注目してみよう。」A「この二つだけ、明らかに他と異なるのがわかるだろうか?」B「・・・日本語ですね。」A「そうだ。英語、英語と来て、ここだけ日本語。これは恥ずかしい・・・。たとえコピペであっても私なら直すな。」B「直しますね。」A「次は_getElementById()に注目しよう。」B「ちょっと待ってください。addKaigyo()はどうなったんですか?」A「・・・いや、それだけだが・・・」B「・・・」A「では話を戻そう。_getElementById、_getElementsByTagNameはいわずと知れたDOMの関数だ。」A「この関数名がさっと出てくるぐらいだから、XMLかHTML、Javascriptなどを使ったことがあるのではないだろうか?」B「まあ今時その三つを使ったこと無いって言う人のほうが珍しいんじゃないですかぁ?」A「まあそうだな。なんか言葉に棘がないか?」A「まあそれはさておき、ここまでに出てきたキーワードを並べてみよう。」B「Java、UNIX、XML、HTML、Javascriptですね。」A「そうだ。これらのキーワードから導き出される犯人像は・・・」A「本職はJavaServlet/JSPを使ったWebプログラマで、C#をちょっとかじったことのある人物と言うことになる。」B「なるほど。・・・でもそれって全然絞り込めてませんよね。」A「ウイルス作るのにC言語よりC#を選んでることから、ここ10年ぐらいの間にWindowsのプログラミングを覚えた人。」B「それでも絞り込めていませんよ。」A「後はaddKaigyo()を放置するぐらいプログラミングに思い入れがない人だな。」
まずは長文ご苦労さま。
結論は、あるプログラミング言語でコードを書けるか否か、どんなコーディングスタイルか、何て、所詮は状況証拠に過ぎないのだからマジメに議論する価値はないってことだな。
三行で頼む
本職はjava servlet/jspのプログラマc#は半人前(犯人だけに)30代から40代ぐらいの日本人。たぶん楽天社員ではない。
これでいいか?
だいたい合ってる
なんだ、私だったのか。# 確かに何とかKaigyoってメソッドも書いたことある。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
ハッカーとクラッカーの違い。大してないと思います -- あるアレゲ
真面目に分析してみた (スコア:4, おもしろおかしい)
A「まずクラス名・関数名の一覧を見て欲しい。」
A「他の人も言っているように命名規則がバラバラなのが解るだろう。複数の人のコードが混ざっていると推測できる。」
B「犯人は複数犯だと?」
A「いや、この規模のプログラムで複数犯というのは考えづらい。インターネットなどからコピペしたコードだと考えるのが妥当だろう。」
B「つまり、関数名だけ判断できないと?」
A「そうは言っていない。もう一度よく見て欲しい。」
A「命名規則はバラバラだが、小文字の動詞で始まり、区切りが大文字になっている関数が圧倒的に多いのがわかるだろう。」
A「これはJavaなどでよく使われる命名規則だ。」
B「つまり犯人はJavaのプログラマだと?」
A「これだけでそう判断するのは早計だろう。」
A「さっきも言ったが、これらの関数はインターネットからコピペしている可能性が高い。」
A「つまり、コピペ元のソースがJavaだったという事ではないだろうか?」
B「なるほど」
A「ここで犯人が生粋のC#プログラマーだったらと仮定しよう。」
A「サンプルコードを探すとき、検索文字列に「C# ~」とか「.netf ramework ~」を付けて検索する場合が多いと考えられる。」
A「C#はメジャーだし、大抵のことは出来るので、わざわざ他の言語のサンプルを参考にする必要がないからね。」
A「しかし犯人はJavaらしきサンプルを利用している。」
B「つまり犯人はC#プログラマーではないと?」
A「その可能性が高い。」
A「もし犯人がC言語のプログラマだったなら、ウイルス作るのに巨大なランタイムが必要なC#はまず使わない。」
A「スクリプト系言語のプログラマだったら、もっと短めの関数名を好むはずだ。」
A「そう考えると、犯人はJavaプログラマだと考えるのが妥当かもしれない。」
A「次はCommon.GetUnixTime()に注目してみよう。GetUnixTimeで検索すると結構な数のページが検索される。これもコピペだろう。」
B「でしょうね。」
A「これはUNIX時間を返す関数だと推測できる。」
A「ここで犯人がUNIXを全く知らないと仮定しよう。どうやったらこれらのページにたどり着くだろうか?」
A「実はUNIX時間という言葉を知らないとこれらのページにはなかなかたどり着けない。」
B「クラス毎コピペしたら、この関数も付いてきたのでは?」
A「クラス内のほかの関数と命名規則が違うので、その可能性は低いだろう。」
A「つまり犯人はある程度UNIXに馴染みがあるのではないだろうか?」
B「なるほど」
A「では次はCommon_Crpt.addKaigyo()、removeKaigyo()に注目してみよう。」
A「この二つだけ、明らかに他と異なるのがわかるだろうか?」
B「・・・日本語ですね。」
A「そうだ。英語、英語と来て、ここだけ日本語。これは恥ずかしい・・・。たとえコピペであっても私なら直すな。」
B「直しますね。」
A「次は_getElementById()に注目しよう。」
B「ちょっと待ってください。addKaigyo()はどうなったんですか?」
A「・・・いや、それだけだが・・・」
B「・・・」
A「では話を戻そう。_getElementById、_getElementsByTagNameはいわずと知れたDOMの関数だ。」
A「この関数名がさっと出てくるぐらいだから、XMLかHTML、Javascriptなどを使ったことがあるのではないだろうか?」
B「まあ今時その三つを使ったこと無いって言う人のほうが珍しいんじゃないですかぁ?」
A「まあそうだな。なんか言葉に棘がないか?」
A「まあそれはさておき、ここまでに出てきたキーワードを並べてみよう。」
B「Java、UNIX、XML、HTML、Javascriptですね。」
A「そうだ。これらのキーワードから導き出される犯人像は・・・」
A「本職はJavaServlet/JSPを使ったWebプログラマで、C#をちょっとかじったことのある人物と言うことになる。」
B「なるほど。・・・でもそれって全然絞り込めてませんよね。」
A「ウイルス作るのにC言語よりC#を選んでることから、ここ10年ぐらいの間にWindowsのプログラミングを覚えた人。」
B「それでも絞り込めていませんよ。」
A「後はaddKaigyo()を放置するぐらいプログラミングに思い入れがない人だな。」
Re:真面目に分析してみた (スコア:2)
まずは長文ご苦労さま。
結論は、あるプログラミング言語でコードを書けるか否か、どんなコーディングスタイルか、何て、所詮は状況証拠に過ぎないのだからマジメに議論する価値はないってことだな。
Re: (スコア:0)
三行で頼む
Re:真面目に分析してみた (スコア:1)
本職はjava servlet/jspのプログラマ
c#は半人前(犯人だけに)
30代から40代ぐらいの日本人。たぶん楽天社員ではない。
これでいいか?
Re: (スコア:0)
だいたい合ってる
Re: (スコア:0)
なんだ、私だったのか。
# 確かに何とかKaigyoってメソッドも書いたことある。