[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 2chのread.cgiへ]
Update time : 05/10 00:48 / Filesize : 168 KB / Number-of Response : 668
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★お前らJavaはJNIで組もうぜ★



1 名前:chinkasu [02/10/05 14:27]
このすれ立てても一人としてレスはいるとはおもっちゃ
ねーけどさ
2ちゃんのアフォにはこのレス荒らすことぐらいしかできないと
思ってるぜ
お前らに期待を裏切るような書き込みをリクエストする


75 名前:デフォルトの名無しさん [02/12/26 22:22]
jfieldID fid = env->GetFieldID(cls, fname, "I");
でINT型のならフィールドIDをとれるんですが
jfieldID fid = env->GetFieldID(cls, fname, "L");
オブジェクト型のがとれません。
どうすればよろしいか?



76 名前:デフォルトの名無しさん [02/12/26 22:32]
JNDIって知ってる?

77 名前:デフォルトの名無しさん mailto:sage [02/12/26 22:35]
>>76
java.sun.com/j2se/1.4/ja/docs/ja/guide/jndi/
コレっすか? でもコレ JNI と関係ないよね。

78 名前:デフォルトの名無しさん mailto:sage [02/12/26 22:45]
>>75
ドキュメントによると

>L fully-qualified-class ; 完全指定のクラス

だそうだ。

79 名前:デフォルトの名無しさん mailto:sage [02/12/26 23:01]
例えば "Ljava/lang/String;" とかやるみたい、たぶん。

80 名前:Java軍曹 [02/12/27 04:18]
まず普通に一本Javaアプリこしらえて、それをその後、ガッツンガッツンのキッリキリに
JNIに置き換えて...というか全て中身DLLに挿げ替えて、最終的に static void mainと、
そこから連なる一連のメソッドのインタフェースだけをJavaとして残す。
つーか、エントリ以外ほぼ全てnative宣言。
....っていう強姦まがいのコードが書きたい。いや、むしろ一度書いてみたい。

write once , run here only.

81 名前:Java軍曹 [02/12/27 04:23]
ちなみに、当然DLL内ではバージョンの限定されたMFCランタイムや、
何かをインストールしていないと絶対にインストールされないCOMを
ギュゥオンギュゥオンに使用。

write once , run now.

82 名前:デフォルトの名無しさん mailto:sage [02/12/27 04:25]
write once, debug anywhere

83 名前:デフォルトの名無しさん mailto:sage [02/12/27 04:54]
>>80
>最終的に static void mainと
…。
やりたきゃやれば?
GC とか名前による動的バインディングとかの恩恵を
全部 omit するなら Java でやる必要ないし。



84 名前:Java軍曹 [02/12/27 05:12]
>>83
御意!! まさにおっしゃる通りィッ!!
というより、すでにJavaで無しッッッ!!

85 名前:デフォルトの名無しさん mailto:sage [02/12/27 05:17]
>>80
それだったら C言語 のソースをJavaのバイトコードに落とせるコンパイラとか書いた方が面白そう。

86 名前:Java軍曹 [02/12/27 05:23]
>>85
素晴らしいィィッ!! 隊長ッ!!
全ッ然意味の無いシロモノだが、イイッ!

自分、書いてみたいでありますッ! でも仕事量がマジ半端無ェ勢いに
なりそうで、寝小便しそうでありますッ!

87 名前:デフォルトの名無しさん mailto:sage [02/12/27 06:59]
ふつうにCやらC++で書いて、それを、main()だけをエクスポートするdllにして、
javaのmainからキックすればええやん。

88 名前:Java軍曹 [02/12/27 08:20]
>>87
(゚听 )ツマンネ

89 名前:Java軍曹 [02/12/28 01:07]
>>88 ← 彼は自分では無いでありますッッ!!
でも、それではつまんないという事には禿げて同意でありますッッ!!


90 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:08]
>>87
っつーか Runtime.exec() で(以下略)
素直にネイティブアプリに(以下略)

91 名前:デフォルトの名無しさん [02/12/28 01:13]
>>90
Runtime.exec()には胴衣ですが、
Javaアプリケーションのプラグインとしてネイティブアプリ
ケーションをコールするっていうのは、あるのかもね。

92 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:15]
anywhereでrunしないけどね。

93 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:16]
そんなに、まともなソフトつくりたいんならさ、きっぱりJava捨てたら?



94 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:17]
>>93
Java捨てて 何使ったら良いでしょうか?

95 名前:デフォルトの名無しさん [02/12/28 01:20]
>>92
JNIを使うという前提での話にそういう突っ込みしますか…

96 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:27]
>>95
JNI使う != run anywhere じゃないような。
Java の標準ライブラリだって JNI 使ってんだし。

97 名前:デフォルトの名無しさん [02/12/28 01:28]
>>93
チャンポンしろ。
なんでもつかえ。
いいとこどり。


98 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:28]
>>94
C#使ったらどうだ?
それでもしJavaと同じように糞だとわかったら、
その頃には次の言語が出てるから、新言語に乗り換えろ。

99 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:29]
>>98
それって延々と糞言語使い続けるって選択肢ですか?

100 名前:デフォルトの名無しさん [02/12/28 01:31]
>>96
どんなボケですか?
ユーザが勝手に作るJNI!=Run Anywhereは常に成立デスヨ。

101 名前:デフォルトの名無しさん mailto:age [02/12/28 01:31]
>>85
CをJavaに変換するなんてとても容易にできることだとは思えないぞ。
ポインタ、アドレス操作も大変だし、
メモリリーク、配列のバッファーオーバーフロー起こすことができるCソースをそのまま
Javaに変換しても動かないし。

Cの構造体をJavaに変換するとフィールドがすべてpublic、だが値型。
構造体への構造体も値型であるから、
それをクラスの中にあるクラス(クラスの集約)として変換しても
どう考えたってそのまんまではエラー。
Javaではクラス(オブジェクト)はすべて参照型と決まっているからね。
変換したいCソースにC++コードいれたらとんでもないことになりそうだね。

ほかにも容易でない理由はまだまだあるんだけど、きりがないからこれくらいにしておこう。

CをJavaに自動変換するなんて現状ではまだ現実的とは思えないな。
JavaをCに変換するのは簡単だけどその逆は容易でない、というか、
不可逆反応です。それだけJavaが整然としたすっきりとした言語ってことだね。

JavaをC#に変換するJUMP to .NET ですら変換がうまくいかないことがあり、
RMI使っているJavaソースや一部のJava独自のライブラリをC#に変換できないというし。

ある程度は自分で書き直した方が早いんじゃないかな。

102 名前:デフォルトの名無しさん [02/12/28 01:33]
>>101
逆は作ってるヒトたまにいるね。

103 名前:デフォルトの名無しさん [02/12/28 01:34]
>>101
前橋和哉さんがそういうコンパイラ作る話題をWebに書いてなかったけ?



104 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:39]
>>101
C言語ソース -> Javaソース じゃなくて
C言語ソース -> Javaバイトコード だったら出来るんじゃない?

それに C言語ソース -> Javaソース だったら
可変長引数の処理とかも無理っぽいし。

105 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:50]
Cをアセンブリやマシン語には出来ても
アセンブリやマシン語をCには出来んでしょ。
Java厨にはそんなこともわからんの?

106 名前:デフォルトの名無しさん mailto:sage [02/12/28 01:53]
>>105
つまり、君には理解できなかったと。

107 名前:デフォルトの名無しさん mailto:sage [02/12/28 02:11]
>>106 わけわからん

108 名前:デフォルトの名無しさん mailto:sage [02/12/28 02:22]
>>105
CをJavaにするコンバータを作るのは無理だけど
JavaでCをエミュレートするのは無理じゃないって事では?

109 名前:デフォルトの名無しさん mailto:sage [02/12/28 04:48]
Windowsでレジストリにアクセスしたいときに使ってた。
まあ、せいぜいインストールパスを見るぐらいだけど。
後、イベントログの出力に log4j を使ったんだが、内部
ではJNI経由でDLL呼び出ししてたな。小技的に使うのが
いい感じ。


110 名前:デフォルトの名無しさん mailto:age [02/12/28 05:16]
>>104
可変長引数なら、
可変長引数をあらわすこんなクラスをつくればいいんじゃないか?
import java.util.Vector;

public class VariableLengthArgument {
private int number;
private Vector vector;
public VariableLengthArgument(){
number = 0;;
}

public void add(Object obj){
vector.add(obj);
number++;
}

public Object get(int index){
return vector.elementAt(index);
}

public int getNumber(){
return number;
}
}

111 名前:デフォルトの名無しさん mailto:sage [02/12/28 05:42]
>>110
それだったら素直に Vector 使った方が早い。

112 名前:デフォルトの名無しさん mailto:sage [02/12/28 06:03]
>>110
Vector#add(Object) 使ってるかと思えば、
Vector#elementAt(int) 使ってる。統一性無いよ。

JDK1.1 との互換性気にするなら
Vector#addElement(Object)
Vector#elementAt(int)

JDK1.1 以前お断りなら
Vector#add(Object)
Vector#get(int)

あと、number 意味なしじゃない?
vector.size() 使えばよさげだし。
つーか、 >>111 の言うとおり クラス作るだけ無駄っぽい。

113 名前:デフォルトの名無しさん mailto:sage [02/12/28 06:28]
>>110
おまけに vector が null のまんまだから
add か get で NullPointerException 食らうし。



114 名前:Java軍曹 [02/12/28 11:30]
>>110
>可変長引数をあらわすこんなクラスをつくればいいんじゃないか?

そのクラスをその様にどうしても作りたいなら、むしろ extends Vector !!
ていうか、implements Collection した別ものを用意!!
ただしその場合、内部実装は >>111氏の言うように Vectorとまったく同じッッ!!

というか自分ならむしろ、privateメンバとしてVectorを持たず、普通の配列を
持つであります!そして、java.lang.reflect.Array で newInstanceして
まるでconcatするような処理をワザワザ実装するであります!!

さらにこの場合、内部的にはただの配列なので、
ついでに、 java.util.Comparator を implementsした別クラスを用意し、
何か用がある場合、
java.util.Arrays.binarySearch(..)(スタメソ)の引数として使い、
そのComparator を継いだクラスの中で、渡された「配列の要素」をグリングリンに
いじりまわす処理を書きたいと思いますッッ!!!
(要するにComparatorであって、Comparatorで無し!!実装の上げ足取り!)

要するに”binarySearch”という響きにゾッコン☆LOVEであります!!


115 名前:Java軍曹 [02/12/28 11:42]
>>114 に追記であります!!
ちなみにこの実装は、「こうしたらちょっとは早くなるかも」という
自分の妄想の産物であります!!

Vectorに格納された何らかのオブジェクト、(特に VOID* のつもりの引数)
に対処する時や、union な structのメンバに対処する時に、いちいち Vectorからgetして
getClass() して判定するのがなんとなく遅そうだと思ったのであります!!

故にッッ!!! 突っ込み所満載かもしれないでありますッッ!!!!

116 名前:デフォルトの名無しさん mailto:age [02/12/28 17:30]
>>111-113
コンストラクタで new Vectorしていなかった。
確かにnumberいらないか。

Vectorそのまま使ってもいいけど、
そこに入るのは可変長引数のみであることを意識するために
別にクラス用意した方がいいかなと思った。

あと、 >>114-115 の言うとおり、引数無しvoidにも対応させるための手段も
必要かなと。
 add()メソッドが動くまでget()するとデフォルトでvoid状態
 remove()メソッドで全部消してget()するとvoid状態を返す
な感じに。

www.gimlay.org/~javafaq/S012.html#S012-10
を見るとやっぱりクラス作った方がいいかなと。
引数のサイズの上限は255, long, doubleが入った場合は2個分として計算。
これらの振り分け処理をaddメソッドに追加した方がいいかな。

JDK1.1以前お断りでadd,get限定にしますか。
(.Net厨やJ++/J#厨からするとお断りにするなと言いそう)


117 名前:デフォルトの名無しさん [02/12/28 17:37]
public class Point3d {
    public double x;
    public double y;
    public double z;

    ...

    public void add(Point3d p) {
        this.x += p.x;
        this.y += p.y;
        this.z += p.z;
    }

    ...
}

このaddメソッド程度のものをnativeで書いた場合とどちらが速いんですかね?
そういったことを試したサイトありませんか?

118 名前:デフォルトの名無しさん [02/12/28 18:17]
昔のJavaコンパイラはCへのコンバータだったんだよね

119 名前:デフォルトの名無しさん [02/12/29 12:50]
>>117 そこまでコーディングしたなら自分で試せばいいだろ

120 名前:Java軍曹 [02/12/29 19:25]
>>117
>このaddメソッド程度のものをnativeで書いた場合とどちらが速いんですかね?

この「nativeで書いた場合」とは、このスレの主旨から考えるに、当然
「このメソッドについて」、「JNIを使用する」事を想像しているものと思われるが、
その場合、処理速度の早い遅いを決めるポイントは、主に以下の2点になると思われますッッ!!

1)どれだけこのメソッドの中で完結している処理の量がある(多い)か
2)このnative宣言されたメソッドの実体(DLL)が、どれだけJavaのオブジェクトを利用するか

1について、それが「いやーこれがもう本当にループ部分とか壮絶なネストでぐーるぐるなんですよ」
だった場合、早くなるかもしれないと思われます!そして、こことも関わる話でありますが、
2について、「いやー中の処理は殆ど別のオブジェクト(Javaのクラスのインスタンス)のメソッド呼びまくりなんですよ」
だと、かえって遅くなるか、あるいはあんまり変わらない可能性が高いと思われます!!

なぜなら!DLL側で受け取るJavaのクラスのインスタンスは、プリミティブ型(この場合はラッパー)も含めて、
全ていちいちFindClassして探し出さなければならないからであります!

参考↓
ttp://java.sun.com/j2se/1.3/ja/docs/ja/guide/jni/spec/jniTOC.doc.html

121 名前:Java軍曹 [02/12/29 19:26]
簡単に言ってしまえば、「COMを使うっぽい感じ」でありますッッ!!

122 名前:デフォルトの名無しさん mailto:sage [02/12/30 03:34]
>>120
それだと今回の add を JNI 化しても遅くなる可能性のが高そうだね。

123 名前:Java軍曹 mailto:sage [02/12/30 17:41]
>>122
御意ッ!



124 名前:デフォルトの名無しさん [02/12/31 16:47]
>>122
むしろほぼ確実。
最近は、バイトコード実行速度の上昇がめざましいため
JNI呼び出しにかかるオーバヘッドの方が大きくなることが多い
よほど大きなタスクでない限りJavaで完結したほうが速いと思われる。
このスレの趣旨と真っ向から対立する話だけどな。

125 名前:Java軍曹 [02/12/31 17:25]
>>124
正にッッ!!

JNIを「速度を求めて」あるいは「Javaで利用できない機能」を実現する手段として正しく実装したいと思うなら、
変な言い方かもしれませんが、自分が思うに、
「そのJavaアプリケーションのアドイン的な立場として」実装するのが吉ではないかと思われますッッ!!

つまり、「このnativeなヤツは、最初の引数受け取り以降、あるいは最後の戻り値以前の部分が、結構重い
(あるいはプラットフォーム固有の処理ばっかな)んスよ。」で、かつ
「いや、これはここで完結してるんで、JVMに迷惑かけないスよ」である場合に、
初めてその効能が得られるのではないか、と。

そうで無い場合、124氏の言われるように、Javaで完結するのが、本来は吉であると
思われますッッ!!

126 名前:C++厨 [02/12/31 19:26]
nativeインターフェスは速いの〜?(´∀`)

127 名前:117 mailto:sage [02/12/31 20:03]
public void add(Point3d p),public native void add(Point3d p)
の2つで実際にやってみたよ.
方法はこのaddメソッドを100M回呼び,その時間を計測するというもの.
その結果,前者が40msec, nativeの方が大体4000msec.
予想通り呼び出しなんかのオーバーヘッドが大きかったということでしょうか.
ということでもう一つ.今度は↓のようなもの.
public void exe() {
    double x = this.x;
    double y = this.y;
    double z = this.z;
    for (int i = 0; i < 0xfffffff; i++) {
        x += 1.0;
        y += 1.0;
        z += 1.0;
    }
    this.x = x;
    this.y = y;
    this.z = z;
}
単純に0xfffffff回,+1.0するだけのものだけど,
これもまたnativeと2つ作成して,今度は一回だけ呼んで時間を計測したもの.
その結果,普通の場合がおよそ5000msec,nativeは4000msec
あんまり変わらなかったですね.

JDK1.4/WinXP/1GHz/C++コンパイラは.NETのもの(よく分からない)

JNIで処理の速さを求めるのは間違いかもしれません.
よほど負荷のかかる処理でもない限り,JNIは使うべきではないと思いました.
Javaでは実現出来ないところをCなりで実装するためにあるのかも知れません.

ちなみに使用したnativeコードは次の書き込み.

128 名前:117 [02/12/31 20:10]
JNIEXPORT void JNICALL Java_Point3d_add(JNIEnv* env, jobject me, jobject p){
jclass cls = env->GetObjectClass(me);
jfieldID fid_x = env->GetFieldID(cls, "x", "D");
jfieldID fid_y = env->GetFieldID(cls, "y", "D");
jfieldID fid_z = env->GetFieldID(cls, "z", "D");
jdouble this_x = env->GetDoubleField(me, fid_x);
jdouble this_y = env->GetDoubleField(me, fid_y);
jdouble this_z = env->GetDoubleField(me, fid_z);
jdouble p_x = env->GetDoubleField(p, fid_x);
jdouble p_y = env->GetDoubleField(p, fid_y);
jdouble p_z = env->GetDoubleField(p, fid_z);
env->SetDoubleField(me, fid_x, this_x+p_x);
env->SetDoubleField(me, fid_y, this_y+p_y);
env->SetDoubleField(me, fid_z, this_z+p_z);
}

JNIEXPORT void JNICALL Java_Point3d_exe(JNIEnv* env, jobject me){
jclass cls = env->GetObjectClass(me);
jfieldID fid_x = env->GetFieldID(cls, "x", "D");jfieldID fid_y = env->GetFieldID(cls, "y", "D");jfieldID fid_z = env->GetFieldID(cls, "z", "D");
jdouble x = env->GetDoubleField(me, fid_x);jdouble y = env->GetDoubleField(me, fid_y);jdouble z = env->GetDoubleField(me, fid_z);
for (int i = 0; i < 0xfffffff; i++) {
    x += 1.0;
    y += 1.0;
    z += 1.0;
}
env->SetDoubleField(me, fid_x, (jdouble) x);
env->SetDoubleField(me, fid_y, (jdouble) y);
env->SetDoubleField(me, fid_z, (jdouble) z);
}

this.x += p.x;を実装するたけでも↑のようなコードが必要っぽい.
なんか他にいい方法ないですかね?

129 名前:117 mailto:sage [02/12/31 20:12]
>>127の書き込み訂正
× 100M回
○ 1M回

130 名前:デフォルトの名無しさん mailto:sage [02/12/31 20:20]
>>127-129
レポートご苦労様っす。

131 名前:デフォルトの名無しさん mailto:sage [03/01/02 14:46]
>>128
GetObjectClassとGetMethodIDは一回でいいはず
なんどもやるのは無駄

132 名前:デフォルトの名無しさん mailto:sage [03/01/04 10:28]
GetFieldID を init に追い出してチェックしてみたら
100M回の比較で
Point3D.add::4536ms
Point3D.addNative::128084ms
Point3D.addNativeWithGetFieldID::459834ms

ちなみに C++ で Point3D を作ってやってみたら
Point3D->add::2684ms

おまけに Point2D も作ってみたけど
Point2D.add::2814ms
Point2D.addNative::86375ms
Point2D.addNativeWithGetFieldID::415858ms
Point2D->add::2614ms

133 名前:デフォルトの名無しさん mailto:sage [03/01/04 11:00]
GetObjectClass/GetFieldIDは案の定重いね
どちらが重かったか分かる?



134 名前:デフォルトの名無しさん mailto:sage [03/01/04 11:03]
やってて気づいたんだけど jdk1.4って浮動小数点演算の最適化が甘くなってるかも?
>>132 は jdk1.4.1

jdk1.3.1
Point2D.add::3205ms
Point2D.addNative::87405ms
Point3D.add::3545ms
Point3D.addNative::125200ms

jdk1.2.2
Point2D.add::2964ms
Point2D.addNative::52155ms
Point3D.add::2714ms
Point3D.addNative::73957ms

135 名前:デフォルトの名無しさん mailto:sage [03/01/04 11:23]
>>133
ほい。回数は先のと同じく100M回。

invokeJNIMethod::4096ms
getObjectClass::12328ms
getFieldID::74877ms

136 名前:デフォルトの名無しさん mailto:sage [03/01/04 11:28]
>>135
グッジョブ!
100M回って、100 * 1000 * 1000 回であってるよね?

137 名前:デフォルトの名無しさん mailto:sage [03/01/04 11:35]
>>136
>100M回って、100 * 1000 * 1000 回であってるよね?
そのとーりです。

138 名前:デフォルトの名無しさん mailto:sage [03/01/04 15:11]
>>134
浮動小数点演算じゃなくて inline 展開の仕方が悪い(?)のかも
p1.add(p2);
p2.add(p1);

p1.x += p2.x; p1.y += p2.y; p1.z += p2.z;
p2.x += p1.x; p2.y += p1.y; p2.z += p1.z;
で測定したら
Point3D.add::4557ms
自力計算::2694ms
みたいに差が出ました。(jdk1.4.1の場合)
jdkのバージョンによっては あんまし差が無かったりする
(jdk1.2.2だと測定誤差程度だけど自力計算のが遅かったりする)
ので面白いなぁ、と思ってみたり。

特にヘンなのが IBM のjdk1.3.0で
class Point3D extends Point2D にして
public void add( Point3D p ){
 super.add(p);
 this.z += p.z;
}
とかゆーふーにした場合が一番速かったり。

これ以上はHotSpotやらJITやらの知識が無いと測定しても意味無いかも…

139 名前:デフォルトの名無しさん mailto:sage [03/01/04 15:21]
ううむ、JIT様がガリガリ最適化したら、
どう書いても同じになりそうな気がするんだが
そうでもないのか。

140 名前:IP記録実験 mailto:IP記録実験 [03/01/08 22:23]
IP記録実験
qb.2ch.net/test/read.cgi/accuse/1042013605/

1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。

27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?

38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。

73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。

141 名前:デフォルトの名無しさん mailto:sage [03/01/09 00:42]
>>69
アクセスログじゃなくって書き込み単位で記録しているだけだろ
そんな一気にはふえねーだろ

142 名前:デフォルトの名無しさん mailto:sage [03/01/09 01:02]
ひろゆきの悲しいときを教えれ。

143 名前:デフォルトの名無しさん mailto:sage [03/01/09 01:21]
>>422
別に気にはならないですね。




144 名前:デフォルトの名無しさん mailto:sage [03/01/09 01:33]
どうですか。( ´Д⊂

145 名前:デフォルトの名無しさん mailto:sage [03/01/09 02:09]
「2chでは裏でIP記録されています。IPを抜かれたくなければ
セキュリティガードに…」

というコピペを流行らせる会 会長↓

146 名前:デフォルトの名無しさん mailto:sage [03/01/09 03:00]
さて。2ちゃんの流浪の民を吸収できる掲示板システムを作ることが出来得るなら
これは非常に大きなビジネスチャンスだと思うのだが。
誰かやれ!

147 名前:デフォルトの名無しさん mailto:sage [03/01/09 03:47]
>>197

 いや、ま、正論ではあるのだけどな。。



148 名前:デフォルトの名無しさん mailto:sage [03/01/09 18:35]
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 138720人 発行日:2003/1/9

年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。

そんなわけで、年末に予告したIP記録ですが実験を開始しています。

「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

149 名前:デフォルトの名無しさん mailto:sage [03/01/10 00:20]
>>493
いくらなんでも、無差別にIP公開はしないと思うが。

150 名前:デフォルトの名無しさん mailto:sage [03/01/10 09:08]
>>573
世の中サヨとネットと圧力で出来てると思っているお前のような奴のほうが
世の中にとっては役に立たない

151 名前:デフォルトの名無しさん mailto:sage [03/01/10 10:28]
>>196
いや、そんなことはないですよ。

152 名前:デフォルトの名無しさん mailto:sage [03/01/10 11:05]
西村氏は
廃人で雪に入って凍っているかと思ったらまだ生きていたんですね。

153 名前:デフォルトの名無しさん mailto:sage [03/01/10 11:36]
ちなみに、「国民クイズ」内では日本国憲法が改正され、こんな条文が追加されてる。
日本国憲法第12章104条「国民クイズは国権の最高機関であり、その決定は
国権の最高意思最高法規として、行政、立法、司法、その他あらゆるものに絶対、
無制限に優先する」

笑えるところなのかわからんが34話にはムネオたんか?と思われる方もカメオしてる。



154 名前:デフォルトの名無しさん mailto:age [03/01/10 11:57]
Java Native Interface?

155 名前:デフォルトの名無しさん mailto:sage [03/01/10 12:24]
>>481
名誉毀損で逮捕かよ!

でも管理人、笑えないんじゃない?コレ。


156 名前:デフォルトの名無しさん mailto:sage [03/01/10 12:41]
>>434
現実のものとなりました。

157 名前:デフォルトの名無しさん mailto:sage [03/01/10 12:51]
>>942
一応ありがと。そのリンク先の1の判決文末尾の「別紙発言目録」ってのが
見たいわけなんだけど、そのスレのどっかにリンク張られてるのかな?


158 名前:デフォルトの名無しさん mailto:sage [03/01/10 15:01]
・圧縮やなんかでdat落ちした分を省いた
・報告無しで処理された分を省いた
・まとめが好きで好きでたまらないまとめ大好きっ子だった

159 名前:デフォルトの名無しさん mailto:sage [03/01/10 16:30]
あーの事ね。



大阪キタ━━━━━━┌(_Д_┌ )┐━━━━━━ !!!!!

160 名前:デフォルトの名無しさん mailto:sage [03/01/10 22:52]
お近くの警察署か裁判所へどうぞ>329さん


161 名前:デフォルトの名無しさん mailto:sage [03/01/10 22:59]
ニュー速以外はだいたい串通るから
IP記録は無駄無駄。。。

162 名前:デフォルトの名無しさん mailto:sage [03/01/11 00:15]
末期症状だな。削除問題をIP記録にすりかえてる。北朝鮮並みの姑息な対応。

163 名前:デフォルトの名無しさん mailto:sage [03/01/11 00:23]
ぼうやだからさ



164 名前:デフォルトの名無しさん mailto:sage [03/01/11 09:48]
釣りじゃないのなら実に現実味のない意見だ

165 名前:デフォルトの名無しさん mailto:sage [03/01/11 09:51]
まあよしゆきも控訴審の判決が出たからにはポーズだけでもとらにゃいかんだろう。
よほど悪質な犯罪予告等を除いてはよしゆきの判断次第。面倒くさくなったら、
当事者同士で問題解決してよん。んじゃ!って感じだろう。

166 名前:デフォルトの名無しさん mailto:sage [03/01/11 10:22]
======2==C==H======================================================

         2ちゃんねるのお勧めな話題と
     ネットでの面白い出来事を配送したいと思ってます。。。

===============================読者数: 139038人 発行日:2003/1/10

なにやら、連日メルマガだしてるひろゆきです。

そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。

重くなって落ちたりしてもご愛嬌ってことで。。。

んじゃ!

────────────────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
────────────────────────────
Keep your thread alive !
pc3.2ch.net/test/read.cgi/software/1041952901/l50
────────────────────────────

167 名前:デフォルトの名無しさん mailto:sage [03/01/11 11:16]
大作死ね!とか欠いたら危険になるのかな?

168 名前:デフォルトの名無しさん mailto:sage [03/01/11 11:47]
会同


※この書き込みはフィクションです。
 実際の団体・人物・民族等とは一切関係ありません。

169 名前:デフォルトの名無しさん mailto:sage [03/01/11 12:49]

このスレのIPとって訴訟するのだけは止めてくれよ。クチビルゲ。
aa.2ch.net/test/read.cgi/kao/1039731177/







うわっ何かクラックされて勝手に文章が・・・あ、さらにポインタが書き込みボタンに・・・あわわわ!!

170 名前:デフォルトの名無しさん mailto:sage [03/01/11 13:18]
俺もそう思う。高い金自腹で払って掲示板を運営してて
何処の誰かも知らん奴が勝手なこと書いた事によって
自分に火の粉が飛んで来たら、秘密を守ってやる義理は
ないよなひろゆきにしたら。

171 名前:デフォルトの名無しさん mailto:sage [03/01/11 16:05]
まぁなんだ

「ひろゆきよ ラウンジが重いんだが・・・と電話しまくって即閉鎖」

が一番早そうだな(藁

172 名前:デフォルトの名無しさん mailto:sage [03/01/11 16:11]
復活してちょっとうれしい今日の漏れ

173 名前:デフォルトの名無しさん mailto:sage [03/01/12 00:12]
>>IP記録

告発ネタが減少するのは残念。

・WTCテロのリーク
・西部の松坂の駐車違反
・牛肉買い上げの告発

等々、
いろいろとおいしいネタがあったのになあ。
おまえらの知ってる2ちゃん内の告発ネタを教えてください。



174 名前:デフォルトの名無しさん mailto:sage [03/01/12 00:22]
良識ある書き込みをしろ

175 名前:デフォルトの名無しさん mailto:sage [03/01/12 03:00]
はピン子のAAだったのか(w






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<168KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef