2013年9月29日日曜日

Amazon Web Serviceのお祭り JAWS Festa Kansaiに行ってきた

9月28(土) 京セラドーム@大阪で行われたJAWS Festaへ行ってきました。
ブログを書くまでがJAWS Festaです
…って、説明会の資料に書いてあったので、ブログ書いときます(笑)

会場は、京セラドームの「通路」でした。なんの間仕切もなく、通路にスクリーンと椅子がならんで降りました。
会場の様子はこんな感じでした

タイムテーブルですが、非常に盛りだくさん。どれをチョイスするのか最後の最後まで悩みましたよ。
こちらがタイムテーブル

…で、チョイスしたのが、以下の3つです。

  • CDP道場「入門編」
  • CDP道場「中級編」
  • スペシャルパネルディスカッション AWS、cloudpack、Microsoftt、SAP。各社の最強エバンジェAリスト集結!異論!激論!エバンジェリストからみたIT・クラウドの実態と歴史、そして未来へ
1.CDP道場入門編 & CDP道場中級編
CDPは、Cloud Design Patternの略です。色々なサービスを構築するときの定石をまとめたものみたいです。
CDPの説明はこちらで。

今回は、道場ということで、あらかじめ準備されたストーリに合わせて、CDPを適用して、サイトを構築していくハンズオンをしました。
AWSのサービスを眺めていても、未経験な人にはわかりづらいので、ハンズオンというのはすごく良かったです。AWSの勉強をしたい方は、こういったハンズオンのイベントを探して行くってのは、かなりいい体験だと思います。そんなに都合良く開催されるものなのかは分かりませんが。

ちなみに入門編では、S3をWebサイトにして、Cloud Frontで高速にコンテンツを配信するやり方をやりました。使ったパターンは、以下の2つです。

  • Direct Hostingパターン
  • Cache Distributionパターン
中級編では、WordPressサイトを最小構成で立ち上げ→サーバをスケールアップ→サーバを増設→データーベースを複製するという流れ。使ったパターンは、以下の3つです。
  • Scale  Upパターン
  • Clone  Serverパターン
  • Read  Replicaパターン

実際には、Read  Replicaパターンには辿り着きませんでしたけどね。

3.スペシャルパネルディスカッション
パネルディスカッションは、Amazon, Microsoft, SAP, 電通国際情報サービス, Cloudpackからエバンジェリストが参戦して行われました。今までクラウドを育てて来られた方々のトークは、聴き応えがありました。印象に残ったのは、Microsoftの西脇さんの洗練された話ぶりですかね。あと、SAPの常盤木さんのモデレータも良かったです。あれだけのメンバーをキレイにまとめて、時間ぴったりで終えるとか…素晴らしいです。

録画はこちら










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は使えませぬ(涙)。