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

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

YouTube規制回避のためニワンゴ、動画投稿サイト開始、それよりミラーサイト作ったら?

2007-02-27 22:32:30 | Weblog

ここのGIGAZINEのニュース
ニワンゴ、YouTube規制回避のためニコニコ動画向け動画投稿サイト開始予定
http://gigazine.net/index.php?/news/comments/20070227_nicovideo/

やここのニュース
ニワンゴ、動画投稿サイト開始へ・1週間内に
http://it.nikkei.co.jp/internet/news/index.aspx?n=MMITba003026022007

によると(以下斜体は、上記GIGAZINEの記事から引用)

22日夜に3000台以上からのDDoS攻撃を受けてサービスを停止したところに、YouTubeからアクセスを規制されていることが判明してベータサービスを終了したニコニコ動画ですが、サービスを提供しているドワンゴの関連会社「ニワンゴ」が、1週間後を予定しているニコニコ動画の新バージョンの公開に向けて、動画投稿サイトを自社で開設するそうです。


動画投稿サイトを自社で作るんですか。。。
もう、すでにいっぱいある気が。。(^^;)
それより、YouTubeの動画を、自社のサーバーにダウンロードしてきて、公開してくれる、いわゆるミラーサイトができてくれると、ありがたい気がする。。。

そうすれば、YouTube一極集中にならないし。。

オープンソフトのミラーサイトなら、JAISTとかがやりそうだけど、
YouTubeのミラーサイトは、学校や大手企業では、絶対考えられないので、
ニワンゴぐらいしか、やりそうなところは。。ない気が。。

(もっとも、YouTubeの動画をKeepVidみたいなのをつかって、動画のファイルにおとして、それをどっかの掲示板に貼るっていうのが、自然発生的におきる可能性はないわけではないが。。)

それとも、動画投稿サイトを自社で開設するっていうのは、そういう意味なのかな?
つまり、YouTubeのRSSを読んで、更新されていたら、自動的にダウンロードして、ファイルを変換し、自社サイトに保存する、そういう「動画投稿サイトを自社で開設する」っていう意味なのかなあ。。。?

でも、そーすると、著作権の関係とかで問題になんないかなあ。。

って、YouTubeの著作権!?(^^;)



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

Javaアプリでプリンタから出力する方法を書かないと、いけませんよね。。。

2007-02-27 17:32:37 | JavaとWeb

 そうそう、前の話、それ以前に、「Javaアプリでプリンタから出力する方法」を書いてなかった。

ここのサイト
7.3 Printable での印刷
http://www.ueda.info.waseda.ac.jp/~yanagi/docs/ja/guide/2d/spec/j2d-print.fm3.html


などが、参考になると思います。




■概要

つまり、方法は

1.java.awt.print.Printableを実装して、
  そこのprintメソッドに、ページに応じて、出力内容を書く。
  →引数で、java.awt.Graphicsが、わたってくるから、指定されたページの内容を、
   そのGraphicsを使って、美しく書いてくれ。

  →実際に書くページは、Printable.PAGE_EXISTSを返し、
   存在しないページは、Printable.NO_SUCH_PAGEを返す。

2.java.awt.print.PrinterJobを、PrinterJob.getPrinterJob();で取得し
  上記1のクラスを生成し、それを、取得したPrinterJobのsetPrintableで
  セットする

3.PrinterJobのprintDialog()でダイアログをだして、OKのとき(trueが帰ってくる)
  取得したPrinterJobのprint();を呼び出す

 そうすると、書き出します。以下、サンプルです。




■仕様

 あるダイアログがあって、b1ボタンで終了、b2ボタンをクリックすると
  ・プリンターのダイアログが出て、
  ・OKだと、1枚目に「みほん開始」、
       2枚目に「2ページ目」「ちゃんとかけた?」
   と出力する。




■ソース

●1.java.awt.print.Printableを実装したクラス(TestPrint)
import java.awt.print.*;
import java.awt.*;

public class TestPrint implements Printable 
{
	/*
	 * 	ページ出力
	 */	
	public int print(Graphics g, PageFormat pf, int pNo)
				throws PrinterException 
	{     
  		switch(pNo)
  		{
  		case	0:		//	1ページ目
    		         g.drawString("みほん開始", 100, 100);
  			break;
  		case	1:		//	2ページ目
    			g.drawString(Integer.toString(pNo+1)+"ページ目", 100, 100);
    			g.drawString("ちゃんとかけた?", 100, 300);
  			break;
		default:		//	それ以外のページ
			return Printable.NO_SUCH_PAGE;   
  		}
		return Printable.PAGE_EXISTS;   
	} 
}

(上記< > ¥ は、本当は半角)

●2以降(ダイアログの一部)

 ダイアログの一部で、ボタンを押されたところの処理のみ、書き出します。

   else if ( o.equals(b2)== true)

の中が、今回の処理です。
 なお、上のほうで、import java.awt.print.*;をしています。
		/*
		 * 	ボタンが押されたときの処理
		 */
		public void actionPerformed(ActionEvent e)
		{

			Object o = e.getSource();

			if ( o.equals(b1)== true)
			{	//	終了
				ff.dispose();
			}
			else if ( o.equals(b2)== true)
			{	//	印刷

				//	初期化と設定
				PrinterJob pj = PrinterJob.getPrinterJob();
				pj.setPrintable(new TestPrint());

				//	ダイアログを表示
				if (pj.printDialog()) 
    				{ 
    					//	印刷するとき
					try
					{
						pj.print();
					}
      					catch (Exception e2)
        					{
        						e2.printStackTrace();
	       				}
				}     
			}
		}

(上記< > ¥ は、本当は半角)



■参考にしたサイト

7.3 Printable での印刷
http://www.ueda.info.waseda.ac.jp/~yanagi/docs/ja/guide/2d/spec/j2d-print.fm3.html





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

JavaアプリでHTMLのフォームを表示、クライアント側で印刷やファイル保存する方法

2007-02-27 15:51:54 | JavaとWeb

 これ、いま考えているだけで(できるかどうか、確かめたりしてるけど)、まだちゃんとしたやり方ではないんだけど、一応、自分へのメモということでかいてみる。。




 HTMLのフォームを使って印刷するというのなら、最後、PDFで出して、それを印刷すればいい。こくーんを使って(こくーんの中にFOPがはいってるので)、XMLかいて、XSLでいろいろ指定して、XMLからPDFにするようにして、そいつをクライアントで受け取れば、後はそれを印刷するだけでOK。これでばっちり。

 でも、そーするとサーバー負荷が高いとか、結果に応じて、クライアント側で、印刷内容を変えたいとか、クライアント側でファイル保存したいとか言うと、できなくなってくる。

 そこで、Javaアプリで、HTMLのフォームを表示して、最後、クライアント側で印刷やファイル保存したいということがあるかもしんない。その方法を考える。




 この場合、Javaアプリで、JEditorPaneをつかって、HTMLを表示する。
 フォームにも対応している(がJavaScriptには対応していないので、フォームは、Submitを押してもらって次の画面にいくことになる。次の画面は、読み込まれて、JEditorPaneにはいってくる)

 そして、最後、いんさつするときに、
 「アプリの印刷ボタンを押してください」
 とか書いて、印刷内容をinputタグのタイプhiddenで埋め込んでおく(そうすると見えない)

 Javaアプリには、JEditorPaneの表示エリアのほか、印刷ボタンも、JButtonで作っておいて、そのボタンが押されると、JEditorPaneの表示エリアの内容をgetTextを使って取得するようにする(そうすると、送られてきたHTML全文が取得できる)

 そのあとで、そのHTMLのヘッダを見て、印刷するのでなければエラーメッセージを出し、印刷するのであれば、該当するHTMLの箇所(hiddenで埋め込んでおいたやつ)をもとに、Javaアプリで印刷したり、更新したりする・・・




 という方法がいい方法かどうかは分からないけど、
 なんとなくできそうだ。。(^^)


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

システム化する対象の業界知識は必要か?

2007-02-27 13:59:20 | 開発ネタ

 要求仕様書を作成する際、機能要件(=業務関係)の内容はヒアリングや帳票をもとに、作成することになっている。っていうことは、開発する業務に関して、知識がなくても、ヒアリングするからOKっていうことになってしまう。

 実際、たとえば、会計システムを作成するのに、まあ、簿記2級程度はとっている人がやるにしても、簿記1級、全経上級や公認会計士、税理士が設計するとは限らない(簿記2級と1級では、かなり違い、この間に壁があるといわれる。この壁を、TACは、うまく飛び越えるワザを教え、大原は、壁を叩き割る力をつけさせるという冗談があるほど)。
 介護システムを作るのにも、元ケースワーカーのSEがなるとは限らない(ただし、元ケースワーカーのSEが開発するケースは、実際あるようだ)し、ケースワーカーでも、国保連とのやり取りは知らない(システムにまかしている)。

 じゃあ、業務知識はいらないのか?という話。。




 はっきりいって、ウィリアムのいたずらは、一定レベル必要で、これによって、システムの出来がきまってしまうとすら思う。

 理由は以下の3つ。

・ヒアリングですべてのことを聞き出すことはできないし、正しいとも限らない
・そもそも、ユーザーがすべてのことを知っているわけではない
・システム化するとよくない方法をユーザーが利用している場合がある。

以下、ちょっと説明します。



■ヒアリングですべてのことを聞き出すことはできないし、正しいとも限らない

 これは、時間がないので、ヒアリングですべてのことを聞き出すことは出来ないということもあるけど、それ以上に。。

 上司が現場の実情を知らず、で、上司にヒアリングをかけてしまうと、正しい内容ではない。逆に、現場の人のヒアリングをかけると、全部を知っているわけでなく、テキトーにやっているところ(お互いの役割の境界など)は、抜け落ちてしまったりする。

 また、話し手が、当たり前のことと思うことは話してくれないこともある(でも、一般的ではないということも。。)

 なわけで、かりに時間があったとしても、すべてを聞き出せない。

 なので、業界的に、どーやっていて、どーいうシステムに落ち着くというのをしらないと、作れないこともある。




■そもそも、ユーザーがすべてのことを知っているわけではない

 たとえば、さっき、ケースワーカーという話が出たので、介護について。
 介護のシステムを作ろうとしたとき、介護保険の部分に関して、どーいうことをしましたよっていう情報を国保連っていうところに送らないといけない。そーしないと、保険部分のお金がもらえない。
 で、この送るインターフェースについて。。。

 ユーザーは、国保連のソフト、または手書き、ないしは、介護用のパッケージソフトをつかっているので、知っているわけはない。。。。

 こまってしまいます。いきづまってしまいます。。。

 ちなみに、上記のインターフェースは、ここ
介護保険システム情報
http://www.kokuho.or.jp/kaigosystem/index.htm

にあって、このほか、介護保険の単位数表とか、いろんな開発上の最新情報が、
国保のひろば http://www.kokuho.or.jp/
にのっているんだけど、こんなこと、ユーザーは知らない。

 常識として知らないと、そこで開発はとまってしまう
 (フォーマット、分かりませんから ^^;)
 それぞれの業界によって商慣行、伝票(統一伝票でも、業界で違う)があり、ある程度知らないと、開発上、とまってしまうこともある(ユーザーはやり方はわかるが、その規定はどこにあるのかまで知らないこともある。統一伝票と印刷屋に注文すればできてしまうので、業界ごとにいろんな統一伝票があって、それぞれ決まりがあるとまでは、しらないかも)





■システム化するとよくない方法をユーザーが利用している場合がある

 POSデータなどで、商品マスタを消さないとかあるそうだ。
 参照例外が起こってシステムが動かなくなるのを防ぐためだが、
 そんなことやってたら、パフォーマンス悪くなる。

 消さなきゃいけない(もちろん、参照冷害起こらないようにDBをちゃんとして)

 あと、特売商品を、別商品にしてしまうとか
 (こうすると、現場的にはやりやすいが、商品の集計上はこまる >_<!)

 そー言う場合、ある程度、商品マスタのコード体系や保守方法をしらないとこまる。
 コード体系は、取扱商品に関連するので、これは、業界知識がないと困る
 (たとえば、洋服関係のマスタの場合と、生鮮3品のマスタの作り方の違いとか)




 ってことで、ある程度の業界知識は必要かも。。



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