投稿

【vmware】Windows Server 2003 R2だと遅い

VMクライアントにWidows Server 2003 R2をインストールして試してましたが、コンソール画面で操作するとマウス操作が異様に遅い。 VMware Toolsを再インストールしても直らず、ただメモリが足らないだけかなと思っていましたが、クライアント側のハードウェアアクセラレータを最大にしたら直りました。

メモリ増設

この 続編でメモリを追加しました。 プラス2GBで計3GB。これでVMクライアントを複数起動しても快適なはず。 Windows Server 2008 RC1 を入れてみようと思ったけど、ダウンロードに24時間かかるという表示が・・・ ・・・っというか、VMware Server にWindows Server 2008ってインストールできるのかな?

【SQL Server】ストアドやユーザー定義関数で現在日付を取得

前は検索したらさくっと出てきたような気がしましたが、見つからないので拾い物ですが置いときます。 ストアドプロシージャやユーザー定義関数では、実行するごとに値の変わる関数は使えないのですが(例えばgetdateとか)、 それを別の方法で取得するやり方です。 ビューを使ってselect getdate()としといて、それを使う方法もありますが、こっちの方が汎用性がありそうなので参考に。 vbscriptを実行してその値を取得してるので、vbscriptでできることは全部できそう。あとWindowsのシェルにストアドからコマンドを投げる方法もあるので、やろうと思えばなんでもできる気がします。 ここ とかを参考に。 以下、ユーザー定義関数で現在日時を取得するサンプルです。これをそのままクエリアナライザで実行して、select dbo.func_GetDate()とすれば実行結果を見れます。 CREATE FUNCTION func_GetDate() RETURNS datetime AS /*************************************** FUNCTION : getdate()が関数内で使えないのでこっちで現在の日付を取得 RETURN    : datetime ***************************************/ BEGIN DECLARE @object int DECLARE @hr int DECLARE @ScriptText varchar(8000) DECLARE @temp varchar(100) DECLARE @return datetime --スクリプトエンジンのロード EXEC @hr = sp_OACreate 'MSScriptControl.ScriptControl', @object OUT IF @hr <> 0 BEGIN return '' END --失敗時 -- Languageプロパティ設定 EXEC @hr = sp_OASetProper...

ActiveMQを調査

ActiveMQ とはプログラム間で非同期で通信を行うための手助けをしてくれます。 詳しくは ここ ActiveMQを導入すると、送信側システムはActiveMQに対してやってほしいコマンドをただ送信するだけでよく、受信側システムはActiveMQにアクセスすれば順番どおりにコマンドを実行できます。 さらにコマンドを一塊で送受信できるので、システム間で連携するときに役に立ってくれそう。 この辺 にも書いてありますが、他のデータベースも使えるので汎用性はありそう。 Apache ActiveMQ PHPで試すときは ここ を参考に。 心配したのはセキュリティ。誰とも知らない人にメッセージを横取りされては困る。 JAAS認証 機能というのがあるらいいですが、プログラムからどう利用するのかはわからず。 別にコマンドぐらい知られてもいいかな・・・。 Aシステムが1、2、3、のメッセージを受け取ったらBシステムは4から?Bシステムも1からメッセージを受け取りたいときはできるのかな? Aシステムが1,2のメッセージを受け取って、Bシステムが3,4のメッセージを受け取った場合、Aシステムは3のメッセージを受け取ることはできる?Aシステムが3をくださいって要求だせばよいか・・・。ActiveMQ側では覚えてくれないかな? と試してみないと疑問はつきないですが、今日はここまで。

【Linux】HDD増設

イメージ
VMwareのホストになっているマシンを開発で酷使していましたが、 社長 の許可が下りて、ハードディスクとメモリの増設をすることにしました。 今日はハードディスクが届いたので増設してみました。以下メモ。 ここ を参考に。 ドライブをBIOSで認識していることを確認したら # dmesg | grep disk で増設したHDDの場所を確認。次はパーティション作成 # fdisk /dev/sdb コマンドを入力しないといけないが、 ここ とかを参考にしてmでhelpを表示させれば難しくない。 Vine Linux だと日本語で聞いてくれるからわかり易い。最初の増設であればn→p→1でOK。 /dev/sdb1とかができているはずなので、今度はフォーマット。/etc/fstabをみると今まではext3で作っていたので同じくext3で作成。 # mkfs -t ext3 /dev/sdb1 最後はmount。 # mkdir /mnt/sdb # mount /dev/sdb1 /mnt/sdb/ 無事マウントされたかはdfとかで確認。 あとはWindowsからアクセスするならsambaで共有してショートカット作ったり、シンボリック・リンク張ったりすれば便利に。 あと忘れてたけど次回起動時に自動マウントするためには/etc/fstabに記述。 LABEL=/               /               ext3      defaults        1 1 /dev/sdb1            /mnt/sdb  ext3...

Visual Studio 2005でOracleへの接続設定

イメージ
Oracle 9iの開発をしてますが、クライアントからOracleに接続するためにはOracle clientをインストールしないといけない。 Oracle 9iのCDに入ってますが、どうせなら最新のOracle Clientをインストールしたいと思い、探しましたが、Oracle Clientはデータベースを買うか別途購入しないと駄目みたい。 ただ単に接続するだけなら Oracle Instant Client (無償配布)でできるみたいですが、これは機能が制限されているので使いにくいらしい。 結局もともとVisual Studio 2005は使っていたので、これに Oracle Data Provider for .NET (ODP.NET) をインストールしてOracleのデータベースを参照することにしました。ODP.NETは無償配布。 ODP.NETについて詳しく知りたい人は ここ とかを参照。 ODP.NETをインストールしたあとOracleのデータベースを参照するやり方は、Visual Studioを立ち上げて ツール→データベースへの接続 を選択。データプロバイダで「Oracle Data Provider for .NET」を選択。 その後のダイアログ↓でデータ・ソース名には、tnsnames.oraに設定した名前をプルダウンから選択。tnsnames.oraはODP.NETをインストールしただけでは作成されないので、<ODP.NETをインストールしたフォルダ>\Network\Adminにサンプルを見ながらtnsnames.oraを設定。tnsnames.oraに記載してあればプルダウンで選ぶだけなので便利。 あとはユーザ名とパスワードを入力すればOK。 Visual Studioでクエリ書いたりできるので便利は便利。 ただ表領域を変更したりとかユーザ追加したりとかは(GUIで)できないみたいなので、そういうのは SI Object Browser の方が便利。

【SSL】[グローバルサイン] サイトシールのインストール方法

SSLを取得したらせっかくなのでサイトシールを表示させましょう。 インストール方法 SSL取得していればタグを埋め込むだけで使えるみたい。

【Windows】削除するときに時間がかかる場合の対処法

最近ファイルを削除するときに時間がかかるので、「なんで?」と思って検索してみました。 どうやらゴミ箱に貯まっているファイルのサイズが大きいと時間がかかってしまうらしい。ゴミ箱を空にしてみたら確かに速い。 ゴミ箱の最大サイズは少なめの方がよいみたい。

【xyzzy】【outline-tree2】PHP用マクロ

イメージ
PHPでの開発をするようになって、 outline-tree2 にクラスや関数の一覧を表示させたいのですが、デフォルトでは表示してくれません。 絶対どっかの誰かがマクロを公開してくれていると思って検索しましたが見つからず。しょうがないので自分で対応しました。javaの正規表現を参考に記述。 まずはoutline-tree2の機能でアウトライン自動生成の機能でファイルを生成。 アウトライン関数名:outline-php メニュー表示名:PHP アウトラインの説明:なし そうすると.outline-tree/autoload/cr-user-regexp-outline-php.lが生成されるので、それを以下に置き換え (require "outline-tree/outline-tree") (require "outline-tree/cr-regexp-internal") (in-package "outline-tree2") ;; PHP 解析 (defun outline-tree-create-outline-user-regexp-outline-php (root-node)   (outline-tree-create-outline-regexp-internal    :root-node root-node    :layer-regexp-list    '("^[ \t]*\\(function\\|class\\)[ \t]+\\([&_a-zA-Z]+(.*)\\|[_a-zA-Z]+\\).*[{\n]"      "^[ \t]*\\([^{\n()/]*?\\(public\\|private\\|function\\)[^{\n()]*?\\)\\([_a-zA-Z]+[\t]*(.*)[^(){}]*\\)[ \t]*{")    :layer-regexp-list-case-fold nil    :layer-regexp-list-order :non-miss)) (outline-tree-add-cr...

Google Documents API

Google ドキュメントをWebアプリから操作できたらおもしろいなぁと思い、公開されているGoogle Documents APIをダウンロードしてきて、サンプルを動かしてみました。 まだ眺めている途中ですが、いろいろメモ。 GoogleのAPI公開元 試してみた人のブログ Google Calendar APIの基礎