ARCHIVE  ENTRY  COMMENT  TRACKBACK  CATEGORY  RECOMMEND  LINK  PROFILE  OTHERS
<< May 2010 | 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 >>
2016.02.05 Friday

スポンサーサイト

一定期間更新がないため広告を表示しています

2010.05.31 Monday

SEO対策

以前、計画したSEO対策を実施。
・タイトルにキーワードを含める
→含めた

・総単語数とキーワード出現率
→作品タイトルなど、検索してくれそうなキーワードを増やした
 フレームも廃止

・見出しタグにキーワードを含める
→作品タイトルを<h1>とし、レイアウトは崩さないようスタイルシートで調整

・サイト内被リンクを張る
→メニューからたくさんリンクしている

・ メタタグにキーワードを含める
→keyword属性を見直し、description属性を追加

・サイトマップページを用意する
→新規作成

google, yahooの巡回先URLを登録。

今日以前50日のアクセス数は67。
しばらく、様子を見る。
2010.05.27 Thursday

gmailでその他メールの送受信

会社メールをgmailで送受信できるよう設定した。
どこからでも見れて便利。

会社メールのみを見れるようアカウントは新しく取得した。

gmailにログインして、
設定→アカウントとインポート→pop3からのメールアカウントを追加
メールアドレスに送受信したいメールアドレスを入力し、次のステップ
ユーザ、パスワード、popサーバー、ポート番号を入力
「受信したメッセージのコピーをサーバーに残す」にチェックをし、アカウントを追加

※通常使用するメーラからもメールを受信できるようにしておいた。
他でメールを受信しても、受信メールを消さないようにすれば、両方からみることができる。
メールサーバの容量は充分らしいので、メールが残ることは特に気にしない。

引き続きsmtpの設定へ
ユーザ、パスワード、smtpサーバー、ポート番号を入力
「smtpサーバー経由で送信する(業務用のドメインにおすすめ)」をチェックし、アカウントを追加
確認メールが送信されるので、受信し、リクエストを承認する。

追加したメールアドレスを「デフォルトに設定」にすると、メール作成時のデフォルトメールアドレスになる。
2010.05.27 Thursday

XML-RPCを使ったweb api通信

JavaでのXML-RPCを使用したweb api通信について調べた。
web api通信には「Apache XML-RPC」を使用。

■前提条件
http://ws.apache.org/xmlrpc/
から以下をダウンロード。
「apache-xmlrpc-3.1.2-bin.tar.gz」
以下のjarファイルを使用。
ws-commons-util-1.0.2.jar
xmlrpc-client-3.1.3.jar
xmlrpc-common-3.1.3.jar
xmlrpc-server-3.1.3.jar

■呼び出し
設定クラスにURLを設定し、クライアントクラスに設定。
クライアントクラスの実行メソッドで実行。
引数にメソッド名と引数(ArrayListクラス)を渡す。

■戻り値
結果はObjectを返すが、戻り値の型により、キャストする。
web api戻り値の型とJavaでキャストする型の対応を以下に記す。
string→String
int→Integer
boolean→Boolean
struct→HashMap
array of 〜→Object[]にキャストして、要素をそれぞれの型にキャスト
以上

■サンプルコード
郵便専門ネットのweb-apiを使用。

---------- ここから ----------
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;

/**
 * webapiテストクラス
 *
 */
public class Main {
// webapi url
static String url = "http://yubin.senmon.net:80/service/xmlrpc/";
/**
* @param args
*/
public static void main(String[] args) {
try {
// 
System.out.println("都道府県コード取得 戻り値:文字");
getPrefName("01");
System.out.println("経緯度取得 戻り値:文字配列");
getGeoaddress("1560055");
System.out.println("郵便番号存在チェック 戻り値:boolean");
isPostcodeExist("1560055");
System.out.println("取得可能データ件数 戻り値:int");
getCount();
System.out.println("住所取得 戻り値:構造体");
getAddress("1560055");

} catch (Exception ex) {
ex.printStackTrace();
}
}
public static void getAddress(String postCode) throws Exception {
// webapi method
String method = "yubin.fetchAddressByPostcode";
// xmlrpc設定
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(url));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
// パラメータ
List<String> paramList = new ArrayList<String>();
paramList.add(postCode);
// 実行
Object[] ret = (Object[])client.execute(method, paramList);

// 結果取得
HashMap map = (HashMap)ret[0];
Iterator iterator = map.keySet().iterator();
while(iterator.hasNext()) {
String key = (String)iterator.next();
Object value = map.get(key);
System.out.println(key + ":" + value);
}
}
public static void getCount() throws Exception {
// webapi method
String method = "yubin.getMaxFetchCount";
// xmlrpc設定
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(url));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
// パラメータ
List<String> paramList = new ArrayList<String>();
// 実行
Integer ret = (Integer)client.execute(method, paramList);

// 結果取得
System.out.println(ret);
}
public static void isPostcodeExist(String preCode) throws Exception {
// webapi method
String method = "yubin.postcodeExists";
// xmlrpc設定
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(url));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
// パラメータ
List<String> paramList = new ArrayList<String>();
paramList.add(preCode);
// 実行
Boolean ret = (Boolean)client.execute(method, paramList);

// 結果取得
System.out.println(ret);
}
public static void getPrefName(String preCode) throws Exception {
// webapi method
String method = "yubin.getPrefName";
// xmlrpc設定
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(url));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
// パラメータ
List<String> paramList = new ArrayList<String>();
paramList.add(preCode);
// 実行
String ret = (String)client.execute(method, paramList);

// 結果取得
System.out.println(ret);
}
public static void getGeoaddress(String postCode) throws Exception {
// webapi method
String method = "yubin.postcodeToGeocode";
// xmlrpc設定
XmlRpcClientConfigImpl config = new XmlRpcClientConfigImpl();
config.setServerURL(new URL(url));
XmlRpcClient client = new XmlRpcClient();
client.setConfig(config);
// パラメータ
List<String> paramList = new ArrayList<String>();
paramList.add(postCode);
// 実行
Object[] ret = (Object[])client.execute(method, paramList);

// 結果取得
for (int ii = 0; ii < ret.length; ii++) {
System.out.println((String)ret[ii]);
}
}
}
2010.05.26 Wednesday

PostgreSQLインストール

CentOS5.5にPostgreSQLをインストールした。
とりあえず、
インストール、ユーザ作成、tcpip経由での接続
まで。

・PostgreSQLインストール
アプリケーション→アプリケーションの追加と削除
ブラウズ→サーバー→PostgreSQLサーバーをチェック
適用ボタン押下。

・データベース起動
sh /etc/rc.d/init.d/postgresql start
(要root権限)
/usr/bin/pg_ctl start

・データベース停止
sh /etc/rc.d/init.d/postgresql stop
(要root権限)
/usr/bin/pg_ctl stop

・データベース再起動
sh /etc/rc.d/init.d/postgresql restart

・データベースプロセス確認
ps -ef | grep postmaster
/usr/bin/postmasterがあること。

・iptables設定(サーバのポートをあける)
/etc/sysconfig/iptables

以下を追加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 5432 -j ACCEPT

iptable再起動
/etc/rc.d/init.d/iptables restart

・サーバファイアウォール設定
システム→管理→セキュリティレベルとファイヤーウォールの設定
postgresqlのポート番号5432を追加。

・データベース作成
createdb [データベース名]

・データベース確認
psql -l

・psql(データベース接続)
psql -U [ユーザ名] [データベース名]

・psql終了
¥q

・ユーザ作成
create user [ユーザ名];

・ユーザ確認
select usename from pg_user;

・パスワード設定
alter user [ユーザ名] with encrypted password '[パスワード]';

・ユーザログイン方法設定
/var/lib/pgsql/data/pg_hba.conf
methodをident sameuser→md5に変更。(暗号化パスワード要求)
CIDR-ADDRESSをクライアントIPアドレスを含む値に変更。
0.0.0.0/0でどのクライアントも許可。

・ネットワーク設定(localhost以外からのアクセスを許可する)
/var/lib/pgsql/data/postgresql.conf
listen_address = '*'に変更。
port = 5432に変更。

作成ユーザでのデータベース接続、テーブル作成、外部からのodbc接続を確認。

参考
2010.05.25 Tuesday

CentOS5インストール

会社で業務の検証のためにCentOS5をインストールした。
新しいPCは使わせてもらえなくて、VMware Playerを使用した。
VMware Playerとは、windows上に仮想環境を構築するフリーのソフトウェア。
なので、windowsのVMware Player上でCentOSを動作させることができる。
ftpやtelnetなんて、使えて普通だったので、一からやると、設定が難しい。
unix系の開発もしばらくしていなかったので、コマンドも忘れている。。
おおまかな手順を記す。

■環境構築
CentOS5.5
http://ftp.osuosl.org/pub/centos/5.5/isos/i386/

easyVMX
http://www.easyvmx.com/

VMware Player
http://www.vmware.com/jp/products/player/

■OSインストール手順
・OSをダウンロード
CentOS5.5
http://ftp.osuosl.org/pub/centos/5.5/isos/i386/

・VMware Player起動ファイル作成
easyVMXのサイトへ。
http://www.easyvmx.com/
SuperSimpleを選択。

以下を入力。
Virtual Machine Name:CentOS5
Select GuestOS:Redhat Enterprise Linux 4
Memory Size:320MB
# of CPUs:1CPU
Disk #1:Disk Size 4.7GB(Fits on a DVS)

Create Virtual Machineを押下し、zipファイルをダウンロード。

・VMware Player起動ファイル設定
CentOS5.vmxファイルの「ide1:0.deviceType」と「ide1:0.fileName」を編集。

# Settings for physical CDROM drive 
ide1:0.present = "TRUE" 
ide1:0.deviceType = "cdrom-image" 
ide1:0.startConnected = "TRUE" 
ide1:0.fileName = "C:¥VMWare¥OS¥CentOS5¥CentOS-5.1-i386-bin-1of6.iso" 
ide1:0.autodetect = "TRUE"

・インストール
VMwareを起動し、「開く」からCentOS5.vmxを選択。

・OSの設定
参考:http://www.yocchi01.com/~CentOS5/install/install03.html

・telnetインストール
コマンドラインから
yu install telnet-server

・telnetの設定
参考:http://blog.goo.ne.jp/j-watanuki/e/ad19bf558f373b46016115a581396617

・ftpインストール
デスクトップから
アプリケーション→ソフトウェアの追加/削除を選択。
ブラウズタブから
サーバー→FTPサーバーを選択し、適用。

SELinux(セキュリティ設定)を有効にしていると接続は出来るが、ファイルの送受信ができないので、無効化した。
参考:http://kajuhome.com/security_trouble.shtml#n02-02

・ftpの設定
参考:http://www.yocchi01.com/~CentOS5/server/server04.html

参考:http://fnya.cocolog-nifty.com/blog/2008/01/vmware_player_c_8f7f.html

2010.05.17 Monday

free

「週刊ダイヤモンド2010年3/13号」FREE特集を読んだ。


話題のクリス・アンダーソン著「フリー 〈無料〉からお金を生みだす新戦略 」が読みやすくまとまっているということで、買って読んだ。
主にインターネットを通じて、無料のサービスを受ける機会が非常に多くなり、身近な話題として興味を持った。

無料のビジネスモデルについて
■フリー1 直接的内部相互補助
無料製品を提供し、それに関連する別の製品は有料とする。
・マクドナルドの無料コーヒー
・ジレットのカミソリ(カミソリ本体を無料配布し、替刃を継続的に買ってもらう)
など

■フリー2 三社間市場
無料サービスに有料で広告し、無料サービスを利用するユーザが広告から製品を買う。
・google検索のスポンサーリンク
・フリーペーパー(R25とか)
・街頭ティッシュ配布
など

■フリー3 フリーミアム
有料のプレミアム版の利用者が無料利用者をカバーする。
・yahoo!の通常会員は無料、プレミアム会員は有料
・無料のオンラインゲーム、アイテムは有料
など

■フリー4 非貨幣市場
注目や評判を得るために無料の労働を提供する。
・アマゾンのレビュ
・ウィキペディア
・youtube
など

いま、無料は溢れている。とても面白い。
フリーのビジネスモデルはユーザ指向で、良心的なので、関心あるものは積極的に使ってみたいと思う。

とりあえず、おかき無料カフェに行ってみたい。
http://r.tabelog.com/tokyo/A1313/A131301/13098204/
2010.05.17 Monday

Jasper Reports

java帳票出力について調査。

JasperReports
米Jaspersoft Corporationが開発、公開しているオープンソース。
ライセンスはLGPL V3。

iReportという帳票デザイナを使用し、帳票テンプレートを作成し、JasperReportsで帳票出力する。
帳票は、pdf, html, xls, csv, xml形式などがあり、直接、プリンタ出力することも可能。

■入手先
iReport
http://jasperforge.org/projects/ireport

iReport(日本語訳版)
http://sourceforge.jp/projects/oss-ja-jpn/releases/47233

Jasper Reports
http://jasperforge.org/projects/jasperreports

■利用方法
iReportで簡単帳票作成
http://www.bbreak.co.jp/technique/doc/ireport/iReport_webdb.pdf

api仕様(英語)
http://jasperreports.sourceforge.net/api/index.html

ExCella Reportsと比較して、
帳票の出力形式が多い。
デザイナが高機能っぽいが、習得に時間がかかりそう。
ドキュメント、資料の類が少ない。

2010.05.17 Monday

LPGL v3

Javaで帳票出力するためのオープンソースの選定で、
・ExCella Reports
・Jasper Reports
を採用候補とすることになり、ライセンスを調べた。

ともにLPGL v3。
LPGLとは、公開ソースを改変しないで使用すれば、独自開発ソースを公開しなくていいので、ライブラリをそのまま使えば、使用に制限はない。

IT用語解説
http://www.sophia-it.com/content/LGPL

原文
http://www.gnu.org/copyleft/lesser.html

原文の日本語訳
http://sourceforge.jp/magazine/07/09/05/017211

2010.05.15 Saturday

SEO 検索上位サイトの法則

「SEO 検索上位サイトの法則」を読了した。

google、yahooでのSEO対策が記述されていて、とりあえず、以下を試してみることに決めた。
・タイトルにキーワードを含める
・総単語数とキーワード出現率
・見出しタグにキーワードを含める
・サイト内被リンクを張る
・メタタグにキーワードを含める
・サイトマップページを用意する

また、googleウェブマスターツール、yahoo!サイトエクスプローラーという各検索エンジンでのインデックス(検索のために登録されているページ)数を確認できるツールの説明があり、実施してみたところ、googleはクロールエラー(登録されていない)、yahooは4ページと貧弱なものだった。
しかも、トップページはなかった。アクセス増えないわけだ。。
SEO対策をし、インデックス数とアクセス数を確認して効果を見ていこうと思う。
効果を見て、本書を評価したい。
2010.05.13 Thursday

Excella Reports

java帳票出力について調査。

Excella Reports
株式会社ビーブレイクシステムズが開発、公開しているExcella Reportsというオープンソース。
ライセンスはLGPL v3。
http://excella-core.sourceforge.jp/

excelファイルでテンプレートを作成し、Javaで値をバインドしたexcelファイルを出力する。
さらに、それをopenofficeのpdf変換機能を利用し、pdfファイルで出力することもできる。

リファレンス
http://excella-core.sourceforge.jp/excella-reports/reference/index.html

openofficeでpdf変換するときに、openofficeを起動、停止するが、このときにopenofficeが起動した状態だとエラーになってしまうので、注意。
http://groups.google.co.jp/group/excella/browse_thread/thread/33065c2476e21867

openofficeをインストールする必要があり、pdfファイル変換はそこそこの時間がかかる。


同プロジェクトには、以下のものもあった。
・Excella Core
javaからexcelファイルを読み込み、値を取得する。
http://excella-core.sourceforge.jp/excella-core/reference/index.html

・Excella Trans
javaからexcelデータをSQLやO/Rマッピングツールで使用できるようなエンティティに変換する。
http://excella-core.sourceforge.jp/excella-trans/reference/index.html

Powered by
30days Album
PR