2009年12月31日木曜日

TiltViewerを設置

SimpleViewerというところで公開している物は名前の通りシンプルにできているので個人的にも好きです。

そこで公開されているソースコードを使用するとFlickr上にある全世界に公開されている写真についているタグを集めて指定したタグの写真を表示させるサイトが構築できます。写真へのタグ付けはFlickrユーザーが独自に決めた物なので関連している情報と捉えるべきです。またタグは自分の好きなキーワードを指定できるので、とりあえず英語の名詞がたくさんあるだろうと予測して”wine”にしてみました。


2009年12月9日水曜日

JDBCドライバの接続確認

JDBCドライバとMySQLの接続テスト


public class Dbconnect {
public static void main(String args[]) {
Connection conn = null;
try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection("jdbc:mysql://localhost/データベース名", "root", "パスワード入力");
System.out.println("MySQL と接続しました。");
} catch (SQLException e) {
System.out.println("MySQL との接続失敗");
System.out.println("SQLExceptionは " + e.getMessage());
System.out.println("SQLStateは " + e.getSQLState());
System.out.println("VendorError: " + e.getErrorCode());
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (conn != null) {
conn.close();
conn = null;
System.out.println("MySQLとの接続を切断しました");
}
} catch (Exception e) {
}
}
}
}

2009年11月20日金曜日

Windows server 2003のインストール失敗を修正したところ

Dell Power Edge T105にWindows server 2003を入れたら起動ディスクを選択しなさい、というメッセージが出てきたのを、きちんとOSから起動させるための修正方法。

まず失敗したと思われるインストール済のサーバーのCドライブ直下にある3つの起動するために使用するファイルをUSBメモリなどにバックアップをとっておく。
ファイル名:
NTDETECT.COM
ntldr
boot.ini

boot.iniをメモ帳で開とこのように記述されている。
[php]
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003 Standard x64 Edition" /noexecute=optout /fastdetect
multi(0)disk(0)rdisk(0)partition(3)\WINDOWS="Windows Server 2003 Standard x64 Edition" /noexecute=optout /fastdetect
[/php]


partition(3)というのが前にインストールを失敗した原因の記述部分です。なので、その一行を消すと、起動ディスク(HDD内)をひとつだけ読み込んで起動してくれることになります。

※通常だと隠しファイルは表示されていないので、フォルダのツール→フォルダオプションから表示タブの「すべてのファイルとフォルダを表示する」にチェックすることと一番下にある「保護されたオペレーションシステムファイルを表示しない(推奨)」のチェックを外すことを行う。

2009年11月7日土曜日

独習デザインパターンから

デザインパターンとは
パターンは繰り返し使用される。
パターンは経験を通じて発見された物である。
パターンは問題に対する解決策である。
パターンには適用箇所が存在する。
パターンは様々に粒度で存在する
パターンは理解の単位である。
パターンは伝達の単位である。

ソフトウェアにおけるパターン
・アーキテクチャパターン(MVC・・・Model、 View、 Controller)
・アナリシスパターン(パーティパターン)
・デザインパターン
・イディオム(特定のプログラミングに特化したパターン)

デザインパターンの概要
デザインパターンのメリット
・共通の語彙を提供できる
・メリット・デメリットを把握されている
・設計の考察を与えてくれる
・設計の目標を与えてくれる
・問題の解決策を与えてくれる
・適用できる範囲が広い
・優れた設計を効率的に習得できる





株式会社テクノロジックアート

翔泳社

発売日:2004-01-24





例をJavaのソースコードと一緒に列挙している。使用頻度の高い順に章立てされており身近なシステムの例をあげているため分かり易い。Javaの基礎を理解している人向けだが、そうでなくてもUML図も盛り込まれているのでデザインパターンを理解する上では大変分かり易いと思う。

新鮮度高な情報入手

最近ライフログという言葉を良く目に(耳に)するようになった。
つぶやくのに、つぶやきになっていない場合を考えてしまう。
つぶやき以上の情報をつめこんで背伸びして書き込むことはないけど。

基本5W1Hを短いセンテンスで宣っていく。
そしてプラスアルファで「属性」を追加する。
この「属性」はブログなどからきているのだと思う。

情報入手はフォローしている人のつぶやきから新鮮度高な状態で即時入手ができる。本当にすごいと思う。

wikipediaとtwitterの比較を考えて日記に書きたい。

寺田 眞治
インプレスR&D
発売日:2009-10-20

2009年10月31日土曜日

[英語]言い換え練習「彼はそのビジネスで成功した。」

「彼はそのビジネスで成功した。」(過去形)という文章を即座にいいかえできるか考えたところ全くできなかったのでおさらいしておく。

He succeeded in the business.  succeedは動詞で助動詞(couldなど)がきたときはsucceedという原型になる。(下記参照)

He was successful in the business. successfulは形容詞

He made a success in the business. successは名詞のためを忘れずにつける。

so muchなどの言葉で強弱をつける場合は、成功する(succeed in~)の動詞であるsucceed と 前置詞であるinの間に挿入する。

He succeeded so much in the business. となる。

助動詞を入れた場合は、それぞれ下記のようになる。

He could succeed in the business.

He could be successful in the business.

He could make a success in the business.

2009年10月29日木曜日

TomcatでHelloWorld

サーブレット&JSPの学習をはじめました。まずHelloWorldから。

まずディレクトリ構造をこのように設定しておく。

次に↓のディレクトリに



ソースコードは↓とします。
[php]

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

public class HelloWorld extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{

PrintWriter out = response.getWriter();
out.println("");
out.println("HelloWorld");
out.println("");
out.close();
}
}

[/php]

そしてコンパイルをおこなう

[php]
javac -classpath /usr/local/tomcat/lib/servlet-api.jar HelloWorld.java
[/php]
なにも出なかったら成功です。


次はjavaファイルを表示させるための設定ファイルを用意します。


そしてweb.xmlを作成したら、中を↓のように記載します。


[php]

PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">



hello
HelloWorld




hello


/xxxx




[/php]

次にTomcatを再起動します。
/etc/rc.d/init.d/tomcat restart

再起動ができたら、ファイルを作成したアドレスにアクセスして
結果を確認します。

http://192.168.3.7/tomcat/hogehoge/xxxx

するとこのような画面が確認できます。


む、なんか<html>が表示されてしまっている。これはよくない。が、まあいいとするw

2009年10月25日日曜日

STATIONARY HACKS!

自称、文房具好きということで購入しました。
ほしいアイテムがたくさんある。
この部屋の乱雑さを改善する動機付けになにか入手してみようか・・・。
土橋 正,小山 龍介
マガジンハウス
発売日:2009-10-01

2009年10月20日火曜日

indexesの設定(GAE-J)

Google App Engine for JAVA のindexesの設定方法がわかったので備忘録として残しておく。

わたしはIDEをeclipseでといいますか、ほとんどがEclipseをご使用のことでしょう。
さてファイル作成手順です。
ファイル→新規(N)→表題なしのテキスト・ファイル→ブランクのファイルの新規作成を行います。
[php]

autoGenerate="false">





[/php]

その後、↑上のソースコードをコピペします。
今度は保存。

ファイル→別名保管→”親フォルダを入力または選択(E):"
に現在作成中のEclipseのディレクトリの
"WEB-INF/"の下に"datastore-indexes.xml"という名前で
"ファイル名(F):"を入力し、OKボタンを押下する。

そしてDeployす。

するとどうでしょう。
このようなメッセージがコンソール上に現れると成功です!!
Compiling module org.osrk.nextschool.App_nextschool
Compiling 6 permutations
Permutation compile succeeded
Linking into C:\Users\SEIJI\workspace\app-nextschool\war
Link succeeded
Compilation succeeded -- 11.986s
Creating staging directory
Scanning for jsp files.
Scanning files on local disk.
Initiating update.
Cloning 31 static files.
Cloning 55 application files.
Uploading 2 files.
Uploaded 1 files.
Uploaded 2 files.
Deploying new version.
Will check again in 1 seconds
Will check again in 2 seconds
Will check again in 4 seconds
Closing update: new version is ready to start serving.
Uploading index definitions.
Deployment completed successfully

2009年10月8日木曜日

Servlet&JSPのリスト表示を許可する方法

[php]

default
org.apache.catalina.servlets.DefaultServlet

debug
0


listings
false

1

[/php]
10行目のparamをfalseからtrueへ変更します。
[php num=10]true[/php]

するとリスト内の格納されているファイル類が表示される。

2009年10月1日木曜日

ディレクトリー内部のファイル類を表示

ディレクトリ内部を表示させる方法

[java]
import java.io.*;
public class FileTest2 {
public static void main(String args[]){
File cdirectory = new File("/home/admin/Desktop/JAVA_training");
File filelist[] = cdirectory.listFiles();
for (int i = 0 ; i < filelist.length ; i++){
if(filelist[i].isFile()){
System.out.println("[F]" + filelist[i].getName());
}else if(filelist[i].isDirectory()){
System.out.println("[D]" + filelist[i].getName());
}else {
System.err.println("[?}"+filelist[i].getName());
}
}
}
}
[/java]
ディレクトリの中身を参照する
[java num=4]
File cdirectory = new File("/home/admin/Desktop/JAVA_training");
[/java]
thanks to:http://www.javadrive.jp/start/file/index2.html

2009年9月19日土曜日

Excelのindex関数とmatch関数の使用方法

=IF(SUBTOTAL(3,範囲)=COUNTA(範囲),"",INDEX(範囲,MATCH(1,$範囲セル横に1をたてた範囲,0)))

thanks to: http://blog.texnos.net/?eid=26712

こんなに便利な使い方があったのを知った収穫として記しておく。(毎回使う物でないので備忘録としても)
使用方法は、エクセルで リストのオートフィルタで選択した縦と横の項目に合致するデータの抽出です。
IF文を使用することによって、合致したデータが参照しているか否かの確かめ算ができます。
SUBTOTALの"3"は、COUNTA関数と同じ機能を指すので、IF文で引数が合致しない場合は空白を返すことになります。
プルダウンのリストにしておけば何かの早見表に活用することができます。

=IF(SUBTOTAL(3,範囲)=COUNTA(範囲),"",INDEX(範囲,MATCH(1,$範囲セル横に1をたてた範囲,0)))

thanks to: http://blog.texnos.net/?eid=26712

2009年9月14日月曜日

rpmパッケージがどこにインストールされているか確認

rpmパッケージをインストールしたのだけれど、はたしてどこにそれらのファイルが格納されているか追跡するコマンド。
-qsオプションを付けてrpmコマンドを実行すると、インストールしたファイルのフルパスとインストールの状態を知ることができる。

  • 通常(normal)

  • インストールされていない(not installed)

  • 置き換えられている(replaced)



[root@nexserver db]# rpm -qs samba
通常          /etc/logrotate.d/samba
通常          /etc/pam.d/samba
通常          /etc/rc.d/init.d/smb
通常          /etc/samba/smbusers
通常          /etc/sysconfig/samba
通常          /usr/bin/mksmbpasswd.sh
通常          /usr/bin/smbcontrol
通常          /usr/bin/smbstatus
通常          /usr/bin/tdbbackup
通常          /usr/bin/tdbdump
通常          /usr/bin/tdbtool
通常          /usr/lib/samba/vfs
通常          /usr/lib/samba/vfs/audit.so
通常          /usr/lib/samba/vfs/cap.so

以下省略

thanks to: http://www.atmarkit.co.jp/flinux/rensai/linuxtips/195ditrpmfile.html

Javaアーカイバーの環境設定(CIA編)

「集合知インアクション」のサンプルをいろいろと試すにあたり、自宅サーバーのJAVAの環境設定ができていないことに気がつき修正を行った。

まず.jarファイルの格納ディレクトリが、ここ( /usr/local/CIA/lib )にしているので、環境変数の設定を行う。

[root@nexserver conf]# vi /etc/profile ←該当のファイルを開く
開いたら、JAVA_HOMEの後ろに” : ”を入れて:$JAVA_HOME/usr/local/CIA/lib と追加する

export JAVA_HOME=/usr/java/jdk1.6.0_13
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.ja:$JAVA_HOME/usr/lo
cal/CIA/lib



こんな感じです。

ESCキーを押して編集モードから復帰させ、「:wq」を入力して保存します。

それで、編集した設定を有効にするためのコマンドを入力します。

[root@nexserver lib]# source /etc/profile

これで設定が完了。

試してみます。

JAVAのアーカイバーの移動

javaのARchiver(アーカイバー)を一カ所にまとめておいた方がよいと思い、一カ所にアーカイバーを集合させた。

その前にJAVAのディレクトリがどこにあるか把握しておくことが必要だったから、
whereis java で確認。
[root@nexserver java]# whereis java
java: /usr/bin/java /etc/java /usr/lib/java /usr/share/java

これらの中身を確認。
/usr/bin/java ・・・binaryファイル
/etc/java  ・・・ font.properties java.conf jpackage-release security が入っている。
/usr/lib/java  ・・・空っぽ
/usr/share/java ・・・jarがたくさん入っている。

なので/usr/share/java に集合させることに。

使用するjarは、CIAのもので
commons-codec-1.3.jar
commons-httpclient-3.0.1.jar
commons-logging-1.1.jar
lucene-core-2.2.0.jar
weka.jar
xercesImpl-2.6.2.jar

があるので、これらを

[root@nexserver lib]# mv *.jar /usr/share/java

で移動しました。
それできちんと移動できているか確認
[root@nexserver lib]# cd /usr/share/java
[root@nexserver java]# ls -a
. gcj-endorsed tomcat5-jsp-2.0-api.jar
.. gnu-classpath-tools-gjdoc-0.7.7.jar tomcat5-servlet-2.4-api-5.5.23.jar
antlr-2.7.6.jar gnu-classpath-tools-gjdoc.jar tomcat5-servlet-2.4-api.jar
antlr.jar hsqldb-1.8.0.9.jar weka.jar
bsf-2.3.0.jar hsqldb.jar xalan-j2-2.7.0.jar
bsf.jar jaxp_parser_impl.jar xalan-j2-serializer-2.7.0.jar
bsh-1.3.0.jar jaxp_transform_impl.jar xalan-j2-serializer.jar
bsh.jar jsp.jar xalan-j2.jar
com-sun-javadoc-0.7.7.jar jspapi.jar xerces-j2-2.7.1.jar
com-sun-javadoc.jar libgcj-4.1.1.jar xerces-j2.jar
com-sun-tools-doclets-Taglet-0.7.7.jar libgcj-4.1.2.jar xercesImpl-2.6.2.jar
com-sun-tools-doclets-Taglet.jar libgcj-tools-4.1.1.jar xml-commons-apis-1.3.02.jar
commons-codec-1.3.jar libgcj-tools-4.1.2.jar xml-commons-apis.jar
commons-httpclient-3.0.1.jar lucene-core-2.2.0.jar xml-commons-resolver-1.1.jar
commons-logging-1.1.jar servlet.jar xml-commons-resolver.jar
dom3-xerces-j2-2.7.1.jar servletapi5.jar
dom3-xerces-j2.jar tomcat5-jsp-2.0-api-5.5.23.jar

無事に移動できているようです。

2009年9月10日木曜日

新デスクトップPCが来た!

新しいデスクトップPC(5年半ぶりに一新)がきたので設定したソフト類を
記載しておく。前に使用していたのがXPだったので、システム設定のバックアップを

リストアしても大丈夫かどうかわからなかったので、全部1つずつインストールすることにした。
まず
OSはWindows VISTA Home edition(Windows 7へのVerUp付)
でインストールしたソフト類

  • OFFICE2007(Word、Excel、PowerPoint、ACCESS、Publisher)

  • ATOK2009(ロングマン英英辞典/広辞苑)

  • firefox(ブラウザー)

  • Skype

  • TeraTermPro(ターミナルエミュレーター)

  • 秀丸(テキストエディター)

  • LhaPlus(解凍・圧縮ソフト)

  • Becky!(メーラー)

  • Adobe Flash Player

  • Adobe Digital Editions

  • JDK


とりあえずこの辺りまで設定を行っておけば受講はできると思う。

2009年9月7日月曜日

デスクトップにショートカットアイコンを作成

ショートカットアイコンを使って日々の操作を簡略化しよう!
毎回、やろうやろうと思っていてなかなかできなかったこと。
ビスタの場合は、スリープを多用することを前提にされているから
スリープは最低限作成しておくことにした。

1.画面上で右クリック→「新規作成」→「ショートカット(S)」

2.「項目の場所を入力してください(T)」→”以下のコマンドを選択して入力します”

3.アイコンを選ぶ。名前を適当に編集する。
例)スリープ→SLEEP (ただ英語にしただけでした)


ログオフ:
shutdown -l -f

ロック:
rundll32 user32.dll,LockWorkStation

再起動:
shutdown -r -f -t 0

スリープ:
rundll32 PowrProf.dll,SetSuspendState

シャットダウン:
shutdown -s -f -t 0

thanks to : http://mbsupport.dip.jp/watson/sci_2.htm

2009年9月5日土曜日

日本ソフトウェア学会講座一日目

慶應大学日吉キャンパスにて、日本ソフトウェア学会主催の大学基調講座が開催された。
8月に募集がかけられた時に速効で申し込みをした。この講座はゼミに入ってから半期間学習していた内容だったため、春学期のまとめという意味で参加したかったのだ。今日はセッション3本と明日1本と実習1本で内容盛りだくさんだった。と全て過去形で記載しました、

2009年9月4日金曜日

vistaにperlをインストールしたメモ

セミナーの最後のセッションで実習が行われる際にcかperlを利用するとのことだったのでperlのインストールする過程を記す。

ここから最新のバージョンを好きなフォルダにダウンロードする。
-> http://www.activestate.com/activeperl/
※ちなみに私は、c:perlというフォルダに格納しました。

「スタート」->「すべてのプログラム」->「アクセサリ」でメニューを開き、「コマンドプロンプト」の上で右クリックし、「管理者として実行」を選択する。

「ユーザーアカウント制御」の警告が出るので、「続行」をクリックする。

コマンドプロンプトが↓のように表示されるので
C:\Windows\system32>

パスを含めたコマンドを入力してインストールを開始する。

msiexec.exe /i C:\perl\ActivePerl-5.10.1.1006-MSWin32-x86-291086.msi

こんな感じになります。
C:\Windows\system32>msiexec.exe /i C:\perl\ActivePerl-5.10.1.1006-MSWin32-x86-291086.msi

GUIが始まるのでひととおり、次へ、OKとかポジティブな回答をする。

インストールが完了したら、
メモ帳を開いて

print "Hello World !!" ;

と入力後、hello.plというファイル名で保存。

コマンドプロンプトで、cd c:perlというインストールしたフォルダに移動して、

このように入力する。

C:\perl>perl -cw hello.pl
hello.pl syntax OK

syntax OKとメッセージができたら
と入力。

C:\perl>perl hello.pl
Hello World !!

できた!!

thanks to:http://www.aconus.com/~oyaji/www/active_perl_win.htm

2009年8月31日月曜日

統計学の復習

今日、会社のセミナーで計量値の検定、推定というセミナーがあったので自費出張で参加してきた。少しは覚えているだろうと思いきや、全く覚えておらず挙げ句の果てには体温上昇して眠くなってきた。復習しなくては痛感した次第であった。まもなく学校が始まるとそれどころではなくなるのでt検定、f検定、分散分析までやれないといけないのだろうと。さて。

▼基本統計量とは
▽平均
▽標準誤差
▽中央値(メジアン)
▽最頻値(モード)
▽標準偏差
▽分散
▽尖度
▽歪度
▽範囲
▽最小
▽最大
▽合計
▽標本数

である。これらはExcelの分析ツールの基本統計量で一括表示させる事が出来る。

■基本統計量のツールを表示させる方法
[ツール]→[アドイン]→[分析ツール]と[分析ツールVBA]→[OK]

■基本統計量の求め方
[ツール]→[分析ツール]→[データ分析]→[基本統計量]→[OK]
→[基本統計量]ボックスの[入力範囲]に全データを範囲指定し、[出力オプション]→[統計情報]→[OK]

これで上記の情報が瞬間で表示される。
これらが表示されたとしてもそれぞれのデータの意味が
分からないといけないので、そこも説明できるようにしておく。

2009年8月21日金曜日

サイバービア

読書メモ

マーク・グラノヴェッター(アメリカの社会学者)は
マーク・グラノヴェッター(アメリカの社会学者)

人々との強い繋がりによって互いの個性が尊重され、コミュニティでの暮らしが円滑になることは否定しない。

遠く離れたノード間の弱い繋がりも、一見すると届きそうにないところにまで情報を伝達するのに役立つからだ。

貧しい人々は情報を得る為に強い繋がりに頼りすぎ、弱い繋がりをないがしろにしがちだという。だからこそ、こうした人々は貧困から抜け出せない。という。

人々との強い繋がりによって互いの個性が尊重され、コミュニティでの暮らしが円滑になることは否定しない。遠く離れたノード間の弱い繋がりも、一見すると届きそうにないところにまで情報を伝達するのに役立つからだ。(中略)貧しい人々は情報を得る為に強い繋がりに頼りすぎ、弱い繋がりをないがしろにしがちだという。だからこそ、こうした人々は貧困から抜け出せない。

といっている。

第一章「ループ」
第二章「仲間(ピア)」
第三章「つながり」
第四章「ネットワーク効果」
第五章「仲間の圧力」
第六章「非線形(ノンリニア)」
第七章「多重生」
第八章「フィードバック」
第九章「ネットワーク障害」

サイバービア ~電脳郊外が“あなた”を変える

2009年8月15日土曜日

cygwinの日本語設定

windows VISTA上でのcygwin設定の忘れないポイント。

▽cygwinの日本語化
* /etc/profile に以下の項目を付け加えます。

export LANG=ja_JP.SJIS
export TZ=JST-9
export JLESSCHARSET=japanese-sjis
alias ls='ls --show-control-chars --color -F'

thanks to http://matanet.ath.cx/cs/cygwin/

▽SJISの環境設定(/home/seiji)

.bash_profile
export TERM=vt100
export LANG=ja_JP.SJIS
export LESSCHARSET=japanese-sjis

.bashrc
alias ls='ls --show-control-chars --color=auto'
alias ct='cygterm &'
function ie {
echo /cygdrive/c/Program\ Files/Internet\ Explorer/IEXPLORE "$(cygpath -w $PWD)\\$1"
/cygdrive/c/Program\ Files/Internet\ Explorer/IEXPLORE "$(cygpath -w $PWD)\\$1" &
}

上記のie関数を設定しておくことにより、XMLやXMLtableファイルをコマンド上から起動可能になる。
例) ie dat.xt #dat.xtをInternetExploreを利用して表示する。

.inputrc
set convert-meta off
set input-meta on
set output-meta on

.vimrc
set encoding=japan
set fileencodings=sjis

thanks to http://musashi.sourceforge.jp/cygwin/cygwin.html

cygwinを普通にインストールするとviエディタが付与されていないので、
再インストール時に、Editor内のvimの所にある"skip"を展開して、再インストールを開始する。
するとvimパッケージのみインストールされる。

thanks to http://programnet.hp.infoseek.co.jp/coloum/cygwin2.html

2009年8月7日金曜日

Java World Day 2009に参加して(1)

Java World Day 2009に参加してきた。セミナー内容と会場共に充実していた。
自分が特に気になったのは、Sun Microsystems社とスティルハウス社のセミナーだった。
忘れないうちに記しておく。

Sun Cloudアーキテクチャ

は以下の4項目の戦略が

  1. Conpute Service

  2. Virtual Datacenter経由での管理を行う。AWS EC2ににたAPIを提供している。
  3. Virtual DataCenter

  4. ドラッグ&ドロップにて構築済のコンポーネントを設計が可能。
    クラウドへ適用。
  5. Open API

  6. Project Kenaiというプロジェクトや各APIを提供。
  7. Storage Service

  8. WebDAV経由でファイル操作が可能。



Virtual Datacenterの設定手順:
1)WANとルーターが表示されている。
2)Hadoopをルーターのノードに必要数設定する。
3)WANとルーターの間にファイヤーウォールを設定する。
ここでグローバルIPを設定する。
4)最後にファイヤーウォールとルーターを接続する。
5)以上

2009年7月31日金曜日

The AWS Toolkit for Eclipse

Amazonのクラウドを利用する際のツールの紹介ページ

http://aws.amazon.com/eclipse/

eclipse_ec2_management
http://qurl.com/vmwmd

eclipse_simpleDB
http://qurl.com/yvz51

まず自宅環境で大きなデータを操作できるようになったら、
クラウド上にて実験してみたいと思う。それまで自宅環境でスイスイ操作できるよう繰り返し練習すべきである。

2009年7月30日木曜日

IPアドレス変更によるMRTG設定変更

自サーバからメールが来たので、確認したらmrtgで調査するIPアドレスとDNSの名前が違っているので確認せよという内容だった。
これも忘れそうなので書き記す。

Subject: Cron LANG=C LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file
/var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok
--
省略
--
Saturday, 25 July 2009 at 8:35: WARNING: Could not match host:'public@192.168.12.3:' ref:'Descr' key:'eth0'
SNMP Error:
no response received
SNMPv1_Session (remote host:"192.168.12.3" [192.168.12.3].161)
という内容は、mrtgでトラフィックを監視するときにサーバーのIPアドレスを入れておかなくてはならないが、先日、HUBを買い換えしたときに割り振られたIPが変更されていたのに変更していなかった為と思われる。

ファイルの箇所は
[root@nexserver mrtg]# pwd
/etc/mrtg
[root@nexserver mrtg]# vi mrtg.cfg ←(ファイル名と中の設定を変更)

Target[eth0]: \eth0:public@192.168.12.3: ←(IPアドレスを変更)

SetEnv[eth0]: MRTG_INT_IP="192.168.12.3"  ←(IPアドレスを変更)

MRTG_INT_DESCR="eth0" ←(該当のイサーネット名を確認)

### CPU Load Average ###
Target[cpu]: .1.3.6.1.4.1.2021.10.1.5.1&.1.3.6.1.4.1.2021.10.1.5.2:public@192.168.12.3 ←(IPアドレスを変更)
### Memory Free ####
Target[mem]: .1.3.6.1.4.1.2021.4.6.0&.1.3.6.1.4.1.2021.4.4.0:public@192.168.12.3 ←(IPアドレスを変更)
### Disk Used ####
Target[disk]: .1.3.6.1.4.1.2021.9.1.9.1&.1.3.6.1.4.1.2021.9.1.9.1:public@192.168.12.3 ←(IPアドレスを変更)

[root@nexserver mrtg]# /sbin/ifconfig ←(サーバーのIPアドレスを表示)

eth0 Link encap:Ethernet HWaddr ××:××:××:××:××:××
inet addr:192.168.3.7 Bcast:192.168.3.255 Mask:255.255.255.0
inet6 addr: fe80::214:22ff:fea0:a058/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:334508 errors:0 dropped:0 overruns:0 frame:0
TX packets:276980 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:69429620 (66.2 MiB) TX bytes:29140834 (27.7 MiB)
Interrupt:10

ということなので、IPアドレスを書き換えてApacheを再起動する。

192.168.12.3→192.168.3.7

しばらく時間が経ってからグラフを確認する。

JAVAの基本設定

ゼミの学習会で、Hadoopパッケージに含まれているJAVAと本家SUNのJAVAは全く違うところがあるそうなので
本家のJavaを利用する。とアドバイスを頂いた。
またTomcatもJavaのバージョン依存も関係してくるので基本的なことだけど忘れたら大変なので書き記しておく。

[root@nexserver ~]# javac -J-version ←(コンパイラのバージョン)
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)
[root@nexserver ~]# java -version ←(Javaのバージョン)
java version "1.6.0_13"
Java(TM) SE Runtime Environment (build 1.6.0_13-b03)
Java HotSpot(TM) Client VM (build 11.3-b02, mixed mode, sharing)

コンパイラとJAVAのバージョンは同じでなくてはいけない。

違った場合は、インストールし直す。ここを見ながら。 あとここも役にたった。

[root@nexserver ~]# vi /etc/profile ← 環境変数設定ファイルを編集
以下を最終行へ追加
export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

[root@nexserver ~]# source /etc/profile ← 環境変数設定を反映させる。(変更したファイル名をsourceで指定する)

2009年7月29日水曜日

CIAのdb作成(1)

mysql> show tables;
+-------------------+
| Tables_in_CIA |
+-------------------+
| mysqlicious |
| scuttle_bookmark |
| scuttle_tags |
| toxi_bookmark |
| toxi_bookmark_tag |
| toxi_tags |
+-------------------+
6 rows in set (0.00 sec)


mysql> show tables;
+----------------------------+
| Tables_in_CIA |
+----------------------------+
| days |
| folder |
| folder_item |
| item |
| item_metadata |
| item_review |
| item_type |
| mysqlicious |
| scuttle_bookmark |
| scuttle_tags |
| search_terms |
| tag_summary |
| tagging_source |
| tags |
| toxi_bookmark |
| toxi_bookmark_tag |
| toxi_tags |
| user |
| user_item_rating |
| user_item_rating_statistic |
| user_item_tag |
| user_metadata |
| user_search_term |
+----------------------------+
23 rows in set (0.00 sec)

2009年7月14日火曜日

Natural Language Processing

自然言語処理の基礎技術
・形態素解析
・・形態素解析(英語)
形態素とは語の不定形、語より小さい単位で意味を持つ最小の単位。文章の中で文法に従って形が定まっている語を”定形”と呼ぶ。文章はその語から成り立っている。語を、それを構成する形態素に分離する処理が形態素解析である。

・・形態素解析(日本語)
日本語は単語ではなく、文節が連なって文を構成しているので文節の形態素解析という。
日本語は膠着語という文法的分類に入れられる。
■コーパスからの語彙知識の獲得
1990年代までは、辞書の定義文や、人手による構文解析済みのコーパスが用いられていた。2000年代以降は言語取得の範囲拡大をし、新聞記事、Webから収集した言語テキストが用いられるようになった。

■共起知識の獲得
コーパス中の数単語程度の近さで共起する2つの単語の間の相互情報量を計算し、統計的な観点から意味のある言語現象を検出する。

■単語間の類似度の測定
「共起知識の獲得」の方法を発展させて、コーパスから主語/動詞/目的語の3項の組の類似性を測定し、相互情報量を類似度として計算した結果で、品詞の同義語を抽出する。

■推論規則・言い換えの獲得
同一の名詞を共起しやすい表現の類似度が高い多用な表現の共起の強さを相互情報量によって測定する。

■翻訳知識の獲得
相互情報量を用いた共起測定法において対訳テキストを情報源として二言語間の出現位置の相関が強いほど、その表現の組は対訳関係が強い可能性が高いといえる。

■未解析コーパス・Webからの獲得
WebのHTML言語からの箇条書きや表形式において、上位語、類義語、属性語が現れやすい。ヒューリスティックを利用して関連語を獲得する手法が提案されている。

■コーパスへの情報付与の自動化
nグラムモデルを用いた日本語形態素解析はある単語の生起のモデル化において、直前のn-1個の単語のみを考慮する培グラムモデルや直前の二単語のみを考慮するトライグラムモデルなどがある。

■意味的曖昧性解消
同意異義語の判別、訳語選択などの処理は分類器を用いて多義性をもつ語の前の文字列、形態素、係り受け関係にある形態素、同一文内の形態素、同一文書内の形態素などの情報が属性(素性)として用いられる。

■仮名漢字変換
仮名漢字変換は文節単位で行う。文節を形態素解析することにより文節内の単語の並び方が形態論的に正しい結果だけを用いることができる。またヒューリスティックな手法を適用することで多数の変換候補に対応できる。

■同音語
仮名漢字変換で最も大きな問題だが形態素解析を用いることで適切なものを区別することができ、自動選択することができる。

Data source from 自然言語処理(オーム社)

2009年7月7日火曜日

Tumblr

Tumblrのアカウント取得をした。
チャットやSNS、Blogなどが複合的に構築された個人中心型CMSのようなものと感じとりました。表現に自信はありませんが、そう直感で思いました。もう少し上手い表現ができれば良いけれどですね。
プライベート的に使用するにも良いでしょうし、書評ブログなどに活用できるようにいろいろと日本語の表現の豊かさを身につけたいと思いました。

2009年7月6日月曜日

理工セミナー受講

JAVAセミナーを受講してきました。
講師・TAは理工生でとても穏やかで丁寧な説明でした。

JAVAは、というかプログラミング全般でしょうか?とにかくコードをたくさん書く事によって不安要素が取り除かれると仰っておりました。
経験からくる言葉に重みがあり、その言葉を聞けたことだけでも参加した甲斐がありました。

そういえば流行や理論ばかりで、自身で実践していなかった気がします。

がんばろうと思いました。

※スーパーコンピュータと云うものでしょうか、とにかくショーウィンドウの中に高性能サーバーがありました。はやり『かっこいいなあ』と思ってしまいました。

2009年6月29日月曜日

Java related tools

JUNG — the Java Universal Network/Graph Framework--is a software library that provides a common and extendible language for the modeling, analysis, and visualization of data that can be represented as a graph or network. It is written in Java, which allows JUNG-based applications to make use of the extensive built-in capabilities of the Java API, as well as those of other existing third-party Java libraries.

Jena is a Java framework for building Semantic Web applications. It provides a programmatic environment for RDFRDFSand OWLSPARQL and includes a rule-based inference engine.

2009年6月17日水曜日

JDMについて(1)

>>JDMについて<<
JDMはデータマイニングの標準APIでWEKA APIの標準API。
JSR 73(JDM1.0)の作業は2000年7月に始まり、2004年8月に最新版がリリース。
2つ目のJSR 247(JDM2.0)は2004年にプロジェクトがスタートし、2006年12月に公開レビュードラフトが承認。

5つのアルゴリズムの操作が可能。

1)属性重要度・・出力変数を予測するときに、重要度となる属性をランク付けする。
2)相関ルール・・同時に起こるアイテムを考察し、関係を発見する。
3)クラスタリング・・類似したデータ点のクラスタを見つけ出す。
4)回帰・・入力属性にもとづいて、出力変数の値を予測する。
5)分類・・離散属性を列挙値のひとつに分類する。

モデルの構築、評価、適用、保存の操作もサポート。
JDM2.0からは多変量解析、時系列分析、異常検出、変換、テキストマイニング、多目標モデル、モデル比較が追加。

◆主なJDMオブジェクト

JDMクラス群ではトップクラスのインターフェースであり、名前や説明などの基本情報を持ち、DMEによってMORに保存できる。データの物理的な側面(PhysicalDataSet)と論理的な側面(LogicalData)の両方が存在する。

◆学習モデル

出力は、Modelインターフェースで表現され、MiningObjectを継承するModelは、複数の基底クラスになる。各モデルはModelDetailを持ち、アルゴリズム固有の変数はModelDetailで表現される。

◆アルゴリズムの設定
ArgorithmSettingは設定を保持する共通基底クラス。KMeansSettingはk平均法の設定となる。

◆JDMタスク
主なタスクタイプは5つ。
1)モデルの構築、2)モデルの評価、3)統計値の計算、4)モデルの適用、5)MORからの入出力に関するタスク。TASKオブジェクトは、参照、再実行、実行が可能。

◆JDMを使った接続
Java Connection Architecture(JCA)を使用してDMEに接続する事ができる。
JNDIでConnectionFactoryインスタンスを取得し、ConnectionFactoryにユーザー名とパスワードを指定する。JDBCプロトコルのConnectionオブジェクトに似ている。

◆JDMモデルとPMML
PMML(Predictive Model Markup Language:予測モデルマークアップ言語)はDMG(Data Mining Group)が予測モデルを表現するために策定したXMLベースの標準言語

Data source from 集合知イン・アクション(ソフトバンククリエイティブ)

2009年6月15日月曜日

WEKAについて(1)

WEKA(ウェカ:Waikato Environment for Knowledge Analysis)はjavaで書かれたデータマイニングアルゴリズムのオープンソースソフトウェアである。ニュージーランドのワイカト大学で開発されてGNUで提供されている。2006年9月にオープンソースBIの開発ベンダーであるPentahoに買収された。
WEKAには、前処理、分類、回帰、クラスタリング、相関ルール、視覚化ルールが含まれている。

WEKAには重要なパッケージが6つある。
weka.coreパッケージは、他のパッケージから使われる共通コンポーネントを含む主なパッケージであり、属性、データセット、コンバータ、行列操作、テキスト分析、ソート表現、XMLをモデル化するクラスである。データセットを表現するためのクラスが含まれており、その各データセットはInstancesクラスによってあらわされる。Instancesクラスは事例をあらわすInstancesクラスのリストを持ち、各インスタンスは0個以上の属性を持つ。

weka.classifierは、分類アルゴリズムの実装を含む、数量予測のアルゴリズムであり、Instancesを使ってモデルを学習し、その学習したデータを分類する。。

weka.clustererは、クラスタリングアルゴリズムの実装を含み、Instancesからクラスタを作成し、その後、Instanceを適切なクラスタに分類する。

weka.attributeselectionは、属性選択に関するアルゴリズム。

weka.associationsは、相関ルールの発見に関するアルゴリズム。AprioriとPredictive Aprioriの2つのアルゴリズムが含まれている。この2つは相関ルールの学習に使用され、Associatorインターフェースを継承する。
CARuleMinerは、クラスタ相関ルールを作成できるアルゴリズムに付与される。オプショナルインターフェースである。

weka.filtersはデータセットへのフィルタの適用に関するクラス、たとえばある属性を分析対象から外すためのものに使用される。

Data source from 集合知イン・アクション(ソフトバンククリエイティブ)

2009年6月12日金曜日

GuestBook.html

Google App EngineをEclipseで動かしてみる。
とすんなりといった。名前を聞いてきた(Please enter your name:)ので
nextschoolと入力すると。
のような画面がでてきました。GAE版のHello World!!だろう。



Sending name to the server:




nextschool




Server replies:




Hello, nextschool!

I am running Google App Engine Development/1.2.0.

It looks like you are using:
Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; GTB6; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.21022; .NET CLR 3.5.30729; .NET CLR 3.0.30618)

ということで、実験してみたい環境は着々と試せているけれど、そういえばひとつもデータマイニングの事について言及していなかったと我に返ってみる。これからは英文も含めて論文や文献の要約を試みよう。

2009年6月7日日曜日

研究テーマになやむとき


思考の整理学-カクテル-論文を書こうとしている学生にいうことにしている。
「テーマはひとつでは多すぎる。すくなくとも、二つ、できれば、三つもって、スタートしてほしい。」

ひとつで多いというのは、”見つめたナベ”のようになってしまうことから、ひとつがうまくいかないと後がなくなってしまうということからだそうだ。

2009年6月4日木曜日

Social Networks Visualizer (SocNetV)

Social Networks Visualizer (SocNetV)はC++とqtで記述されたソーシャルネットワーキングを可視化するオープンソースプログラム。以下のディストリビューションに対応している。

  • Ubuntu

  • Debian

  • Mandriva

  • openSUSE

  • Fedora

  • Gentoo

  • Windows users

  • Mac OS


Data Source from http://www.kdnuggets.org/

2009年6月3日水曜日

WEKA APIの入口を見てみる

Weka APIのJAVA版を使用してみるための参考資料

2009年5月30日土曜日

Google App Engine for JAVA(EARLY look編)の巻(1)



App Engineの状況はこちらで確認できる。
http://code.google.com/status/appengine/

2009年5月22日金曜日

Luceneの調査

Luceneの仕組みは検索対象となるファイルをすべて解析し、「インデックス」と呼ばれる情報を作成する。そして検索時はこのインデックスを参照することで処理の高速化が実現する。[写真]サンプル・アプリケーションの例
[caption id="attachment_3" align="alignnone" width="160" caption="Lucene"]Lucene[/caption]
検索エンジンというと「namazu」が有名だが、namazuの実装はperlとC言語が使用されている為、JAVAアプリケーションを組み込むには、不便な感がでてきてしまう。
その点、LuceneはすべてJAVAで開発されているからJakartaとの相性も良いと言うことになる。

デフォルトのLuceneは日本語対応していないため、モジュールを使用することによって、中国語、韓国語、日本語を使用することができる。そのLucene用の日本語アナライザは、senプロジェクトの「CJKAnalyzer」と明確なネーミングだったりする。
Luceneもインデクサ部とエンジン部とから構成されている。
インデクサ部のコードの中でインデックスを生成するメソッドgetIndexになる。
getIndexは、第1引数に指定されたドキュメント・ディレクトリ内を解析し、インデックス生成処理を行う。次に第2引数に指定されたディレクトリに、生成したインデックスを格納する。

Data source from http://www.itarchitect.jp/enterprise/-/25122.html

2009年5月20日水曜日

Webmin-1.430のインストール

cd /usr/local/src
wget http://prdownloads.sourceforge.net/webadmin/webmi
n-1.430.tar.gz
tar zxvf webmin-1.430.tar.gz
cd webmin-1.430
./setup.sh

すると下記のようにコンフィグ設定が始まるので、ひととおりenterを押します。途中、Webサーバーのポートを聞いてくるので"777"に設定しました。

---------------
***********************************************************************
* Welcome to the Webmin setup script, version 1.430 *
***********************************************************************
Webmin is a web-based interface that allows Unix-like operating
systems and common Unix services to be easily administered.

Installing Webmin in /usr/local/src/webmin-1.430 ...

***********************************************************************
Webmin uses separate directories for configuration files and log files.
Unless you want to run multiple versions of Webmin at the same time
you can just accept the defaults.

Config file directory [/etc/webmin]:
Log file directory [/var/webmin]:

***********************************************************************
Webmin is written entirely in Perl. Please enter the full path to the
Perl 5 interpreter on your system.

Full path to perl (default /usr/bin/perl):

Testing Perl ...
Perl seems to be installed ok

***********************************************************************
Operating system name: CentOS Linux
Operating system version: 5.2

***********************************************************************
Webmin uses its own password protected web server to provide access
to the administration programs. The setup script needs to know :
- What port to run the web server on. There must not be another
web server already using this port.
- The login name required to access the web server.
- The password required to access the web server.
- If the webserver should use SSL (if your system supports it).
- Whether to start webmin at boot time.

Web server port (default 10000): 777
Login name (default admin): root
Login password:
Password again:
The Perl SSLeay library is not installed. SSL not available.
Start Webmin at boot time (y/n): y
***********************************************************************
Creating web server config files..
..done

Creating access control file..
..done

Inserting path to perl into scripts..
..done

Creating start and stop scripts..
..done

Copying config files..
..done

Configuring Webmin to start at boot time..
Created init script /etc/rc.d/init.d/webmin
..done

Creating uninstall script /etc/webmin/uninstall.sh ..
..done

Changing ownership and permissions ..
..done

Running postinstall scripts ..
..done

Attempting to start Webmin mini web server..
Starting Webmin server in /usr/local/src/webmin-1.430
..done

***********************************************************************
Webmin has been installed and started successfully. Use your web
browser to go to

http://localhost.localdomain:777/

and login with the name and password you entered previously.
---------------

ここまで、ダイブ長くなったけど、操作するところはコマンド5,6行だから簡単だと思う。

2009年5月17日日曜日

研究課題の本数

今、読んでいる本で、論文を書こうとしている学生はテーマは1つだけではいけないという。最低でも2つ、3つあればまあ良いだろうと。それは1つだと、あとから気がついたときに少し暗雲が指したときに乗り越えられなくなるからだそうだ。要するに他の選択肢も考えておいて、そっちがダメだと思ったら他の方を選択すればよいと。とりあえず好きな物や、進めやすい物があったら自分の気持ちに正直になって探求せよという内容だった。

※その本には、夜に書くより、朝に思慮に至る内容を書いた方が夜よりも断然良いのだとか。これも深夜に書き込みをしているので起床後に起きたときにこの内容のことを書いてみて、どうもそちらがよろしそうだとしたら、この日記は削除しよう。夜と朝の記載というか脳の活動の結果を自分なりに試してみて判断してみようと思う。

2009年5月15日金曜日

Wolfram|Alpha記事

スパコン環境ってどのような感じか想像もつかないけど、
どれくらいすごいっていうのが分かるように注目してみたい。
WolfamAlphaの記事
検索技術のもともとは数学による分析なのだけれど、
どういう風に入力された時に処理を行うのかに興味がある。
データストリーミングマイニングという、一旦データベースに格納する前に
すぐ処理を行うというアルゴリズムだろうと想像する。
ここ最近でもMapReduceという技術がものすごく注目されているけど、
やはり温故知新ということで、全く新しい技術というよりも昔の技術を元に
合理的な方法を元に構築されているのだろうと思ったり思わなかったり。

2009年5月11日月曜日

nutch導入の途中

nutch導入の経緯をメモメモ。

nutchをダウンロードしてくる。

cd /usr/local
wget http://www.meisei-u.ac.jp/mirror/apache/dist/lucene/nutch/nutch-0.9.tar.gz

tar zxvf /tmp/nutch-0.9.1.tar.gz
cd nutch-0.8.1
export NUTCH_JAVA_HOME=/usr/java/jdk1.6.0_13

echo "http://talftp.net/wp/" > urls/nutch

vi conf/crawl-urlfilter.txtを開いて

# accept hosts in MY.DOMAIN.NAME
+^http://([a-z0-9]*\.)*MY.DOMAIN.NAME/

+^http://talftp.net/wp/
に変更する。

vi conf/nutch-site.xmlを開いて

<configuration>
<property>
<name>http.agent.name</name>
<value>mynutchagent</value>
</property>
<property>
<name>http.agent.description</name>
<value>mynutchagent</value>
</property>
<property>
<name>http.agent.url</name>
<value>mynutchagent</value>
</property>
<property>
<name>http.agent.email</name>
<value>mynutchagent</value>
</property>
</configuration>

と追加する。

これでcrawlができるので試してみる。
bin/nutch crawl urls -dir crawl -depth 10 -topN 1000000
000000

cp nutch-0.9.war /usr/local/tomcat/webapps
/etc/rc.d/init.d/tomcat restart

cd /usr/local/tomcat/webapps/nutch-0.9/WEB-INF/classes
[root@localhost classes]# vi nutch-site.xml でnutch-0.9のrootディレクトリを指定する。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>
<name>search dir</name>
<value>/usr/local/tomcat/webapps/nutch-0.9</value>
</property>
</configuration>

Tomcat-6.0.18とnutch-0.9の組み合わせだとエラーが出てくるので
そのエラーを修正する。基本的には¥マークを挿入することでOK。
/usr/local/tomcat/webapps/nutch-0.9
vi search.jsp

<jsp:include page="<%= language + "/include/header.html"%>"/>

<jsp:include page="<%= language + \"/include/header.html\"%>"/>

vi explain.jsp
vi anchors.jsp
も同様に修正。

2009年5月10日日曜日

ServerのIPアドレスの固定化

自宅LAN内のIPアドレスが勝手に変ってしまったので、
固定できるための操作方法をメモっておく。

cd /etc/sysconfig/network-scripts
vi ipcfg-eth0 で開き
IPADDRとNETMASKを追加。

# Broadcom Corporation BCM4401-B0 100Base-TX
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:14:22:A0:A0:58
ONBOOT=yes

# Broadcom Corporation BCM4401-B0 100Base-TX
DEVICE=eth0
BOOTPROTO=dhcp
HWADDR=00:14:22:A0:A0:58
ONBOOT=yes
IPADDR=192.168.12.4
NETMASK=255.255.255.0

nameserverを書き換える&追加する。
; generated by /sbin/dhclient-script
search localdomain
nameserver 192.168.12.1

; generated by /sbin/dhclient-script
search localdomain
nameserver 218.176.253.65
nameserver 218.176.253.97

書き換えたらネットワークを再起動させる。
[root@localhost ~]# /sbin/service network restart
インターフェース eth0 を終了中: [ OK ]
ループバックインターフェースを終了中 [ OK ]
ループバックインターフェイスを呼び込み中 [ OK ]
インターフェース eth0 を活性化中:
eth0 のIP情報を検出中... 完了。

で完了。

その後、mrtgの監視ツールのアドレス変更を行う。

Tomcatインストール途中の続き

[caption id="attachment_3" align="alignnone" width="160" caption="tomcat"]tomcat[/caption]

index.htmlのあるディレクトリは
→/usr/local/tomcat/webapps/ROOT です。
そのファイルを、vi index.htmlで編集モードに変更します。

パスの/tomcat/がぬけているので下記のアドレスの前に
挿入してあげます。

(1)
<a href="/manager/status">Status</a><br/>

<a href="/tomcat/manager/status">Status</a><br/>

(2)
<a href="/manager/html">Tomcat&nbsp;Manager</a>

<a href="/tomcat/manager/html">Tomcat&nbsp;Manager</a><br/>

(3)
<a href="/docs/changelog.html">Change&nbsp;Log</a><br/>

<a href="/tomcat/docs/changelog.html">Change&nbsp;Log</a><br/>

(4)
<a href="/docs/">Tomcat&nbsp;Documentation</a><br/>

<a href="/tomcat/docs/">Tomcat&nbsp;Documentation</a><br/

と4箇所のパス情報に追加というか書き換える。

これでOKです。

※これからこのように書くときは誰が読んでも
分かるように丁寧に書こうと思います。

2009年5月9日土曜日

英語練習の巻(1)

ニュアンスの違いに注意!ということで書いておきます。

may, might, can,
個人的な好みを示すのはmay、許容性を示すのにcan

less, fewer,

連続数量に関しては、less
離散数量に関しては、fewer

affect,effect,

ある動作の結論、すなわちeffectは動作の結果へ影響を与えること、
すなわちaffectすること

alternate,alternative,choice,

alternateは、ほかの(形容詞)、あるいはほかのもの(名詞)、あるいは交替すること(動詞)を意味する。
alternativeは選択されるもののこと。
代わり(alternative)が1つしか無ければ、選択(choice)の余地は無い。

basic,fundamental,sophisticated,


basicは基盤(foundation)だけでなく、基本(elementary)を意味する。
「洗練された」(sophisticated)は、「新しい」(new)という意味ではない。

conflate,merge,
conflateは、異なったものを似たものに見なすことを意味する。
一方、mergeは、違うものを合成して1つの新しいものを作ることを意味する。

この2つは同等ではない。

感覚的に分かっているのだけど文字に起こすと、なんか変な感じだ。


参考:コンピュータサイエンスの英語文書の書き方

2009年5月8日金曜日

JDBCドライバーの設定

Tomcatがインストールできたので、JDBCドライバーを入れてみることにした。

[root@localhost ~]# //←場所はここで作業をした。
wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.8.tar.gz/from/http://ftp.jaist.ac.jp/pub/mysql/
tar xvzf mysql-connector-java-5.0.8.tar.gz
cd mysql-connector-java-5.0.8
mv mysql-connector-java-5.0.8-bin.jar /usr/local/tomcat/lib
export CLASSPATH=$CLASSPATH:/usr/local/tomcat/lib/mysql-connector-java-5.0.8-bin.jar

さてここからコネクト実験だ。

2009年5月7日木曜日

ネットワークトラフィック監視ツール

ネットワークトラフィック監視ツール導入(NET-SNMP+MRTG)ができた。
時々、会社で見慣れているから自宅サーバーにも
設置できるとなんか定常的に稼働させて監視したくなります。


参照元 http://centossrv.com/net-snmp-mrtg.shtml

Tomcatのインストール途中で

CentOS5にTomcat6.0をインストールしているときにエラー発生。
tar zxvf apache-tomcat-6.0.18.tar.gz
mv apache-tomcat-6.0.18/ /usr/local/tomcat
rm -f apache-tomcat-6.0.18.tar.gz
vi /etc/profile.d/tomcat.sh
vi /etc/rc.d/init.d/tomcat
chmod +x /etc/rc.d/init.d/tomcat

/etc/rc.d/init.d/tomcat start→これを叩くと
Starting tomcat
/etc/rc.d/init.d/tomcat: line 15:
/usr/local/tomcat/bin/startup.sh: そのようなファイ ルやディレクトリはありません

とエラーがでる

ディレクトリpathを確認(pwd)したら
/usr/local/tomcat/apache-tomcat-6.0.18 となってたので、
そしてapache-tomcat-6.0.18の中をみたらbinを発見!

ようするにtar.gzを解凍した時にファイル名をそのままにして
mvしてしまったのが原因だったと判明。

tomcatディレクトリへ全てmvコマンドで移動(上書き)。

これでようやくTomcatが無事に起動した。

※もういっこ補足
chkconfig --add tomcatを実行すると、
bash: chkconfig: command not foundとコマンドファイルが無いと怒られる。
なのでwhereis chkconfigと叩くと
chkconfig: /sbin/chkconfig /usr/share/man/man8/chkconfig.8.gz
sbinの配下にあるとでてくるので、すべて
sbin/chkconfig --add tomcat
と入力することで回避できた。

Tomcat/libの中身は
annotations-api.jar
catalina-ant.jar
catalina-ha.jar
catalina-tribes.jar
catalina.jar
el-api.jar
jasper-el.jar
jasper-jdt.jar
jasper.jar
jsp-api.jar
servlet-api.jar
tomcat-coyote.jar
tomcat-dbcp.jar
tomcat-i18n-es.jar
tomcat-i18n-fr.jar
tomcat-i18n-ja.jar
16ファイルがサンプルとして入っているのでした。

参照元http://centossrv.com/tomcat6.shtml

2009年5月5日火曜日

BIについて調べるの巻(6)

大規模データストリームとは

データストリームを対象とするデータストリームマイニングは、
(1)属性値に関する平均やかたより、値の総和と言った簡単な統計量をきわめて小さなメモリと処理時間だけを使って計算する。
(2)結合規則や、決定木、クラスタリング、データマイニングにおける規則やパターンの発見アルゴリズムを連続したデータストリームへの拡張。

データストリーム・アルゴリズムの目標
・非常に少ない計算資源を用いて
・長期間安定して動き続け
・利用者の要求に即応して
・近似的な解を返す

マイニングアルゴリズムの基本的な技法
・確率的計算
・データの粗視化
・適応的計算

DataSource from 情報処理46巻1号

2009年5月4日月曜日

BIについて調べるの巻(5)

BIといわれるまでの経緯と、経営者がとらえているBI。

年代      キーワード         特徴                      。
1970年代 意思決定支援システム  EUCの実現、管理者の意思決定を支援。
1980年代       〃
1990年代 データウエアハウス    膨大な企業データを蓄積するデータ格納庫の実現。
1990年代中頃 多次元分析処理   データ→情報。検索→分析。データをダイナミックに操作して意味のある情報を見つける。
1990年代後半 データマイニング   情報→ルール。分析→発見。統計学に基づいてパターンを発見。
2000年代 ビジネス・インテリジェンス 情報→知識。分析→意思決定。迅速に意思決定。

一般的に、”正確な情報を適切な人に適時に提供することで、企業がより適切な判断を迅速に行うことを可能にするための考え方と、それを実現するためのシステム”と定義されている。 Data source from http://solution.unisys.co.jp/webseminar/10/

そのデータ分析の使用用途がInsightな分析だったり、Competitiveな分析だったりするわけです。
ビジネス・インテリジェンスとは、競合的なインテリジェンスの場合、ファルドは”判断を可能とするまでに分析されたインフォメーション”と定義されている。英語だと「intelligence is "analyzed information."」。いうなればブドウ + 熟成技術 → ワインということなそうな。だからInformation + 分析&集約 → Intelligence となるそうで、最終的にはこの分野にまで行き着くのだろうけど、今わたくしがやりたいのはInsightな分析のほうなのだろう。どのようなアルゴリズムなの?というほうに興味が向いているわけです。ということで何年先になるかわかりませんがCompetitive Intelligenceのほうはもう少し先になりそう。
Data source from http://www.cio-cyber.com/pj/ec2/link/km2.html http://www.fuld.com/Tindex/CIbook/chap01.html

2009年5月2日土曜日

Coffee Bricks

ここ最近の珈琲店では、とても美味しかったです。
食べログでもなかなかの評価でしたし、それでも自転車で10分の距離はありがたいかも。

2009年4月29日水曜日

Hadoopトレーニングビデオ

ThinkingAtScale

Cloudera Hadoop Training: Thinking at Scale from Cloudera on Vimeo.

Cloudera's Distribution for Hadoop

AWSアカウント取得

サービスのAmazon EC2,S3,Elastic MapReduceなどを利用するかもしれないので、AWSのアカウントを作成した。さてどうやって使えばいいのやら

2009年4月27日月曜日

Javaの使えるレンタルサーバ

JSPが使える環境を探さないと行けなくなりそうですが、よいところありませんでしょうか?WISNET とかだと12,000円/年くらいからあるようですね。

2009年4月22日水曜日

JJUG2009に参加(2)

今日のもう一つの注目はHadoopを用いた大量ブログデータ処理だ。

MapReduceを使用してAmazon

・大容量データを並列かが必要な処理をとても簡単に書けるようになる、と、だそうだ。

2009年4月21日火曜日

JJUG2009に参加中(1)

JJUG2009に参加中。


早稲田大学の丸山先生による基調講演から始まった。phpなどのフリーランス系が参加されているセッションよりSI系の人が多いかなという印象。

途中でPCが固まってしまったために、聞いた内容がこぼれてしまったが要点をつらつらと書いてみます。

Cloudの技術的特徴について 早稲田大学/丸山不二夫

Cloudを提供する側の特徴でGoolge、Amazon、Microsoftの共通する技術についてお話があった。

理想というか本来であればCloud=Scalability+Availability だけど、なかなか難しいだろうと。

コモディティ化したマシン(安いPC)をたくさんならべて処理能力を拡大させるという、これがスケールアウト戦略。

スケールアウトしたこれらのシステム構成からエラーが発生してしまう、
これがAvailabilityとなる。このAvailablity問題が重要になっている。

スケールアウト戦略はChunkサーバーを並列に増やしていくことによってScalable化する。
Scalable化とはコモディティ化したマシンを体重化することのReplicaするということになる。
なのでReplicaを複数抱える実装によって冗長性を持たせる。
次にReplica間の同期がきちんとできるかが問題となる。

Consistencyという概念も導入やTransactionにおけるAcidモデルの見直し
新しいBaseモデルを確立する。ということはTransaction技術がとても重要になってくる。

参考:コストパフォーマンスは安いPCを並べた方が33倍ある。By Google

仮装化(※1)が大事だと云われるが、リソースを超えることができない。
スケールアウトをすると横にサーバーを増やす=ノードを増やすことによって、
Scalablilityの本領が発揮される。

企業内Cloudと云われるが拡張できる可能性が左右されてしまう。

※1・・Virtualizationはシステムの物理的な構成の範囲で、能力を柔軟に引き出すのに有効だが、Scalabilityを持つことにはならない。
CAP定理・・
C(Consistency)整合性
A(Availability)可用性
P(partition)分散処理

整合性と可用性をとると、分散処理はできない。
整合性と分散処理をとると、可用性は失われる。
分散処理と可用性をとると、整合性が失われる

ようするにはCloudは分散処理は必須。さらに分散処理と可用性は必須。

Baseトランザクション・・・
Basically Available
Soft-state
EVentually Consistency・・ある時間は同期とれていないが、ある時期になったら同期とれている関係を表す。

ここから先は保存されておらず(泣)

2009年4月20日月曜日

2009年4月18日土曜日

TAGがかっこよくみえる方法


引用のテスト
こうなります。あーで、こーで、そーで。

WebCAMを購入

LogicoolのWebCam(Qcam S5500)を購入した。

CMOS 130万画素

そしてSkype4のテスト 画像のスムースな動きがなめらか。

1時期前のWebCamが爽快に払拭された。

2009年4月16日木曜日

書籍 意思決定支援システムとインターネットビジネス

蓄積された情報をデータ変換→可視化写像→視点変更の後に知見という形でユーザーが結果として可視できるプロセスを技術的に紹介している。ゼミの研究にこれらの仕組みが取り入れられるよう読書中。
意思決定支援とネットビジネス (知の科学)

2009年4月7日火曜日

モニター購入(LG製)

モニターを購入したけど、机の上にのらない・・。

2009年3月29日日曜日

BIについて調べるの巻(4)


ビジネス・インテリジェンス―未来を予想するシナリオ分析の技法



北岡 元
東洋経済新報社
売り上げランキング: 7737


おすすめ度の平均: 5.0

5 思考の枠組み
5 己を知ることの重要性




MySQLレプリケーション

レプリケーションとは

一般にレプリケーションとは、他のサーバにデータベースを複製することをいいます。複製はLANやインターネットなどネットワークを経由して行われるので、物理的に離れた場所にあるサーバへデータベースをレプリケートすることもできます。

複製方法の種類

複製の方法には同期と非同期の2種類があります。
同期複製の場合は、レプリケーションを構成する全てのサーバで常に全く同じデータが保持されることが保証されますが、一方でデータの同期を取るために他のサーバの応答を待つ必要があるので、サーバの台数が多くなる程、全体の応答性が低下する可能性があります。

逆に非同期複製は、サーバ台数の増加によるパフォーマンスの低下はほとんどありませんが、短い時間で観測した場合、サーバ間でデータの同期が保証されないという問題があります。

構成の種類

主なレプリケーションの構成にはマスタスレーブとマルチマスタがあります。
マスタスレーブ構成は、更新系のクエリを受け付けるのはマスタサーバのみで、スレーブはマスタから伝搬されたもの以外の更新処理は行いません。

マルチマスタは、どのサーバでも更新系のクエリを受け付けるような構成です。

MySQLのレプリケーションでできること


負荷分散


負荷分散機を経由して、スレーブサーバ群に参照系のクエリを負荷分散することができます。ただし、前述した通りMySQLのレプリケーションは非同期なの で注意が必要です。具体的には、全く更新しないテーブル、もしくは、クライアントアクセスがない夜間のバッチ処理でしか更新しないマスタテーブルに対する 参照系のクエリのような、スレーブへの伝搬の遅延が問題にならないクエリは負荷分散することができますが、ユーザ情報の更新をマスタに対して行った直後に スレーブにそのユーザの情報を問い合わせるような場合には、得られた結果が食い違う危険性があります。

MySQLのレプリケーションでできないこと


更新系の負荷分散


更新系クエリの負荷を複数のサーバに分散することはできません。

まず、単純なマスタスレーブ構成ではマスタは1つしかないので、更新系のクエリはこのマスタに集中させるしかありません。

次にデュアルマスタ構成を考えてみます。MySQLのレプリケーションでは、スレーブは他のスレーブのマスタになることができるので図3のようなデュアル マスタ構成にすることができます。しかし、マスタ間で更新処理が競合する可能性があるので、より上位のレイヤで更新対象となるテーブルごとにクエリの発行 先のマスタを区別するなど工夫が必要です。例えばユーザー情報の更新はマスタAへ、商品情報の更新はマスタBへ、というようにです。

これで更新系のクエリを分散することができるようになるわけですが、実は負荷の分散にはなっていません。なぜなら、マスタAに対して行われた更新処 理は、レプリケーションによりマスタBでも実行されるので、結局、両方のマスタで更新系のクエリが実行されることになり、更新系クエリの受け付けの分散は できても更新処理の負荷を分散したことにはならないからです。

Reference http://www.irori.org/doc/mysql-rep.html

2009年3月28日土曜日

OLAPのすすめ

OLAPという仕組みがEAIなどのI/Fとしてファンクショナルにさらりと表示されているとカッコイイが、今のご時世にはジレンマが生じそうな問題。IEしか動作しないというのは企業レベルにおいては特に問題ないこともあげられるだろう。とはいうものの開発はLinux上で行い、Viewer(クライアント)はIEという状況が想定されるですね。Tomcatとdbのバージョンの互換性が肝になるのでしょう。あとJAVAとの3つの相性か。

Reference http://itpro.nikkeibp.co.jp/members/ITPro/oss/20050117/154848/


CakePHPのはじめ



独自のルートを設定する前に、CakePHP のデフォルトのルートについて知っておく必要があります。CakePHP のデフォルトルーティングによって、どんなアプリケーションでもうまく動くようになっています。URL の中に、アクション名を置くことで、アクションに直接アクセスすることができます。コントローラのアクションに URL を使うことでパラメータを渡すこともできます。
    デフォルトのroutesのURLパターン:
http://example.com/コントローラ名/アクション名/パラメータ1/パラメータ2/パラメータ3

/posts/view という URL は、PostsController の view() アクションにマップされます。 /products/viewClearance は、ProductsController の view_clearance() アクションにマップされます。URL でアクション名が指定されていない場合には、index() メソッドが用いられます。

デフォルトのルーティングでは、URLを使ってアクションにパラメータを渡すこともできます。例えば、/posts/view/25 というリクエストは、PostsController 上で view(25) として呼ぶのと同じことになります。

Resource http://book.cakephp.org/ja/view/46/Routes%E3%81%AE%E8%A8%AD%E5%AE%9A

2009年3月21日土曜日

「ふりかえり」の手引き

アジャイル・レトロスペクティブスという本で気になったところを抜粋。

イテレーションレトロスペクティブのステップ

・場を設定する
->目標とアジェンダを確認してセッションの下準備を行う。
チェックインしたりチームの約束を作成したりして、参加しやすい雰囲気作りをする。

・データを収集する
->客観的な情報と主観的な情報を確認して、チームで共通の理解を得る。みんなの視点を考慮に入れることで、よりよいアイデアを手にすることができる。
・アイデアを出す
->チームが作り出した共通の理解を様々な視点から吟味する。
アクティビティを使って、みんなで一緒にアイデアを掘り起こしていく。

・何をすべきかを決定する
->チームのアイデアを優先づけし、チームに変化をもたらす改善点や試みをいくつか選択する。

・レトロスペクティブを終了する
->計画やコミットメントをチームがどのように実行するかをまとめる。参加者に感謝を述べて、レトロスペクティブを振り返る。

■イテレーションレトロスペクティブのステップ■
->経験や改善を取込む->製品を構築する->インクリメントした製品を出荷する->場を設定する->データを収集する->アイデアを出す->何をすべきかを決定する->レトロスペクティブを終了する

AGENDA
Retrospective Goal:
Learn from Previous iterations and find root causes of Problems
(レトロスペクティブの目標:前回のイテレーションから学び、問題の根本的な原因を見つける。)

>= Get Started ~ Overview(はじめに~概要)

>= Examine Project History(プロジェクトの歴史の調査)
>= Look for Patterns(パターンの探索)
>= Analyze and Synthesize Finding(結果の分析、統合)
>= Prioritize and Plan(優先づけと計画)
>= Wrap-Up(まとめ)

■SMART Goals■
・Specific(明確な)
・Measurable(計測可能な)
・Attainable(達成可能な)
・Relevant(適切な)
・Timely(タイムリーな)

2009年3月16日月曜日

BIについて調べるの巻(3)


やはり分析をしたからにはバックデータになる資料添付が必須なので、PDF,Excel,CSV,HTML出力ができるというのはとてもよい。ACCESSからExcelへ落としてグラフ作成の流れを一元できれば良い。プレゼン用にPPT作成時にグラフィカルは懲りたいところ(?)ボタン一つで出力するところまで仕込んでおけば良いのだから。実績分析レベルだとロールが決まっているから良いのだけれどランダムではないシュミレーションとなると季節変動要因を実績値に反映させるのがミソになりうる。反映させる意志をどのように判定するのかはランダムではいけないからなぁ。

2009年3月15日日曜日

BIについて調べるの巻(2)

オープンソースでBIツールとなっているものがどういったものか色々と探しては見てるのだけれど中々というかあまり出ていないことが分かる。なので、いくつかあたったけどpentahoが良いのかなぁと思うようになってきた。これを何らかのI/Fを通じてコミュニケーションツールと合体させるとディベートに発展するかもしれない強烈な議論が繰り広げられるかもしれないと社内ツールを模索したときにふとひらめいたのだった。

2009年3月14日土曜日

BIについて調べるの巻(1)

" データがあるところに分析のニーズありで、今後のRFIDの普及に伴い、そこから発生する大量のデータを分析したいというニーズが高まると予想される。こうしたニーズは、DWHやBIに対する新たな需要を促進すると同時に、少なからず既存のDWHやBIにインパクトを与えるだろう。"
エントリーはまだ全くさびれていない。サプライチェーンからのRFIDをとっかかりとして徐々に脚光をあびてくるのであろう。このながれはDWHからの意思決定に関するデータがレポーティングとしてのマンスリー、ウィークリィからデイリーもしくはタイムリーに変化してきた背景がある。意思決定のスピードが今日の営業・製造工程に多大なる影響を及ぼすからである。営業>受注>製造>納品までのサプライチェーンは今後もスピードが要求されると同時にシュミレーションのスピードも追い求められてくると考える。

2009年3月12日木曜日

さくらインターネットにcakePHPを設定

してみた。
とりあえず、なにを やっていいのか わからないので
まずデータベースコネクトができるか かくにんした。

2009年3月8日日曜日

CakePHP初心者セミナー

GREEのセミナールームでCakePHPの初心者セミナーに参加してきた。

題名『ケイクで始める快適WEB開発』

■本編
1.CakePHPとは
CakePHPの概要
CakePHPのインストール
初期設定

2.CakePHPの基本1
データベーステーブルの作成
Controllerの作成

3.CakePHPの基本2
Modelの作成
Viewの作成

4.応用テクニック
Controllerで使える機能
Modelで使える機能
Viewで使える機能

おもに

Controller(処理の入り口を担当する)

Model(データベースとのやりとりやロジックを担当する)

View(画面を表示を担当する)

について時間をかけて行った。
var $scaffold;

このscaffold;がCakeで肝になるが動作確認的な用途が大きい。
QueryログはCakeが自動的にsqlを見せることができる特徴な機能である。

$html->linkはphp内のリンクを呼び込んでくる引数になってる。

link($post['Post']['title'], 
"/posts/view/".$post['Post']['id']); ?>

この追加文はController文の中に記載。view.ctpを作成して、$idの番号を表示させよ。という文。
function view($id = null) {
$this->Post->id = $id;
$this->set('post', $this->Post->read());

ここのdebugモードを2→0へ書き換えるとdebug画面が消える。
Configure::write('debug', 2);

Configure::write('debug', 0);

2009年2月23日月曜日

マルチスレッド03

カウンターにコーヒーが並んでいるか確認するところ

class ShopMaster extends Thread{
Counter counter;
ShopMaster(Counter theCounter){
this.counter = theCounter;
}

マスターがコーヒーを作るところが処理される

public void run(){
while(true){
try{
counter.putCoffee();
//コーヒーをぼちぼち作る
Thread.sleep((int)(3000 * Math.random()));
}catch(InterruptedException e){}
}
}
}

作られたコーヒーが誰によって作られたか表示される

class CoffeeDrinker extends Thread {
Counter counter;
String name;
CoffeeDrinker(Counter theCounter.String theName){
this.counter = theCounter;
this.name = theName;
}

ここから作られたコーヒーを飲むところが始まる

public void run(){
while(true){
try{
counter.getCoffee(this.name);
//コーヒーをボチボチ飲む
Thread.sleep((int)(10000 * Math.random()));
}catch(InterruptedException e){}
}
}
}

マルチスレッド02


class Counter{
Vector coffees;
Countre(){
coffees = new Vector();
}


ここからスレッドを同期させるメソッドを指定する。


public synchronized void getCoffee(String name)
throws InterruptedException{
//だれか一人を起こす瞬間に、他のだれかがコーヒーを
//持って行ってしまう可能性があるのでwhile
while(coffee.size() == 0){
System.out.println(name +"can NOT drink a COFFEE!");
wait();
}
coffee.removeElementAt(0);
System.out.println(name +"can drink & COFFEE!");
System.out.println(coffees.toString());

if(coffee.size() == 4) notifyAll();
}

で、ここからもスレッドの同期をさせる

public synchronized void putCoffee()
throws InterruptedException{

coffees.addElement(new String("coffee"));
if(coffee.size()>4){
System.out.println("It's AKAJI!");
wait();
}
System.out.println("Master made & COFFEE");
System.out.println(coffee.toString());

if(coffee.size() == 1)notify();
}
}

IPアドレスチェック01

PHPでIPアドレスを調べる方法
訪問者をIPで見極める。※他のアクセスポイントからアクセスすると漏れるんだけど・・・。
apacheの$_SERVER['REMOTE_ADDR'] を引いてきて
[php]
$ip_address = $_SERVER['REMOTE_ADDR'];
if ( !strcmp ( $ip_address, $check_ip ) ){
echo("もうご回答頂いております");
}
else{

echo("よろしくお願いします。");

}
[/php]

という感じで良さそうだけど、テーブルにインポートしていきたい気もする。
それかtxtに書き出していくとか・・・。

2009年2月22日日曜日

マルチスレッドの練習


public class CoffeeShop {

public static void main(String args[]){
Counter counter new Counter();
ShopMaster master = new ShopMaster(counter);
CoffeeDrinker itota = new CoffeeDrinker(counter, "itota");
CoffeeDrinker fukuta = new CoffeeDrinker(counter, "fukuta");
CoffeeDrinker hatto = new CoffeeDrinker(counter, "hatto");
master.start();
itota.start();
fukuta.start();
hatto.start();
}
}

2009年2月21日土曜日

カウント(インクリメント)

簡単にインクリメントを行う方法。
同じディレクトリにtxtファイルを配置しておいて
インクリメントするlog(数値)を足していく方法。

results.txtファイルを開くと左上に
数値のみ記載されている。

$count = ("results.txt");
$clicks = file($count);
$clicks[0]++;

$fp = fopen($count , "w");
fputs($fp , "$clicks[0]");
fclose($fp);

echo $clicks[0];

2009年2月17日火曜日

ソーシャルバー

dom_functionテスト

function myidEvent() {
alert("Pushed botton");
}
document.getElementById('myID').onclick = myidEvent;

Syntax Highlighter

Syntax Highlighterのプラグインを追加
これで構築中のソースコードを記載しながら学習ができるようになった。

記述できるのは、HTML、XML、CSS、Java Script、JAVA、Python、PHPなど

OpenPNEの公式本


伊藤 幸夫,田端 厚賢,手嶋 守,米田 聡
Amazonランキング:18173位
Amazonおすすめ度:

ELCwebの事例を紹介させていただいた。SNSがビジネス上のコミュニケーションインフラの地位を固めつつあると。興味を持ち始めたときはどうなる旋風かもわからなかったけどITとのコラボレーションでは一番しっくりきたと思う。

Pix Chat

霞ヶ浦マラソン

霞ヶ浦マラソン

CloudStatus

Amazon,Google,のステータスが分かるツール

2009年2月3日火曜日

勉強したいこと満載

DOM scripting(春休みに集中練習)
英語(Interpritationの表現力)

2009年1月26日月曜日

卒業祝賀会 at リーガロイヤル

リーガロイヤルホテル東京 2階サファイア

最近のRun

友人から初フル完走の報告が、しかもタイムの速いこと。

2009年1月12日月曜日

米子ツアー

[caption id="attachment_3" align="alignleft" width="160" caption="lake"]pencile[/caption]

cafe前の湖

2009年1月9日金曜日

シャープペンシル

[caption id="attachment_3" align="alignleft" width="160" caption="pencile"]pencile[/caption]
シャープペンのコストパフォーマンスと多機能(?)で

いったらこれでしょうか。Frisha By ZEBRA

2009年1月8日木曜日

2009年1月5日月曜日

ノートブック

2009年からの専用ノートを購入した。用途は、情報系のトピック、備忘録帳として
あえてアナログちっくで革タイプのものにしてみた。[caption id="attachment_3" align="alignleft" width="160" caption="notebook"]notebook[/caption]

2009年1月4日日曜日

テスト管理システム

[caption id="attachment_3" align="alignleft" width="160" caption="TestLinkJP"]TestLinkJP[/caption]
テスト管理システムのオープンソースを発見

鬼あし走行会 湘南編

もっちサル第18弾

いつもの神宮コート

BIツールを調べてみる

ビジネスインテリジェンスは2006年頃からデータマイニング技術を元にビジネスインフラのひとつとして紹介されてきた。ERPに蓄積されたデータを再利用しない手はないというところからである。また意思決定支援システム(decision support system)、OLAPなどの技法を用いて活用されるようになってきている。しかし何年か前にポッと出てきた新しい話ではなく、昔からマーケティングデータ解析として、POSシステムなどで使われてきていたリアルタイム分析技術と、ほとんど変らないのだ。むしろ更新されてくるデータをすぐに解析するのではなく、何年も前に需要のあった商品類を呼び起こして、それを現在の市場に投入できるか否かを考えるロジックが新たに見直されてくるのではないかと思うのである。「温故知新」という言葉もあるが一昔に活躍した商品を新たに見直すことによって新たな需要が見込めるようになるのかもしれない。

2009年1月3日土曜日

なかなかうまく使えないけど

[caption id="attachment_3" align="alignleft" width="160" caption="pencil"]pencile[/caption]

とりあえずインストールできたのでよしとするか
またこの続きは気の向いたときにしてみるとするか。

懇親会

所キャンで懇親会がある

Youtubeテスト

グーグルマップの表示の試し

test