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の表現力)