2010年10月13日水曜日

XenServerにRH系Linuxをインストールした後に必要な設定

  1. vncサーバ 自動起動設定
  2. vncサーバ 接続設定
  3. XenServer Linux Toolsインストール
  4. inittabのrunレベルを5に修正

配列内の最大値のインデックスを取得(Javascript)

var arrClass = new Array(5);
accClass = [5,7,8,23,9];

var maxindex = arrClass.indexOf(Math.max.apply(null,arrClass));
alert(maxindex);

IEブラウザの判定を行うJavaScript文

    var isMSIE = /*@cc_on!@*/false;     //IE対応
    if (isMSIE) {
        n = arrClass[0];
        c = 0;
        for (i=1; i
            if (arrClass[i] > n){
                 c = i;
            }
        }
        alert(c);

2010年9月2日木曜日

VM ESXi4.1 USBブートディスク作成

■用意するもの
・1GB以上のUSBメモリ
・VM ESXi 4.1のディスクイメージ

■手順
(1)ESXiのCDイメージをマウントし、中を覗く
(2)イメージ内のimagedd.bz2を解凍する
(3)解凍したファイルimageddを、USBメモリに書き込む
イメージの書き込みには900MBの容量が必要
LinuxOSで書き込むときはddコマンド
WindowsOSで書き込むときはDDforWindowsを利用する
(4)書き込んだUSBメモリからESXiを起動出来ることを確認する

2010年8月20日金曜日

XPATH全文検索方法

すべてのテキストノード、要素から検索語句に合致するXMLを取り出すXPATH式


(//text()|//@*)[contains(.,"検索語句")]/ancestor::"取り出したいノード単位"

参照URL
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=37787&forum=9

EclipseのWorkspaceが開けなくなった場合

Eclipseが落ちてしまった場合の対処法

cd "ワークスペースのフォルダ"

#workbench.xmlを削除
sudo rm -f .metadata/.plugins/org.eclipse.ui.workbench/workbench.xml

2010年8月17日火曜日

Ubuntu10.04 + Eclipse で日本語入力できない

Eclipse でサーブレットを書く場合、

sudo eclipse

で起動するようなURLが多く見かけられる。
Ubuntuは7.04からrootでの日本語が使用不可となっているため、eclipseで日本語入力が出来なくなる。


解決法は探し中。まずはメモ書き

2011年3月28日 追記
解決方法を忘れていたので、ここのページに記述

2010年8月4日水曜日

Ubuntu Apach2 Tomcat6連携

tomcat5.5からだいぶ変わっていたのでとりあえず走り書き

■rootに変身
sudo -s

■sun java6、tomcat、apache2、mod-jkのインストール
apt-get install sun-java6-jdk
apt-get install tomcat6 tomcat6-admin
apt-get install apache2
apt-get install libapache2-mod-jk


■apachey用のmodの有効化
#すでに有効済みになっている場合もあるが、念のため実施する
#有効になっている場合は /etc/apache2/mods-enabled に.loadファイルがある

a2enmod proxy
a2enmod proxy_ajp
a2enmod jk

■tomcatのserver.xmlのファイル書き換え

cd /etc/tomcat6
vi server.xml

以下2行のコメントアウトをはずす----

<!-- Define an AJP 1.3 Connector on port 8009 -->
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

■httpd.conf編集
cd /etc/apache2
vi httpd.conf

以下5行を追加----
<Location /hogehoge>
ProxyPass ajp://localhost:8009/hogehoge
Order allow,deny
allow from all

</Location>l

■連携用modの編集
cd  /etc/libapache2-mod-jk
workers.propertiesを編集

以下の項目をjava、tomcatの導入環境に合わせる
(自分で指定した場合は別途書き換え)
workers.tomcat_home=/usr/share/tomcat6
workers.java_home=/usr/lib/jvm/java-6-sun-1.6.0.20/

■tomcat、apacheの順でサービス再起動

/etc/init.d/tomcat6 restart
/etc/init.d/apache2 restart

2010年5月26日水曜日

Ubuntu10.04@ThinkpadX40(1)

入れてみた

→i8xxの問題でブラックアウト
 ⇒forcevesa指定で解決

グラフィックドライバが使えないとか言われたので、
i9xxのKMSを利用
 →画面エフェクトが利用可に。

pppoe設定
 →Ubuntu9.10と方法は同じ
  pppoeconfで利用可能
  gnomepppは未使用

2010年5月12日水曜日

業務用映像フォーマットの標準であるMXFについてのメモ

MXF (Material eXchange Format)
既存の規格、技術との連携可能な包括的な規格と思えば良いのかな?


  •  映像・音声の圧縮方式には依存しない
    • 圧縮方式毎に具体的な格納方法についての規定が規格化
  • メタデータ
    • 標準メタデータスキームDMS-1が策定された
    • ファイル上ではバイナリデータとして扱う
    • システムやソフトがメタデータを読み込む際はXML表現とすることが多い
    •  MPEG-7TV AnytimeP/Metaとの連携も考慮している
    • 構造系メタデータ、記述系メタデータの2種類
      1. 構造系メタデータ
        技術的要件のメタデータ
        (圧縮方法、解像度、再生時間)
      2. 記述系メタデータ
        コンテンツ内容のメタデータ(タイトル、内容説明、権利情報)
 引用:第1回 MXFとは何か  (アイビーイー)

2010年4月1日木曜日

演算子(2)(Java)

  •  インクリメント
    •  書式: x++, ++x
        x = x + 1 と同義
  • デクリメント
    • 書式: y--, --y
       y = y - 1 と同義

  • 計算について
    • ++x , --y のように前置された場合は、計算してから代入
    • x++ , y--のように後置された場合は、代入してから計算

  • 参考
  1. class test3 {
  2.         public static void main (String[] args){
  3.                int a = 0; int b = 0; int c = 0; int d = 0;
  4.                int result_a ; int result_b ; int result_c ; int result_d ;
  5.                result_a = ++a;
  6.                result_b = b++;
  7.                result_c = --c;
  8.                result_d = d--;
  9.                System.out.println("計算結果 ;" + result_a + " 変数a ;" + a);
  10.                System.out.println("計算結果 ;" + result_b + " 変数b ;" + b);
  11.                System.out.println("計算結果 ;" + result_c + " 変数c ;" + c);
  12.                System.out.println("計算結果 ;" + result_d + " 変数d ;" + d); 
  13.         }
  14. }
---実行結果---
計算結果 ;1 変数a ;1
計算結果 ;0 変数b ;1
計算結果 ;-1 変数c ;-1
計算結果 ;0 変数d ;-1

2010年3月31日水曜日

データ型(2) (Java)

  • 型変換(キャスト)
    • 小さい型から大きい型への代入は暗黙の型変換が行われる(自動) 
    • 小さい型から大きい型への代入は許可されていない
      キャストを行うことで代入が可能
      • 凡例
        (目的の型) 値

      • int i =123, double = 1.05;
        i = (int)d; //この場合小数点以下は切り捨てられて1になる
        ※切り捨てについては、四捨五入等なし。
        1.99でも整数部の1しか扱われない
  • 基本データ型
      • 型の大小は以下のとおり
        double > float > long > int > (char) >  short > byte
        ※shortからcharに変換された場合は、文字として扱われる

演算子(1)(Java)

演算子と結合規則について
  1. 演算子ごとに設定されている優先度の高いものから計算
  2. 優先順位が同じ場合は、結合規則によって計算順を決定
    結合規則は左結合と、右結合がある。
    • 左結合
      • 左から右へ計算する(普通の数式と一緒)
    • 右結合
      • 右から左へと計算する

        • int x = 1 , int y =  2;
          x = x + y;
          System.out.println( "x=" + x );

          ---実行結果---
          x = 3
  •  優先度と結合規則
    1.  ++ , -- , + , -, ~, (キャスト) :右結合
    2.  *, /, %                              :左結合
    3. + , -                                  :左結合
    4. <<, >>, >>>                        :左結合
    5. <, >, <<, >>, instanceof       :左結合
    6. ==, !=                                :左結合
    7. &                 :左結合
    8. ^                 :左結合
    9. |                 :左結合
    10. &&                :左結合
    11. ||                                      :左結合
    12. ?:                 :右結合
    13. =, *=, /=, %=, +=, -=, etc     :右結合

イチからJavaのお勉強

目標としてSunの認定資格であるJavaアソシエイツの資格取得に設定
勉強に使う本は、とりあえず以下の2冊
  • 翔泳社 SUN教科書 JAVAアソシエイツ(SJC-A) \3,200
  • インプレス 徹底攻略 JAVAアソシエイツ問題集[310-019]対応 \3,000

識別子、予約語(Java)

  • 識別子
    • 1文字目は、英字、ドル記号($)、アンダースコア(_)のみ
    • 数字は2文字目以降に使用可能
    • 予約語は使用不可
    • 予約後を識別子に含めた場合はコンパイルエラー
    • 予約語ではないが、リテラル(定数)として意味があるため識別子として使用不可
      • true
      • false
      • null
  • 予約語
    • abstract
    • assert
    • boolean
    • break
    • byte
    • case
    • catch
    • char
    • class
    • const
    • continue
    • default
    • do
    • double
    • else
    • enum
    • extends
    • final
    • finally
    • float
    • for
    • goto
    • if
    • implements
    • new
    • package
    • private
    • protected
    • public
    • return
    • short
    • static
    • strictfp
    • super
    • switch
    • synchronized
    • this
    • throw
    • throws
    • transient
    • try
    • void
    • volatile
    • while

列挙型(Java)

任意に作成可能
クラスの中でも外でも定義可能
クラスの中に定義する場合は暮らすの直下で定義する。
ただし、コンストラクタ内やメソッド内での定義は不可
switchみたいに指定できるデータ型が制限されている場合に、間接的に指定が可能
  • 特記事項
    • 列挙された値は文字列ではなく、特定の整数として扱われる(なので、”間接的に”指定可能)
    • 内部的には整数扱いなので、要素に文字列が入っていてもダブルクォーテーション不要
  • 定義
    [修飾子] enum 列挙名{要素1, 要素2, 要素3, ...}
    • 記述例
      public enum Colour { RED, BLUE, BLACK, WHITE, YELLOW};

配列(Java)

一つ以上の”同じデータ型”の集合を表現
配列に格納されるデータはインデックスで識別される
格納されるデータは、基本データ型、参照型ともに格納可能
配列自体は参照型として扱われる
 
  • 配列の生成
    データ型[] 配列名;
    配列名 =new データ型[ 要素数 ]
    • 記述例
      int[] i;            // int i[]; でもOK (配列の宣言)
      i = new int[3] ; // int型の領域を3個確保
      int [] i = new int[3]; //配列名の宣言と領域の確保を1行で行う
  • 配列の初期化
    データ型 [] 配列名 = {初期値1, 初期値2,初期値3)
    • 記述例
      int[] i = {10, 20, 30} ;
  • インデックス
    配列名 [インデックス] = 値;
    • 記述例
      i[0] = 10;

    変数(Java)

    データ型 変数名;  //変数の宣言
    変数名 = 値;    //値の代入

    データ型 変数名 = 値 // 変数の宣言と代入を1行で実行(変数の初期化)

    データ型(1)(Java)

    • 基本データ型(プリミティブ型)
      • 整数
        ※シングルクォーテーションで囲った文字列はユニコード16進数の整数として扱われる
        例) int a = ’a';  と int a =  97; は同値となる
        • byte (8bit)
          表現可能な範囲: -128~127
        • short (16bit)
          表現可能な範囲: -32768~32767
        • int (32bit)
          表現可能な範囲: -2^31~2^31-1
        • long (64bit)
          表現可能な範囲: -2^63~2^63-1
          ※数値に何も指定をしない場合は、デフォルトがint型となるため、
          明示的に扱うためには指定が必要
          • 指定例
            long l = 1234L; or  long l = 1234L; or long l = (long)1234;
      • 浮動小数点整数
        • float (32bit)
          表現可能な範囲: IEEE754に基づく値
          ※数値に何も指定をしない場合は、デフォルトがdouble型となるため、
          明示的に扱うためには指定が必要
          float f = 3.14f; or float f = 3.14F; or float f = (float)3.14;
        • double (64bit)
          表現可能な範囲: IEEE754に基づく値
      • 文字
        • char (16bit)
          表現可能な範囲: \u0000~\uFFFF
          ※charは一文字のみ
           ””(ダブルクォーテーション)での囲んでの代入は不可
          ''(シングルクォーテーション)で囲む場合は制御コードを代入する場合
          文字列はStringで定義するが、基本データ型ではなく参照型(Stringクラス)となる
      • 真偽値
        • boolean (1bit)
          表現可能な範囲: true,false
    • 参照型
      • 配列
        • array
      • 列挙
        • enum
      • クラス
        • class
      • インターフェース
        • interface

    2010年3月30日火曜日

    hp製安サーバ(DL/ML 1xx) 監視方法(System Insight Managerへの監視統合)

    hp製1xx系の安サーバは、基本的にInsightAgentが使えないので、そのままだと監視が面倒。
     なので、System Insight Managerへの監視統合する方法を考える。

    必要ソフト
    • HP System Management Homepage(SMH)
    • WBEM Provider
    • WMI Mapper for HP System Insight Manager
    手順
    1.  すべてインストールする。(3つのexeとも再起動不要、サービスはインストール後に自動起動)
    2.  SMH上から監視側のSystem Insight Manager(SIM)の証明書を取得
    3.  監視側のSIMから、安サーバ側のSMHが覗けることを確認する。
    4. 安サーバ側のWWWサーバは自動的に起動するが、OS上のファイアウォールにはきっちり弾かれるので、
      必要に応じてOSのファイアウォールのルールを設定
    5. SIM側で監視設定(ポーリング間隔、メール送信等)を設定。お疲れ様でした。

    Ubuntu9.10でEmobile D21LCを使う

    手順自体については、UbuntuでEmobileのD21LCを利用する(blog.37to.net)でご紹介されているとおりです。
    大変丁寧にかかれていて分かりやすかったです。

    差分点は、usb_modeswitchのみ、Synapticパッケージ・マネージャからインストールしました。
    (現バージョンは1.02になる様子)


    #MessageContentを発見された先人に多謝を。

    Thinkpad x40にて、モデムを認識させる際に

    1.D21LCをUSBポートに差しっ放しにしてPCを起動した場合
    2.PC起動後にUSBポートに差した場合
    とで、USBモデムの認識状況の挙動が異なったのでメモ書き
    1. PC起動後にUSBへ接続
      →USBポートコンソール出力が細かい(【参考】参照)
      →デバイス ttyUSB3で接続可能
    2. USBへ接続してPC起動
      →デバイス ttyUSB2で接続可能
    #とりあえず使えているので、いまのところ放置
     bash書くときには注意する必要があるかも。

    【参考】コンソール出力---

    * usb_modeswitch: tool for controlling "flip flop" mode USB devices
     * Version 1.0.2 (C) Josua Dietze 2009
     * Works with libusb 0.1.12 and probably other versions

    Looking for target devices ...
     No devices in target mode or class found
    Looking for default devices ...
     Found default devices (1)
    Accessing device 002 on bus 001 ...
    Using endpoints 0x01 (out) and 0x81 (in)
    Inquiring device details; driver will be detached ...
    Looking for active driver ...
     OK, driver found ("usb-storage")
     OK, driver "usb-storage" detached

    Received inquiry data (detailed identification)
    -------------------------
      Vendor String: USBModem
     Product String: Disk          
    Revision String: 2.31
    -------------------------

    Device description data (identification)
    -------------------------
    Manufacturer: USB Modem
         Product: USB Modem
      Serial No.: ******************
    -------------------------
    Setting up communication with interface 0 ...
    Trying to send the message to endpoint 0x01 ...
     OK, message successfully sent
    -> Run lsusb to note any changes. Bye.

    Windows7 アップグレード版インストール方法

    WindowsXP→Windows7へアップグレードするのがまっとうな方法だが、
    WindowsXPのインストールが遅いため時間短縮する方法。
    1. DVDブート
    2. 新規インストール選択
    3. プロダクトキーを入力せずインストールを続行
    4. Windows7のデスクトップ画面が出るまでインストール作業続行
    5. 終了後再度DVDブート(再度インストール作業)
    6. インストール場所選択画面で、ドライブオプションからパーティションを削除してインストール
      (パーティションにこだわりがある場合は、フォーマットしてからインストール)
    7. 今回はプロダクトキーを入力してインストール
    8. 終了

    Ubuntu フォルダ名の言語変更

    ターミナルから操作し辛いため、/home/Userの各フォルダの言語を
    日本語→英語に変更

    User@mypc:~$ LANG=C xdg-user-dirs-gtk-update

    Moving DESKTOP directory from デスクトップ to Desktop
    Moving DOWNLOAD directory from ダウンロード to Downloads
    Moving TEMPLATES directory from テンプレート to Templates
    Moving PUBLICSHARE directory from 公開 to Public
    Moving DOCUMENTS directory from ドキュメント to Documents
    Moving MUSIC directory from ミュージック to Music
    Moving PICTURES directory from ピクチャ to Pictures
    Moving VIDEOS directory from ビデオ to Videos

    Windows クリーンインストール手順

    1. OS
    2. サービスパック
    3. Intelチップセット・ソフトウェア・インストレーション
    4. DirectX
    5. ビデオカードドライバ
    6. 他デバイスのドライバ
    参考(インテルHP)

    Linux コマンド

    ディスク容量確認コマンド

    1. df
    ファイルシステムごとにディスクの使用率を表示する。
    2. du
    カレントディレクトリから再帰的にディレクトリの容量を表示する
    3. quote
    自分のディスクの制限容量を表示する。