2013年7月11日木曜日

Windows2012のディスク重複除去を使ってみた。

最近、PCの中には、拡張子VHDで幅を利かせて、善良なファイルが肩身の狭い思いをしている。
ここ1年くらい、ディスクを使っては、空けてを繰り返して、もうさすがに疲れたよ。
先日、使っているOSをWin2008からWin2012へアップグレードしたことだし、
「データ重複除去」を使ってみました。














まあ、これは極端な例かもしれませんが、約1TB戻ってきました。
データ重複除去を有効にしても、あまり、重くなった印象はないですし、
今のところ不都合もありません。
Windows2012、素敵ですね。

2013年6月18日火曜日

PDFファイルにパスワードを設定したり、暗号化したりしてみる。

既に存在しているpdfファイルにパスワードをかけたい。暗号化をしたい。
そんなことを自作のプログラムからやりたいよ。と考えた。

軽くググって、iTextの存在を知る。JavaやC#で作られたライブラリのようです。
早速、ダウンロード。

ダウンロードしたファイルの中には、たくさんのZIPファイルがありました。
とりあえず、dll-coreのみ解凍します。

今回は、Visual Studio 2008 から使ってみました。
書いたコードは、こちらになります(いろいろ端折ってますけどね)。

 //  まずはpdfを読み込み
  iTextSharp.text.pdf.PdfReader pr =
    new iTextSharp.text.pdf.PdfReader(@"c:\work\doc.pdf");
  //  pdf のドキュメントを生成
  iTextSharp.text.Document doc =
    new iTextSharp.text.Document(pr.GetPageSize(1));
  // pdfのライターを作成・オープンし、セキュリティの設定をします。
  iTextSharp.text.pdf.PdfWriter pw =
    iTextSharp.text.pdf.PdfWriter.GetInstance(
      doc, new System.IO.FileStream(
        @"c:\\work\doc.enc.pdf",
        FileMode.OpenOrCreate));
    pw.Open();
    pw.SetEncryption(iTextSharp.text.pdf.PdfWriter.STRENGTH128BITS,
      "readpass",
      "writepass",
      iTextSharp.text.pdf.PdfWriter.ALLOW_COPY |
      iTextSharp.text.pdf.PdfWriter.ALLOW_PRINTING);
    doc.Open();
    iTextSharp.text.pdf.PdfContentByte pcb = pw.DirectContent;
    for (int i = 1; i < pr.NumberOfPages; i++)
    {
      doc.NewPage();
      iTextSharp.text.pdf.PdfImportedPage pip = pw.GetImportedPage(pr, i);
      pcb.AddTemplate(pip, 0, 0);
    }
     (後片付けも必要ですよ)
意外とお手軽に出来ました。iText使えば、それなりにpdfファイルをいじって楽しめそうです。
ちなみにiTextフリー版のライセンスは、AGPLv3です。

本内容は、以下のページを参考にさせていただきました。
http://niyodiary.cocolog-nifty.com/blog/2009/01/aspnetpdf-f0f5.html

2013年5月16日木曜日

amazon Glacierを使ってみてる

amazonさんのGlacierというサービス。\1/GBで、「アーカイブの平均年間耐久性が 99.999999999% 
となるように設計されています」というアーカイブサービスです。

Webサイトに説明は書いてあるけど、読んでみてもなかなかどんなものかわかりません。

http://aws.amazon.com/jp/glacier/

そんな訳で、以下のサイトを参考にしながら、作ってみました。
http://blog.serverworks.co.jp/tech/2012/08/29/aws_glacier/

Valutと言うものを作ったが、これは「保管庫」みたいな意味らしい。

続けて、SNSの通知設定をする。Glacierのサービスは、ポンポンとレスポンスを返してくれる
ものではないらしい。
通知設定をしておけば、処理が終わったタイミングで投稿してくれるようです。

ファイルをアップロードするには、APIを使ってプログラムを書かないとダメっぽい。
これは、面倒だ。

そこで、Google先生に聞いてみたところ、FastGlacierなるフリーソフトを発見(商用は有償)。

http://www.tdn.co.jp/techblog/201208/72/

上のサイトを参考に100MBほどのファイルをアップロードしてみました。
Free版では、2セッション利用してアップロードしてくれました。
1セッションの転送速度が、1.6MB/s程度出てました。約30秒でアップロードが完了です。

Fast Glacierを見るとファイルが更新されているのですが、AWS Console で見ると
「Not updated yet」になっています・・・と思ったら、2時間後にちゃんと情報が表示
されていました。




今回かかった費用は、AWSの「アカウントアクティビティ」で確認できます。
気になっていたリクエスト数は「6」で、費用は2円程度でございました。

2013年3月14日木曜日

パソコンの法人向けモデルと個人向けモデルの違い

パソコンには、法人向けモデルと個人向けモデルがあったりします。
この二つには、どんな違いがあるかは、ほとんどの人がよくわからないんじゃないかと思います。
まあ、わたしも知らなかったので、ちょっと調べてみました。
HPのエントリモデルで比較しました。

まずは、主要スペックの比較からです。括弧で記載したものが、個人モデル。通常表記が法人向けモデルです。

価格:¥49,560(¥49,980)
CPU:Core i5-3210(Core i5-3337U)
メモリ:2GB(4GB)
HDD:320GB(500GB)
無線LAN:なし(あり)

同価格帯での比較ですが、個人向けは、良く見られがちなメモリやHDDが多くなっています。
CPUは、Corei5と言うところだけ合わせてるようです。やはり、一般受けをねらったようです。

次は、地味なスペックを比較してみました。

モニタ:15.6インチワイド(15.6インチ光沢)
バッテリ:6セル(4セル)
駆動時間:6時間(5時間)
Webカメラ:なし(あり)

個人向けは、CPUが低電圧にも関わらず、バッテリ駆動時間が少ないですね。
また、モニタも見栄えはするけど、長時間使用には向かない光沢モデルです。
長時間使うビジネスでは、法人モデルの方が向いています。
この他、ビジネスモデルだとピークシフトするソフトも付属したりしてます。

この他にも、法人向けモデルだと、以下のメリットがあります。
・OSでダウングレード版が選択出来ます。個人向けモデルだとWindows8のみとなります。
・保守が最大5年オンサイトまで選択出来出来ます。また、オンサイト保守も選択出来、休日対応も選べます。個人向けモデルだと、最高でも3年間引き取り保守となります。

色々と考えれば、仕事で使うのであれば、法人向けモデルの方がオススメと言えると思います。
あくまでも、今回比較したモデルに限ってですけどね。

2013年3月6日水曜日

Oracle SEQUENCEがエクスポート出来ないの

Oralceデータベースを他の端末へ、頻繁に移行が必要なプログラムを作っている。。
今回の要件では、データベースを一括ではエクスポートが出来ないのだが、そうなると、SEQUENCEがエクスポート出来なくなる。

そこで、回避策を考えてみた。

1.まず、SEQUENCEを適当なテーブルに放り込む。
create table seq_move as select sequence_name, last_number from user_sequences where sequence_name = 'シーケンス名'';
2.1で作ったテーブルも一緒にエクスポートする。
3.別のPCで、テーブルをインポートする。
4.インポートした先で、SQLを実行して、テーブルからSEQUENCEを作成する。

declare
lastnum number;
vsql varchar2(512);
begin
select last_number into lastnum from seq_move;
vsql := 'create sequence シーケンス名 start with ' || lastnum || ' CACHE 100' ;
execute immediate vsql;
end;

とりあえず、無事移行が出来ました。
CACHEした番号は、あっさりと捨てることにしています。



2013年3月5日火曜日

.NETプログラムからZIP圧縮するとき

今まで、.NETプログラムからZIPを作ろう!と思い立ったときは、数年来、7-ZIPさんのお世話になってきました。今やっているお仕事でも同じように7-ZIPを使っているのですが…。


「ついに解禁!.NETでZIP制御」
…なるWeb記事を発見。

http://blogs.msdn.com/b/japan_platform_sdkwindows_sdk_support_team_blog/archive/2012/03/27/net-zip.aspx

なるほど~。これからは、こっちを使おう!
…と思っているのですが、今やっているお仕事は、システム改造なので、.NET Framework4.5は使えませぬ(涙)。


2013年3月4日月曜日

いまさらながら、VSSからTFSへ移行してみる。

1997年から続いているプロジェクトがある。
長らく、Visual Source Safe(VSS)でソース管理をしていたが、時代にあわせてTeam Foundation Server(TFS)へ移行するにした。
今回の構成は、以下のとおり。

・以降元VSSのバージョン
 Visual Soruce Safe 2005
・移行先TFSのバージョン
 Team Foundation Server 2012
・ターゲットの開発環境
 Visual Studio 2008

Visual Studio 2008と言うところが、古風な感じ。
面倒くさそうかと思っていたけど、VSS Upgrade Wizardをダウンロードしてきて、試すとすんなりと移行出来ました。出来たんですが、これまでの変更履歴がサックリとなくなりました。
これなら、無理して移行する必要もないわ。

なんとなく、しっくりとこない感じですね。