2014年4月2日水曜日

EclipseにSVNKit1.8のインストール手順メモ

EclipseでSubversion(SVN)と連携する際にPolarion Softwareが開発している接続するクライアントプラグイン「SVNKit(SVNコネクター)」をインストールしなければなりません。
しかし、SVNの1.8には下位の互換性が無い為、Eclipse(4.2 JUNO)のデフォルトでインストールされているSVNKit1.7では接続することが出来ません。
SVNKitの公式ページには、Eclipseの新規ソフトウェアのインストールで「http://eclipse.svnkit.com/1.8.x」を指定すればOKと記載されているのですが、Eclipseの4.2で行うとSVNKit1.7までしか表示されません。
1.8をインストールし、SVNに接続するまでに色々調べた結果を手順メモとして記載したいと思います。

目次

  1. 前提条件
  2. 通常インストール手順
  3. pleiadesの時のインストール手順(SVNKitが削除出来ない時)

前提条件

  • Eclipse:4.2 Juno or 4.2 Juno All in one pleiades
  • OS:Windows
  • Subversion1.8+
  • SVNKit:1.8.3

通常インストール手順

通常のEclipse(pleiades以外)のEclipseに対してインストールをする場合は、既にインストールされているSVNKitをアンインストールし、マーケットプレースからSubversive-SVN チーム・プロバイダーをインストールするとSVNKitをインストールする事が出来ます。
具体的な手順は以下になります。

既存SVNKitのアンインストール

最初に既存SVNKitをアンインストールしないと、次で説明するSuversiveをインストールした後のSVNKitが表示されませんので最初にアンインストールしておきます。
  1. Eclipseを起動し、ヘルプ→Eclipseについてをクリックすると、インストールされているプラグインの各ドメインみたいなのが表示されます。
  2. インストール詳細をクリックします。
  3. インストールされているプラグインの一覧からSVNKit 1.3.8、SVNKit1.7.11を選択しアンインストールを実施します。

    ※ここでアンインストールできなかった場合は、pleiadesの時のインストール手順を参考にしてください。
  4. アンインストールが完了したら、Eclipseの再起動をします。

Subversive-SVN チーム・プロバイダーのインストール

  1. ヘルプ→Eclipseマーケットプレースをクリックします。
  2. 検索に「subversion」と入力すると「Subversive」が表示されるので「インストール」か「更新」をし、全てインストールします。
  3. 画面にそってインストールをするとEclipseの再起動を求められるので再起動を実施します。
  4. 再起動後、立ち上げるとコネクタインストール画面(Subversive Connector Discovery)が表示されるので、インストールするコネクタを選択し完了をクリックします。
  5. 画面にそって全てをチェックを入れ、インストールを実施します。
  6. Eclipseの再起動を求められるので再起動を実施します。
  7. インストールが正常完了した場合、ウィンドウ→設定→チーム→SVN→SVNクライアントで「SVNKit 1.8.3 ~」があったら正常完了です。

pleiadesの時のインストール手順(SVNKitが削除出来ない時)

どういうわけか解りませんが、Eclipse 4.2 Juno のAll IN ONE の時、SVNKitが削除出来ない仕組みとなっています。
その時はEclipseの「新規ソフトウェアのインストール」で「http://community.polarion.com/projects/subversive/download/eclipse/3.0/update-site/」を指定することで入れ込みます。
  1. ヘルプから新規ソフトウェアのインストールをクリックします。
  2. 作業対象に「http://community.polarion.com/projects/subversive/download/eclipse/3.0/update-site/」を入力し、インストールしたいSVNKitを選択し次へを押します。
  3. 画面にそってボタンをクリックし、インストールを完了させます。
上手くいかなかった場合は、EclipseをCleanして再起動してみてください。

2014年3月24日月曜日

MySQLのクエリのトレース設定手順

データベースでMySQLを使用している時、発行しているSQLを調査したい場合があります。
ボトルネックになっているSQL文や履歴を見たい時などで重宝するトレース機能というやつです。
MySQLの有償ツールを使用すれば簡単に出来るのですが、せっかくの無償のMySQL。ここも無償で使用したいですよね。

そんな時に、簡単に設定できるのでメモとして設定方法を記載したいと思います。

目次

  1. 前提条件
  2. mysql.iniの設定
  3. 動作確認
  4. 参考文献

前提条件

前提条件は以下を想定します。
  • OS:Windows
  • MySQLのバージョン:MySQL5.5.XX

mysql.iniの設定

トレースの設定方法は簡単で、グローバルオプションファイル(mysql.ini)の[mysqld]に以下の設定を追加し、起動するだけで設定できます。
[mysqld]
log
mysql.iniの保存場所は、データが保存されているディレクトリ「datadir」の一つ上の階層に存在します。
調べ方は、root権限でmysqlにログインをし、以下のSQLでわかります。
show variables like 'datadir';

動作確認

設定後、MySQLの再起動をすると、datadirで定義されているディレクトリに<ホスト名>.logで保存されます。
尚、出力されるSQLは以下の図の様な形になります。

参考文献

2014年2月27日木曜日

HTML5ではSVGとCanvasどっちを使うべきか?早見表

HTML5ベースの図やグラフを表示する要件が来ました。
そこでいろいろ調べた結果、HTML5では主にSVG(Scalable Vector Graphics)とCanvasが主な技術だとわかりました。
しかし、この2つの仕様・・・グラフをかけるJavascriptベースのライブラリは色々あるのですが、そのライブラリのレンダリングがどの仕様に基いて作られているかによって大きく変わります。
そこで、SVGとCanvasのメリット・デメリットなどを早見表としてまとめたのでメモとして記載したいと思います。

早見表


SVG Canvas
概要 Scalable Vector Graphicsの略称で、XMLをベースとした、2次元ベクターイメージ用の画像形式の1つである。解像度にかかわらず高品質な表示になる。 HTML5から新しく追加される図形を描く為の技術仕様
ブラウザ IE 9+ 9+
Firefox 26+ 26+
Chrome 31+ 31+
Safari 5.1+ 5.1+
Opera 19.0+ 19.0+
iOS Safari 3.2+ 3.2+
Opera Mini 5.0-7.0 5.0-7.0(部分的)
Android Browser 2.1-2.3(部分的)
3+
2.1-2.3(部分的)
3+
Blackberry
Browser
7.0+ 7.0+
IE Mobile 10.0+ 10.0+
パフォーマンス 画面サイズ - 画面が大きくなるほど描画するピクセル数も増加するためパフォーマンスが大きく低下
オブジェクト数 SVGがDOMに追加するオブジェクト数も増える為パフォーマンスが大きく低下 -
特徴 サイズに関係ない単純な画像描写によく使われる。 高速描画が特長であり、画像情報を保持する必要がない。
用途 概要 静的な画像、表示と印刷のための高品質ドキュメント 複雑なシーン、リアルタイムの数学的アニメーション、高パフォーマンス
具体例 チャートとグラフ 2D ゲーム
理由・場面 XML(SVG)に簡単にエクスポート出来る既存データからグラフを作成する。
ユーザー操作が必要である。
Webページのスタイルを使用する。
ゲームライブラリは低レベルグラフィックAPIを利用してきているため

結論

グラフならSVG、ゲームアニメーションならCanvasがいいっぽいです。
しかし、必ずしもこれじゃなきゃダメ!!ッて言うことではなく、時と場合によって色々柔軟に選択する必要があるということです。
う~ん・・・難しい

参考URL

2014年2月3日月曜日

Windowsサーバのサービス登録したアプリケーションがアクセス権限エラーになる時の対処方法

JBossをWindowsサーバでテストをしていた時、通常のログオンして起動してた時は、正常に起動し、外部サーバの共有ファイルなどのネットワークリソースにアクセス出来ていたのですが、Windowsのサービスを登録した時に、急にHTTPステータス503のアクセス権限がないエラーが出るようになったので、その時の対処方法をメモとして記載したいと思います。
JBossだけでなくネットワークリソースにアクセスする全てのアプリケーションで共通みたいです。例えばApacheなどがそうですね。

目次

  1. 検証環境
  2. 原因
  3. 対処方法
  4. 参考文献

検証環境

  • Windows Server 2008R2

原因

特に意識して設定しないと、サービス登録時のデフォルトログオンユーザーは、Local Systemで登録されます。
Local Systemアカウントは、ドメインのEveryoneグループに所属しないので、Local Systemアカウントのセキュリティコンテキストで実行されているサービスは、認証済みセッションを確立できないことから、アクセスできなくなります。

対処方法

サービスの起動のアカウントをネットワークリソースに許可されているアカウントに変更することで解決できます。
  1. スタートからコンピュータを選択し、右クリックから管理を選択する。
  2. サーバーマネージャが起動するので、サーバーマネージャ→構成→サービスの順に展開する。
  3. 該当サービスを選択し「プロパティ」を選択し「ログオン」タブを選択する。
  4. 「アカウント」にチェックをれ、必要情報を入力し、「OK」ボタンを押す。
  5. 実際にサービスを起動し、確かめてみる

参考文献

2013年12月19日木曜日

JBoss As 7のWindowsサービスの登録方法

JBoss As 7をWindowsのサービスに登録しようと思い、色々調べたのでメモとして記載したいと思います。
行いたい事としては、standalone.batで起動するのと同じ事をサービスを使って制御したいという内容です。

目次

  1. 前提条件
  2. 概要
  3. ダウンロード
  4. ファイルの設置
  5. service.batの設定
  6. サービスの登録
  7. サービスのアンインストール
  8. 参考文献

前提条件

  • Windows 32bit
  • JBoss As 7.1.1.Final
  • jboss-native-2.0.10

概要

JBossのコミュニティサイトから各OSに伴ったファイルをダウンロードし、既存のJBossに組み込んでサービスに導入します。
ダウンロードしたファイルの中でサービスに登録・削除・サービスで起動するexeが保存されていますので簡単に設定できます。

ダウンロード

以下のJBossのコミュニティサイトからJBoss Web ネイティブ コネクタをダウンロードします。
https://www.jboss.org/jbossweb/downloads/jboss-native

ファイルの設置

ダウンロードしたファイルをJBOSS_HOMEに展開します。
展開するとJBOSS_HOMEのbinフォルダにservice.batなどのexeが入ります。

service.batの設定

service.batを開き、以下の設定を変更します。
  1. サービス名の設定内容の変更
  2. サービス起動時にstandalone.batの呼び出し
  3. サービス停止時にOSを落とすコマンド解除

サービス名の設定内容の変更

service.batでサービス名を登録する為、同バッチのサービス情報を変更します。デフォルトはJBoss As 5の名前です。
  • 20行目:set SVCNAME=JBAS50SVC → JBoss7Server
  • 21行目:SVCDISP=JBoss Application Server 5.0 → JBoss AS 7.1.1.Final
  • 22行目:set SVCDESC=JBoss Application Server 5.0.0 GA/Platform: Windows x86 → JBoss AS 7.1.1.Final: Windows x86

サービス起動時にstandalone.batの呼び出し

call run.batをcall standalone.batに変更します。
該当箇所は75行目と104行目です。

サービス停止時にOSを落とすコマンド解除

デフォルトのバッチだとサービス停止時にshutdownコマンドを発行しているので、REMでコメントアウトします。
該当箇所は84行目、94行目です。
REM call shutdown -S < .s.lock >> shutdown.log 2>&1

サービスの登録

service.batの編集が終わったら、コマンドプロンプトでJBOSS_HOME\binフォルダに移動し、service.bat installを実行します。

サービスの削除

サービスの登録と同様に、JBOSS_HOME\binフォルダに移動し、service.bat uninstallを実行します。

以上

参考文献

2013年12月9日月曜日

ApacheのAJPを使うとHttpServletResponseのsendRedirectが動いてくれない時の対処(JBoss)

http://www.jboss.org/overview/
WebサーバにApache、アプリケーションサーバにJBossを使ってAJPでWebサーバとアプリケーションサーバを結んでいるのですが、アプリケーションの方でHttpServletResponseのsendRedirectが上手く動いてくれませんでした。
Tomcatでのserver.xmlの設定をいじった方法だとインターネット上で多く見られたのですが、JBossの対処方法があまりなかったのでメモとして記載したいと思います。

目次

  1. 前提条件
  2. リダイレクト出来ない理由
  3. JBoss設定ファイルstandalone.xmlの編集
  4. 参考文献

前提条件

  • Windows XP
  • JBoss As 7.1.1 final
  • apache 2.2
  • Java 1.7.XX

リダイレクト出来ない理由

アプリケーションサーバで動いているURLでリダイレクトする為、Webサーバにアクセスしているクライアントからは違ったURLを示している為っぽいです。(詳しくは不明)

JBoss設定ファイルstandalone.xmlの編集

JBossでAJPの設定をします。
詳しくは以下のURLから

JBoss As 7とApacheとの連携方法
ポイントとしては、standalone.xmlの設定のAJPの所をschemeが「ajp」ではなく、「http」にすることです。

<connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/>

schemがajpでも動いたのですが、リダイレクトが上手く動きませんでした。
ajpのままで動かすとapache経由でのリダイレクトが上手く返えらなくページが切り替わらない現象になりました。

参考文献

2013年11月25日月曜日

MySQLのエラー「Error Code: 1175」の対処方法

MySQLにてSQLで一括置換をしUpdateをかけようと思ったら、以下のエラーが出ました。

Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column To disable safe mode, toggle the option in Preferences -> SQL Queries and reconnect.

メモとしてこのエラーの原因と対処方法を記載したいと思います。

目次

  1. 前提条件
  2. 原因
  3. 対応方法
  4. 参考文献

前提条件

  • MySQL 5.5.XX
  • Windows XP

原因

原因はMySQLの接続するクライアントの設定項目「SQL_SAFE_UPDATES」が1になっている為です。
MySQLのリファレンスマニュアルに以下の様な記載があります。

SQL_SAFE_UPDATES = {0 | 1}

もし1に設定すると、MySQL は WHERE 条項か LIMIT 条項内でキーを利用しない UPDATE か DELETE ステートメントを異常終了します。これは、キーが正しく利用されずその為に多数の行を変更、または削除する UPDATE か DELETE ステートメントをキャッチする事を可能にします。デフォルト値は0です。

対応方法

SQLを発行出来る環境から以下のコマンドで対応出来ます。

SET SQL_SAFE_UPDATES = 0;

後は以下の様なSQLで一括置換を行えばOKです。

update test set hoge = replace(hoge,'ab','12');

参考文献

 

About

このブログは筆者の備忘録として色々記載しています。
Powered by Blogger.