« 2007年12月 | トップページ | 2008年2月 »

2008年1月

NetJan設計 データ設計(クラス図) Part3

ModelTileHolderについて、派生クラスとの関係を考えつつ、メソッドを追加していく。 牌をホルダーに追加するメソッド、削除するメソッド、並べるメソッド、等。

Holder2

■■■■■■■ これまでの作業で読んだ本 ■■■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付)
 この本に付属のCDで自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
その場でつかえるしっかり学べるUML2.0
 UMLとは何か? から説明しています。 わかりやすいのでお勧めです。
オブジェクト指向における再利用のためのデザインパターン
 設計時にデザインパターンを参考にしながら行っているので、辞書的に使ってます
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■■■■■

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

NetJan設計 データ設計(クラス図) Part2

今度は牌を保持する、ModelHolder派生クラスの派生クラス図を作成。

Holder

■■■■■■■ これまでの作業で読んだ本 ■■■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付)
 この本に付属のCDで自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
その場でつかえるしっかり学べるUML2.0
 UMLとは何か? から説明しています。 わかりやすいのでお勧めです。
オブジェクト指向における再利用のためのデザインパターン
 設計時にデザインパターンを参考にしながら行っているので、辞書的に使ってます
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■■■■■

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

NetJan設計 データ設計(クラス図) Part1

データ構造の設計をしていく。 ModelPositionクラスについては、staticなメンバを1つ持ち、このメンバがプレイヤーがどの位置(東南西北)にいるか、を表す。 各牌はこのクラスを内部に持ち、その牌がどの位置(絶対位置、ゲーム位置)にあるかがわかる。

Class_model

■■■■■■■ これまでの作業で読んだ本 ■■■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付)
 この本に付属のCDで自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
その場でつかえるしっかり学べるUML2.0
 UMLとは何か? から説明しています。 わかりやすいのでお勧めです。
オブジェクト指向における再利用のためのデザインパターン
 設計時にデザインパターンを参考にしながら行っているので、辞書的に使ってます
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■■■■■

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

NetJan設計 データ設計

次はデータの詳細設計をしていく。 どのModelクラスにどのようなデータを持たせるかを考えていく。 その中でも、色々なModel派生クラスで使用されるであろう、東南西北を表す概念について、1つのクラスで表すようにする。

牌、ユーザ、その他のデータについて、”位置”の概念を含有するクラスがいくつか存在する事になるが、その際、JAN_POSITIONクラスを利用する。 
絶対位置、ゲーム位置、の2つの概念を持ち合わせるクラスで、2つの概念の違いは下記の通り 

  • 絶対位置: プレイヤーから見たときの位置。 自分自身を1、右隣の人を2、対面を3、左隣を4、とする
  • ゲーム位置: ゲームとしての位置。 南家なら"南"が位置となる。

下記図において、南家のプレイヤーから見ると下記の位置だとしても、同じ状況を西家から見ると、絶対位置は異なる。  (例えば、西家のプレイヤーから見れば南家の人の絶対位置は4となる) 

Position

■■■■■ これまでの作業で読んだ本 ■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付)
 この本に付属のCDで自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
その場でつかえるしっかり学べるUML2.0
 UMLとは何か? から説明しています。 わかりやすいのでお勧めです。
オブジェクト指向における再利用のためのデザインパターン
 設計時にデザインパターンを参考にしながら行っているので、辞書的に使ってます
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■

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

NetJan設計 ステートチャート図、微調整

Gameのステートチャート図、詳細への記事で設計したステートチャート図の各ステートの意味を忘れないように図中のノートに各ステートの意味を書いていく。

書いてて思ったが、TAKE_REQUESTEDの状態は持ってても意味がないという結論に達した。 というのも、AFTER_DISCARD 状態と結局は同じ(ロンか鳴きがなければ、WAIT_DISCARDに遷移する、というのがポイントなので)状態だから。 同時に、Com_Takeもなくし、替わりにCom_NoAction(捨牌後、上がりも鳴きもしない事を意味する)を追加。

下記、調整したステートチャート図

Gamesubstate_new

■■■■■ これまでの作業で読んだ本 ■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付)
 この本に付属のCDで自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
その場でつかえるしっかり学べるUML2.0
 UMLとは何か? から説明しています。 わかりやすいのでお勧めです。
オブジェクト指向における再利用のためのデザインパターン
 設計時にデザインパターンを参考にしながら行っているので、辞書的に使ってます
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■

ステートチャート図を説明したような記事ってなぜか少ないと感じます。。

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

NetJan設計 Com送受信

クライアント~サーバ間のコマンド(Com)の送受信のシーケンスを作成する。 

Seq_com_sendrcv

このシーケンス作成にあたり、NetworkMainからは、ドライバレペルの違いを意識しないようにしてる事を再認識した。 よく考えたら起動時のシーケンスでNetworkMainからドライバの区別をしているように設計してしまってたので、一部修正する。

Set_start_mvc2

■■■■■ これまでの作業で読んだ本 ■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付)
 この本に付属のCDで自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
その場でつかえるしっかり学べるUML2.0
 UMLとは何か? から説明しています。 わかりやすいのでお勧めです。
オブジェクト指向における再利用のためのデザインパターン
 設計時にデザインパターンを参考にしながら行っているので、辞書的に使ってます
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■

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

NetJan設計 起動時のオブジェクト生成と連携

起動時にMVCの各オブジェクトの生成と連携必要部分について、参照できるようにセットするシーケンスを作成。 

Seq_start_mvc

■■■■■■ これまでの作業要約 ■■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■

MVCでちょっとググッてみました。

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

NetJan設計 ネットワーク部クラス図

ネットワークのクラス設計を行う。 サーバは4つのクライアントとやりとりをする必要があるが、クライアントからすれば相手はサーバ1つ。 この違いを、Neetwork層の外のクラスからは意識不要な疎結合設計にする。 

Class_net

■■■■■■ これまでの作業要約 ■■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■■■■■

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

【英語】 毎日iKnow

最近、毎日1回iKnowやってます。 パソコンを触るついでに2分だけする感じです。 GMAT verbalというコースを1レッスンだけしてます。

ここで出てくる単語、そういえば英検1級の最初の部分に出てくる単語問題とレベルが似てる気がします。

もし資格にこだわるなら、今はTOEIC975点なので、TOEIC990点を目指す、という選択肢も無い事はないけど、イマイチ15点UPする事に意味があるとは感じないです。 

勉強を始めた頃は、NOVA友達との交流とかも兼ねて、なんとなく続けられたのがあり、その結果、留学せずに英語力付ける事ができましたが、何か次に向けて頑張る目標を立てないと・・・ と思うこの頃です。 

iKnowは少し前の記事で紹介した、無料英語学習サイトです。

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

【仕事アイテム】システム手帳 年間カレンダー

折りたたみ(ジャバラ)の年間カレンダーを買いました。 今まではフランクリンのものを使っていたのですが、1日あたりの記入スペースが非常に狭い事と、表/裏それぞれに1年分のスペースがあり、これは必要ないので、表6月、裏6月のが無いかな? と前から思ってたんですが、見つかったので購入です。

今の使い方は、大きな出来事を書き込んで、1年間やってきた事のサマリーが見渡せるようにしてるだけです。 通年計画等をしていきたいと思うこのごろです。

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

NetJan設計 タイマーによるCom実行

今度はコマンド(Com)の実行について、viewから(ユーザから)のアクションをトリガとして実行されるのではなく、タイマー満了による実行をする仕組みの設計。

例えば、プレーヤーAが牌を場から取得した場合、プレーヤーAがいつまでも捨てる牌を選ばない場合、ずっと待つわけにはいかないので、取得した時点でタイマーを開始し、一定時間経過したら、プレーヤーAは自動で牌を捨てるようになる。 

Control_class

Timer_com

■■■■■これまでの作業要約■■■■■
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。
■■■■■■■■■■■■■■■■■■■

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

NetJan設計 起動処理の設計

次は起動処理を設計していく。 GUIとCUIの両方で起動できるようにする。 これはmainメソッドを持つStartUpクラスに渡すパラメータにより、どのクラスを生成するかを判断する。

Start_model

Start

■これまでの作業要約
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。

※参考にした記事

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

【読完】その場でつかえるしっかり学べるUML2.0

読み終えました。 一部理解がついていってないところもありますが、かなり良い本だと思います。 UMLとは何か? というところから始まり、各図(クラス図、シーケンス図、etc・・・)のポイントが章別に説明されてます。 また、ページの構成とか文中の図とかも、すごく見やすいです。

UML記述にはフリーソフトのJudeを使ってるので、UML2.0で規定されてる図の種類のうち、いくつかは作成できないのですが、まぁ、今のところ不都合は感じてません。

カスタマーレビューも高かったので、良本の予感がしてたのですが、かなりお勧めです。 

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

NetJan設計 ここまでの設計書をUP 1回目

今までの設計の記事を列挙してみました。

ここまでの設計書をUP ⇒ 「NetJan_20080123_0039.zip」をダウンロード

■これまでの作業要約
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。

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

NetJan設計 Gameのステートチャート図、詳細へ

前回記事で、Game状態を表すEnumを2つ作成した。 GameStateと、その中のPLAY Stateの中を詳細化した、GameSubState、との2つ。 下記はTree図。

Tree

前回記事で作成したステートチャート図を少し並び替える。 ここにGameSubStateも記載してしまおうと思っていたけど、少し大きくなりそうなので、図も別々にする。

State2

State2_sub

■これまでの作業要約
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。

ステートチャート図を説明したような記事ってなぜか少ないと感じます。。

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

【本購入】人気MBA講師が教えるグローバルマネジャー読本

会社の人に薦められて買いました。  原本で買いたかったのですが、4倍くらい値段が違ったので、やめておきました。

そういえば、最近インキュベーターのblog見てないのを思い出した。

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

NetJan設計 Gameのステートチャート図

ModelMain内に含有される、ModelGameが、ゲームの状態を表す、state、substateメンバを持つようにする。 この組み合わせで、ゲーム中の状態を表す。

状態の変化は、コマンドの実行によって行われる。

まずはコマンドの実行なしで、単純に状態を並べてみる。

State

■これまでの作業要約
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。

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

NetJan設計 Com派生クラス

ユーザからのアクションをViewからControlに伝える手段、そしてC/S間で要求、受理判断を行ううえで常に使用するのが、Comから派生した各クラスとする。

例えば、"牌を捨てる"というアクションをユーザが希望した時(捨てるボタンを押下した時)、Com_Discardクラスが生成され、Comの配送のシーケンスのように処理される。

アクション毎にクラスを作成するので、Comから派生するクラスは多岐にわたる事になる。

Com

■これまでの作業要約
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。

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

NetJan設計 データ構造

次はデータ構造を決めていく。 modelパッケージのクラス図を作成し、モレが無いか考えていく。 ModelMain内部に全てのデータクラスを含有する形にしていく。 

Model

■ここまで
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。

他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。

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

NetJan設計 ユースケース図更新

ユースケース図を更新した。 よく考えたら、viewの先までユースケース図で表す必要は無いので消した。 ついでに、"ゲーム中"というユースケースを動詞に変更。 同時にそこから派生するユースケースを洗い出してみる。

Usercases

ここまでの設計書をUP 「NetJan_20080121_0209.zip」をダウンロード

■ここまで
できるPRO Fedora 8 Linux 完全活用編(DVD付) を使って、自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。
他にもいくつか本を買いましたが、ここまでの過程で必須ではないので割愛します。

※時々見てるblog でもユースケースの事書いてた事だし。

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

NetJan設計 コマンドの配送と実行

ユーザアクションはViewで検知させ、それをcontrol内にpushで渡し、キューイングする。 controlはタイマーで定期的にキューのチェックを行い、1つずつ取り出して実行(execute)するようにする。

排他処理は2つの部分で行う。

  1. Modelのデータ編集、Modelのデータ参照とその結果を踏まえたコマンド(Com)の実行可否判断、は、checkQueueのコンテキスト内で行うようにする。 この事により、複数のスレッドが同時にModelにアクセスして、片方で編集中にもう片方でコマンドの実行可否を判断する、といった輻輳を防ぐ。
  2. キューイング処理の排他。 キューイングへのpushとpopが輻輳しないよう、synchronizedさせる。 pushとpopそれぞれのメソッドをsynchronizedメソッドにしても意味がないので、pushとpopで連携して排他できるよう、下記のような方法を取る。

  synchronized (this){

    処理内容

  }

上記実現のため、controlパッケージ内のクラスに、メソッドを追加する。

Class_control

ここまでの決定を元にシーケンス図を作成する。

Com_mvc

■ここまで
できるPRO Fedora 8 Linux 完全活用編(DVD付) を参考にして自作PCにLinuxインストールし、麻雀サーバとして立ち上げました。
今はUMLで麻雀ソフトを設計中です。 UMLに関しては、その場でつかえるしっかり学べるUML2.0を、デザインパターンに関しては、オブジェクト指向における再利用のためのデザインパターン を参考にして進めています。

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

【本購入】その場でつかえるしっかり学べるUML2.0

カテゴリーを"麻雀ゲーム作成"にすべきか迷いましたが・・・ UMLの本を購入しました。 カスタマーレビューも非常に高いので、この本で勉強を進めながら麻雀ゲームを作成していきます。

結構UMLを勉強してる人のblogとかでも紹介されてるから、良いものかな、と思ってます。

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

NetJan設計 ユーザアクション時のMVCのやりとり

ユーザアクション(牌を捨てる、その他)が発生した時のMVC間でどのように伝えるか、を考えていく。 考えるうちに思ったが、View⇒Controlの結合はもっと疎結合にするため、ControlMainをViewMainから参照するのではなく、ControlIFというインターフェースを用意する。 ViewIFはこのインターフェースに対して、Comを設定していく。

Controlif

その設計を元に、MVCのやりとりをシーケンス図に落とし込む。

Sequence

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

NetJan設計 ViewとModelの連携クラス図

ViewとControlのやりとりは、ViewIFをインターフェースにする事で考えていった。 次はViewとModelのやりとり。 Modelのデータが変更した時にViewに通知して、View側で表示変更するかたちになる。 

今回は、Observer/Observableのパターンを使う。 このパターンはデザインパターンという非常に有名な本でも紹介されてる設計パターン。 java.utilに元々存在するので、これらを利用してクラス図を作成。 ついでに、今まで作成した配置図、コンポーネント図、クラス図の図名を少しだけ変更。

Class_viewmodel

ここまでの設計書をUPする。 「NetJan_20080119_1134.zip」をダウンロード 

デザインパターンという本はカスタマーレビューでも非常に評価が高い、お勧めの本。

勉強のため、http://blog.goo.ne.jp/cilsetyu も少し確認しておく。

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

NetJan設計 ユースケース図変更に伴う他変更

ユースケース図作成にあたって、ViewをIF化したので、他の図も変化する。

クラス図とコンポーネント図の変更版

Component2

Class2

ユースケース図の作成の考え方がそもそも合ってるのかわからない。 http://www.rmake-labo.com/akasata/articles/show/229 で少し説明を見てみる。

また、お勧めの本も購入。

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

NetJan設計 ユースケース図作成

次にユースケース図を作成する。 ユースケースの大分類として、ゲーム開始/ゲーム中/ゲーム終了の3つを作成。 ゲーム中がダントツで大きい処理にはなるが、取り合えずこの分類で整理してみる。

また、ここで作成したクラスについて再考。 ViewMainがControlMainとやりとりするクラス設計で考えていたが、Viewは抽象化して色々なタイプのUIをサポートしたほうが良いと判断。 なので、ViewMainとControlMainの関係は削除し、代わりにViewIFをインターフェースとして用意。 このIFでControlMain, ModelMainとやりとりする。

Usecase

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

NetJan設計 コンポーネント図

次はコンポーネント図を作成していく。 配置図の中にNetJanというコンポーネントを持たせたが、この、コンポーネントの中のソフトウェアの構成を表す感じ。

judeで引き続き作成する。

Component

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

NetJan設計 配置図作成

次にNetJanをインストールするPCを表した配置図を作成。

まずはモデリングのために、"PC"というノードの中に、"NetJan"というコンポーネントがある事を表す。 これを配置図_モデリングという図名で作成。

Haichi_model

次に、実際の物理的な関係を表すために、ノードインスタンス、コンポーネントインスタンスを含めた配置図を作成し、配置図_インスタンスという図名で保存。

Haichi_instance

引き続き、UMLを勉強しながら設計していく。

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

NetJan設計 MVCによるクラス設計

基本設計を始めていく。 MVCアーキテクチャをベースとする。 Modelは牌、その他のデータを格納するクラス郡、Viewは表示とユーザからのアクションを受け付けるクラス郡、Controlは他のノードからコマンドパケットを受信してコマンド実行をしたりするクラス郡。

Mvc

これまでの画像、設計書:「NetJan_20080116_2220.zip」をダウンロード

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

NetJan設計 構成図

NetJanは、基本的にサーバ1台、クライアント4台の構成で動作する事を想定する。

Nodes

また、C/Sソフトウェアを起動するためには、C/S識別文字列(ソフトウェアをクライアントとして動作させるか、サーバとして動作させるか)の指定、をパラメータにて明示しなければならない事とする。

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

牌画像 4種の表示パターン作成

前回の記事の続きで、足りない牌表示パターンについて考えていく。 縦の牌の寝てる板は、立ってる牌の外枠部分を上下を逆にする感じで作成する。

表示パターンは4つに分ける事ができる。 下記、設計書の分類。 横立のパターンは不要となる。 この不要なパターンも含めた4種類の画像を作成する。

4kinds

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

【本購入】できる人の時間の使い方

この3連休はちょっとダラダラ過ごし過ぎてしまった・・・ と思ってたときにコンビニで見かけたので、買いました。 まだ読んでないですが、要約してしまえば明日死ぬかもしれない、と思いながら生きましょう、というところから色々と話を展開する感じでしょうか。

この本を買って、まだ読む前に、なぜか死ぬまでにやりたい100のこと 、というblogを思い出した。

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

牌画像 縦横状態、立捨状態の表示

全然回の考察を更に詳しくしていき、設計書に落とす。

※クリックしたら拡大表示されます。

Hai_display_way

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

牌画像 画像の編集

前回記事 での牌画像の編集を行うため、GIMPという画像編集用フリーソフトをDLし、共通部分画像外枠画像の分割等を行った時のイメージを掴む。 ただ、実際に画像データを編集するのは、プログラムで行う予定。 というのも、34種全て牌について、この作業をツールで行うのはツライので。

http://www004.upp.so-net.ne.jp/iccii/usegimp/usegimp.htmlhttp://e0166.blog89.fc2.com/blog-entry-244.htmlに、かなりわかりやすく使い方が説明されていたので、それを参考にしました。

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

牌画像 立ててる時と寝かしてる時の牌の表示のさせ方について

DLしてきた画像ファイルは、縦表示用と横表示用がある。

Hatu_3 Yhatu

ゲームを作成しようとすると、これ以外にも色々なパターンが必要になる。 

  1. 縦の牌を立った状態で表示する場合: 自牌、対面の自牌
  2. 縦の牌を寝た状態で表示する場合: 自分の捨牌、対面の捨牌、上家、下家が鳴いた時(or リーチした場合)の横向けにしてる牌(自分から見ると縦を向く)
  3. 横の牌を寝た状態で表示する場合: 自分、対面が鳴いた時(or リーチした場合)の横向けにしてる牌、上家、下家の捨牌
  4. 横の牌を立った状態で表示する場合: 無し

この4つのパターンに分けられると思う。 この時、DLしてきた画像の横versionは、ゲームにおいては使わない画像になりそう。 逆に必要なパターンが欠けてる事になる。 

そう考えたとき、できれば1つの画像データを元に、全ての必要なパターンの画像を作成すれば楽になると考える。

例えば縦の画像を拡大してみると、”面”部分(共通部分画像)と、立体的に見せる部分(外枠部分画像)に分けて考える事ができる。

■元画像

Hatsu_large_2

■元画像の”面”部分を黒塗りしたもの

Hatsu_large_inside_empty_4

そう考えたとき、この”面”の部分を”共通部分画像と考え、それ以外の部分を”外枠部分画像”とする事により、各パターンで”共通部分画像を流用できるようにしようと思う。

ゲームで遊んじゃうblog で紹介してる麻雀ゲームみたいにリアルには作るのしんどそう。

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

牌画像 牌画像等探し

NetJanで使用する牌画像を色々googleで検索。 色々と使用制限がないものがあれば助かるが、何かしら制限はついてしまうか、と思っていたけど、まつセン というサイトで完全フリーの画像を提供していた。

ここの画像をDLする。 麻雀ゲーム作成に使いたい事を作者に連絡しておこう。

ちなみに牌の画像はこんな感じ。

Hatu_2 Man1 Man2 Man3

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

Java開発環境 大体準備完了

実際に設計~コーディングを始めたら、色々と出てきそうな気はするけど、機材配置、サーバ構築から、Java開発環境を整えるところまで、大体の準備は完了したので、今までの作業をリンクとしてまとめます。

機材

サーバ構築

Java開発環境

この後は牌画像をDLできるところを探したり(最悪、フリーで使えないなら自分で作成?)、LinuxサーバでNetJanのサーバサイド動作させるために、サーバにJavaをインストールしたり、と必要ですが、それは開発がある程度進んで通信ができるようになってから、にします。

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

Java開発環境 NetJanソースの自動圧縮

次に、作成したソースコード等をこのblogにUPするために、ソースフォルダ等を圧縮するバッチファイルを作成する。

圧縮処理がWindowsのデフォルトのコマンドラインにあればいいんですが、無いので、perlで圧縮部分だけ作成。

xcopy C:\Work\toshiki\NetJan\4_画像 %ZIPWORK_PATH%\4_画像 /c /e /i /y /z
xcopy C:\Work\toshiki\NetJan\6_Src %ZIPWORK_PATH%\6_Src /c /e /i /y /z

でワークフォルダに必要なフォルダをコピーした後に、perlのArchive::Zip を使ってそのワークフォルダを圧縮する。  ※Perl自体を持ってない場合は、ココからDLできます

use Archive::Zip;

my $zip = Archive::Zip->new();

# 第1引数は圧縮するフォルダ
# 第2引数は出力先フォルダ
$src = $ARGV[0];
$dst = $ARGV[1];

print "$src 圧縮⇒ $dst \n";
$zip->addTree($src);

($ss, $min, $hh, $dd, $mm, $yy) = localtime(time);
$yy += 1900;
$mm++;
$datetime = sprintf("%04d%02d%02d_%02d%02d", $yy, $mm, $dd, $hh, $min);

$dst_fullpath = "$dst\\zipped_$datetime.zip";
print "making $dst_fullpath \n";
$zip->writeToFileNamed($dst_fullpath);

ただ、スクリプトを組んで実行してみると、出力ファイルの中身に余分なファイルがある。

Zipped

各フォルダと同じ名前のファイルが存在する。 これはなんだろう。 でも、解凍したら余分なファイルは残らないので、まぁ良しとします。

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

Java開発環境 NetJanをCVSに登録

Ec_cvs_existing

NetJanプロジェクトをcvsに登録する。 プロジェクトを右クリック ⇒ Team ⇒ ShareProject を選択。

Ec_share

リポジトリはeclipseからcvsアクセス で作成したリポジトリを使うので、Use existing repository location を選択してNext ⇒ Use project name as module nameを選択してNext。

cvsのパスワードを聞かれるので、★非公開007★を入力。 そのままデフォルトで進めていき、Commitコメントを聞かれるので、適当に入力する。 

これで完了

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

Java開発環境 eclipse設定続き

Junit_src 続いて、eclipseの設定を行う。 まずはJunitインストール でインストールしたJunitのライブラリを追加する。

NetJanプロジェクトを右クリック ⇒ JavaBuildPath ⇒ Libraries ⇒ AddExternalJars から、インストールしたJunit.jarを選択する。

Add_junit

次に、http://www.javadrive.jp/eclipse3/help/index4.html を参考にして、jdkのsrc.zipを設定する。 

同様に、junitもソースを設定する。 junitから右クリックして、ソース添付させる。 junitをインストールした場所を選択し、junit-4.4.jar を設定。

Junit_src_2

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

Java開発環境 フォルダ構成

次に開発ソースの格納場所等を決める。 下記のような構成とした。

Folder

これにあわせてecipseのプロジェクト作成を行う。

eclipseの画面から

Create_project1

右クリック ⇒ 新規作成 ⇒ JavaProject を選び、Project名はNetJanとし、ソースフォルダは作成した 6_Src を指定する。 

Create_project2

あとはNext ⇒ FinishでProject作成完了。

eclipseの勉強もしておく必要がありそう。

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

Java開発環境 Judeインストール

次はeclipseの設定を進めていく。 ソースは自分の指定した場所にしたいので、色々触ってやり方を確認。  どうもその後色々実験してみると、開発環境を共有したらeclipseUMLは使えない、とある (http://www.eclipsewiki.net/eclipse/index.php?EclipseUML

それならeclipseUMLを使うのはやめよう。 ソースと同期が取れるのが魅力的だったけど、cvsを諦めてまでは不要。 やっぱりみんなが使ってるJudeにする。

Jude

ここからJudeCommunityというフリー版を落としてくる。 DLしたファイルは、jude-community-5_1_1-setup.exe (7,546 KB) (Windows インストーラ)推奨

DLしてインストール

UMLの勉強は独習シリーズの本で少しした事があるくらい。 

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

Java開発環境 eclipseからCVSアクセス

今度は準備したLinux上のCVSにノートPCからアクセス。 eclipseを立ち上げ、Window->perspective->Other からCVS Repositoryを選択。 

Eclipse_cvs

CVS Repositories のコンテキストで右クリック ⇒ New ⇒ Repository Location を選択する。

Eclipse_cvs_connect

  • Host: www.ts.mydns.jp
  • RepositoryPath: /var/www/cvs
  • User: netjancvs
  • Password: ★非公開007★

を入力して、Finish

Eclipse_cvs_connected

アクセス成功!

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

サーバ構築 CVS、xinetd インストール

段々環境が整ってきた。 今回開発する麻雀ゲーム、本当なら仕様書から作成したいところだけど、ソフト開発しながら仕様を決めていく。

開発途中のソースの管理のために、ソース管理システムを導入したいところなので、これもフリーのCVSをインストールする。 eclipseはデフォルトでCVSのクライアント機能が付いてるようなのでインストールは不要。  今回構築したLinuxサーバをCVSサーバとするために、こちらにインストールする。 TeraTermから、

yum install cvs

でインストールする。

次に、pserver設定方法サイト を参考にしながら設定していく。

  1. まずは、/var/www/ の下に cvs というcvs用のフォルダを作成する。
  2. export CVSROOT=/var/www/cvs/ で、ルートフォルダ設定
  3. /var/www/cvs に移動し、cvs init で初期化
  4. /var/www/cvs の下にREPOSITORYというフォルダができる

ここまでで、LinuxサーバへのCVSリポジトリの作成は完了。 次にノートPCからソースのUP/DLをできるようにする必要がある。 色々調べてわかったことだが、LinuxをCVSサーバとして動かすためには、xinetd の説明サイト の説明に書いてるように、スーパーサーバのデーモンを動かしたり、そのためのパケットを受け付けたりする必要があるみたい。

pserver設定方法サイト の説明を参考にして設定を進めていく。

iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport ★非公開006★ -j ACCEPT
iptables -I RH-Firewall-1-INPUT -p udp -m udp --dport ★非公開006★ -j ACCEPT

で、使うポートのアクセスを許可。 次に、/etc/services に下記の2つを追記

cvspserver 2401/tcp
cvspserver 2401/udp

次に、CVSアクセスのためのユーザを追加する。 

  1. adduser -p '' netjancvs
  2. passwd netjancvs
  3. パスワードを聞かれるので、★非公開007★を入力
  4. sshdで操作できるようにするため、sshdのAllowUsers設定にもnetjancvsを追加
  5. /etc/xinetd.d/cvs というファイルを下記のように編集

service cvspserver
{
        disable                 = no
        port                    = 2401
        socket_type             = stream
        protocol                = tcp
        wait                    = no
        user                    = netjancvs
        passenv                 =
        server                  = /usr/bin/cvs
        env                     = HOME=/var/www/cvs
        server_args             = -f --allow-root=/var/www/cvs pserver
#       bind                    = 127.0.0.1
}

service xinetd restart でxinetdを再起動、させようとしたが、ここで、"xinetd: unrecognized service"のエラーが出る。 インストールしてなかった。。

yum install xinetd

でインストール。 改めて service xinetd restart 

CVSのコマンドの使い方は本を見て勉強する。

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

Java開発環境 SDK、EclipseUMLインストール

サーバ構築が終わったので、Java開発環境の準備に戻る。

http://java.sun.com からjdk-6u3-windows-i586-p.exe をDLし、インストール。 途中で色々聞かれるが、Nextを選択し続ける。 インストールが終わったら、readme.txtを読んでおく。 色んなソフトインストール時のreadme.txtは昔は読まなかったけど、最近は有用な情報が詰まってる事を実感しているので、一応読むようにしてる。

Omondo

http://www.omondo.com/ からEclipseUML 2007 3.3.0 Free(version:3.3.0.v20071210) をDLし、同サイトのHtml Documentation を見ながらインストールしたら特につまる事なくできた。

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

サーバ構築 cgiが正しく動作しない問題

前の記事 では、cgiは正しく動作した記憶があったのですが、今ノートPCから http://www.ts.mydns.jp/cgi_test.cgi にアクセスすると、"このファイルを開くか、または保存しますか?"とファイルのダウンロードDialogが表示されてしまうようになりました。

Googleで色々と調べ、http://webmemo.flaps-web.com/2007/06/cgi.html で解決。 引用すると、

Dialogからダウンロードしてどこかに保存しテキストエディタで開いてみてください。
perlのCGIだと仮定すると3つの状態が想定できます。

1. CGIの実行結果が記述されている場合
 ヘッダの不良、 またはContent-type:text/plain\n\nと言うヘッダの場合、文法的には正しいのですが、MSIEのおかしな仕様により開けません。
  Content-type:text/html\n\n をつけてHTML文を出力しましょう

2. 実行結果ではなく #! /usr/local/bin/perl などを含むスクリプトのソースそのものが記述されている場合
 httpd.confまたは有効な .htaccessで AddHandler cgi-script .cgi が効いていません

3. エラーメッセージが記述されている場合
 error.logを見て参考にしましょう 場所はデフォルトなら C:\Program Files\Apache Group\Apache\logs
 内容を見ても判らなければ logの一番下から3行分を補足に貼り付けてください

という事で、cgi_test.cgi のtext/plainの部分を、text/htmlに変更して保存、http://www.ts.mydns.jp/cgi_test.cgi にアクセスしてみるとうまくいった。 また、今後の対比実験のために、もとのtext/plain のままのものは、cgi_test_plain.cgi で保存。 http://www.ts.mydns.jp/cgi_test_plain.cgi にアクセスすると確認できるようにしておきました。

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

サーバ構築 Samba、SSH、NTP

これまでは、本の前から割りと順番に進めてきたけど、後は必要なものだけをインストールしていく。

■まずはSamba

  1. Sambaをyumでインストール yum install samba
  2. iptablesでTCP/UDPの135~139のPortを許可する iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport 135:139 -j ACCEPT、iptables -I RH-Firewall-1-INPUT -p udp -m udp --dport 135:139 -j ACCEPT、/etc/rc.d/init.d/iptables save
  3. pdbedit -a toshiki でSamba利用ユーザ登録。 パスワードは★非公開004★
  4. /etc/samba/smb.conf のworkgroupを"TOSHIKIHOME"、server stringを"XcCube"に、wins support = yes がコメントアウトされているものを有効に、globalセクションの最後に、”passdb expand explicit = no”を追加
  5. Sambaを起動(/etc/rc.d/init.d/smb start、/etc/rc.d/init.d/nmb start)、次回Linux起動時にもSambaが起動するように設定(chkconfig smb on、chkconfig nmb on)
  6. exitしてroot権限を放したうえで、/home/toshikiの下に、smb_test.txtで適当な内容のファイルを作成する。
  7. PCのWorkGroupもTOSHIKIHOMEになっていることを確認し、"ネットワーク"からサーバのフォルダにアクセスする。

Workgroup Linux

■次はSSH

  1. /etc/ssh/sshd_config のPermitRootLoginをnoに、ファイルの一番下に、”AllowUsers toshiki”を追加
  2. sshdの起動と、次回Linux起動時にも起動する設定(/etc/rc.d/init.d/sshd start、chkconfig sshd on)を行う。
  3. ノートPCにTeraTermをインストール。 http://sourceforge.jp/projects/ttssh2/ から UTF-8 TeraTerm Pro with TTSSH2 を選択しDLしてインストール
  4. 実行し、ホストに192.168.11.100を入力、SSHのSSH2で接続。
  5. 証明書保存するかどうかが聞かれたり、ユーザ名/パスワードが聞かれたりするが、入力して進める。 
  6. これでログイン完了!

更に安全にリモート操作するために、公開鍵認証の設定を行おうとしたけど、うまくいかない。 なので、仕方なくPort番号だけ、★非公開005★ に変更する。 

また、SMTP/POP/FTP等のためのPortはACCEPTにしてたものを削除、同時にルータの設定も同様に不要なPortの転送ルールは削除する。

■NTP

  1. yumでntpをインストール
  2. 付属CDから設定をコピー
  3. ntpdateコマンド実行
  4. ntpdの起動、Linux起動時に起動する設定
  5. ntpq -p で動作確認
  6. ノートPC側で、コントロールパネル ⇒ 日付と時刻 ⇒ インターネット時刻 から、LinuxサーバのIPを設定。 今すぐ更新はまだ押さない。
  7. iptablesコマンドで、ノートPCからの同期を受け付けるよう、Port123のUDPをACCEPTする
  8. ノートPC側で、今すぐ更新 を選択 ⇒ 成功!

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

サーバ構築 Webサーバ

今度は同本の14-1から進めていく。

  1. まずはApache httpdのインストール。 yum install httpd httpd-manualにてインストール。
  2. vi /etc/httpd/conf/httpd.conf で、 ServerAdmin(toshiki_sato@dsk.zaq.ne.jp), ServerName(www.ts.mydns.jp), AddDefaultCharset の箇所を修正する。 
  3. iptables -I RH-Firewall-1-INPUT -p tcp -m tcp --dport http -j ACCEPT で、httpポートを受け付けるようにする。
  4. /etc/rc.d/init.d/iptables saveで設定を保存
  5. chkconfig httpd on で、次回起動時にhttpdデーモンが起動するようにする。

ここまで行い、再起動させてみる。 ps ax | grep http で、httpdが起動していない事を確認してから、再起動し再び、ps ax | grep http で起動している事が確認できた。

この状態でノートPCからhttp://www.ts.mydns.jp/ にアクセスしても、エラーになる。 これは、ノートPCがmydnsのDNSの仕組みを経由しない、内部(家の中)にあるから。  ※ http://2020hindsight.cocolog-nifty.com/blog/2007/12/post_8976.html がうちのサーバとノートPC、ルータの配置関係図

C:\WINDOWS\system32\drivers\etc\hosts ファイルに下記を追記すると、ノートPC側でIPアドレス解決をしてくれるようになる

  192.168.11.100       www.ts.mydns.jp

http://www.ts.mydns.jp/ にアクセスしてみると、Apacheの画面が表示された!

次は、14-3、14-4は飛ばして、14-5でSSI/CGIを使えるようにする。

  1. /etc/httpd/conf/httpd.conf で、<Directory "/var/www/html"> にたいして設定している部分のOptionsに、Includesを追加。
  2. 今度はサーバの再起動をさせたくないので、/etc/rc.d/init.d/httpd restartでhttpdデーモンを再起動させて、この設定を読み込ませる。
  3. 下記内容でssi_test.shtmlファイルを作成し、/var/www/html下に格納する。

<!--#config timefmt="%Y/%m/%d" -->

<html>

<body>

Update: <!--#echo var="LAST_MODIFIED" --><br>

</body>

</html>

ノートPCから、http://www.ts.mydns.jp/ssi_test.shtml にアクセスし、うまく動作した! 

今度はCGIを使えるようにする。

  1. /etc/httpd/conf/httpd.conf の ”#AddHandler cgi-script .cgi” の行の先頭の#を削除して、有効にする
  2. /etc/httpd/conf/httpd.conf で、<Directory "/var/www/html"> にたいして設定している部分のOptionsに、ExecCGIを追加。
  3. httpdを再起動
  4. 下記内容でcgi_test.cgiファイルを作成し、/var/www/html下に格納する。
  5. chmod 755 cgi_test_cgiで実行可能にする。

#!/usr/bin/perl

print "Content-type: text/plain\r\n\r\n";

print "Hello, CGI test";

ノートPCから、http://www.ts.mydns.jp/cgi_test.cgiにアクセスし、うまく動作した! 

14-6~14-8は飛ばす。

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

サーバ構築 不具合対応(Stopping irqbalance がFAILになる)

サーバ立ち上げは進んでいるものの、気になる点が2つある。

1つは起動時にStarting udevで2分近くかかる件、もう1つは終了時にStopping irqbalance がFAILになる件。

Starting udevで数十秒止まってしまう問題について修正できるか試してみる。 http://juanjoalvarez.net/udevstartproblem に記載されている方法で、/sbin/pcmcia-socket-startup をrenameしてから再起動。 ⇒ 変化ありませんでした。 なので元に戻す。

終了時にStopping irqbalance が失敗する問題のほうが簡単に解決できそうなので、こちらを先に解決してみようと思う。

まずはgoogleで色々検索し、それらしいのが見つかったのが、http://www.linuxquestions.org/questions/fedora-35/stopping-irqbalance-failed-602254/  ”明らかにBugなのでBUgzillaにあげた”のことで、そのBugzillaを見てみる。 https://bugzilla.redhat.com/show_bug.cgi?id=397901 すると、”irqbalance-0.55-7.fc8 has been pushed to the Fedora 8 stable repository” と修正済みとある。

yum install irqbalance を実行してみると、現在のVersiontが0.55-6.fc8で、0.55-7.fc8にしますか? と聞かれるので、VersionUPしてみた。 これで修正されたみたい!

LinuxQuestion のページは今後も使う事になりそうなので、登録しておく。 登録完了したあとで、Starting udevに時間がかかる件について、時間を計測して質問起票しようとすると、今度は時間がかからなくなっていた。

全く謎のまま解決してしまった。。。。 再発したら調査しようと思います。

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

サーバ構築 Linuxサービス等設定の続き

Linuxのインストールまではできたけど、CDを抜いて立ち上げると”Starting udev”でハングする問題の調査をしていく必要がある。 でも、その前にインストールの手順で、英語キーボードを選択してしまったような気がするので、やりなおしてみる。

するとうまくいった・・・ 

という事で、基本設定(http://2020hindsight.cocolog-nifty.com/blog/2007/12/linux_3382.html)を行い、

Linuxサービス設定(http://2020hindsight.cocolog-nifty.com/blog/2007/12/linux_3831.html) を行い、その続きから再開です。 sshdを止めたあと、付録3を見ながら他の不要そうな下以下サービスも停止しました。 (avahi-daemon、bluetooth、cups、gpm、pcscd)

次に、wgetコマンドでMyDnsにアクセス。 一応今回もMyDNSサイト(http://www.mydns.jp/)にログインし、LogInfoからアクセスしている事を確認。

このアクセスを定期的に自動で行うように、crontabの設定を行う。

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

機材 新ベアボーン組立て

決めた方針の通り、HDDと光学ドライブは前から持っているものを流用して組立て作業開始。 2つもIDEなので、OSのインストール完了までは延長ケーブルを使って写真のような状態で進める。

Dscf3743

組立て完了して、Fedora8のCDを入れて電源Onすると、Delキー押下でBIOSは起動するけど、Delキー無しでは立ち上がらない。 IDEに関して色々調べてると、マスターとスレイブという概念を知る。( http://mbsupport.dip.jp/tra/hddjumper.htm ) で、光学ドライブ、HDDの裏面のジャンパピンをそれぞれ、ケーブルセレクトにしてみるとたち上がった。 が、どうもHDDから立ち上がってるみたい。

BIOS画面で見てみると、どうも光学ドライブは認識されていないように見える。 というより、Channel3のMasterにHDDが認識されているけど、Channel3のSlaveという欄自体が存在しない。 またネットに頼って色々調べる。

Dscf3747

そもそも、channel0とchannel1はMaster/Slaveにそれぞれ何が接続されているか表示する行があるが、channel2とchannel3はMasterの欄しかない。 どういう事だろうか? と思って色々調べてみる。 このベアボーンのメーカ、AOpenのサイトで、IDE3はHDDのみを制御できるチップによってコントロールされてる、みたいな事が書かれている。( http://xc.aopen.com.tw/CubeSupport_01.aspx?auno=8536 ) 

店員さんがIDE延長ケーブルで光学ドライブとHDDを接続すれば使えるというから買ったんだけど・・・

仕方がないので、SATAの光学ドライブだけ、買いに行きました。 もう一回組立ててインストールまでは前回と同じ手順(http://2020hindsight.cocolog-nifty.com/blog/2007/12/linux_e7dc.html)でできました。

ところが、CDを抜いて立ち上げると、”Starting udev”の表示のところで止まります。

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

【雑誌】週間アスキー 1/8

今日は麻雀ゲームサーバ用のベアボーンが届く日。 AM便で依頼したので、そのまでの間に先日買った週間アスキー 1/8 を読んで便利な情報をGetしてみる。

あまり大した情報でもないかもしれないけど、クロネコヤマトの不在配達時にメール通知が来るサービスの登録と、自分の電話番号/メアドをQRコード化する無料サービスが紹介してたので、試してみました。 QRコードってどんな文字列でもコード化できるものなのですね。 

色々googleで調べてると、紹介されてるよりずっと使いやすいものを見つけました。

http://qr.quel.jp/try.php

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

ニセコから帰阪

モブログの投稿設定をしたので記事を1つあげてみました。

ニセコ4日間のスキー旅行を終えて大阪に戻る。  新しい板、ブーツでのぞむニセコで、慣れるのに時間がかかるのかと思ってたのですが、1日目に勘は取り戻せました。 リフトに乗ってて、”あれ、羊蹄山かな?”と言ってた山は、やはりそうだったと、スキーヤーのblogを見ててわかりました。

Dscf3726

1/5は昨日までと違い、AM中は天気が良かったので、すごく気持ち良かった~。 また2月にニセコに行く予定っ!

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

機材 結局ベアボーンとCPU買い替え

早速、予定通りヨドバシカメラに行きました。

今使ってるメモリ/CPU/HDD/光学DRV 等をなるべく利用したいという事を店員さんに伝え、色々なプランを一緒に考えてもらい、最終的に、HDD/光学ドライブのみ今の環境を流用し、それ以外は買い替えました。

ただ、HDD/光学ドライブは、両方ともIDEであるのに対し、最近のM/BはS-ATAが主流という事で、2つともうまく接続して収めるのは難しそうと感じました。 なので、OSのインストールをするところまでは、ベアボーンの外にむき出しにした状態で光学ドライブを使い、その後は光学ドライブは箱の中には入れない、という思い切った(?)方針としました。

むき出しで2つのIDE機材(HDD/光学ドライブ)を使うために、IDEと電源の延長コードを買いました。

メモリ/CPUは、購入したベアボーン(M/B)に合うもののうち、最も安価なものにしました。

配送をお願いし、1/6のAMに配達予定です。 1/2~1/5は北海道にスキーに行くので、blogも更新予定しない予定です。

■本日購入したものは、下記の5つ。

■持っているもので流用するのは下記の2つ。

01257010681

EZ965にした理由は、色々詳しそうな人が書いてるblogとかを読みあさり、なんとなくデザイン含めてこれに決めた、というのと、今回壊れたものと同類なので、なんとなく扱いやすいと予想したからです。

http://www.bnr32.net/blog/index.cgi/793#trackbacks

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

Java開発環境 Junitインストール

次は単体試験を自動で行う、JUnitをインストールする。

http://www.junit.org/

から最新バージョンをDLしました。

JUnitはしばらく忘れてたけど、時々みるblogを見て、ふとインストールしようと思い出しました。

http://mildcat.cocolog-nifty.com/blog/

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

Java開発環境 IDEインストール

PCが突然壊れるというアクシデントに見舞われたので、サーバ用PC購入するまではサーバ側の作業ができないので、先に開発環境を整えていきます。

今回のソフト(麻雀ゲーム)開発はWindows以外でもプレイできるように、Javaで開発します。 なので、Javaの開発環境として事実上のデファクトスタンダードになっている、Eclipseの使い方を覚えながら進めようと思います。

開発はWindowsノートパソコンで行うので、http://www.eclipse.org/ から、Windows用のEclipseをDLします。

http://blog.goo.ne.jp/poo-people/e/7be49855ba408f24b228cddd2d2c94c1

で紹介してた、Eclipseに関するサイトも確認しながら進めようと思います。

続きを読む "Java開発環境 IDEインストール"

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

« 2007年12月 | トップページ | 2008年2月 »