YUKI'S BLOG

HCCソフト社長の日常をたまにお知らせします。

木漏れ日の太陽

2012-05-21 23:12:33 | 日記

今朝の金環日食はとても楽しめました。

 

天気にも恵まれ、輪になった太陽を見るのも良かったけど、

 

食が深くなるにつれ、まわりの風景が、夕方とは違った白っぽい薄暗さになり、

少し肌寒い風が吹き、鳥の鳴き声も少し違った感じがして、まるで異次元空間にいるようでした。

 

写真は、麦わら帽子を通して見た輪の形をした光と、木漏れ日に移る三日月形の太陽です。

 

 

 

一生に何回も見れないので、とても貴重な体験をしたなあ、と思いました。

 

 

 

コメント (0) |  トラックバック (0) | 

田植え取材

2012-05-14 23:24:39 | 技術情報

先日、那須塩原にて田植えを取材してきました。

 

 

場所は那須の清流「箒川」のすぐ傍で、水がとてもきれいで、

ここでとれるお米もおいしいです。(試食させてもらいました)

天気が良く、とても気持ち良い一日でした。。。

 

 

どうして私が田植えの取材をしたのかと言うと、

弊社初のショッピングサイト、「大盛屋」様サイトを構築しており、

無事本日オープンすることができました!

 

お米と蜂蜜の小さなお店ですが、これから季節の野菜なども

頑張って作っていますので、できれば応援して頂けるとありがたいです。

 

コメント (0) |  トラックバック (0) | 

JMeterのインストールと簡単な使い方

2012-03-20 22:40:34 | 技術情報

Webアプリケーション等の負荷テストに利用する、JMeterのインストールと簡単な使い方です。

 

1.JMeterを、下記URLからダウンロードします。

http://jmeter.apache.org/download_jmeter.cgi

 

2.ダウンロードしたファイルを適当な場所で解凍します。そして、binフォルダの

jmeter.batファイルを起動します。

 

3.JMeterが起動します。

 

4.まず、テストを追加します。画面左の「テスト計画」を右クリックし、

「追加」→「Threads(Users)」→「Setup Thread Groups」を選択します。

 

5.名前は適当につけます。スレッドプロパティの「スレッド数」「Ramp-Up時間」「ループ回数」を指定します。

例えば、スレッド数50、Ramp-Up時間5秒であれば、1秒あたり10スレッド実行されることになります。

スケジューラで開始時刻等を指定することも可能です。

 

6.次に、そのスレッドで実行するHTTPリクエストを指定します。4〜5で作成したスレッドグループを右クリックして

「追加」→「サンプラー」→「HTTPリクエスト」を選択します。

 

7.HTTPリスエストのWebサーバ、パス、パラメータ等を指定します。

 

8.テスト結果を確認するために、リスナーを準備しておきます。リスナーはいろいろありますが、

ここではスレッドグループを右クリックして、

「追加」→「リスナー」→「結果をグラフ表示(詳細)」を選択します。

 

9.テストを実行します。実行するテスト計画が選択された状態で、メニューの

「実行」→「開始」を選択します。

 

10.8で作成したリスナーを選択すると、テスト結果が表示されます。

応答結果や速度を計測することができます。

 

実際にWebアプリケーションの負荷テストを行う場合、セッションの設定等を行うことや、多くのクライアントから

同時アクセスを想定する場合、JMeterを起動するPCを複数用意し、ある程度のスレッド数を分けて実行する

必要があります。今後業務で使っていく中で分かったことがあればまた載せたいと思います。

 

 

 

コメント (0) |  トラックバック (0) | 

イチョウのじゅうたん

2011-12-04 21:34:48 | 技術情報

今日はとてもいい天気で、昼間はまだ秋の暖かさを少し感じることができました。

 

町民広場で、イチョウの落ち葉がじゅうたんみたいできれいだったので写真を撮ってみました。

 

もうすぐ、寒い冬がやってきますね。

 

 

 

コメント (0) |  トラックバック (0) | 

JCS(Java Caching System)で簡単なサンプル

2011-11-07 23:43:34 | 技術情報

Javaでキャッシュを実現するためのライブラリとして、Apache JakartaプロジェクトのJCS(Java Caching System)があります。Java言語を用いたWEBアプリケーションやスタンドアロンシステムで使えそうなので、簡単なサンプルプログラムを作成してみました。

JCSの概要については、下記URLに解説記事がありました。

http://www.ibm.com/developerworks/jp/java/library/j-jcs.html

 

JCSはこちらからダウンロードできます。

http://commons.apache.org/jcs/DownloadPage.html

 

依存するライブラリとして、concurrentパッケージが必要です。

http://g.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/intro.html

 

サンプルですが、まず、JCSの構成ファイル(cache.ccf)を作成して実行時のカレントディレクトリに配置します。まずは基本的な構成として、純粋にメモリーを利用してキャッシュを構成してみました。

# DEFAULT CACHE REGION
jcs.default=
jcs.default.cacheattributes=org.apache.jcs.engine.CompositeCacheAttributes
jcs.default.cacheattributes.MaxObjects=10
jcs.default.cacheattributes.MemoryCacheName=org.apache.jcs.engine.memory.lru.LRUMemoryCache

MaxObjectsにオブジェクト最大保持数を指定します。ここではテストのため、10を設定しました。

実際に簡単なオブジェクトを11個キャッシュに保存して、どうなるか試してみました。実行すると、古いキャッシュから2個が消えていました。つまりオブジェクト最大保持数−1個のオブジェクトがキャッシュに保存されている、ということになりそうです。キャッシュを見てなければファイルやDBから取得する、という使い方ができそうです。

以下、サンプルソースと実行結果です。

------ サンプルソース ------


package com.hcc_soft.geo.test;

import java.io.Serializable;

import org.apache.jcs.JCS;
import org.apache.jcs.access.exception.CacheException;

public class JCSTest {
	
	// キャッシュ領域名
	private static final String CACHE_REGION_NAME = "hcc";
	
	// キャッシュオブジェクト
	private JCS cache = null;

	public void test() {
		
		try {
			// キャッシュ初期化
            setCache(JCS.getInstance(CACHE_REGION_NAME));
            
            // 11人分のオブジェクトをキャッシュに入れる
            for(int i = 0; i < 11; i++) {
        		Person person = new Person("大川"+(i+1), "栃木", "000-0000");
        		cache.put("ohkawa"+(i+1), person);
            }
    		
            // 11人分のオブジェクトをキャッシュから読む
            for(int i = 0; i < 11; i++) {
            	Person person1 = (Person)cache.get("ohkawa"+(i+1));
        		System.out.println(person1 == null? "null":person1.toString());
            }
    		
        } catch (CacheException e) {
            e.printStackTrace();
        }
	}
	
	public static void main(String args[]){
		JCSTest s = new JCSTest();
		s.test();
	}

	public JCS getCache() {
		return cache;
	}

	public void setCache(JCS cache) {
		this.cache = cache;
	}
	
	protected class Person implements Serializable {
		protected String name_;
		protected String address_;
		protected String phone_;
		public Person(String name, String address, String phone) {
			name_ = name;
			address_ = address;
			phone_ = phone;
		}
		public String toString() {
			return "名前:"+name_+" 住所:"+address_+" 電話番号:"+phone_;
		}
	}

}

------ 実行結果 ------

null   ←古くて消えたキャッシュ
null   ←古くて消えたキャッシュ
名前:大川3 住所:栃木 電話番号:000-0000
名前:大川4 住所:栃木 電話番号:000-0000
名前:大川5 住所:栃木 電話番号:000-0000
名前:大川6 住所:栃木 電話番号:000-0000
名前:大川7 住所:栃木 電話番号:000-0000
名前:大川8 住所:栃木 電話番号:000-0000
名前:大川9 住所:栃木 電話番号:000-0000
名前:大川10 住所:栃木 電話番号:000-0000
名前:大川11 住所:栃木 電話番号:000-0000

コメント (0) |  トラックバック (0) |