2009年2月24日火曜日
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'] を引いてきて
訪問者を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ファイルを開くと左上に
数値のみ記載されている。
同じディレクトリに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;
ラベル:
DOM Scripting,
Java Script,
情報
Syntax Highlighter
Syntax Highlighterのプラグインを追加
これで構築中のソースコードを記載しながら学習ができるようになった。
記述できるのは、HTML、XML、CSS、Java Script、JAVA、Python、PHPなど
これで構築中のソースコードを記載しながら学習ができるようになった。
記述できるのは、HTML、XML、CSS、Java Script、JAVA、Python、PHPなど
ラベル:
plugin,
Syntax Highlighter,
情報
OpenPNEの公式本
伊藤 幸夫,田端 厚賢,手嶋 守,米田 聡
Amazonランキング:18173位
Amazonおすすめ度:
Amazonおすすめ度:
ELCwebの事例を紹介させていただいた。SNSがビジネス上のコミュニケーションインフラの地位を固めつつあると。興味を持ち始めたときはどうなる旋風かもわからなかったけどITとのコラボレーションでは一番しっくりきたと思う。
2009年2月3日火曜日
登録:
投稿 (Atom)