タグ

ブックマーク / seraphy.hatenablog.com (13)

  • Visual Studio 2013 Expressで標準サポートされるテンプレートエンジン(T4)の活用方法 - seraphyの日記

    コードジェネレータの有用性とT4 業務系のアプリケーションを作成していると、多かれ少なかれデータモデルのようなものをソースコード上のエンティティクラスとして表すために似たようなコードをたくさん書かなければならないことがある。 もちろん手で地道に書くなんてことはなくて、このようなものはコードジェネレータで機械的に生成させるのが良い。 だいたいデータモデルは開発中にどんどん変わってゆくのでエンティティクラスも都度変更してゆく必要があるからだ。 自動化しておけば何度でも生成できるし、コードの修正漏れなんてこともありえない。 これは良くあるシチュエーションなので、もう過去に何度も何度も何度もジェネレータを作成してきた。 ところが昨年達人出版会で興味をそそられたを買ってきたところ、 「メタプログラミング.NET」 http://tatsu-zine.com/books/metaprogrammin

    Visual Studio 2013 Expressで標準サポートされるテンプレートエンジン(T4)の活用方法 - seraphyの日記
  • 自作Javaアプリにサンドボックスで動くアドインの仕組みを作る方法 - seraphyの日記

    概要 「Javaアプリケーション内から信頼できないかもしれないアドインコードをサンドボックスで実行するための方法」について、簡単なサンプルコードとともに、まとめてみたいと思う。 ※ 信頼できないかもしれない、という意味は後述。*1 セキュリティマネージャとポリシーの有効化 SecurityManagerの有効化 まず、Javaアプリケーションは、何も設定していない場合はセキュリティチェックは全く行わないため、どのような操作でも全て許可されている状態と同じとなる。 セキュリティチェックを有効にするには、 // セキュリティマネージャを有効にする. System.setSecurityManager(new SecurityManager()); とすれば良い。 このようにすると、ファイルの作成などの権限チェックすべき各種タイミングでセキュリティチェックが行われるようになる。 ※ 設定した瞬間

    自作Javaアプリにサンドボックスで動くアドインの仕組みを作る方法 - seraphyの日記
    craf
    craf 2013/12/28
  • 少し古いノートPCにWindows8を入れたらCPUが本気を出してくれなくなったときの対応方法 - seraphyの日記

    要約 少し古いノートPCWindows8を入れたら激遅になってしまった場合、 まず、タスクマネージャかパフォーマンスモニタで現在のCPUの速度を確認する Windows Vista/7/2008/8などの最近のOSはCPUの省電力機能に対応してクロック数を可変できるようにしている。 Windows8の場合はタスクマネージャからCPU速度を確認できる。 Windows7/2008r2はパフォーマンスモニタから確認できる。 XPを含むWindows8,2008,7でもcpu-zなどの定番アプリでも確認できる。 CPUの速度が、なにをやっても最大速度の60%とか30%しか出ていなければ、Core2などCPUによるEIST(SppedStep)やCoQのクロック制御が効きすぎている。 その場合は、 まず、BIOSが最新であることを確認する 最新でなかったら最新にする。(EISTの機能はCPU x

    少し古いノートPCにWindows8を入れたらCPUが本気を出してくれなくなったときの対応方法 - seraphyの日記
  • MacのVMWare Fusion4で物理ディスクを使う方法 - seraphyの日記

    目的 VMWare Fusion 4では、仮想マシンに仮想ディスクvmdkを追加するとき、物理ディスクやパーティションを指定するオプションがない。 しかし、VMWare Fusionのウリの一つである、Boot Campパーティションからの仮想マシンの起動などの機能をみると、Fusion自身は物理ディスクを使う機能がサポートされていることが想像できる。 そして、調べたところ、どうやらコマンドラインからならば、vmdkを物理ディスクとして使うことができるらしい、ことが分かった。 近日中に、パーティションを切り直す予定であるため、ついでにVMWare Fusionで確保したパーティションを物理ディスクとして使用できるかためしてみたところ、どうやら、うまくいったぽいので備忘録として残すこととする。 準備するもの コマンドの在処 VMWare Fusion 4には、「/Applications/V

    MacのVMWare Fusion4で物理ディスクを使う方法 - seraphyの日記
    craf
    craf 2012/08/18
  • 設定ファイル等の読み書きにXML形式を使う3つの方法(簡単なもの順) - seraphyの日記

    java.util.Propertiesを使う J2SE5以降のjava.util.Propertiesは、XMLファイル形式をサポートしている。 日語などを使う場合も、昔ながらの native2ascii のお世話になる手間がなく、 デコードし直さなくても、ちゃんと人間が読める文字なので修正もらくちんだし、 改行を含む長い文字列だって、末尾の空白に神経質にならずとも簡単に扱える。 今となっては、*.propertiesファイルは過去のデータを引き継ぐ場合以外に有用性はないと思う。 XMLPropertiesTest.java import java.io.IOException; import java.util.Properties; public class XMLPropertiesTest { public static void main(String[] args) thr

    設定ファイル等の読み書きにXML形式を使う3つの方法(簡単なもの順) - seraphyの日記
    craf
    craf 2012/06/15
  • ファイルの変更を監視する方法 - seraphyの日記

    Win32 APIにはファイルの変更を監視する方法として、少なくとも2つの方法がある。 私は従来よりファイル監視のためのAPIとして、FindFirstChangeNotification関数を愛用している。 だが、WindowsNT系のUNICODEビルドであれば使えるというReadDirectoryChangeW関数によるファイル監視を使うことにより、パフォーマンスの改善が望めそうに思えたため、これを用いた場合には、どのような実装方法となるのか確かめたく実験してみることとした。 FindFirstChangeNotification APIを使ってファイルを監視する方法 Win32でファイルの変更通知を行うものとしては、Windows95時代から使える方法として、FindFirstChangeNotification関数があげられる。 このAPIは、指定したディレクトリまたは、その配下

    ファイルの変更を監視する方法 - seraphyの日記
  • 「違法ダウンロード罰則化」 - 児童ポルノ法が私に及ぼした実害と、今後増えると予想される家宅捜索 - seraphyの日記

    今回の日記について 大変亀レス的、且つ、私的な話題でネットで晒すのも恐縮なのですが、コンピュータに関係しなくもない経験をしたので、なにかの役に立つかもしれないので日記として残しておきます。 事故や犯罪被害をうけた人は、「まさか自分が、こんな目に遭うとは思っていなかった」と皆、そう言うそうです。 私も、こんなことが自分の身に起こるとは思っていませんでした。 しかし、誰にでも起き得ることであり、だから記録として残す価値はあると思いました。 事件の内容 今年の二月、早朝の6時から警察に叩き起こされて、3人がかりで四畳半のアパートの家宅捜索を受けました。 はじめ自分の身に何が起こったのか、まったく分かりませんでした。 2月の初旬でしたが、4月リリースにむけて仕事の忙しい時期だったので、そんなに寝てない状況でした。 まだ寝不足な朝っぱらから、尋常ではなく激しくチャイムが鳴らされるので何事かとドキドキ

    「違法ダウンロード罰則化」 - 児童ポルノ法が私に及ぼした実害と、今後増えると予想される家宅捜索 - seraphyの日記
    craf
    craf 2012/05/23
  • JAVAで透過画像(透過PNG)をクリップボードに格納する方法(Windows編) - seraphyの日記

    Windows上のJAVA実行環境で、透過でない画像をクリップボードに設定するのは簡単である。 単に、Transferableを実装したクラスでBufferedImageなど、java.awt.Image派生オブジェクトを返せば、それだけでOKである。 たとえば、こんな感じに。 /** * クリップボードに現在の画像をコピーする.<br> */ protected void onCopy() { Toolkit tk = Toolkit.getDefaultToolkit(); final BufferedImage image = imagePanel.getImage(); if (image == null) { tk.beep(); return; } Clipboard cb = tk.getSystemClipboard(); cb.setContents(new Transf

    JAVAで透過画像(透過PNG)をクリップボードに格納する方法(Windows編) - seraphyの日記
  • Firefox3.6にしたらVMWareServer2.0.1のRemoteConsoleが開かないのでVMware Infrastructure Clientにしてみた。 - seraphyの日記

    動機 タイトルのとおり。 Firefox3.6にアップグレードすることにより、ほとんどのプラグインは継続して使えていたのだが、VMWare Server 2.0.1のリモートコンソールだけは開かなくなっている。 びっくりして、あわてて3.5に戻してから、調べてみた。 ネットで調べると、代案が2つあるようだ。 IEを使う VMware Infrastructure Clientを使う IEで使うというのは、もっともなことである。 が、(私の場合)VistaのIEから「VMWare Infrastructure Web Access」を使うと時々へんな挙動になるので、わざわざFirefoxで起動するようにショートカットを修正しているので、IEに戻るのは避けたい。 (Windows7のIE8ではどうなのかは試してないのでわからないのだが、少なくともVistaのIE7は使えるが長時間開いているとI

    Firefox3.6にしたらVMWareServer2.0.1のRemoteConsoleが開かないのでVMware Infrastructure Clientにしてみた。 - seraphyの日記
  • iTunes for Windowsの重複トラックにマークをつける方法 - seraphyの日記

    約10年間の愚痴 Windows 2000の頃からWindows Media Playerのみを愛好してきて、WMA形式こそがもっとも優れたフォーマットだと勘違い(?)していた私も、Media Player 11(on Vista)のあまりのできの悪さに、ついにiTunesの軍門に下ることにした。 以下、Windows Media Player 11の愚痴。 プレイリストが消えるのは日常茶飯事。(もう諦めた。) ライブラリに登録していたはずのトラックがいつのまにかリンク切れになっていたり、そもそも亡かったことになっていたり。(前々からそうなんだけど、そのたびにスキャンし直せばいいんなんて思っていたけれど、Vistaになってからは、これがひどい。ひどいってもんじゃない。ひどすぎる。) 最近はMedia Playerを立ち上げるだけで1CPU占有するようになってしまったし。(なにがきっかけかは

    iTunes for Windowsの重複トラックにマークをつける方法 - seraphyの日記
  • vmwareでScanSnapを使う方法 - seraphyの日記

    ScanSnap S510は64ビット版Windowsでは動作しない。*1 どうしてだか知らないが、ScanSnap S510のWindows版ドライバは64ビットでは動かない。 こうゆう場合のためにVirtual PCがあるのだと思うが、今度はVirtual PC 2007はUSBが使えない。 (※ 2010/11追記 PFUのサポートページで申し込めばWindows7 64ビット版のScanSnap Manager等のダウンロード先URLをメールで送付してもらえるようになっている。待った甲斐ありました。勿論、試してみましたが、問題なく、Windows7で快調に動作しております。) VMWareならUSBが使える。 VMWare Playerなら、USBが使える。 だが、設定をしないとUSB2.0モードでは動かない。 この状態でWindows XP 32ビット版を入れてScanSnap

    vmwareでScanSnapを使う方法 - seraphyの日記
  • CentOS 5.2にWindowsからリモートデスクトップ - seraphyの日記

    XDMCPの設定でリモートを許可。 ファイアウォールの設定で、ポート177(UDP)を許可。 Xming.exeとフォントをインストール。(CygwinのXwin.exeでも可。) http://www.straightrunning.com/XmingNotes/ ※[重要] 2008/10/16追記: Xming-20060328-setup.exeが必要である。これでインストールされるxkbフォルダを保存したのち、 Xming-6-9-0-31-setup.exeをインストールし、保存したxkbフォルダを復元する。こうしないと制御キーが打てないことになったりする。 情報源: http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=41011&forum=10&2 Xサーバを立ち上げてみる。 Xming.exe :0 -query

    CentOS 5.2にWindowsからリモートデスクトップ - seraphyの日記
  • ActiveScriptHostのスクリプトに渡すIDispatchの作り方(レジストリなし) - seraphyの日記

    ActiveScriptHostのスクリプトに渡すIDispatchの作り方のメモ。 スクリプトはオートメーション型でのみ動作するので、IDispatchを実装したオブジェクトを渡す必要がある。 DUALインタフェースを手作業で作るのは煩雑すぎるが、ATLのウィザードを使うと余計なものまで作られてかえって面倒である。 ここでは、IDLを使ってDUALインタフェースを定義し、あとは手作業で実装する。 // ファイル名: AXScriptTest1.idl import "oaidl.idl"; import "ocidl.idl"; [ object, uuid(E3CD01CE-DA29-41ce-8C92-E65DDED662A7), dual, pointer_default(unique) ] interface ISayHello : IDispatch { [id(1)] HRE

    ActiveScriptHostのスクリプトに渡すIDispatchの作り方(レジストリなし) - seraphyの日記
  • 1