投稿

2月, 2008の投稿を表示しています

【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_OASetProperty @object, 'Language&#…

ActiveMQを調査

ActiveMQとはプログラム間で非同期で通信を行うための手助けをしてくれます。詳しくはここActiveMQを導入すると、送信側システムはActiveMQに対してやってほしいコマンドをただ送信するだけでよく、受信側システムはActiveMQにアクセスすれば順番どおりにコマンドを実行できます。さらにコマンドを一塊で送受信できるので、システム間で連携するときに役に立ってくれそう。この辺にも書いてありますが、他のデータベースも使えるので汎用性はありそう。Apache ActiveMQPHPで試すときはここを参考に。心配したのはセキュリティ。誰とも知らない人にメッセージを横取りされては困る。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      defaults        1 2
none                    /dev/pts   devpts   gid=5,mode=620  0 0
none                    /dev/shm  tmpfs    defaults        0 0
none                    /proc         proc      defaults        0 0
none                    /sys          sysfs     defaults        0 0
LABEL=SWAP-sda2  swap…

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-create-outline-function
 'outline-tree-create-ou…

Google Documents API

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

リモート・デスクトップ接続クライアント6.0

前にWindows Server 2008のターミナルサービスについて書きましたが、リモートデスクトップの拡張についてはクライアントWindows XP以上、サーバWindows Server 2003以上でできるみたい。やるためには新しいバージョンのリモートデスクトップをインストールします。詳細は下記。リモート・デスクトップ接続クライアントを新バージョンにアップグレードする性能も向上しているみたいなので、それだけでもインストールする価値あり。そろそろWindows Server 2008を試しとこうかな。

Happy Valentine's Day!

イメージ
今日はバレンタイン。設計作業で別の会社に通ってますが、今日行ってみたら机の上にチョコが・・・みんなの机に置いてあるけど、誰が置いたのか謎です。もらってよいのかな?とりあえず放置して帰ってきてしまいました。社内に帰ってくると姉様たちからはチョコを頂きました。ありがたや。ちなみにGoogle Docsもバレンタインモードになっててビックリ

Windows Server 2008でのターミナルサービス

前のブログでシンクライアント化について書きましたが、Windows Server 2008ではシンクライアントっぽくターミナルサービスが進化しているようです。注目機能はRemoteAppクライアントからサーバのアプリケーションを実行でき、クライアント側からはローカルのアプリを実行している感覚で操作可能。
実行する際のCPU、メモリなどはサーバ側のリソースを使用する。
作成されたファイルなどの保存先にクライアント側を指定することも可能。印刷先にクライアント側に接続されているプリンタを指定可能。リモートデスクトップの拡張クライアント側に接続されたリソースをあたかもサーバ側に接続されているように操作可能。
たとえばクライアント側に接続したUSBメモリをリモートデスクトップで接続したサーバで取り出せる。詳しく知りたい人は下記参照。@IT 第8回 ターミナル・サービスによるクライアントの仮想化(前編)Windows Server 2008で大幅に進化したターミナルサービスを試す【前編】

【Linux】chkconfigを眺める

chkconfigを眺めて、いらないデーモンをアンインストールしようと調べてみました。ディストリビューションはVine Linux以下chkconfig --list の一覧。※このマシンはvmwareのホストとして稼働するのみ名前説明起動atdコマンドの遅延実行を有効にするサービスonautofsファイルシステムの自動マウント/アンマウントonanacronダウンタイム時に損失したジョブを自動実行するデーモンonacpid電源管理(Advanced Configuration and Power Interface)offcpuspeedシステムのアイドル比率に応じてCPUの動作周波数を上下させるoncrond定期的にジョブを実行するためのジョブスプーラonhaldaemonハードウェア情報収集サービス。messagebusが起動している必要あり。oninetスーパーサーバデーモンoniptablesIPv4 のパケットフィルタと NAT を管理するツールonirqbalanceマルチCPU環境でセカンドCPU以降も割り込み処理を行えるonkeytableキーマップユーティリティプログラムonkudzuハードウェア検出ツールonnetworkブート時にネットワーク・インターフェイスを初期化onnetfs/etc/fstabを参照しNFS,SMB,NCPのネットワークファイルシステムをマウントするサービスoffnscdネームキャッシュサービスデーモンoffmessagebusアプリケーション間のメッセージを送るD-BUSを利用可能にするonportmapRPC サービスの親玉サーバデーモンoffrandom乱数生成デーモンonrdiscネットワークルータディスカバリーデーモンoffsmbsambaonsshd通信経路を暗号化して安全なリモートログインを可能とするSSH(Secure Shell)サーバサービスonsaslauthdsasl認証デーモンoffsyslogシステムログデーモンonvmwarevmwareonwinbindWindowsドメインのアカウントでログインを可能にさせるoffよく分からないものは、とりあえずoffに。いらないデーモンの例mdadm ・・・ Linux ソフトウェア RAID md デバイスの管理 postfix ・・・ メールサ…

【Linux】CUIでも簡単にファイヤーウォール(ポート)設定

イメージ
外部に公開されてないのでiptablesのサービスはアンインストールしようかなと思いましたが、CUIでも簡単に設定できるコマンドを見つけたので一応ファイヤーウォール(Firewall)を有効にすることにしました。コマンドは# system-config-securitylevel-tui< 2011/11/13 Modified >
CentOS 6.0からは
# system-config-firewall-tuiこんな感じで起動する↓有効にしてカスタマイズを選択あとは好きなように設定してOK。実際は/etc/sysconfig/iptablesに書き込まれる。

【Linux】依存関係の解決

Vine Linuxの設定をしているときにOpenSSHをアンインストールするときにエラーで失敗した。openssh-serverを削除するときに中途半端に削除されたみたいで、もう一回削除しようとしてもファイルがないと言われるし、インストールしようとすると「インストール済み」と怒られる。なので強制アンインストールを実行。openssh-serverをアンインストールするときにサービス sshd の情報を読み込み中にエラーが生じました: そのようなファイルやディレクトリはありません
エラー: %preun(openssh-server-4.5p1-0vl1.2.i386) スクリプトの実行に失敗しました。終了ステータス 1と怒られるので、rpmのコマンドで--nopreunを付けて実行するrpm -e --nopreun openssh-serverそれでも怒られる場合はスクリプトの頭にnoを付けて実行しないようにしてアンインストールする。詳しくはここあとは通常通りapt-get でインストールすれば元通り。

Linux(CentOS)のホスト名を設定(ネットワークの設定)

Linuxマシンに自分自身が何て名前か教えてあげる。インストール直後に必要なネットワークの設定でもある。以下ホスト名を「test」とする場合/etc/hosts127.0.0.1 localhost test test.exbridge.jp/etc/sysconfig/networkNETWORKING=yes HOSTNAME=test.exbridge.jpこれでログイン画面やコマンドラインでlocalhostとなっていたのがtestに変わります。名前解決のファイルは/etc/resolv.confnameserver 192.168.0.2 search exbridge.jp名前解決に192.168.0.2を使う。searchはデフォルトのドメイン。ping testとかの場合、ping test.exbridge.jpを検索するようになる。あとDHCPやらIPアドレスの設定はCentOSの場合
# system-config-network
というコマンドでCUIでも簡単に設定可能なツールが起動するので便利。実際には
/etc/sysconfig/network-scripts/
にあるifcfg-eth0に書き込まれる。このファイルを直接編集してもO.K. <2009/01/10 追記>
どうやらsystem-config-networkのツールは一時的に/etc/sysconfig/networking/devices/ に書き込んでいるみたい。system-config-networkからデバイスを削除したい場合はこのファイルを直接削除する。

Adobe Air VS Microsoft Silverlight

昨日はFlashとSilverlightを書いたけど、世間ではAdove 「AIR」 VS Microsoft 「Silverlight」の構図らしい。WPFが引き起こすデスクトップアプリの革新--Silverlightでウェブもカバーの記事も参考に。これらの技術とAjaxも組み合わせて、サーバとクライアントでいい感じで作業分担できたらなぁと思ってます。Silverlightって実行速度が速いというふれこみですけど、実際どうなのでしょう?

FlashとSilverlightどっちを使う?

マイクロソフトからSilverlightが発表されてからしばらく経ちますが、いったいどれくらい世間に広まったのだろう・・・。知らない人はSilverlight特集とか@ITを参照Silverlight特集からリンクされているページをみると実際に動く画面をみれるのでおもしろい。JavaScriptで簡単に書けるみたいので、そのうち作ってみようかな。

【DB2】PHP+DB2文字化け

今後DB2の環境を構築するかもしれないためのメモ。ここにもちょっとメモ書きが。ibm_db2ドライバーリファレンスDB2の環境を構築したあと困ったのが文字化け。DB2側の文字コード(ZendCoreで設定)とWebサーバ(php.ini、.htaccess、ファイル、charset)の文字コードを合わせても直らなかった。でも今見た雑誌に「php.iniにibm_db2.i5_dbcs_alloc=1とすると直る」という記事が。時間があったら試してみよう。

【Firefoxアドオン】CSSをデバッグする「EditCSS」

イメージ
リアルタイムでスタイルシートを編集して表示するアドオンの紹介です。EditCSS左のサイドバーに現在表示しているサイトのCSSが表示され、これを編集するとすぐに画面に反映されます。CSSの確認やデバッグするときは便利。適用するスタイルを別ファイルで読み込むとそのスタイルが反映した画面を確認できます。ただimportしているCSSファイルは編集できない。