2015年2月28日土曜日

自動リロード機能をつけてみた

 グループウエアに自動リロード機能をつけて欲しいという要望があったので、いろいろ考えてみた。ただ単に、一定時間毎にリロードするにはHTMLでもMETAを使って可能だが、入力途中で、リロードされても困るので、入力画面中は、リロードしないようにする必要がある。
 調べてみたが、意外とそういう機能を考えた例はみつからない。実際は、自分でときどき更新ボタンを押す習慣さえあればいいのだから、それほど必要な機能でないのかもしれない。
 javascriptを使うのが適切と思った。
var tid=null;
tid=setTimeout("location.reload()",1000*60*60);
という記述でOKのようだ。
clearTimeout(tid);
で、リロード停止ができる。
それぞれ、開始と停止の関数をつくって、必要な箇所に置くことで、解決した。
*******************
追記:
 今使っているグループウエアでは、リスト画面の中で、入力ウインドウをjqueryで表示するようにしているので、上記のようにややこしいことになってしまったようだ。
 Jqueryなど使わず、リスト画面(閲覧のみの画面)から入力画面へ移る場合は、リスト画面だけをリロード設定するだけで済むことになる。だから、上記の問題はあまり起きないということのようだ。

2015年2月27日金曜日

ネットバンクの危険性

 このところ、ネットバンクでの不正送金が問題になっているようだ。ワンタイムパスワードが安全と思っていたが、ソフトというのは、どのようにでも機能を拡張できるわけだから、結局、それも完全な対策とはなっていないようだ。
 Vmwareなどの仮想OSから使うというのはどうかと思ったが、これだって、画面を盗み見されたり、キーロガーを使われてしまえば危険性はあるわけだし、結局は、根本的な対策としては、送金はしないということにつきるのかもしれない。するとしたら、口座には限られた金額しか入れておかないとか、いうのが一番の防衛策のようだ。

2015年2月21日土曜日

USB3.0 延長ケーブルは使えない?

 SSDの容量が足りなくなったので、別のSSDに代えた。余ったSSDを、HDDケース(SSDもOK)に入れて使うことにした。USB3.0対応と言うことなので延長USBコードでつないだが、どうも不安定である。
 試しに、USB2.0につなぐとOKだった。どうやら延長ケーブルは無理らしい。そういえば、以前、ポータブルBDも、付属の短いのでないとだめだったので、なんでもいいわけではないようだ。
 ネットを見ると、USB3.0アクティブリピーターケーブルがあり、5Gbps転送可能とある。こういうケーブル(けっこう高い)でないだめということのようだ。

2015年2月8日日曜日

JSPでPDF出力

JSPで、印刷をきれいに行いたいときはPDF出力が便利だ.itextというライブラリが使える。
いくつか、注意点があるようだ。
・%>と<%の間に、文字が入るとだめなようだ。
・全角表示のためには、Font font=new Font( BaseFont.createFont( "HeiseiKakuGo-W5", "UniJIS-UCS2-H", BaseFont.NOT_EMBEDDED ),40 );といったfontの用意が必要。
・UTF-8を扱うための文字コード処理は、よくわからなかったが、以下のようにしたら、うまくいったようだ。 POSTで受け取ったnaiyoというデータを処理している。

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%><%@ page import="java.net.*,java.io.*, com.itextpdf.text.Document,com.itextpdf.text.DocumentException,com.itextpdf.text.Font,com.itextpdf.text.PageSize, com.itextpdf.text.Paragraph,com.itextpdf.text.pdf.BaseFont,com.itextpdf.text.pdf.PdfWriter"%><%

response.setContentType( "application/pdf" );

Font font=new Font( BaseFont.createFont( "HeiseiKakuGo-W5", "UniJIS-UCS2-H", BaseFont.NOT_EMBEDDED ),40 );

Document document = new Document();
ByteArrayOutputStream buffer = new ByteArrayOutputStream();
PdfWriter.getInstance( document, buffer );
document.open();

request.setCharacterEncoding("UTF-8");
String naiyo=new String(request.getParameter("naiyo").getBytes("UTF-8"),"UTF-8");

Paragraph preface = new Paragraph();
preface.add( new Paragraph(naiyo, font));
document.add(preface);
document.close();

DataOutput output = new DataOutputStream( response.getOutputStream() );
byte[] bytes = buffer.toByteArray();
response.setContentLength(bytes.length);
for( int i = 0; i < bytes.length; i++ ) { output.writeByte( bytes[i] ); }
%>

以下のリンクを参照させていただきました。
http://atmarkplant-dj.blogspot.jp/2012/04/java-pdf-itext2.html
http://okwave.jp/qa/q7682351.html