Maven Additional Pluginの除外設定

EclipseMaven2を利用したJava開発をする時は
Maven2 Additionalが便利なんだけど、
最近のEclipseのバージョンだとプロジェクトのプロパティに
なぜかMaven2が出ないので除外設定ができず、
WEB-INFのlibにprovidedにしたjarファイルが出力されちゃう。
そのままmaven packageをwarに固めてTomcatなどにデプロイすると
ServletApiが重複してエラーになったりする。

そういう場合は
「.settings/net.skirnir.eclipse.maven.prefs」という空ファイルを作って

#Tue Oct 07 00:07:50 JST 2008
eclipse.preferences.version=1
excludes=geronimo-jsp_2.0_spec-1.0,geronimo-servlet_2.4_spec,servlet-api-2.3

みたいな感じで除外設定しましょう!
※excludesの中身はそれぞれ書き換えてね。

実践Webデザイン jQuery+CSSフレームワークでサクサクつくる「動き」と「仕掛け」

iOSのChromeでのJqueryMobile表示不具合

Jquery Mobileで作成されたページをiPhoneiPad用のChromeでアクセスすると
ずっと読み込み中のまま画面が表示されない・・・。
読み込み中にリロード(F5的な)すると表示される場合もある。

どうやらこれはJqueryMobileの不具合っぽい。
HTMLのTitleタグに日本語などのマルチバイトがあるとそうなる模様。

これの原因究明に数時間取られた(怒)

実践Webデザイン jQuery+CSSフレームワークでサクサクつくる「動き」と「仕掛け」

Apache2メンテナンス画面

備忘録として・・・

アプリケーションリリース時などの
メンテナンス画面の表示方法。

httpd.confに以下を記載

ErrorDocument 503 /maintenance/index.html

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/maintenance/.*
RewriteCond %{REMOTE_ADDR} !^127.0.0.1
RewriteRule ^(.*)$ - [R=503,L]

※modules/mod_setenvif.soを有効にすること!!

実践Webデザイン jQuery+CSSフレームワークでサクサクつくる「動き」と「仕掛け」

JqplotのiPhone/iPadでの注意点

Jqplotの表はiOS系アプリだと
表をタップすると一瞬選択状態っぽくなる。
表のスタイル属性に下記を追加すればOK!!

  • webkit-tap-highlight-color: rgba(0, 0, 0, 0);

JQueryMobileを利用していると
勝手にこの属性が適用されるので注意!!

実践Webデザイン jQuery+CSSフレームワークでサクサクつくる「動き」と「仕掛け」

Solr構築メモ!

TOMCAT連携(solr.warを解凍してweb.xmlに以下を追加してwebappsへ)

solr/home
/matsui/solr_data
java.lang.String

●標準ポート以外でデータ更新
java -Durl=http://localhost:8080/solr/update -jar exampledocs/post.jar exampledocs/ipod_other.xml


●DBからインポート
mysql-connector-java-5.1.20-bin.jar
apache-solr-dataimporthandler-3.6.0.jar
をクラスパスに追加。

solrconfig.xmlにDB定義ファイルの場所を設定


db-data-config.xml

schema.xmlに項目定義を追加

db-data-config.xmlにDBとSolrカラムのマッピング情報を追加










Mysqlの場合、dataSourceタグの属性に「batchSize="-1"」を入れないと
 なぜかsetFetchSizeでExceptionがでる。

CSVからインポート
ヘッダーにfieldNameを定義したCSVをリクエストボディにつめて
下記のPOST送信。

http://{ドメイン名}/solr/{core名}/update/csv?commit=true


●複数core。
Solrは1スキーマ=1テーブルみたいな感じなので
複数テーブルを扱うにはcore(インスタンス)を分ける必要があるっぽい。
solr.xmlにsolrconfigとschemaを設定すれば複数できる。
ただ、その分不可はかかるかも。
solr起動中にcoreの追加・削除はできる様子。






Solrについての書籍は以下がおすすめです。

Sencha Touchでの端末判断

Webアプリにおけるよくある端末判断方法は
ユーザーエージェントに特定の文字列が含まれているか・・・だと思うけど
Sencha Touchは違うらしい。

iPhoneエミュレータを色々試しても
ちゃんと判断してくれなくて、あれ?って思っててソースを覗いてみたら、
iPhoneかどうかはnavigator.platformにiPhoneの文字があるか・・・
つまりOS情報で判断している。エミュレータを使ってもここは「navigator.platform=Win32」と
返ってしまうからダメなんだよね。

iPadの場合はユーザーエージェントで判断している。
だからiPadエミュレータで表示するとExt.is.DesktopとExt.is.iPadは両方trueになる。
# ついでにExt.is.Tabletもtrue

実践Webデザイン jQuery+CSSフレームワークでサクサクつくる「動き」と「仕掛け」

NGINXトラップ

NGINXでSencha Touchを使ったiPhoneサイトのモックを作ってたら
POSTリクエスト時に「405 Not Allowed」が出る。
そんなリクエストメソッド受け付けてねぇよエラー。

設定ファイルを見直したり、Webで探しまくったりしてもなかなか原因わからなかったんだけど
どうやらNGINXは静的ファイルへのリクエストはPOSTはダメらしい。

iPhoneでの実機確認の為に立ち上げたのにダメじゃん。。。
iPhoneエミュレータはなんかHTTPヘッダとか微妙だしさ。

実践Webデザイン jQuery+CSSフレームワークでサクサクつくる「動き」と「仕掛け」