Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

”朝日新聞社から「2ちゃんねる」へ荒らし行為”だって!!

2009-03-31 23:08:46 | Weblog

ここの痛いニュース
朝日新聞社から「2ちゃんねる」へ荒らし行為…記事の書き込みに規制
http://blog.livedoor.jp/dqnplus/archives/1241806.html

(以下斜体は上記サイトより引用)


フリーの大型掲示版サイト「2ちゃんねる」が30日付けで朝日新聞社(asahi-np.co.jp)からの記事の書き込みに規制をかけたことが明らかとなった。

2ちゃんねるによると朝日新聞社は今年の2月頃から2ちゃんねるの「鉄道路線・車両」板内のスレッドに対して「あぼーん、あぼーん」といった意味不明な書き込みを多数投稿し、掲示版の正常な運営を妨害する行為を
行っていたとしている。


いくら言論の自由ったって、あらしはまずいだろう・・・
っていうか、会社で2ちゃんやってるの(-_-;)

  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

DTDからJAXBを使って、JAVAのクラスをつくるまで

2009-03-31 19:04:10 | Weblog

 では、さっきの、XMLをJavaのクラスにマッピングするプログラムを作る話、

・DTDからJAXBを使って、JAVAのクラスをつくるまで



・Javaのクラスをつかって、RSSを読み込み、値を取り出したりする

の2つの話に分けてやりたいと思います。
まずは、「DTDからJAXBを使って、JAVAのクラスをつくるまで」の話。



■概要

・DTDから、Javaのクラスをつくるのは、xjc.exeというのを使います。
 で、これが、JAVAをいれたところのbinの下(javac.exeとかあるところ)にあれば
 いいんですけど、もしなかったら、ダウンロードしてきます。

・前提条件として、DTDをGetします。
 今回は、RSSのDTDを使います。




■前提
 RSSのDTDを落としてきます。
 ブラウザで、
http://www.silmaril.ie/software/rss2.dtd
にアクセスします。 
真っ白な画面がでてきます(DTDのため、印刷するものは何もないから)

画面上、右クリックして、「ソースの表示」にします。
そこで、DTDがでてくるので、余計なものなんかを削除して、保存。
こんなかんじになります。
(IEだと、これも表示できません。「ソースの表示」で見てください)




■xjc.exeがなかったら、ダウンロード

 Javaのクラスをつくるのは、xjc.exeというのを使います。
 で、これが、JAVAをいれたところのbinの下(javac.exeとかあるところ)にあれば
 いいんですけど、もしなかったら、ダウンロードしてきます。

ここ
Web Services Downloads
http://java.sun.com/webservices/downloads/previous/webservicespack.jsp

の「JWSDP 2.0」の「Download」をクリックしていってください。
jwsdp-2_0-windows-i586.exe
みたいなかんじのものが、ダウンロードできたら(Windowsの場合)それをダブルクリックするとインストールできます。




■xjc.exe実行

xjc.exe -dtd DTDファイル名 -d 出力先ディレクトリ名

です。
たとえば、DTDを/temp/rss2.dtdという名前で保存しておいてあって、
出力先として、/temp/rss2というフォルダを作っておいてあって、
そこに書き出したい場合

xjc.exe -dtd /temp/rss2.dtd -d /temp/rss2




で、/temp/rss2の下に、generatedフォルダができて、
その下に、Javaのソースファイルがいっぱいできてると思う。
それが、DTDから作ったJavaのクラス。

ちなみに、今回はDTDでやりましたけど、xmlスキーマ(XSD)でもできます。
オプションが違うんだよね。

  xjc.exe -help

でみてね!

いつか、このクラスを使って、プログラムを作ります。


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

”Webアプリケーションのセキュリティ要件書を「CC」で公開”だって。。。

2009-03-31 16:57:34 | Weblog

ここの記事
アイアクトとトライコーダ、Webアプリケーションのセキュリティ要件書を「CC」で公開
http://sourceforge.jp/magazine/09/03/30/0920258

によると(以下斜体は上記サイトより引用)


Webサイト企画・制作などのアイアクト(本社:大阪市)と、セキュリティ教育のトライコーダ(本社:東京都新宿区)は2009年3月30日、Webアプリケーションの脆弱性を防ぐセキュリティ要件をまとめた仕様書「発注者のためのWebシステム/アプリケーションセキュリティ要件書」を無償公開した。

 要件書には、Webシステム/Webアプリケーションに関して一般的に盛り込むべきと考えられるセキュリティ要件を記載した。対象は、インターネット・イントラネット問わず公開するシステムで、特定多数または不特定多数のユーザーが利用するシステムを想定している。


だって。で、そのセキュリティ要件書のURLが・・・

発注者のためのWebシステム/Webアプリケーションセキュリティ要件書
http://脆弱性診断.jp/specifications/index.html


・・・おお、日本語ドメイン。
ちゃんと開ける?とおもって、いちど、ブログに書いて確認したら、やっぱひらけなかったので、リンクもとは、開けるURLのほうを貼っています。




  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Microsoftは、そのRESTのマッピングを意識してるみたい??

2009-03-31 14:09:29 | Weblog

ツールがあるんですね。
XML ダウンロード
http://msdn.microsoft.com/ja-jp/xml/bb190622.aspx

の(以下斜体は上記サイトから引用)
XSD オブジェクト コード ジェネレーター (XSDObjectGen) (英語)
を見ると


このユーティリティを使用すると、XML やその他の形式へのシリアル化、およびそれらの形式からの逆シリアル化が可能な C# データ構造や VB.NET データ構造を XSD スキーマから構築できます。生成されるコードは高度な .NET オブジェクト ライブラリで、これを使用すると、XSD データ構造や XML を扱う作業を大幅に単純化できます。

XSDObjectGen は、.NET Framework に付属する XSD.exe ツールと似ています。このツールと異なる点は、XSD スキーマから高度なクラス構造を構築し、元のツール (XSD.exe) よりもはるかに多くの一般的なスキーマ型に対処できることです。


ということで、XMLからC#,VBのデータ構造にマッピングというかバインディングする
ソフトとして、XSDObjectGen や、XSD.exeがあるみたいだ。



生成されるクラスは XML の作成と使用の両方に適していて、Web サービスの実装に含まれるパラメーターや戻り値としても使用できます。


と、さっき書いていた、RESTの返り値のマッピングみたいな話が書いてある。




ちなみにその下に、XMLからXMLスキーマ(XSD)が作れる、


XSD Inference (英語)
Microsoft XSD Inference ユーティリティを使用すると、XML インスタンス ドキュメントから XML スキーマ定義言語 (XSD) スキーマを推測できます。部分的な XML ではなく、規格に準拠した XML インスタンス ドキュメントを入力する必要があります。

ってあるんだけど、これをダウンロードして実行しても、ヘルプしか入らない・・・
ヘルプによると、どうもC#だと
(以下太字は、上記ヘルプより引用)
using System;
using System.IO;
using System.Xml;
using System.Xml.Schema;
using Microsoft.XsdInference;

namespace InferAgain
{
  class Class1
  {
  static void Main()
  {

    XmlTextReader xtr = new XmlTextReader("SchemaInput.xml");
    XmlSchemaCollection xsc = new XmlSchemaCollection();
    Infer testInfer = new Infer();

    xsc = testInfer.InferSchema(xtr);

    foreach (XmlSchema xs in xsc)
    {
      TextWriter writer = new StringWriter();
      xs.Write(writer);
      Console.WriteLine(writer.ToString());
      foreach (XmlSchemaImport xsi in xs.Includes)
      {
        TextWriter strWriter = new StringWriter();
        xs.Write(strWriter);
        Console.WriteLine(strWriter.ToString());
      }
    }
   }
  }
}


とやると、XMLからXMLスキーマできるそうなんだけど、VisualStudioを
いれてないので、確かめられない・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

クラウドとRESTとマッピングとJAXB

2009-03-31 11:54:36 | Weblog

クラウドコンピューティングというと、ブラウザレベルでの話が多いと思います。

でも、バッチプログラムとかでも利用しようとか、
サーバー側で(サーブレットから)サービスを利用しようとすると、
昨日書いたような、Javaから、RESTのサービスを利用するということも、
あるかと思います。

その場合、昨日は、RESTサービスの返り値のXMLを、O/Rマッピングのように
JAVAのクラスにマッピング(バインディング)しちゃったほうが、
はやくない?みたいなことを書きました。




で、そーいうのを、自動化させる話なのですが、

XMLをJavaのクラスにマッピングするというところは、
まさにJAXBなわけで、

ここ
インタフェース Unmarshaller
http://java.sun.com/javase/ja/6/docs/ja/api/javax/xml/bind/Unmarshaller.html

をみると(以下斜体は上記サイトより引用)

Unmarshalling from a URL:

JAXBContext jc = JAXBContext.newInstance( "com.acme.foo" );
Unmarshaller u = jc.createUnmarshaller();
URL url = new URL( "http://beaker.east/nosferatu.xml" );
Object o = u.unmarshal( url );


と、URLを指定してもできるようなので、GET型の場合は、引数を設定すれば、
あとはJAXBでアンマーシャルすると、クラスに入ってくるということができそうです
(POSTの場合でも、InputStremからとってこれるので、昨日のように、
 con.getInputStream()をすればOK)




そうすると、
1.RESTの帰り値のXMLスキーマないしDTDを用意しておき、
  JAXBで、Javaのクラスに変換しておき、

2.そのクラスが、引数セット、アクセスメソッドを用意すれば、

3.アクセスメソッドで受け取ったメソッドをアンマーシャルすると、
  クラスに入る。

なので、1、2、3を自動化すればいい、ってことになります。
うち、上記のように3は、JAXBでできそう。
1もたしか、JAXBにツールがあった。

なので、Excelシートから、2の部分を作成し、1、3とあわせればよい?

なんかできそうですね・・・


  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする