2014年10月14日火曜日

xfsフォーマットのファイル救出

社内で使ってるBuffalo製のNASが逝ってしまわれたのでデータ救出。

VirtualBoxにLinuxを入れてデータ抜こうと画策。

0.Linuxイメージ入手
  →knoppixを利用。http://www.risec.aist.go.jp/project/knoppix/より。
    デーモンツールズでマウント。マウントしたのみでは動かないので注意。

1.VirtualBoxインストール
  →ファイル入手は https://www.virtualbox.org/wiki/Download_Old_Builds_4_3 より。
   いきなりハマった。現在の最新Verである「4.3.16」を利用すると
   「COMコンポーネントオブジェクトの生成に失敗~」と表示され、動作せず。
   割と同じような事例が散見された為、参考にして「4.3.12」を導入して対処。
   USB外付け利用の為に「ExtensionsPack」も導入。

2.VirtualBox設定
  →仮想マシンの作成はGUIの「新規」から一直線。ホストドライブはマウントした仮想ドライブ
    を設定。
    ホストOS-ゲストOSとの共有フォルダ作成の為に「GuestAdditions」を要インストール。
    VirtualBoxの仮想マシン設定から「ストレージ」を選択し、以下のように
    プライマリ、セカンダリIDEを設定。プライマリはknoppix、セカンダリはGuestAddition。
    (GuestAddition.isoはデフォルトでC:\Program Files\Oracle\VirtualBoxに存在)
   


3.GuestAdditionインストール
  →VMを起動して、ファイルシステムを確認すると、「VBoxAddition」が追加されているので、
   そちらを「TerminalEmulator」から起動。(Autorunだと権限足りず、sudoで実行したい為)
   TerminalEmulatorを起動し、「sudo /media/sr1/autorun.sh」を実行。
   (パスは環境で勿論変わります)
   途中で「yes」と入力させられるが、あとはほっとけば勝手に入るのでしばし放置。

4.ファイル移動   
    ホスト側で共有用フォルダを作成(今回はC:\VB)。
    合わせて「デバイス」-共有フォルダーから共有フォルダ設定を実施。


   そちらを「sudo mount -t vboxsf vb /media/shared」にてマウント。
    (sharedはsudo mkdir /media/sharedにて事前作成)
   あとは、ドラッグ&ドロップでコピー開始。


ただし、ファイル移動がかなり遅い。(15Gを一時間程度)
NICの設定かなぁ。

とりあえずそんなとこ。

2014年9月25日木曜日

VS2012で画像処理


樹氷画像を見て綺麗だなーと思ったのがきっかけ。
木の画像を入力して冬景色っぽいのが出てきたら幸せです。





右が入力画像、左が出力。


以下やったこと。


・IDEはVS2012Express for windows desktopを利用。
 →NuGetを用いて画像処理用のライブラリ導入が非常にスムーズに行えた。
・ライブラリはOpenCVSharpを利用。作者様が日本人だし、ラッピングされてる関数が多いのが素敵。
・色空間はHSVのみを利用。30<h<80。最初はRGBとの論理和だったんだけど、なんだかんだこっちの方が分かりやすい。
・動画処理じゃないのでサボってget2Dとset2D利用。
・明るさの補正が必要だったのでVを係数として利用。


以下ハマったこと。

・最初CV.NETを使おうとしたものの、現時点で対応してるOpenCVのライブラリ群が2.4.8で、いくら探してもインストーラが見つからない為断念。(今の公式発表は2.4.9)
・OpenCVSharpの定数利用は、CVConst.~~。ちなみに色変換の定数はColorConversion.~~。
 Cで書いてたOpenCVと大分違って焦った。


以下やろうとしてること。

・精度上昇
 →入力画像が有る程度理想形なので綺麗に変換されてるが、暗めの緑が多いと難しい。
   (HSVの成分で拾えない)
・雪を降らす
 →こな~ゆき~的な。


Android用に最適化して、カメラと連動してみたい所。
沖縄の風景とかを冬景色に出来たら楽しいだろうなー


2014年3月5日水曜日

2014年 個人的ホットな技術

2014年突入してからちょっと経ってるけれども。

個人的に習得したい技術、知識メイン。


・Windows 8.1
 →遊ばなきゃなーと思いつつ放置してた。
  Win8で「見て見て!かっこいいでしょこのUI!これだけつかってりゃ安心だよ!」になって
  Win8.1で「ごめんやり過ぎた 前のUI残すわ」の流れには笑った。
  Winストアアプリ開発も並行して覚えたい部分ではある。
  とりあえずVM動かすところから始めようかな。でもVDAとやらが必要。うーん・・・


・Android Studio(http://developer.android.com/sdk/installing/studio.html)
 →登場自体は去年の夏?だろうか、Eclipseに代わる可能性を秘めたAndroid統合開発環境。
  覚えることは多いけど、コード補完、コード整形など使いこなせたら楽できそうな機能が大量。


・AWS
 →これだけクラウドクラウド叫ばれてるけど「なんとなく」の理解に留まる企業も多い気がする。
  いや自分も多々あるんだけど。
  ストレージ部のみのソリューション、ミドルウェア・OSも含めたソリューション、はたまた
  インフラまでも含めた略。
  とりあえず個人サービス契約した上で使ってみてだろうか。自宅サーバは電気代がね・・・


・IEEE802.11ac
 →次世代無線規格。5Ghz帯なので医療系ソリューションにも使用できる。
  もちろん家でも。ちなみに36-64chは法律違反☆
  理論値でGを超える凄まじい規格。
  今のとこ一般家庭向けルータの価格は大まかに1万前後を推移してる感じかな。


※その他(知っ得系)

・SSD
 →Solid State Drive。もう一部では大分普及しております。OS載ったシステムドライブをこれに
  換装しとくのはもはや前提?

・BitCoin
 →短期で自然消滅するのかなーと思ったけど割と最近ホットになってきましたね。
  国内取引に対する課税の動きとか。
  中国ロシアはブラックマネーで一番使われそうなのに真っ先に国が取引禁止したってのも
  面白い。


書き殴り失敬。
技術のトレンドって追うのは簡単だけど本当の需要と供給を見極めるのは難しいね。
エンジニアの市場価値と探究心は必ずしもリンクしないし。

2013年11月15日金曜日

SQL メモリ内のページロック指定

SQL Serverにて。
プロセス「sqlserver.exe」がメモリを食いまくる現象に悩まされております。
で、以下サイトを参考に設定を入れ込んだんですが、
(主に2のメモリ内のページロック設定)


参考:「DB管理者がいますぐ確認すべき3つの設定」
http://www.atmarkit.co.jp/ait/articles/1009/06/news093.html


・gpedit.msc起動
 →コンピュータの構成
  →Windowsの設定
   →セキュリティの設定
    →ローカルポリシー
     →ユーザ権利の割り当て
      →メモリ内のページロック


サーバによって効果があったりなかったり。
何だろう?と思いきやSQLの製品Verで違いがあると。

・無条件でOK
 2008 EnterpriseEdition
 2008 DeveloperEdition


・設定次第でOK
 2008 StandardEdition (64bit)
  →R2は不明?
 2005 StandardEdition(64bit)


で、その設定というのが


スタート
 →プログラム
  →Microsoft SQL Server 2008
   →構成ツール
    →SQL Server構成マネージャ
     →SQLServerのサービス
      →SQL Serverを右クリック、プロパティ
       →詳細設定の起動時のパラメータに「-T(大文字)845」を追加


設定適用後の確認としては、SQLServerのエラーログに「Using locked pages for buffer pool」と
メッセージが吐かれるっぽい。


ふむー

2013年8月7日水曜日

USB2.0と3.0の転送速度

記事にするほどのことでもないレベルのメモです。

めもめも。


動作環境

Win7 Pro SP1
メモリ 4G
CPU Core i5 2.6Ghz

2.0・・・BUFFALO  HD-PV500U2-BK 500GB
3.0・・・Transchend TS1TSJ25M3 1TB

※CrystalDiskMark使用。



左が2.0、右が3.0。
2.0は使用中で、3.0は卸したてだから条件にだいぶ差がある。
ごめんよ2.0・・・

5倍・・・とまではいかないけどかなりの速度差。
ランダムアクセスもだいぶ変わってくるのね。


2013年8月5日月曜日

ZOHOを使ってみた。

ドキュメント管理するのに、社内イントラネットだといろいろ支障を感じるので、
この際中小企業向けクラウドサービスを試用してみることにした。

ニーズと合ってそうなZOHO(https://accounts.zoho.com/u/h#home)を選択。

とりあえずログイン画面のすぐ下にある「G」アイコンからGoogleアカウントでログイン。
サービスメニュー内のドキュメントからドキュメント管理画面へ。

左上の作成ボタンで任意のフォルダを選択し、アップロードボタンで任意のファイルをアップロードと。
ふむふむ、シンプルなインターフェース。

で、他ユーザの招待方法は、トップ画面に戻ってグループから招待。
グループを一つも作っていない場合は、「新しいグループを作る」から作成後に招待。

グループ作成後は、ファイル管理画面に戻り、アップロードしたファイルを選択し、共有。
で、作成したグループを呼び出せば、共有完了。

ふむー。
ファイルコピー、編集周りの使いやすさが気になるところ。
後はバージョン管理できればステキかな。

2013年5月4日土曜日

Context達。

androidには様々なところで出てくるけど、よく悩まされる存在。

API叩くときに渡すContextは、

・getApplicationContext
・getActivityContext
・this

が使われる。

ActivityContextとthisは同義、Activity毎に存在。
割と良く破棄(解放)される。

ApplicationContextはアプリケーション固有の値。
基本はstatic。

Activity内で渡すなら基本は前者を使って、
どうしても静的に保持したいなら後者かな。


で、そもそもContextって何さ!
→アプリケーションのパーミッション、リソース情報にアクセスするためのインターフェース。

(参照:http://yuki312.blogspot.jp/2012/02/thisgetapplicationcontextactivityapplic.html)


うーん、なんだかわかったようなわからんような・・・

今回はとあるAPIを呼ぶ際にgetApplicationContextを使うとnullpoが返ってきて落ちるので、
どうしたもんかと思っていたが、ActivityのOnCreateに処理移動したら普通に動いた。

Bandleわたってこないとダメなのかなぁ?
不明。