MacとJavaと映画と

タグ - カテゴリー : All | アーチェリー | | 食べ物 | Fitness | ゲーム | Java | Mac | 雑多 | 映画 | 写真 | Python | 自宅サーバ | 旅行・散歩 | GPS

最近のエントリー


最近のレスポンス
Re: 麗しのサブリナ
やっぱりヘップバーンはいいですねー

Re: 麗しのサブリナ
ひさしぶりに侍ズムを開いたら、私の入り込...

Re: ドコモが iモード ID 発表
おさいふケータイの iD と勘違いしました。まぎわらしい。

Re: ホームシアター建設記 - TVボード会計
持ってた?いやいや、家族ですから。 フツーに一緒に引っ越しましたよ!!!
3月 2008
       1 
 2  3  4  5  6  7  8 
 9  10  11  12  13  14  15 
 16  17  18  19  20  21  22 
 23  24  25  26  27  28  29 
 30  31      
2  |  今日  |  4





はてなブックマーク数

あわせて読みたい


follow yusukey at http://twitter.com


Javaプロセスがコケまくったり、OSもろともフリーズしたりとどうも不安定!と思えば予兆だったみたいで、自宅サーバのハードディスクがクラッシュしました。

で、しばらく自宅サーバーは不通になっていました。
しかもよりによって風邪でダウンしている最中の出来事でなかなか復旧に手が付けられず。

いつもならちょっと不通になるだけでヒヤヒヤとストレスが溜まっていたものですが、すぐに復旧できないとなると堂に入ったもの。
じっくりと復旧作業をさせていただきました。

ついでに iBook タンジェリン + Panther というちょっと古めの構成から PowerBook12" + Leopard へとアップグレードしました。

TimeMachine で今まで以上にキビキビとバックアップできる体制になるので安心です。

タグ :

携帯版 AdSense を導入してみたけど DoCoMo の携帯で広告が表示されない、という現象が発生しています。


同僚に教えてもらったのですが、実は DoCoMo の携帯への対応はこれからみたいです。

User-Agent やら IP やら、キャリアや端末の種類を判別するための情報は AdSense で提示されたコードを貼り付けておけば勝手に広告配信サーバへ通知されます。
先方で対応すればいずれ自動的に表示されるようになると思います。


気長に待ちましょう。


モバイル版コンテンツ向けAdSenseに関してよくあるご質問

Q1:「モバイル版コンテンツ向けAdSenseを使用するための条件はありますか?」

A1:
AdSenseアカウントをお持ちの方ならどなたでもご利用いただくことができます。ただし実装にあたっては、掲載するサイトが標準のプログラムポリシーを満たしている他、こちらのモバイル版特有のポリシーを満たしている必要があります。

モバイル版コンテンツ向けAdSense は現在auとSoftBank の携帯電話に対応しています。DoCoMo に関しましては、現在一部のサイトで導入テストを行っていますが、まだ全面的には対応しておりません。

コンテンツに関連した広告を表示するために、Google のクローラーが皆様のモバイル ウェブページにアクセスする必要があります。クローラーのアクセスを許可するための詳細はこちらをご覧ください。

AdSense 日本版 公式ブログより

タグ :

先日設定してみた携帯版 Google AdSense ですが、ちゃんと表示されるようになりました。

2,3日経っても広告が表示されないので何か上手く行っていないのだろうなーと思っていましたが、どうやら IP アドレスが関係していたようです。
jsp 用の貼り付けコードには request.getRemoteAddr() でクライアントの IP アドレスを取得して Google の広告配信サーバに通知しています。
当方の環境では Apache - (mod_proxy) - WebLogic という環境なので request.getRemoteAddr() では必ず Apache の IP アドレス、つまり 127.0.0.1 が返ってしまいます。
これを request.getHeader("X-Forwarded-For") として実際のクライアントの IP アドレスを取得するように変更したところ即座に広告が表示されるようになりました。

ただ、PC やソフトバンクの携帯でアクセスした際には広告が表示されるのに DoCoMo の携帯でアクセスしても広告が表示されないという奇妙な状況が続いています。

広告配信サーバには User-Agent(ブラウザや携帯キャリアの種別がわかる) も渡しているので、IP アドレスと組み合わせれば携帯からのアクセスのみ広告を表示しないようなこともできる仕組みになっています。
DoCoMo だけ弾くのはやや不可解ですね。

とはいえ、表示される広告は当方の環境では1種類しかない状態です。
まだまだこれから入稿が増え、チューニングされていく状況にあるのかもしれません。

タグ :

AdSense の携帯版が出たので試してみました。

やり方は PC 版とほとんど変わらず、広告の種類や色を選んでスクリプトをコピー&ペーストするだけ。
PC 版と大きく違うのは JavaScript ではなく JSP, ASP, PHP, CGI/Perl などサーバサイドで動くスクリプトで広告を表示すること。
ほとんどの携帯サイトブラウザでは JavaScript 動きませんから、当然ですが。

ウチのサーバはもちろん Java 一筋なので JSP 版のスクリプトを貼り付けてみました。
JDK のバージョンが 1.4.2 なので StringBuilder を StringBuffer に置き換える必要がありましたが特になんなく埋め込み完了。

ちみに広く公開している携帯サイトはもっていないので、仲間内で使っている PC/携帯対応掲示板サイトに貼り付けてあります。

貼り付け後48時間以内に広告が表示されるようになるそうで、まだ広告は出ません。
貼り付けを検出してから クロール -> キーワード抽出 -> 広告マッチング という手順を踏んで表示されるんでしょうね。
追記:
広告が表示されるようにするにはちょっと修正が必要でした。
携帯版 Google AdSense をお試し - ようやく広告が表示される



タグ :

自分の会社のサイト、以前はSEO対策がひどくて会社名を入れても7〜10位くらいに表示されていました。
ちょこちょこと SEO を施して今では Yahoo でも Google でもトップに表示されるようになっています。

しかし、Windows ライブサーチではピクリとも現れません。
何ページめくっても表示されないし、ドメイン指定で検索しても出てこないのでそもそもサイトそのものがインデックスされていない様子。

あちこちからリンクされているのでクローラが気づいていないということはないはずなんだけど・・・。

しらべてみるとやはりそんな現象に遭遇している方は他にもいらっしゃるみたいですね。

特に不適切なコンテンツがあるわけでもないのに困ったモンです。
ふと思い立って検索してみると本社の英語サイトもヒットしません。
どうもドメイン名そのものが MSN 的に気にくわない様子。
定期的に「SPAM が見つかった場合や、目的の Web サイトが検索結果に含まれていなかった場合は、Web アドレス (URL) をここに入力してください。」というところからインデックスのお願いはしているのですが一向にインデックスされる様子がありません。
あと、html が汚いと特に MSN では嫌われやすいという情報もあったので、あまりにひどいところ(たとえば head タグが閉じられていなかったとか!!!)は修正しました。

検索エンジンを売っている会社が検索エンジンでヒットしないというのはちょっと恥ずかしいです。
自宅サイトのアクセスを解析する限り、MSN/Windowsサーチで訪れる人は1%にも満たないので無視してもいいくらいなのですが気になります。
どなたか良い対策ご存じではありませんか?

MySQL をインストールしたらあとは自家用掲示板アプリの移植です。
Hibernate とかいったカッコイイものは使っていないので非互換の SQL を手動で直していく必要がありました。

といっても直す必要があったのは2点だけ。

・サブクエリのマナー
insert 句の中で select をネストしていた部分が MySQL ではエラーになってしまいました。

mysql> insert into table1 (colmn1,colmun2) values('value1',(select count(*) from table1));
ERROR 1093 (HY000): You can't specify target table 'table1' for update in FROM clause

そんな複雑なクエリじゃないです。Oracle でもこれは通りますね。

MySQL では values のかわりに select 句をそのままもってくると良いようです。
mysql> insert into table1 (colmn1,colmun2) select 'value1', count(*) from table1;
Query OK, 1 row affected (0.11 sec)
Records: 1 Duplicates: 0 Warnings: 0
このクエリは PostgreSQL でも通りました。

・シーケンスは?
プライマリキーの生成にシーケンスを使っていましたが、MySQL にはシーケンスがないようです。
かわりにテーブル定義時に "AUTO_INCREMENT" と指定しておくと値を指定しなくても自動的にインクリメントしてくれる仕組みです。
SQL も一発で済むので楽ですね。
どんな値が入るか事前に知る必要がある場合はシーケンス発生用のテーブルを定義する必要がありそう。

タグ : ,

最近仕事でちょくちょく触るので自宅サーバに MySQL を入れてみました。
PostgreSQL から移行します。

ので、メモ。

・MySQL(バイナリ版)のインストール
このテのソフトをバイナリからインストールしたのは初めてかも!?
楽ちんですね。

# cd /usr/local
# gunzip < mysql-5.0.41-osx10.4-i686.tar.gz | tar xvf -
# ln -s mysql-5.0.41-osx10.4-i686 mysql
# cd mysql
# chown -R mysql .
# chgrp -R mysql .
# scripts/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql data


・自動起動の設定。
/Library/StartupItems/ 以下にあるアイテムはシステム起動時に勝手に呼び出して起動してくれます。
# mkdir /Library/StartupItems/mysql
# cd /Library/StartupItems/mysql
# vi StartupParameters.plist
----------------------------------
{
Description = "mysql";
Provides = ("mysql");
Requires = ("Disks");
Preference = "Late";
Messages =
{
start = "Starting mysql";
stop = "Stopping mysql";
};
}
----------------------------------

# vi mysql
----------------------------------
#!/bin/sh

. /etc/rc.common

StartService ()
{
ConsoleMessage "Starting MySQL server"
su - mysql -c '/usr/local/mysql/bin/safe_mysqld -u mysql &'
}

StopService()
{
ConsoleMessage "Stopping MySQL server"
su - mysql -c '/usr/local/mysql/bin/mysqladmin -u root shutdown'
}

RestartService ()
{
StopService
StartService
}

RunService "$1"
----------------------------------

# pwd
/Library/StartupItems/mysql
# chmod +x mysql
# ls
StartupParameters.plist mysql
# SystemStarter start mysql
Checking disks
Starting mysqld daemon with databases from /usr/local/mysql/data
# SystemStarter stop mysql
STOPPING server from pid file /usr/local/mysql/data/***.pid
070905 17:48:53 mysqld ended


以上。
次回は PostgreSQL べったりの自家用掲示板アプリの移植で気がついたことを記します。

タグ :