fc2ブログ

テトリスはゲームプログラミングの基礎/ジェフ・ホーキンス/この冬の孤独

20121111224124.png
Javascriptのテトリスのコードを読んでいた。

いろいろなプログラムを自分で書く経験をたくさんしないとプログラミング能力は高まらないなと思っている。
以下、GITHUBより引用。
テトリスのソース、今さら読んでいても難しくないが、こういったプログラムを自分でたくさん書くっていうのが大事なんだと実感している。

1var COLS = 10, ROWS = 20; // 盤面のマスの数
2 var board = []; // 盤面の状態を保持する変数
3 var lose; // 一番うえまで積み重なっちゃったフラグ
4 var interval; // ゲームタイマー保持用変数
5 var current; // 現在操作しているブロック
6 var currentX, currentY; // 現在操作しているブロックのいち
7 // ブロックのパターン
8 var shapes = [
9 [ 1, 1, 1, 1 ],
10 [ 1, 1, 1, 0,
11 1 ],
12 [ 1, 1, 1, 0,
13 0, 0, 1 ],
14 [ 1, 1, 0, 0,
15 1, 1 ],
16 [ 1, 1, 0, 0,
17 0, 1, 1 ],
18 [ 0, 1, 1, 0,
19 1, 1 ],
20 [ 0, 1, 0, 0,
21 1, 1, 1 ]
22 ];
23 // ブロックの色
24 var colors = [
25 'cyan', 'orange', 'blue', 'yellow', 'red', 'green', 'purple'
26 ];
27

28 // shapesからランダムにブロックのパターンを出力し、盤面の一番上へセットする
29 function newShape() {
30 var id = Math.floor( Math.random() * shapes.length ); // ランダムにインデックスを出す
31 var shape = shapes[ id ];
32 // パターンを操作ブロックへセットする
33 current = [];
34 for ( var y = 0; y < 4; ++y ) {
35 current[ y ] = [];
36 for ( var x = 0; x < 4; ++x ) {
37 var i = 4 * y + x;
38 if ( typeof shape[ i ] != 'undefined' && shape[ i ] ) {
39 current[ y ][ x ] = id + 1;
40 }
41 else {
42 current[ y ][ x ] = 0;
43 }
44 }
45 }
46 // ブロックを盤面の上のほうにセットする
47 currentX = 5;
48 currentY = 0;
49 }
50

51 // 盤面を空にする
52 function init() {
53 for ( var y = 0; y < ROWS; ++y ) {
54 board[ y ] = [];
55 for ( var x = 0; x < COLS; ++x ) {
56 board[ y ][ x ] = 0;
57 }
58 }
59 }
60

61 // newGameで指定した秒数毎に呼び出される関数。
62 // 操作ブロックを下の方へ動かし、
63 // 操作ブロックが着地したら消去処理、ゲームオーバー判定を行う
64 function tick() {
65 // 1つ下へ移動する
66 if ( valid( 0, 1 ) ) {
67 ++currentY;
68 }
69 // もし着地していたら(1つしたにブロックがあったら)
70 else {
71 freeze(); // 操作ブロックを盤面へ固定する
72 clearLines(); // ライン消去処理
73 if (lose) {
74 // もしゲームオーバなら最初から始める
75 newGame();
76 return false;
77 }
78 // 新しい操作ブロックをセットする
79 newShape();
80 }
81 }
82

83 // 操作ブロックを盤面にセットする関数
84 function freeze() {
85 for ( var y = 0; y < 4; ++y ) {
86 for ( var x = 0; x < 4; ++x ) {
87 if ( current[ y ][ x ] ) {
88 board[ y + currentY ][ x + currentX ] = current[ y ][ x ];
89 }
90 }
91 }
92 }
93

94 // 操作ブロックを回す処理
95 function rotate( current ) {
96 var newCurrent = [];
97 for ( var y = 0; y < 4; ++y ) {
98 newCurrent[ y ] = [];
99 for ( var x = 0; x < 4; ++x ) {
100 newCurrent[ y ][ x ] = current[ 3 - x ][ y ];
101 }
102 }
103 return newCurrent;
104 }
105

106 // 一行が揃っているか調べ、揃っていたらそれらを消す
107 function clearLines() {
108 for ( var y = ROWS - 1; y >= 0; --y ) {
109 var rowFilled = true;
110 // 一行が揃っているか調べる
111 for ( var x = 0; x < COLS; ++x ) {
112 if ( board[ y ][ x ] == 0 ) {
113 rowFilled = false;
114 break;
115 }
116 }
117 // もし一行揃っていたら, サウンドを鳴らしてそれらを消す。
118 if ( rowFilled ) {
119 document.getElementById( 'clearsound' ).play(); // 消滅サウンドを鳴らす
120 // その上にあったブロックを一つずつ落としていく
121 for ( var yy = y; yy > 0; --yy ) {
122 for ( var x = 0; x < COLS; ++x ) {
123 board[ yy ][ x ] = board[ yy - 1 ][ x ];
124 }
125 }
126 ++y; // 一行落としたのでチェック処理を一つ下へ送る
127 }
128 }
129 }
130

131

132 // キーボードが押された時に呼び出される関数
133 function keyPress( key ) {
134 switch ( key ) {
135 case 'left':
136 if ( valid( -1 ) ) {
137 --currentX; // 左に一つずらす
138 }
139 break;
140 case 'right':
141 if ( valid( 1 ) ) {
142 ++currentX; // 右に一つずらす
143 }
144 break;
145 case 'down':
146 if ( valid( 0, 1 ) ) {
147 ++currentY; // 下に一つずらす
148 }
149 break;
150 case 'rotate':
151 // 操作ブロックを回す
152 var rotated = rotate( current );
153 if ( valid( 0, 0, rotated ) ) {
154 current = rotated; // 回せる場合は回したあとの状態に操作ブロックをセットする
155 }
156 break;
157 }
158 }
159

160 // 指定された方向に、操作ブロックを動かせるかどうかチェックする
161 // ゲームオーバー判定もここで行う
162 function valid( offsetX, offsetY, newCurrent ) {
163 offsetX = offsetX || 0;
164 offsetY = offsetY || 0;
165 offsetX = currentX + offsetX;
166 offsetY = currentY + offsetY;
167 newCurrent = newCurrent || current;
168 for ( var y = 0; y < 4; ++y ) {
169 for ( var x = 0; x < 4; ++x ) {
170 if ( newCurrent[ y ][ x ] ) {
171 if ( typeof board[ y + offsetY ] == 'undefined'
172 || typeof board[ y + offsetY ][ x + offsetX ] == 'undefined'
173 || board[ y + offsetY ][ x + offsetX ]
174 || x + offsetX < 0
175 || y + offsetY >= ROWS
176 || x + offsetX >= COLS ) {
177 if (offsetY == 1 && offsetX-currentX == 0 && offsetY-currentY == 1){
178 console.log('game over');
179 lose = true; // もし操作ブロックが盤面の上にあったらゲームオーバーにする
180 }
181 return false;
182 }
183 }
184 }
185 }
186 return true;
187 }
188

189 function newGame() {
190 clearInterval(interval); // ゲームタイマーをクリア
191 init(); // 盤面をまっさらにする
192 newShape(); // 新しい
193 lose = false;
194 interval = setInterval( tick, 250 ); // 250ミリ秒ごとにtickという関数を呼び出す
195 }
196

197 newGame(); // ゲームを開始する

ソース引用元:https://github.com/yat1ma30/canvas-tetris/blob/master/js/tetris.js

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


2045年問題~人工知能が人間の知能を超える「技術的特異点(シンギュラリティ)」とは

sekaiwokaerutensaitati.png
世界を変える天才たち

人工知能が熱すぎる。意識のアルゴリズムはまだ解明されていないが、そこに近づきつつある今がエキサイティングすぎる。
ジェフ・ホーキンスのマスターアルゴリズムがもっとも正解に近いような気がする。

250px-Jeff_Hawkins_by_Jeff_Kubina.jpg
2004年には、ニューヨーク・タイムズの科学記者であるサンドラ・ブレイクスリーと共著で“On Intelligence”(邦題『考える脳 考えるコンピューター』)を出版した。同書では脳がどのように機能するかという「自己連想記憶」理論を提唱している。 この理論は脳についての統一理論で、認識したパターンから周辺世界について予測を行う能力こそが、脳と知能の鍵であると主張する。人工知能の実現については、脳が行っていることをそのままコンピュータにプログラムしても知性を持つコンピュータを作るのは無理であり、単純にパターンの見つけ方、使い方をコンピュータに教えることが必要であると説く。この方法によって現在のコンピュータでは達成し得ていないような、私たちの役に立つ、あらゆる種の有益な仕事ができる知能機械を作れると考えている。さらには、この自己連想記憶システムは脳の大脳皮質で実現されており、それが人間の知性の基底となっているとする。

引用元:ウィキペディア




On intelligence ジェフ・ホーキンス著 洋書版



【第8回AI美芸研】「人工知能と軍事」-「迫りくるシンギュラリティと不要階級の登場」松田卓也 3/5 #AI美芸研


人工知能の最前線~人口減・職の減少・ビジネスに与えるインパクト

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

今週はぐだぐだした一週間だった。

表彰式のミス。
シンママからの絶縁。
婚活の停滞、マッチングなるもその後のスルー。ひーよんさんは、私とマッチングしたくせに、なにも返事してくれない。

背景の巨大な絵を描いているがアスペおじさんは非協力的。

となりの職場の人が台布を貸して欲しいというんだが、そのためには台布の場所をハラッサーに聞かなきゃいけない。憂鬱だ。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

前の婚活でも、テンションが低いことが敗因だった。
浅草橋で会ったみかんサワーさんの件。
そして、今回もそれがあったんじゃないか。って思ってる。

それにしても、子ども最優先で、子どもが怒るからって子どもの前で電話しない女。
だから日中、仕事もしてないくせに電話できない。
日中働いている私ですら待たせて、子どもが寝てからじゃないと電話できないって、そんな子ども中心の、モンペ予備軍みたいな女性と付き合うと、これからもいろいろなことに振り回されそう。

別れてよかったんじゃないか、って自分を慰めてる。

今もまた
ペアーズとマッチドットコムで婚活している。
けど、音沙汰なし。

もう、ダメなのかな・・・

結婚しないの、って聞かれるのが嫌で、もう、6年ぐらい親に会ってない。

親不孝なんじゃなくて、自分が不幸(字が違うけど)なんだよ。

悔しいなぁ・・・

アトリエ行っても、出会えないしさぁ。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

ゼミも面倒くさいなぁ、
でも、履歴書に確実に書ける一行がこれで出来たと思えばいいか。
2年目にして、この履歴はちょっと自信が付くよなぁ。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

この冬は、結局、孤独に戻ってしまった。
さよなら、シンママさん。
1ヶ月、いい夢を見せてもらいました。(涙)
ダメだった原因は自分だったのです。

この冬は断食や勉強をして、いつもどおりの寒い、寂しい冬を過ごそうと思います。
実家には帰りません。
祖母が死んで、6年。
もう、実家に帰っていません。

ほんの数日前までは、シンママさんを両親に紹介することまで考えていたのに。
また数年。
私の父母は孫を見ることはできるのでしょうか。
スポンサーサイト



フルスクラッチでJavascriptゲームを作る準備/演劇の習い事への意欲/職場の行事と飲み会


大学に行く意味『学びは自分でコントロールしよう』 茂木健一郎

学びは自分でコントロールすることが大事。大学の授業がだるいのを教授にするのではなく、今はスマートフォンで論文でもなんでも調べることができるから授業中は内職をして自分が学びたいことは自分から学ぶことが大事であると茂木健一郎は語った。

茂木健一郎氏×小泉進次郎氏×スプツニ子!氏×ワークスアプリケーションズ・牧野 正幸氏 社会を変えるリーダー
引用元:YOUTUBE

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

フルスクラッチでjavascriptでゲームを作る準備をする。
Javascriptでゲーム画面を作るうえでは基本となる文章。
Javaでいうところのスケルトンプログラムにあたる。

var SCREEN_WIDTH = 800;
var SCREEN_HEIGHT = 600;

window.addEventListener('load', init);

var canvas;
var ctx;

function init() {
canvas = document.getElementById('maincanvas');
ctx = canvas.getContext('2d');

canvas.width = SCREEN_WIDTH;
canvas.height = SCREEN_HEIGHT;

requestAnimationFrame(update);
}

function update() {
requestAnimationFrame(update);

render();
}

function render() {
// 全体をクリア
ctx.clearRect(0, 0, canvas.width, canvas.height);
}

今作っているゲームをしっかり作りこんでいったら、Javascriptでブラウザで動くゲームを作っていきたい。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


演劇ワークショップの講師

img_top_006.png
演劇の習い事

このワークショップには、これまで4回参加している。

これの、レベルの上の講座に月一回のペースで参加しようか考えている。
演劇をやりたい。
しかし、土曜日はNOVAがあってできていなかった。

土曜日に演劇をやっている社会人(同業者)のサークルもある。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

なんか、最近、NOVAに参加しても、中国語、韓国語のレベルが参加者の程度が悪くって、もう、どうしようかなって思っている。
英語はレベル9だけど、DMM英会話でやっているから別に必要性も無いし。

NOVAに行っていても出会いも無いし。

dmmreberu.png
あと5回のレッスンでDMM英会話がレベルアップする。
クリスタルの次は・・・

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

いい加減、中国語と韓国語をマスターしてペラペラ、ネイティブレベルになりたいと思っている。
10年が経とうとしているのに。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

undou.jpg
ネットで拾った画像

昨日は職場でこの行事だった。

日焼けしたし、疲れたよ。
お決まりの飲み会だったし。

パンダの野郎、完全にあっちの方にいっちゃってるし。
このお調子者が。
やり放題やりやがってる。

ハラッサーは、私と乾杯しそうになると、いじわるく向き変えて避けるし。

7年ぶりの先輩さんと社長には帰り際にいろいろ言われるし。
先輩さんからは、7年前は半人前だったけど、今は1.5人前になったって言われるし。

私がミシンでものを作りたいってことを言ったら、何も知らない女性の同僚が、「まずはぞうきんから作らなきゃ」って、すごい低レベルなこと言われてちょっと、“モヤ”っとした。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・


ドラゴンボール外伝 転生したらヤムチャだった件 #2

ヤムチャが亀仙流で最初から修行して、カリン塔で超神水を飲んで、さらに、ナメック星で最長老に力を引き出してもらい、かつ、ネイルに修行してもらった結果・・・・

未来が変わってしまいそうなことになってしまうが、ヤムチャは人間のため、いつかはサイヤ人に追い抜かれてしまうことに・・・


【閲覧注意】伝説の放送事故 TOP5

それほど難しくないJAVAゲームのソース

193460911_624.jpg
相変わらずカルチャーショッキングなカトマンズの絵

カトマンズ-ヴァラナーシー旅行までのTODO

インドのビザを取る
カトマンズ-ヴァラナーシー間の飛行機を取る
ホテルを予約する

変圧器のレンタル
WIFIのレンタル
スマートフォンに替える(考え中)

英語の勉強(継続)

キャリーバッグの購入

APLET.png
自動迷路探索ゲームのソースコード

なんだかんだ言って、最近はプログラミングはしていない。
でも、すごく難しいって感覚はなくなってきて、
ただ、ちょっと時間がとれないだけ。

ファイナル・ファンタジー1みたいなのを自力で作りたくて、
地味に勉強をしていたんだが。
なかなか結実しない。

プライベートの時間が限られている。

import java.awt.* ;
import java.awt.event.* ;
import java.applet.* ;

public class meiro extends Applet implements Runnable, ActionListener {

int x = 0, y = 1 ; // スタート位置
int muki = 1 ; // 最初の向き
int[][] Map = {
{9,9,9,9,9,9,9,9,9,9},
{1,0,0,0,9,0,0,0,9,9},
{9,9,9,0,9,0,9,0,0,9},
{9,0,9,0,0,0,9,0,9,9},
{9,0,0,0,9,9,9,0,9,9},
{9,9,9,0,0,9,9,9,9,9},
{9,0,0,0,9,0,9,9,9,9},
{9,0,9,9,0,0,0,9,0,9},
{9,0,0,0,0,9,0,0,0,2},
{9,9,9,9,9,9,9,9,9,9}
} ;
Image imgStart, imgGoal, imgBlock, imgTsuuro ;
Image[] imgMuki = new Image[4];
Image backImg = null ;
Graphics backG ;
Button btnReset = new Button("Reset") ;
Button btnStep = new Button("Step") ;
Button btnStartStop = new Button("Start") ;
Thread th = null ;
boolean showFlag = true ;
boolean isRunning = false ;

初期化、オブジェクトの生成

private void drawMeiro() {
int i, j ;
for( i=0 ; i<10 ; i++ ) {
for( j=0 ; j<10 ; j++ ) {
switch( Map[j][i] ) {
case 0: backG.drawImage(imgTsuuro,i*20,j*20,this) ; break ;
case 1: backG.drawImage(imgStart, i*20,j*20,this) ; break ;
case 2: backG.drawImage(imgGoal, i*20,j*20,this) ; break ;
default:backG.drawImage(imgBlock, i*20,j*20,this) ; break ;
}
}
}
}

この番号の時はこのブロックを描画

private void showMe() {
backG.drawImage(imgMuki[muki],x*20,y*20,this) ;
showFlag = true ;
}
private void hideMe() {
switch( Map[y][x] ) {
case 0: backG.drawImage(imgTsuuro,x*20,y*20,this) ; break ;
case 1: backG.drawImage(imgStart, x*20,y*20,this) ; break ;
case 2: backG.drawImage(imgGoal, x*20,y*20,this) ; break ;
default:backG.drawImage(imgBlock, x*20,y*20,this) ; break ;
}
showFlag = false ;
}

バッファ用画像

public void init() {
MediaTracker mt = new MediaTracker(this) ;
int m ;
imgStart = getImage(getDocumentBase(), "meiro_s.gif") ;
imgGoal = getImage(getDocumentBase(), "meiro_g.gif") ;
imgTsuuro = getImage(getDocumentBase(), "meiro_f.gif") ;
imgBlock = getImage(getDocumentBase(), "meiro_b.gif") ;
for( m=0 ; m<4 ; m=m+1 )
imgMuki[m] = getImage(getDocumentBase(), "meiro_"+m+".gif") ;
mt.addImage(imgStart,0) ;
mt.addImage(imgGoal,1) ;
mt.addImage(imgTsuuro,2) ;
mt.addImage(imgBlock,3) ;
for( m=0 ; m<4 ; m=m+1 )
mt.addImage(imgMuki[m],4+m) ;
try {
mt.waitForAll() ; // 画像ファイルが完全に読み込まれるまで待機
}
catch(InterruptedException e) {
System.err.println(e.toString()) ; // エラーの内容を表示
}

add(btnReset) ; add(btnStep) ; add(btnStartStop) ;
btnReset.addActionListener(this) ;
btnStep.addActionListener(this) ;
btnStartStop.addActionListener(this) ;
}

アプレットの生成に必要、画像のロード

private void doStep() {
int tugi_muki, tugi_x, tugi_y ;
if( Map[y][x] == 2 ) { // Goal地点ならStartへ戻す
x = 0 ; y = 1 ; muki = 1 ;
}
else {
// 問題文に対応
tugi_muki = muki + 3 ; // 【ス】
do {
if( tugi_muki >= 4 ) { // 【セ】
tugi_muki = tugi_muki - 4 ;
}
tugi_x = x ; tugi_y = y ;
switch( tugi_muki ) {
case 0: tugi_y = tugi_y-1 ; break ; // 【ソ】
case 1: tugi_x = tugi_x+1 ; break ; // 【タ】
case 2: tugi_y = tugi_y+1 ; break ; // 【チ】
case 3: tugi_x = tugi_x-1 ; break ; // 【ツ】
}
tugi_muki = tugi_muki+1 ;
} while( ! (Map[tugi_y][tugi_x] != 9) ) ; // 【テ】 xとyは逆
// 本来なら while( Map[tugi_y][tugi_x] == 9 )
muki = tugi_muki - 1 ;
x = tugi_x ; y = tugi_y ;
}
}

public void actionPerformed(ActionEvent ev) {
if( ev.getSource() == btnReset ) {
if( isRunning ) {
isRunning = false ;
btnStartStop.setLabel("Start") ;
btnStartStop.repaint() ;
}
if( showFlag ) hideMe() ;
x = 0 ; y = 1 ; muki = 1 ;
showMe() ;
repaint() ;
}
else if( ev.getSource() == btnStartStop ) {
isRunning = !isRunning ;
if( isRunning ) {
btnStartStop.setLabel("Stop") ;
}
else {
btnStartStop.setLabel("Start") ;
}
btnStartStop.repaint() ;
}
else if( ev.getSource() == btnStep ) {
if( showFlag ) hideMe() ;
doStep() ;
showMe() ;
repaint() ;
}
}

public void start() {
backImg = createImage(200,200) ;
backG = backImg.getGraphics() ;
drawMeiro() ;
showMe() ;
th = new Thread(this) ;
th.start() ;
}

ここらへんはボタンの操作

public void run() {
int b, blinkMax, blinkInt ;
while( th != null ) {
if( isRunning ) { blinkMax = 3 ; blinkInt = 80 ; }
else { blinkMax = 1 ; blinkInt = 250 ; }
for( b=0 ; b showMe() ;
repaint() ;
try {
th.sleep(blinkInt) ;
}
catch(InterruptedException e) {
}
hideMe() ;
repaint() ;
try {
th.sleep(blinkInt) ;
}
catch(InterruptedException e) {
}
}
if( isRunning ) {
doStep() ;
}
}
}

スレッド(時間軸)の設定

public void update(Graphics g) {
paint(g) ;
}
public void paint(Graphics g) {
if( backImg != null ) {
g.drawImage(backImg,0,50,this) ;
}
}
}


Planaria

引用文
わたしたちは、プラナリアの脳の再生にどの遺伝子が関連しているのかを詳細に調べました。そして、ある遺伝子の機能を停止(ノックダウンという)させたところ、からだのあちこちに眼と脳ができてしまったのです。つまり、この遺伝子が、脳や目玉を頭にだけできるように制御している遺伝子だったのです。
引用元:https://www.terumozaidan.or.jp/labo/class/01/interview02.html

生物、面白。
何気に学生に戻りたいとか思うけど、
学生に戻ったら、戻ったで、遊んじゃうんだろうな。


Life - Timelapse of swarming monster worms and sea stars - BBC One
死んだアザラシを食べるヒトデ

ヒトデは鉛やカドミウムを含むので食用には適さないそうです。
適さなくてよかったよ。
こんなに気持ち悪いもの食べたくないもの。
ってか、塩茹でにして食べてる地域あるじゃん。

・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

I hoped to be better in shape by now yesterday.
But I still have sore throat and phlegm coming up once in a while.

I am worrying about my immaturity.
Lackking of the sence of a part of organization and selfishness.
I have to overtake the shortage of time and take a leadership in my job-part.

But finally it turn out not to be enought.
I should have worked much harder, but I have not.

That is due to my selfishness and lack of energy , understanding about the job process.

I am taking a leadership in students that I take chage of to success the theater playing at the end of the semester.
But I have just slightly ignored the job that I should do something mush harder and that includes other same group.
I am a leader in a function.

I want to be the one who someone wants to work with but the situation right now seems to be negative.
I am too selfish and easily speak out that I am tired.

.....................................

I am afraid of hearing nothing from the girl in her 20s.
I have been exchanging e-mails for 2weeks and she actually is not so beautiful but cute so I like her.
I do not want to lose her.


風邪が治らない


Cold is not cured.


감기가 낫지 않는다
カムギガ ナッチ アンヌンダ


感冒不治好
gan3 mao4 bu4 zhi4 hao3

ゲームが形になりつつある

game730.png
今作っているゲーム、ちょっとキングスナイトに似てきた感じもする。
似てない感じも、もっとする。

とりあえず、敵と壁を壊したらアイテムが出るってのをやった。
シューティングゲームっぽい感じを無くしたい、横スクロールアクションという感じで。

弾がたくさん出ると弾幕っぽくなるし、敵が少なくてもつまらない。

ゲームとして面白い要素を残していかないといけない。

jiki_20140731055725905.png
オリジナルキャラを描きたかったのですが、ネタが思い浮かばず、↓↓↓モロ、パクリました。
MEIKYUU.png

ゲームプログラミングゲームプログラミング
(1998/08)
不明

商品詳細を見る


ゲームプログラミングをこんなに本格的にやることになるとは思わなかった。
かれこれ、10年前にプログラミングの本を初めて手にして、

そう、実家の近くのブックオフで、html・Perlという本だったと思う。

その当時はperlのことなんて分からなくって、適当に丸写しで書いていた記憶がある。インフォシークのレンサバで。
本格的にperlをやり始めたのは、2010年の3月ごろ、
中野まで遥々行って、リュックサックを背負ったオタクっぽい大学生に教えてもらったのが最初だった。

それこそ、プログラミング自体、2007年ごろにjavaの本を読みながら、低いレベルのところをウロウロしていたのを、2008年の9月ごろに上野の寂れたパソコン教室でdojaを教えてもらったのが最初。

プログラミングは本を読むだけじゃなくて、実際に打ち込んでいかないと覚えられないね。

・・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・・

自分のゲームプログラミング技術はまだまだなんだけど、
でも、これからjavaの言語仕様の根本的なところを、もっと、もっと理解して、もっと良い、面白いゲームを作っていきたいと思っています。

最新HTML&CGI入門最新HTML&CGI入門
(1999/03)
笹木 望、藤崎 真美 他

商品詳細を見る

HTMLも知らなかった当時、これを読みながら作ったものだった。
perlを覚えるのはそれよりもずっと後になった。

・・・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・・・


トランセンデンス 
映画『トランセンデンス』特別映像「Singularity(特異点)」

この映画の評価を観ると、「駄作」という評価が見られた。
人工知能に関心がある人間としては、どんなアルゴリズム、もしくは、どんなアプローチで「意識」に至るのか観たいところ。

しかしながら、どうも、昔ながらの脳に電極とか、脳スキャンとか、そういったアプローチっぽいんだよね・・・
まだ、予告編しか観てないからさ・・・
分からないけど、

私としては、そういった古典的なアプローチは辞めて欲しいわけ、
奇天烈・摩訶不思議・超巨大スーパーコンピュータを使えば「意識」が再現できるなんて、ディープブルーやワトソンが「知性」を持っていると言うのと違いはない。

ジョニーデップの顔がパソコンに出てきているあたり、凄くいやな予感がする。

・・・・・・・・・・・・・・

今一歩の革新的な発明が無ければ人工知能に行き着かないと分かっている人たちは、ノイマン型の限界を知っている人。
今のコンピュータは原理的には、誕生した70年前となんら変わってない。
巨大なデータバンクと高速な計算機。

トランセンデンスの予告編を観ると、最初の方はドキドキしそうだが、最後の方で、爆弾ドカドカのアクション場面とかやってて、そういうのとか観ると、果たして観る価値があるのだろうかと思う。

・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・

imagesYAKYUU.jpg
子どもの頃から野球に興味が無くて、でも、職場は野球の話ばかり。

子どもの頃、近所のおっさんに車に乗せられて、どこかに連れてってもらったんだよ。
会話をしたかったんだね。おっさん。
何か話しかけてきたと思ったら。

「君、どこファン?」

「・・・・・・・・・・」

なんて答えたら良いか分からなかった。
野球に興味が無いからだ。

中学の頃もそう。
ついていけねーよ。
強制的にどこかの球場に連れていかれるし。


Palestinian Mickey Mouse

さとり世代    盗んだバイクで走り出さない若者たち (角川oneテーマ21)さとり世代 盗んだバイクで走り出さない若者たち (角川oneテーマ21)
(2013/10/10)
原田 曜平

商品詳細を見る


・・・・・・・・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・・・・・・・・


高速な計算機


A high-speed computer


고속인 계산기
コソギン ケサンギ


快的计算机
KUAI4 DE JI4 SUAN4 JI1

自分に限界を作らない。“出来たい”という願望を大事にする。

hutabamatiyamada
福島県 双葉町 山田で、通常の302倍の放射線が観測された。
昨日。18時です。

21マイクロシーベルト/時
職場の同僚が騒いでいたので、調べたらこんな数値だった。
これは特別な数値なんだろうか。
それとも普段からなのだろうか。

昨晩、大気中の放射性物質の濃度が高くなっていると同僚に言われ、急いで調べた。
確かに、福島の方では高くなっているのは確かだ。
しかし、東京ではいつもと変わらない。

よくよく調べると、双葉町は原発事故以来、人は住んでいない。
昨日調べた数値の21マイクロは、ずっと前の資料をみても同じだった。
前々から高い地域なんだろう。

昨日の職場での騒動はいったい何だったんだろう。

・・・・・・・・・・・・・・
・・・・・・・・・・・・・・

14歳からはじめるHTML5 & JavaScriptわくわくゲームプログラミング教室Windows/Macintosh対応14歳からはじめるHTML5 & JavaScriptわくわくゲームプログラミング教室Windows/Macintosh対応
(2011/06/24)
大槻有一郎

商品詳細を見る

これ↑買います。

入門 HTML5入門 HTML5
(2011/04/23)
Mark Pilgrim

商品詳細を見る


HTML5基礎HTML5基礎
(2011/03/26)
WINGSプロジェクト 片渕彼富

商品詳細を見る


ウェブ進化 最終形 「HTML5」が世界を変える (朝日新書)ウェブ進化 最終形 「HTML5」が世界を変える (朝日新書)
(2011/05/13)
小林雅一

商品詳細を見る


・・・・・・・・・・・・・
・・・・・・・・・・・・・

これまでずっとゲームを作ってきた。
ごく簡単なシューティング、
マリオ風アクション、
さらに、それを改良・拡張したアクション、
格闘ゲームもどき、

そして、この年末年始に作ったRPG・・・、

ここにきて、何年か前に買った本を再び読んでみた。

ゲームアルゴリズムレシピ for JavaScriptゲームアルゴリズムレシピ for JavaScript
(2008/11)
松浦 健一郎、司 ゆき 他

商品詳細を見る

この本だ。

この年末年始の苦闘は無駄ではなかった。
自分の実力は確実についてきている。

ソースを読んで、何が書いてあるかが分かるって嬉しい。
知識の勝利。
苦労の果実が今実ったようなこの実感。

数年前までは、チンプンカンプンな呪文にしか見えなかったプログラムソースが、今自分は読めている。
何千行のソースでも・・・。

長い道のりだった・・・・・
本当によく頑張った。

ローカル変数、グローバル変数、クラス、オブジェクト、モジュール、for while if elseif break return、正規表現、public static private 、引数、CPAN、スレッド、スリープ、例外処理、HTTPリクエスト、void、継承、配列、ハッシュ・・・・・・勉強のために本を読んでもチンプンカンプンな用語の連続。

そんな中でも、あきらめずに続けた勉強。

2年前に受験して落ちた基本情報技術者試験。
また、受けよう。
もう、落ちる気がしない。
そして、もっと高いレベルの試験も受けよう。
自分は絶対向上する。
これからもずっと。

C言語によるH8マイコン制御C言語によるH8マイコン制御
(2005/04)
横田 一弘

商品詳細を見る

私が次に挑戦したいのはコレ。
C言語でマイコン制御。

人の書いたソースを見ながら写し、
それを何度も読んで理解し、
そして、それを改造して、どう挙動が変わるのか調べ、
理解を深め、
さらに分からないところをネットや本で調べる、
そして、また改造する。

そういうことを繰り返していくうちにプログラミングは上達していくんだなぁ

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・


ホーキング博士。

この声が好きなんです。
結構古い装置で、現在だともっと高性能なモノもあるそうなんですが、ホーキング博士はこの機械的な音声があまりにも世界的に知れ渡っているために、自分の声のイメージを変えないために敢えて古い装置を使い続けているらしいです。

でも、好きだなあ。
いや、ホーキング博士がじゃなくて、この音声装置。

文字情報を音声化する装置、欲しい。
絶対欲しい。
欲しい欲しい。


私は超高性能な人工無脳をいつの日か完成させたいという願望があり、今はどうしても限界に来てしまっているんですが、自分の技術力がもっと高まったら絶対に作ります。

それは、顔認識装置で人が誰だか見分けることができ、
声を聞いて何を喋っているか分かり、
その人間の好きなことや嫌いなことをデータバンク化し、
音声で喋るというものです。

それをロボットに搭載して、センサーで動き回る。
自分でコンセントに行って充電する。

そういったモノを完成させたいんです。
そのためにも、ホーキング博士のあの声の元になっている、アノ、装置が欲しいんです。
自作でR2-D2が作りたい。

・・・・・・・・・・・・

必要な工程

まず、ロボットを作る。
センサーを備えて、自分で段差や衝突などを回避して動き回るものを作る。

音声人工無脳を作る。
人間の声を聞いて、それを文字化できないといけない。
多分、自分がつまずくとすると、そこらへんの技術。
人が喋ったことを文章にして解析する。

発声装置を作る。
人工無脳が作った文章を音声にする。
これはホーキング博士に売ってもらうしかない。(は?)

顔認識センサーを作る。
これも、高いレベルの技術だよね。
自力で出来るかははっきり言って疑問。

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

나에게는 공부하고 싶은 것이 많이 있다.
私には勉強したいことがたくさんある。

나는 로봇 공작에 대해서 학습하고 싶다.
ロボット工作について学習したい。

인간은 언제까지라도 성장할 수 있는 생물이다.
人間はいつまでも成長できる生き物だ。

자신으로 한계를 만들지 않는다.
自分に限界を作らない。

몇 년 앞에는 환상이었던 게임 프로그래밍이 가능해졌다.
数年前は幻想だったゲームプログラミングが可能になった。

피아노를 능숙하게 연주하고 싶다.
ピアノを上手に演奏したい。

탁구를 능숙해지고 싶다.
卓球を上手になりたい。

자신의 옷을 미싱으로 만들고 싶다.
自分の服をミシンで作りたい。

韓国語(ハングゴ)
4개국어를 자유자재로 이야기할 수 있게 되고 싶다.

日本語(にほんご)
4ヶ国語を自由自在に話すことができるようになりたい。

英語(イングリッシュ)
I want tocome tobe able tospeakfour languagesat will .

中国語(ハンユー・チョンウェン)
我变得想能在运用自如说4个国家语。
wo3 bian4 de xiang3 neng2 zai4 yun4 yong4 zi4 ru2 shuo1 si4 ge4 guo2 jia1 yu3

【美心】351370 ロイヤルカナン FBN メインクーン(成猫用) 10kg!メインクーン専用の総合栄養食。【美心生活 stmx (美容・健康・ダイエット・生活用品総合ショッピングサイト)】

光年/パーセク変換機 / この“意識”のアルゴリズム


~~~ ソース ~~~

<head>
<script Language="JavaScript"><!--
function toParsec()
{
k = eval(document.myFORM.kounen.value);
n = k / 3.26;
document.myFORM.parsec.value = n;
}
function toKounen()
{
p = eval(document.myFORM.parsec.value);
n = p * 3.26;
document.myFORM.kounen.value = n;
}
// --></script>
</head>
<body>
<form name="myFORM">
光  年:<input type="text" name="kounen"><br>
パーセク:<input type="text" name="parsec"><br>
     <input type="button" value="光年→パーセクに変換" onClick="toParsec()"><br>
     <input type="button" value="パーセク→光年に変換" onClick="toKounen()"><br>
</form>
</body>

ソース元:http://www.openspc2.org/reibun/javascript/convert/022/index.html
パーセク、光年は距離の単位です。


沖縄で観測された皆既月食。

先週はCSSやHTMLを直接ブログに書きこむことをやってみたが、今日は久しぶりにJavascriptをブログに書きこむ試みをした。ブログでは上手く動作しなかったので、別サイトで動かしているものをIframeではめ込んだ。

自分が普段書いているゲームや人工無脳とは違うプログラムを書くということが、新鮮な勉強になる。
とても大事なことだと思う。

また機会があったらJavascriptなどもいじってみたい。
なんでもやるのが大切。
プログラムってのは書けば書くほど上手くなるもんだから。

上手くなれば、今まで自分が出来なかったことができるようになる。
つまり、自己実現の機会が増えるということだ。

HTML、CSS、Perl、Javascript、Java・・・・たくさんいじって、何でもできる応用力を付けよう。
人が考えて作った道具。
プログラム言語。
人が考えて作った物を人が使えないわけがない。
必要なのは習熟の時間。

出来ないなんてのは時間を割いていない証拠。
人が作ったものは、人が使うためにあるんだから、人が使えないなんてことはあり得ない。
今は便利ですよね。ネットがあるから。
わざわざ本を買ったり、図書館に行ったりする必要がないし。
分からなかったらSNSや教えてGOOで聞くことだって出来るわけじゃないですか。
周りに詳しい人がいる必要性すら無いんですよ。

便利な時代ですね。
イノベーションは加速度的に進んでいます。

まさに、レイカーツワイルの技術的特異点の時代が近づきつつあります。
だってそうでしょ。

GOOGLEが自動運転車を開発したっていうじゃないですか。
あれだって人工知能ですよ。
意識は持っていませんが、
弱いAI、エキスパートシステムの段階では人類は既にその課題をクリアしているんですね。

ただし、HAL9000のように自分の意識で自分で考えるというところには行き着いていないんですよ。
「我思う」
というところには行き着いてないですよね。

しかし、時間の問題だと思います。

私たちはこの「意識」というものを非常に過大評価しています。
私は、この意識というのは、あるアルゴリズムで出来ているのではないかと思っています。
何か崇高で、理解不明なものであるというより。むしろ、正当なあるべくしてあるアルゴリズムによって発生しているに過ぎない現象なんじゃないかと思うのです。

私たちが魂や精神と呼んでいるこの現象。まさに今起っているこの現象は、様々な感覚の集合で出来あがっています。
酒や睡眠薬などを飲み、もしくは、麻酔をかけ、
その明瞭さを鈍麻させていけば、しだいにこの感覚は失われていき、意識と呼ばれているコレは無くなります。

「数万の、数億の感覚が一度にやってきて、過去の経験や、欲求に参照される。」

これを逐次連続して行っていく。

これが答えです。
これが、私たちが魂やら霊魂やら精神と、何やら怪しげな、かつ過大に高く評価されているこの「意識」の答えなのです。
「意識」のアルゴリズムなのです。

簡単でしょう。

これを作ってやればいいんです。
私に技術力があったら今からでも作りたいです。
人工意識です。

よく、インターネットから人工知能が出来ると思っている人がいますが、インターネットでは人工無脳か、ワトソンのようなエキスパートシステムしか出来ません。
インターネットは文字世界だからです。
記号で書かれた情報の蓄積でしかないのです。

人工知能を作るには、開けた外の世界にロボットを出さなければいけません。
大量のセンサーで、触覚、嗅覚、味覚、視覚、聴覚、圧感、重さ、熱、酸度、赤外線、超音波を一度にかつ逐次的に集約する。
感覚
ロボットに「どうしたい」という基本情報をインプットする。自己保存したい、データを保存したい、データの情報量を増やしたい、電力を維持したい、水を避けたい、損傷するような事態を避けたい、物と衝突したくない、・・・・人間と関わりたい。
欲求
過去の経験はデータベースに記録されていきます。
記憶
この時、文字情報としてのインターネットは有効なデータバンクになるでしょう。

これで人工知能(強いAI)は出来ます。

だって、これ以外に何の方法があるというのですか??
人間の意識はこの方法で出来ています。
他に一体何のレシピがあるのですか?
何やら不可思議な魂や霊魂の存在が必要ですか?

・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・


魂や霊の存在は必要ですか?


Is existence of a spirit or a soul required?


혼이나 영령의 존재는 필요합니까?
ホニナ ヨンリョニ チョンジヌン ピリョハムニカ
혼이나・・・魂でも
영령의・・・霊の
존재는・・・存在は
필요합니까?・・・必要ですか?


魂和灵魂的存在需要吗?
hun2 he2 ling2 hun2 de cun2 zai4 xu1 yao4 ma?
★【アルティバイア】紫の生サプリ※送料無料【stmxアメリカヤ1号館】

CSSやHTMLをブログに直接書きこむ試行/求道者でリア充は可能か

css
CSS・・・カスケーディングスタイルシートの略。
ブログやWEBで現在一般的に使われている仕様。









<div style="width:50px; height:50px; margin:0px 10px 0px 0px; background
:red; float:left;"></div>
<div style="width:50px; height:50px; margin:40px30px 0px 0px; background
:blue; float:left;"></div>
<div style="width:50px; height:50px; margin:20px 40px 0px 0px; backgroun
d:yellow; float:left;"></div>
<div style="width:50px; height:50px; margin:0px 0px 0px 0px; background:
green; float:left;"></div>

ブログをよりハックするために、CSSを直接記事に書きこむことを始めようと思っている。
そこで、このサイト↓
http://bloghtml.blog.fc2.com/
で勉強して、それをコピペではなく、手書きで写す。
実際になりました。
赤、青、黄色、緑のタイルが並んでいます。

人の書いたソースをコピーするときは、コピペよりも目で見て手で写す方が勉強になります。
もちろん、大概の場合はコピペの方が間違いは少ないのですが。
目で見て自分で写すと時間はかかりますが、プログラミングの勉強になります。
もっと良いのが、
考えながら写すということです。
これはどういう意味なのかな?とか考えながら写していると、これを繰り返していると、いつか自分でも書けるようになります。(と思います。)

・・・・・・・・

ブログを書いたり、人工無脳を作ったり、ゲームを作ったり、色々と時間があるときはコンピュータをいじっていることが多いんだけど、やはり、CSSの知識もあった方がいいかななんて思うわけです。

CSS、HTML、Javascript、Perl、PHP・・・・・どこまで覚えればいいのか、自分はプロではないんですが、プロがやっていることと同レベルのことが出来るようになりたいとは思っています。

今やっていること。
数年後にやっていること。
自分が今よりもっとレベルアップして、面白いことをやっていることを切に願っています。

・・・・・・・・

まあ、まじめなんですかね。
どうなんでしょう。
でも、そんなに人が言うほど自分はまじめじゃないと思う。

なんかこう、追求したいんですよ。
自分の可能性を。
人生の前半で駄目人間をやってきた反動なんでしょうか。
人間として、どこまで高いレベルに達することができるか、そんな可能性の追求の道を歩んでるんです。
多分。
求道者なんですね。自称というか、他人からも求道者とは言われたことがあります。
その通りだと思います。
その道の高みに達したいという願望が強くあるんです。

だから、

「お前はその程度の奴で、酒飲みだよな。」

みたいに軽く扱おうとする人、つまりダウングレーダーとは付き合いません。
自分は、プライドすんごく高いです。
タニシみたいに、自分の殻にこもって自分の色々なスキルや知識を磨き続けています。
鉄拳チンミで言う、オウドウやボルみたいな感じにです(知るか)。

それでいて、自分はヲタではないですから。
しかし、コミュ弱であるのも事実です。
しかし、リア充を目指しているのも事実で、挫けそうな自分を自分で応援しています。
エスコートとか超苦手だし。
恋愛のルールも知らないし。
お世辞とか言えないし。
空気、時々読めないし。

・・・・・・・・・・・・

今、超が3つつくくらい忙しいです。
この仕事はこの時期そうですよね。
昨日も仕事だったし、今日も休日残業に逝ってまいります。
つまり、ここんところ、休みが無いってのが実情。
体力の回復と消費が自転車操業状態。
HPが限りなく低いです。
ドラクエだったらコマンド画面が赤くなっている状態です。

・・・・・・・・・・・・

でも、上司からは、
「成長した、たったこの1年で」
と言っていただけた。

自信がふつふつとしてくる。
まだまだの自分だけど、もう結構色々なことが出来る自分。
どうすれば自分が成長できるか、自分で分かっている自分。
自分の伸ばし方を良く知っている自分。
自分の課題が分かっている自分。

今年の成果、

中国語がかなりレベルアップ(初級⇒中級 中の下ぐらいかな)
ゲームを1つ作れた。
卓球の上達。

仕事では、

ストーリーテリングや朗読を取り入れて、子どもも巻き込むことができた。
手作りアミューズメントパークの大成功。
ボーカル&ベースの演奏の成功。
sigoto
そして、↑↑子ども集団の規律作りがしっかりできていることを見せることができた研修。

大人というのは、仕事が如何にできるかということをもってしてでしか社会に自分の存在感を示すことはできない。
つまり、認めさせるためには、認められるための仕事をするしかないのです。
そのため、これは大チャンスだったのです。


自分の存在感を示す。


Showing off my presence.


자신의 존재감을 내보인다.
チャシンウィ チョンジェガムル ネボインダ
자신・・・自身
의・・・の
존재감・・・存在感
을・・・を
내보인다.・・・示す


表示自己的存在感。
biao3 shi4 zi4 ji3 de cun2 zai4 gan3

【健康フーズ製】 金時ショウガ粉末 50g×3パック【アイドラッグストアー】

登ってきた山から地上を眺めると 今までの自分の努力の軌跡

shootingsource
久しぶりにずっと前にシューティングゲームを作ったときのソースを見た。
なんか、今見返してみると、すごく単純なソースだなぁと思ってしまう。

今のゲームが複雑になりすぎているのだろうか。
でも、昔必死で作っていたものが、今は単純に思えるということは、それだけ成長したということなんでしょうか。

長い旅でした。
何冊も本を読んでは頓挫し。
人の書いたソースをコピペするも、それを改造するとエラーが出まくってどうにもならなくなったり。
人に教えてもらったこともあった。
プログラム関係の資格を取るため、再び、言語の基本仕様のところから勉強しなおして。
なんとかかんとかゲームが一つ出来上がる。
voidの意味が分かったのもその頃だし。
abstractの意味もようやく分かってきた。

かれこれ5年前。
私はC言語の本を小岩の古本屋で手に取った。
その本は今も持っているが、当時はその意味不明な内容さにゲロりそうになった。
ボーランドのC言語のコンパイラをダウンロードするも、どう動かしたらいいか分からなかった。
全くの素人でした。
今となってみれば、当時難解すぎてゲロりそうになった内容をカバーしているC言語検定3級は取得済み、Javaにいたっては2級を取得した。

ようやく、プログラミングの楽しさが分かってきた段階かもしれません。
今は胸を張ってゲームを作れますと言えます。

人工無脳を作るためにPerlを始めたのも、自分のプログラミングへの理解を深めました。
Perlではサブルーチンに値を渡して、その値を処理したのち、メインルーチンにリターンします。
for文や、if文、while文などがいろいろな言語で共通なんだということを学べたのもPerlを学習した頃です。

Rubyにも触れました。
Rubyは結局マスター出来ていません。
でも、挑戦したい言語ではあります。

JavaScriptも、何度も触れる機会はありましたが、マスターは出来てません。
これも、いずれマスターしたい言語です。
絶対やります。
人工無脳的にも、ゲームプログラミング的にも、WEB作成的にも覚えていて損のない言語です。

VisualBasicも去年の5月ごろにちょっと勉強しました。
こんをつめて学習しようとは思いませんが、VBを学習したことが、その後のPerlでのサブルーチンの扱いを覚えるのに役立ちました。

とりあえず、今のところ胸を張って出来ますと言える言語は、JavaとPerlだけです。
ゲーム作りで苦戦してJavaを覚え。
人工無脳で苦戦してPerlを覚えました。
やはり、何かをマスターしようとしたら悩んで難題に取り組むしかないようです。

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

子供との関わりを改革していきたいと常々考えている。
毎日、気づき、毎日、反省。
前期よりも良い関わりを持ちたいと願う。

反面、どうにもならない部分もあって、昨日は風邪で鼻水ずるずる。
声はもごもご。
風邪薬はできるだけ飲みたくないのだが、止めどなく出てくる鼻水に仕方なくパブロンを1錠。

でも、しばらくするとまたずるずるするので、さらに1錠。
おかげさまで、テンションは↓↓。

口おとなしいので子供の統制は緩んでくる。

毎日、子供と楽しみ。
毎日、子供と話し。
そして、適時厳しく指導し。
正しい目標を示して引き上げていく。

そういう関わりをしなければいけない。

今のままじゃいけない。

・・・・・・・・・・・・・・・・

なんか、思うようにいかないことが常にあるものです。
子供のテンションが上がらないとか。
その前に自分のテンションが上がらないとか。

怒り始めるとキリキリしてしまうとか。
ふざけはじめると、子供が調子に乗り過ぎてしまうとか。

・・・・・・・・・・・・・・・・

風邪薬でトーンダウンして、口数少ないから、子供を注意しないものだから、際限なく子供がふざける。
普段なら火種のだんかいで声を出すんだが、昨日はそれをしなかったので、事が大きくなってから私が怒鳴り始める。

だから風邪薬は嫌なんだ。
テンションが下がりまくる。
せっかく、朝コーヒー飲んでテンション上げてるのに。
テンションプラス5ぐらいにしているのに、1錠飲むとマイナス10ぐらいされちゃう。

・・・・・・・・・・・・・・・・

今日は、良い日にしよう。

週末に自分にニコニコできるように。

今日は絶対に良い日だ。

・・・・・・・・・・・・・・・・

【乳酸菌プレミアム】【★Growup★コスメから雑貨まで人気アイテムが満載!】

Java 100本ノック 2本目/“悩んだ甲斐”の効用/休暇の過ごし方


Java 100本ノックのうちの2本目。
タイピングゲームです。
画面をクリックしたら、スペースキーを押せば始まります。

この8月のうちに自分のプログラミング能力を格段に向上させたいと画策しております。

プログラミング能力の向上は、

・人の書いたコードを読む
・人の書いたコードを真似して書く
・人の書いたコードを改造する
・自分で課題を見つけてコードを書く

こういったことを繰り返していくしかないのかな。と思っています。
もちろん、時々、本などの基本に立ち返って自分が忘れていたことなどを思い出すというのも大事ですね。

100ノックとはいっても、本当に100個もプログラムを書くかは未定。
(そういえば、バッティングセンター行きたいな)

ソースコード

import java.applet.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;

public class typing_applet extends Applet implements KeyListener{
private final int GAME_CONFIG_DEMO = 0;
private final int GAME_CONFIG_PLAYING = 1;
private int WIDTH;
private int HEIGHT;
private DispKey DKey;
private int gameConfig;
private int qetNum;

public void init(){
WIDTH = getSize().width;
HEIGHT = getSize().height;
setBackground(Color.white);
}

public void start(){
DKey = new DispKey();
gameConfig = GAME_CONFIG_DEMO;
addKeyListener(this);
}
public void gameStart(){
qetNum = 0;
gameConfig = GAME_CONFIG_PLAYING;
}
public void gameEnd(){
qetNum = 0;
gameConfig = GAME_CONFIG_DEMO;
}
public void keyPressed(KeyEvent e){
switch(gameConfig){
case GAME_CONFIG_DEMO:
if(e.VK_SPACE == e.getKeyCode()){
this.gameStart();
}
case GAME_CONFIG_PLAYING:
if(DKey.compareToInpKey(e.getKeyCode(), qetNum) == 0){
this.nextChar();
}
}
repaint();
}
public void keyReleased(KeyEvent e){

}
public void keyTyped(KeyEvent e){

}

private void nextChar(){
if(qetNum < DKey.getCharNumMax() - 1){
qetNum += 1;
}else{
this.gameEnd();
}
}
public void paint(Graphics g){
g.setFont(new Font("Dialog", Font.PLAIN, 14));
g.setColor(Color.black);

switch(gameConfig){
case GAME_CONFIG_DEMO:
g.drawString("Start SpaceKey", 3, 30);
break;
case GAME_CONFIG_PLAYING:
g.drawString(DKey.getCharString(qetNum), 55, 30);
break;
}
}
}
class DispKey{
private String question;
private int charNumMax;
DispKey(){
question = "XYCOKAOKFELAOWQCBN";
charNumMax = question.length();
}
private int getActiveCharCode(int num){
int activeCharCode = 0;
if(num < charNumMax){
activeCharCode = (int)question.charAt(num);
}
return activeCharCode;
}
public int compareToInpKey(int inpKeyCode, int num){
int ret;
int upperKeyCode = 0;

ret = 0;

if(inpKeyCode >= 65 && inpKeyCode <= 90){
upperKeyCode = inpKeyCode;
}else if(inpKeyCode >= 97 && inpKeyCode <= 122){
upperKeyCode = inpKeyCode - 32;
}else{
ret = 2;
}

if( ret != 2){
if(upperKeyCode == this.getActiveCharCode(num)){
ret = 0;
}else{
ret = 1;
}
}
return ret;
}

public String getCharString(int num){
return question.substring(num, num + 1);
}

public int getCharNumMax(){
return charNumMax;

}
}

・・・・・・・・・・・・・・・・

Perlで人工無脳を作ってたときは、それこそ、自分で課題を見つけては、GOOGLEで調べたり、人に聞いたりしてなんとかかんとか解決しましたよ。
最初に書いたコードなんて、ツギハギだらけで人に見せられるシロモノではなかったですけどね。

それでも、そういった甲斐があって、今ではチャットや掲示板の類いであれば自分でプログラムすることができます。

“悩んだ甲斐”というのは絶対にあるもので、悩んだ時間は無駄にしたようにその時は思えますが、後々から自分の財産になるものです。
絶対にそうですよ。

子供へのマニフェストとして、ゲームを作って遊ばせてあげるというのがあるので、ゲームを作ります。
しかしながら、時間がありません。
仕事をさっさと片付けて、休暇を余分に取って、その日に集中してやるっきゃないかもです。
スーパートレックは既にプレイ済みなので、違うものを作ります。
前にプログラムした「ストリートトレック」という、ゲームがあります。

主人公(私の友人のトレック)がビール瓶を武器に戦う近接戦アクションゲームなんですが、それを元に改造して、子供がパソコンルームでワイワイと楽しめるゲームを作りたいと思います。
ストリートトレックへのリンク

・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・

色々と忙しくあれこれと詰め込んでしまっています。
中国語に、卓球に、水泳に、ゲームプログラミングに、旅行。
仕事の準備もあります。
仕事の準備は最短時間で最高効率で行います。
職員の中にはマターリとしながらやっている方もいますが、私は最短時間で終わらせてサッサと休暇を取ります。

そうそう、それと実家にも帰らないといけません。
1年帰ってないですから。
3月11日の時も心配してくれたけど、帰ってないし。

・・・・・・・・・・・・・・・・

夏休暇もあっという間に終わっちゃいそうだな。
しっかり、準備しないと。
時間の意識をしっかりもって、やることをハッキリさせないといけない。
優先順位とかも。

卓球の練習はあと3回。
中国語のレッスンは無し。
ラングエッジ・エクスチェンジは未定(おそらく最低1回はやる)。
休暇中1日は実家に帰る。
休暇中1日はゲームプログラミングに使う。

9月以降の準備を万全にして、バタバタしないですむように、印刷物なども用意しておく。
物品の整理、資料の整理を万端にしておく。

それをしっかりやったら秩父旅行、さらに、16日からの中国旅行が始まる。

今日は、実は何も予定を入れていない。
予定を入れすぎたので、暇な日を一日作っておいたのだ。
今日は掃除ができるし、普段できなかったことをやりたい。

・・・・・・・・・・・・・・・・・

昨日は中国語のレッスンだった。
とても良い人だし、とてもピャオリャンで萌える。
指輪をしてるんだけど、既婚者なのかな。

その講師が長沙出身で、私のためにあれこれとアレンジしてくれている。
電車の予約、現地のホテルの予約などをやってくれた。
なんていいひとなんだ。
【美心】日本名所周遊ゲームトランプ 1ケース(6個入)!同じ地方か名所を出して旅するゲーム!【美心生活 stmx (美容・健康・ダイエット・生活用品総合ショッピングサイト)】

Javaプログラミング100本ノック/12km走+卓球 スマッシュの練習


タイマーです。
数字をクリックするとカウントを始めます。
再びクリックすると止まります。

Javaでプログラムされています。
100本ノックじゃないですが、色々なプログラムを書いていこうと思います。
短くても、簡単に書けるプログラムでも毎日書くことが大事みたいです。

Perlのときも書きましたが、一日20分はその言語に触れないと上達しないということです。
Perlのときも、とにかく一日20分は何か書くと決めてプログラムしていました。
Javaで自由自在に色々なものを組めるように、毎日何かしらプログラムを書いていこうと思います。

以下、ソース
import java.applet.*;
import java.awt.Graphics;
import java.awt.Font;
import java.awt.event.MouseListener;
import java.awt.event.MouseEvent;

public class Timer extends Applet implements Runnable,MouseListener{
private Thread th;
private boolean running;
private int width;
private int height;
private int count;

public void init(){
width = getSize().width;
height = getSize().height;
addMouseListener(this);
}
public void start(){
running = false;
}
public void mouseClicked(MouseEvent e){
}
public void mouseEntered(MouseEvent e){
}
public void mouseExited(MouseEvent e){
}
public void mousePressed(MouseEvent e){
if(running == false){
count = 0;
running = true;
th = new Thread(this);
th.start();
}else{
running = false;
}
}
public void mouseReleased(MouseEvent e){
}
public void run(){
try{
while(running){
count++;
repaint();
Thread.sleep(1000);
}
}catch(Exception e){}
}
public void paint(Graphics g){
g.setFont(new Font("Dialog", Font.PLAIN, 52));
g.drawString("" + count, 60, 65);
}
}

こんな感じの簡単なプログラムを常に書く習慣をつけて、願わくば、頭の中で仕様書を書いて、それをプログラムとして書ける応用力を身につけたいと思います。

仕様書(頭の中に書く)
↓↓
Javaのエディタにコメント文だけのソースを書く
↓↓
そのコメント文をコードに起こしていく
↓↓
デバッグ
↓↓
完成

みたいな工程で、自由自在に何でも組めるように自分を鍛えたいと思います。
もちろん、仕様書は紙に書いてもいいんですけどね。

プログラミング能力が身につけば、後は応用なんですよね。
C言語やC++もいずれ挑戦してみます。

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

ariake

昨日は江東区のスポセンで卓球をやりました。
なんですが、その前が大変で、自宅から門前仲町まで12kmほど走りました。
しかも、2kgほどの荷物の入ったリュックを背負って。ユッサユッサと。

それで、道が分からなくなったのと、時間が足りなくなったので、門仲からバスに乗ってスポセンに行きました。

まあ、それほど疲れた感じは無かったですが、足が多少痛い程度ですね。
でも、また今日も走りますけどね。
家から職場の近くまで走ります。
往復で、15kmぐらいだと思います。
子供に
「家の近くを走るからね!!」
と、公約をしてしまったので、走りますよ。
マニフェストは守らないといけません。

・・・・・・・・・・・・・・・・・

昨日の卓球のメニューは、フォア、それから、ツッツキ、ドライブを少しと、スマッシュの練習。
江東のスポセンはセパレーションがあるので、多球練習ができるんですね。
パコパコ打って、後でまとめて虫取り網で取るという効率的な練習ができるんです。

フォアは、ほとんど問題もなく、コーチからもフォームがキレイだといわれます。
ツッツキは、現在はスピードが課題でしょう。
ツッツキの表と裏をランダムに打つ練習をしました。
それから、ドライブも練習したのですが、こちらは馬馬虎虎(まあまあ)。
で、スマッシュの練習もしました。
打球のスピードが速くなったと思います。
「カコン!!」
と良い音がするようになったので、上手くなったのかなと思います。

それから、前から指摘されてきたサービスの高さの問題。
前々から、私は「16cm上げてない」と言われていたんです。
そこらへんの練習も先日はしました。
腰を使って球を上げると垂直に球を上げられるようです。
「16cm問題」もほぼ解決でしょう。

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

今日は高田馬場で中国語の練習があります。
悪い方の講師は切ったので、良い方の講師です。
長沙に行ったとき、中国朋友と音信不通になったままだと困るので、ラッキーなことにこの講師が長沙出身なので、友達を紹介して現地を案内してもらおうと思います。

中国語の練習は現在は音読が中心です。
それと、テキストCDを掛けっぱなしで寝ています。
とにかく、耳に慣れさせておくことが大切。

・・・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・・・

【スカイプフォンTECOXS2008CA】パソコン不要、24時間無料通話のIP電話機【名前ロゴアート・美容健康グッズ【DOKA-SHOP】】

Javascript Fighterのソースを入手

kakutoupng
JQueryというクラスがあって、ストリートファイターみたいなゲームをJavascriptで作れるそうです。
今朝、JavascriptFightersなどというゲームを発見し、ソースも無料で手に入れることができました。
JQueryを使ったゲームでJavaのアプレットよりもサクサク動かすことができます。

ソースを解析して自分のゲームに使いたいと思います。
格闘ゲームについては、アプレットではスト2並みのクオリティ&スピードのゲームはハッキリ言って難しいということを確信しました。
アプレットのバージョンが上がってそこらへんが改善されない限り、今後、ネットでのゲーム開発はAjaxでやっていくということになりそうです。

しばらく、私のAjaxの知識・技能が身についてないうちはファミコンクオリティのアクションゲームをアプレットで開発して、Ajaxで開発できるレベルにまでなったら、そちらにシフトしていこうかと思います。

↑の絵はJavascriptFighterのキャラ画です。
キャラ画の向上も私の課題の一つです。

・・・・・・・・・・・・・・・・

現在、Javascriptを学習しているのは、すぐにゲームを作るためではなく、人工無脳に単語を覚えさせる際、YAHOOから拾ってきたデータをひらがな、カタカナ、漢字に分かち書きしたいためです。
Javascriptファイルに文章データを渡して、分かち書きされたものを再びPerlに返し、そこから各ファイルに書き込もうと思っているのです。

現在考えている仕様なんですが、一つの単語につき一つフォルダを作るのはどうかなと思っています。
(りんごを例にとると)りんごフォルダの中に名詞.txt、動詞.txt、形容詞.txtなどのファイルが存在し、りんごに関する名詞(例、富士、青森、むつ)が名詞.txt、動詞(食べる、買う、かじる)が動詞.txt、形容詞(赤い、甘い、すっぱい)が形容詞.txtファイルに入ります。

ユーザー、もしくは他の人工無脳がりんごを連想させる言葉を発すると、テンプレートを用いて文章を組み立てます。「青森のりんごはすっぱい。」などと言います。
さらに、これを聞いた人工無脳がもし「青森」という単語を知らなければ、青森でYAHOO検索し、手に入れた名詞、動詞、形容詞を新しく作った青森フォルダの中の名詞、動詞、形容詞ファイルに保存します。
人工無脳は新しく知った単語一つについて、一つの新しいフォルダを作ります。

難点は単語の数だけ無数にフォルダが出来てしまうということ。
しかし、ある程度は仕方がないのです。
さくらサーバのライトプランでは、一つのファイルの大きさは125KBまでで、一つのファイルにたくさんの情報をまとめるには不向きなのです。
そこで、ある程度多くのファイルに分割することが必要となってくるのです。

・・・・・・・・・・・・・・・

少々時間が無いのですが、今週末にもう一度、外部のJavascriptファイルで分かち書きを行い、それをPerlに返して単語ごとに書き込むということをやってみたいと思います。
今の仕様はまず完成させたいところです。

・・・・・・・・・・・・・・・
・・・・・・・・・・・・・・・

昨日は二日酔いだったようです。
単なる寝不足にしてはだるさや頭の不明瞭さが夕方まで続いていました。

一昨日の飲み会で飲みすぎたようです。
思ったよりも酒が弱くなっていたようです。
以前と同じ意識で酒を飲んでいたら、いつのまにかリミットを越えてしまっていたのです。

いつのまにか酒が弱くなっていたのです。
昨日は本当に辛かった。

現実の前に1枚フィルターをかけたような非現実感。
ボーっとして、意識が遠のいた感じ。
とてもまともに仕事ができる意識状態ではありませんでした。

平日の飲み会というのは控えないといけません。
(やはり、飲み会は金か土にやるものです)

スレンダーウォーク 強力配合した『L-オルチニン、ドロマイト』により下半身のセルライトを溶解!! 【ビューティーステーション】【Beauty Station】

サーティファイの試験。手ごたえあり。/WWW::Mehanizeの不具合

certify130
昨日はサーティファイのプログラミング能力認定試験を受けに三田の笹川記念会館に行ってきました。
Javaの2級とC言語の3級を受けてきました。
Javaはさすがに2級というだけあって、勉強しがいのある試験でした。
普段プログラムを組んでいても、だいたい自分の使うメソッドとかクラスとかって決まってるので、それ以外のことに関しては門外漢だったりします。
ENUMやジェネリクスなんかについては、実際には使ったことはありません。
最後の選択問題は1つめがサーブレット、2つめがアプレットでした。
これも、自分はアプレットで基本ソースを書いているので、アプレットで受けました。

C言語の3級は、かなりプログラム全般の基本的なことについて聞かれていたような感じでした。

・・・・・・・・・・・・・・・

どうしても国家資格の情報試験と比較してしまうんだけど、国家資格のほうは、シスアドと基本情報技術者を受験してて、どちらも大学の講舎が満員になるほど混んでいたのを覚えている。
それと比べてしまうと、サーティファイの試験はもっと人気があってもいいのかなとも思いました。

試験としての公平性はあるわけですから。
今回は笹川記念会館で受験しましたが、まあ、会場の部屋の半分程度に人が座ってるんで、結構余裕がありました。で、試験官も親切で、私を席まで案内してくれました。
国家資格ではこうはいきません。
コミコミですから。

よく、サーティファイの試験は簡単だとか言う人がいますが、それは違いますね。
今回Javaの2級を受けてきましたけど、質問される範囲が非常に広いので、普段プログラムしてても、前述の通り自分が使わないメソッドやクラスについての質問もされるので、特に2級以上はプログラム経験と事前の勉強は必須です。
3級であれば基本的なテキストを1冊読んでおけば大丈夫でしょう。

まだ結果は分かりませんが、手ごたえはありました。
恐らく、合格しているでしょう。
test130
笹川さんは、あのモーターボート協会の笹川良一さんですね。
笹川さんについてWIKIってみました。
アメリカのタイム誌に「世界一金持ちのファシスト」と豪語していたそうです。
しかもA級戦犯で巣鴨プリズンに3年間拘留されていたそうです。

私が記憶しているのは、モーターボート協会のCM。
幼いころにTVでやっているのを覚えています。
笹川さんは社会慈善事業にとりくんだ人でもあります。

うわあ、↑↑ホント記憶の片隅をえぐられるような映像だなこりゃ。懐かしすぎる。

test1302
もう、本当、昨日は勉強とテストに明け暮れた一日でした。

あとは合格証が届くのを待つだけです。
資格・検定の合格証は自分へのご褒美みたいなもので、数ヶ月に一度のプレゼントみたいなものです。

テストからテストへ渡り歩いているようなここ数年になっています。
次回は簿記試験、その次はTOEIC、そして、数学検定、韓国語検定、中国語検定と、既にいくつかは受験するものが決まっています。基本情報技術者試験も出来れば今年中に受験したいと思っています。

ーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーー

今日も早朝というか、ほとんど深夜からPerlを叩いていました。
WWW::Mechanizeの不具合を直すため、他に必要なPerlモジュールを入れ、入れれば、また何が足りないと怒られる。
なので、WWW::Mechanizeを使わないでLWP::UserAgentを使うことにしました。
結局は検索元のHTMLソースが返ってくればいいわけですから。

しかし、もう先は見えてきました。
なんとか数日内にGOOGLEで自動学習する人工無脳が出来そうです。
大きなハードルを一つ越えることになります。
これは大きいです。

#!/usr/bin/perl

use LWP::UserAgent;
use Encode;

my $ua = LWP::UserAgent->new;

#タイムアウトを設定
$ua->timeout(10);

#ユーザエージェントを設定
$ua->agent('Mozilla');

#GET、PUT、POST、DELETE、HEADのいずれかを指定(httpsの場合はhttpsにするだけ)
my $req = HTTP::Request->new(GET => 'http://news.google.co.jp/nwshp?hl=ja&tab=wn');

#リファラーを設定
$req->referer('http://referrer.ksknet.net');

#リクエスト結果を取得
#requestメソッドではリダイレクトも自動的に処理するため、そうしたくない場合はsimple_requestメソッドを使用するとよい。
my $res = $ua->request($req);

#is_successの他にis_redirect、is_errorなどがある(is_redirectを判定する場合、simple_requestメソッドを使用)
if ($res->is_success) {
print encode('cp932', $res->content), "\n";
}

else{
print $res->status_line . "\n";
}

=pod
print $res->header("Content-Type") . "\n";
print $res->status_line . "\n";
print $res->code . "\n";
print $res->header("Server") . "\n";

#SSLの場合以下も取得可能
print $response->header("Client-SSL-Cipher") . "\n";
print $response->header("Client-SSL-Cert-Subject") . "\n";
print $response->header("Client-SSL-Cert-Issuer") . "\n";
print $response->header("If-SSL-Cert-Object") . "\n";
=cut

STARPET メダカの砂 ピンクサンド 5kg S-8915 【きれいに.com】

ひたすらPerlを叩きまくる


今回はひたすらPerl文を叩きます。
コメントもつけていますので誰でも分かります。

この日記が投稿されるのは27日の早朝ですが、その頃は恐らくイスタンブールに着いたころでしょう。
時差が7時間といいますから。
ちょうど着いてこれからタクシーに乗るころです。

恐ろしく眠く、疲れているような状態だと思われます。

イスタンブールでのインターネット事情がどうなってるか分かりませんが、上手くいけば現地で撮影した画像も一緒に更新できるかもしれません。
まあ、英語で書きますが。(日本語は恐らく書けないね 外国のPCで日本語で日記を更新出来たのは北米圏だけだった。)

#!/usr/local/bin/perl

$string="tanaka=satou=oonisi=saitou"; =で連結されて一つの変数に入っている
($aaa,$bbb,$ccc,$ddd)=split(/=/,$string); =でちょん切ってそれぞれ変数に入れる
print"Content-type:text/html\n\n";
print<<"HTML";
$aaa

$bbb

$ccc

$ddd
HTML
exit;
--- 実行開始 [>perl untitledd1.pl]
Content-type:text/html
tanaka

satou

oonisi

saitou
--- 実行終了 (0)

#!/usr/local/bin/perl

$aaa="tanakasan yamasitasan okamurasan saitosann";
$aaa =~ s/san/sama/g; sanをsamaに置換している
print"Content-type: text/html\n\n";
print $aaa;
--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html
tanakasama yamasitasama okamurasama saitosaman
--- 実行終了 (0)

#!/usr/local/bin/perl

$aaa = "ABCDAAAGFDRH";
print "Content-type: text/html\n\n";
if($aaa=~/AAA/) AAAが含まれているか
{
print"AAA included";
}
else
{
print "AAA not included";
}

--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html
AAA included
--- 実行終了 (0)

#!/usr/local/bin/perl

$aaa="ABCDEFGHI";
print"Content-type: text/html\n\n";
if($aaa =~ /DEF/)
{
print"leftside $` matched $& rightside $'"; パターンマッチの左側は$` パターンマッチそのものは$& パターンマッチの右側は$'に含まれています
}

--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html

leftside ABC matched DEF rightside GHI
--- 実行終了 (0)

#!/usr/local/bin/perl


print"Content-type: text/html\n\n";
@aaa=("tanaka","yamada","takeuti");
foreach$tmp(@aaa) foreachで配列の中身を変数に全て収めます
{
$tmp=$tmp."san"; .でsanをつける
print"$tmp
";
}
--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html
tanakasan
yamadasan
takeutisan

--- 実行終了 (0)
#!/usr/local/bin/perl

@aaa=("tanakasan","yamadasan","takeutisan");
$tmp=shift(@aaa); shiftの中身はtanakasanでそれを$tmpに受け渡します
push(@aaa,$tmp); さらに配列の一番下にtanakasanをpush(格納)します

print"Content-type: text/html\n\n";

print <<"HTML";
$aaa[0]

$aaa[1]

$aaa[2]
HTML
--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html
yamadasan

takeutisan

tanakasan
--- 実行終了 (0)

#!/usr/local/bin/perl

@aaa=("tanakasan","yamadasan","takeutisan");
$count=@aaa;
print"Content-type: text/html\n\n";
print <<"HTML";
in the array $count contents
HTML
--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html
in the array 3 contents 配列の中身をそのまま変数に入れると配列の要素数が表示されます
--- 実行終了 (0)

#!/usr/local/bin/perl

@aaa=("tanakasan","yamadasan","takeutisan");
$tmp=join("/",@aaa); 配列の各要素に/をくっつけて変数に渡します
print"Content-type: text/html\n\n";
print <<"HTML";
$tmp
HTML
--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html
tanakasan/yamadasan/takeutisan
--- 実行終了 (0)

#!/usr/local/bin/perl

@aaa=("tanakasan","yamadasan","takeutisan");
@bbb=("suzukisan","maedasan","matuurasan");
$a="are connected";
$tmp=join("/",@aaa,@bbb,$a);
print"Content-type: text/html\n\n";
print <<"HTML";
$tmp
HTML
--- 実行開始 [>perl untitledd1.pl]
Content-type: text/html
tanakasan/yamadasan/takeutisan/suzukisan/maedasan/matuurasan/are connected
--- 実行終了 (0)
#!/usr/local/bin/perl

$aaa{tarou}="jirou"; ハッシュです。tarouにはjirouが対応しています。
$aaa{hanako}="momoko";
print "Content-type:text/html\n\n";
print <<"HTML";
$aaa{'tarou'}

$aaa{'hanako'}
HTML
exit;
--- 実行開始 [>perl untitledd1.pl]
Content-type:text/html
jirou
tarouに対応しているjirouが表示されました
momoko
--- 実行終了 (0)

#!/usr/local/bin/perl

%aaa=("tuki","getu","hi","ka","mizu","sui");
print "Content-type:text/html\n\n";

print <<"HTML";
$aaa{'tuki'}

$aaa{'hi'}

$aaa{'mizu'}
HTML
exit;
--- 実行開始 [>perl untitledd1.pl]
Content-type:text/html
getu

ka

sui
--- 実行終了 (0)

#!/usr/local/bin/perl


print "Content-type:text/html\n\n";
$a=0;
while($a<10)
{
print"continue
";
$a++;
}
print"finished";

--- 実行開始 [>perl untitledd1.pl]
Content-type:text/html
continue
continue
continue
continue
continue
continue
continue
continue
continue
continue
finished
--- 実行終了 (0)

#!/usr/local/bin/perl

print "Content-type:text/html\n\n";
$a=0;
while($a<10)
{
print"continue
";
$a++;
if($a>=5)
{
last; 5以上になったら強制的にループを抜けます。
}
}
print"finished";

--- 実行開始 [>perl untitledd1.pl]
Content-type:text/html
continue
continue
continue
continue
continue
finished
--- 実行終了 (0)

#!/usr/local/bin/perl


print "Content-type:text/html\n\n";

$a=0;
while($a<10)
{
print"continue
";
$a++;
if($a>=5)
{
exit; 5以上になったら強制的にプログラムを終了します。今回はその下のprint文も動作させません。これがlastとの違いです。
}
}
print"finished";
--- 実行開始 [>perl untitledd1.pl]
Content-type:text/html
continue
continue
continue
continue
continue

--- 実行終了 (0)

#!/usr/local/bin/perl

print "Content-type:text/html\n\n";
$a=0;
while($a<10)
{
print"continue
";
if($a==5)
{
print"
";
$a++;
next; 5のときだけループの最初に戻ります
}
print"OK
";
$a++;
}
print"finished";

--- 実行開始 [>perl untitledd1.pl]
Content-type:text/html
continue
OK
continue
OK
continue
OK
continue
OK
continue
OK
continue

continue
OK
continue
OK
continue
OK
continue
OK
finished
--- 実行終了 (0)

期間限定!大特価!アルコール手指消毒剤!アルボース アルボナース 100ml 医薬部外品【保湿剤配合・速乾性・手指消毒液・携帯用】【ノロウイルス対策】期間限定!大特価!アルコール手指消毒剤!アルボース アルボナース 100ml 医薬部外品【保湿剤配合・速乾性・手指消毒液・携帯用】【ノロウイルス対策】
()
アルボース

商品詳細を見る

手洗い不要の速乾性アルコール手指消毒剤。アルコールと殺菌剤(塩化ベンザルコニウム)配合により、広範囲の微生物に対して短時間で効力を発揮、持続します。3種類の保湿剤配合により使用後、手に潤いを与えるだけでなく、さらさらすべすべ感も与えます。
【膣筋力トレーニング器具】ケーゲルマスター 1セット(本体+説明DVD/VHS+携帯バッグ)【アイドラッグストアー】

ファミコンはリスペクトするべきゲームが多いよ。


こんなゲームを作りたい。
↑当時はバカにしていたものだが。スペランカー。
ファミコンクオリティのゲームをサウンド、画像、プログラム、全てを自分で作りたい。(いや、もういくつかは作っているんだけどね。)

自分の趣味の関係上、様々なプログラマーに出会うことが多かった。
特に、ここ2年は数名のその道のプロのプログラマーと出会ってきた。
ある意味出会いだ。
恋愛系の出会いはからっきしだけど、そっちの道の出会いは豊富だったのではと思う。
ネット上でやりとりを繰り返し、質問をしたりしているうちにOFFで会ったりしていた。
今も交流している人がいる。

2年前にJavaでシューティングゲームを作った。
Dojaというアプリでゲームを作っているAさん(仮に)は、御徒町でSOHO的な仕事をしているのだが、そこで実際にDojaのプログラムを作らせてもらったことがある。
ごくごく簡単な動きをするゲームだ。

残念ながらDojaのゲームは私のKDDIのモバイルではプレイできないので、アプレット用にソースを書き換える必要があった。

オブジェクトもよく理解していない当時、よくシューティングゲームなんか作ったと思う。ハッキリいって力技だったと思う。
そうそう、ゲームを作るときは、メインオブジェクトクラスを作って、その子クラスに敵クラス、自機クラスを作り、さらに、敵クラスの下に敵1、敵2、敵3、ボスクラスなどを作っていくのだが、私は継承をよく理解していなかったので、全てのクラスを一つのソースの中に書いていた。
全然、Javaのよさを活用できてなかったわけです。

それから、エクリプスでサーブレットを作っていたBさん。

さらに、PerlをやっていたCさん。
彼は学生だったんだと思う。
今は大学でC言語でリナックスのサーバ構築をしている。
とても頭の良い人で、彼はPerlでどんなプログラムも書いてしまう。
恐らく、Perlで考えてPerlで書いている人なんだなぁと思いました。

それとDさん。こちらもCで組み込み系のプログラムをやってる人で、(私は現在Cはやっていないのだが)Perlにも多少詳しい人で、ActivePerlのバージョンアップを手伝ってくれました。私がこれからやろうとしていることは、ActivePerlのバージョン5-10以上でないと出来ないということを指摘してくださった方です。

様々なプログラマーに出会って思ったこと、実感したことなんですが、プログラムが上手い人の特徴があると思います。
まず、エラー文を読むのが上手いということ。エラー文から着実に問題箇所を発見しますよね。
それから、デバッグの作法なんかを観ていても感心させられることが多いのです。
ところどころでプログラムを止めて、どこでバグが発生しているか発見しますよね。ああいう作業を見ていると学ぶことが非常に多いです。

これからも色々とプログラムを書く機会は多いと思います。
AjaxでWEBゲームを作ってみたいという思いもあります。
今の人工無脳がある程度までいったら、またゲームを作りたいですね。
もちろん、鉄拳チンミのゲームも時々はアップグレードしたいです。(全然出来てないですが。)
ゲームは、、昔のファミコンゲームみたいなのを作りたいのです。
このブログ上で動くものを。
スペランカーみたいなのを。
マイティボンジャックみたいなのを。
CGIと連動して、成長ログを各IPごとに記録できるRPGなんかを作ってみるのも面白そうです。

とにかく、ゲームは作りたいですよね。

さらには、また新分野なんですが、マイコン制御ロボットを作りたいなんて思ってます。
これは、C、C++を勉強しないといけません。
C++はJavaと似ているので楽勝でしょうけど。

なぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニングなぜ、あなたはJavaでオブジェクト指向開発ができないのか―Javaの壁を克服する実践トレーニング
(2004/12)
小森 裕介

商品詳細を見る

Javaプログラミング言語習得において、新人プログラマーの最初の障害は「オブジェクト指向の壁」です。

本書は、Javaのソフトウェア開発を中心に事業を発展させてきたSMG社の新人教育セミナーを加筆・書籍化したもので、大卒の新人に対して、ゼロからJava言語を教えてきた実績をフィードバックしています。

単にプログラミングを「覚える」のではなく、その「考え方を理解」させ、さらに「手を動かしソースを書く」ことを基本とし、知らず知らずのうちにオブジェクト指向が身につくようになっていきます。

内容(「BOOK」データベースより)
本質の理解…オブジェクト指向の考え方を、短期間で本質的に理解する。実戦力の習得…オブジェクト指向を使って、ゼロからプログラムを作成する力を身につける。この2点を目的として書かれた一冊。
わかるPICマイコン制御―16F84プログラミングの世界へわかるPICマイコン制御―16F84プログラミングの世界へ
(2001/07)
遠藤 敏夫

商品詳細を見る

本書は、自分でプログラムを作り、マイコンに書き込めるようになることを第一の目標として、手っ取り早く「PIC」マイコンになじめるよう、これだけは知っておきたいという情報を初心者にわかる表現でまとめています。特に、著者自身がつまづいたあたりは詳しく説明しています。
内容(「MARC」データベースより)
競技会ロボットや少量生産の制御にピッタリなICであるPICについて、キットの組み立てや二進数、プログラミングの実際、簡単なエレクトロニクスセットの製作などを解説する。
プログラミング言語C 第2版 ANSI規格準拠プログラミング言語C 第2版 ANSI規格準拠
(1989/06/15)
B.W. カーニハンD.M. リッチー

商品詳細を見る

1988年末に提出された、アメリカのANSI標準規格により定義されたCについて述べる。尚本書は第2版の訳書として1989年に出されたものの訂正版。

ワーキングメモリーの増強を図る。

karadakara
http://www.karadakara.com/training/game/game101.html
記憶力増強アプリ

最近、1日の中で1回は物を忘れることがある。
非常にどうでもいいことで、あ、やっておこうと思っていたことを忘れてしまうのだ。
重要なことは忘れない。
仕事に関する大事なことは必ずメモを取るようにしている。

ハッキリいって、私の日常はかなり慌しい。
ゆっくり、のんべんたらりとしている時間は、今こうやってブログを書いている時ぐらいだ。
休みのときにもギリギリいっぱいまでスケジュールを詰め込んでいる。
掃除、洗濯、買い物はもちろん。
習い事の練習から、調べ物、勉強、仕事の残りに至るまで、やること、覚えることが非常にたくさんある。

慌しい。
バタバタと過ぎていく時間。
時間だけがたりない。
ゆとりが無い。
余裕が無い。
きっと誰かが時間を盗んでいるんだろうと思う。
灰色の服を着た男たちが。
なんてね。

人間の記憶のワーキングメモリは限られている。
多分、自分はこの限界に来てしまっているのかもしれない。
人間の生物的な仕様を超えて物事を覚えようとしてしまっているのかもしれない。
イチョウ葉エキスを飲んで、DHAをオーバードーズしているが、記憶量に限界がある。

記憶力を鍛えるアプリがある。
カラダカラというサイトのアプリだ。
これを使って意図的に記憶力を増強しようかと思っている。

・・・・・・・・・・・・・・・・・・・・・・

相変わらずCIWのPerl試験問題をPerlを始めよう!エディタでシコシコとタイプする。
この実際に手を動かすという作業がプログラミングの習得には大切な要素になってくる。
本を読むことも大事。
私はとっつき易い「○○の絵本」翔泳社刊のを始めに3周くらい繰り返し読む。
Perl の絵本Perl の絵本
(2005/07/14)
株式会社アンク

商品詳細を見る

でもって、実際にHELLOWORLDから表示する。
性能の良いエディタをインストールするということも大切だ。
最初は面倒だと思いがちなんだけど、これを怠ると、わけの分からないエラーに振り回されて、そのうちにプログラムそのものが嫌になってしまう。

「Perlを始めよう!」をインストールしたのは良かった。
自分でプログラムを組んでいて、どこにエラーがあるのかイチイチ教えてくれるのは助かる。
サーバに直接書いていた頃は(もちろん、初心者にありがちなんだけど、サーバにバグのあるコードを直接UPしてはダメ)、500番のエラーに悩まされて、コードを書くこと自体が嫌になってしまった経験がある。

性能の良いエディタなら、どこにエラーがあるのか教えてくれる。
もちろん、自分で最終的に考えないといけないんだけど。

それで、ハローワールドを出力したら、次はもうちょっと複雑なコードを書いてみてもよい。
それがエラーなく動いたら、それをどんどん改造していく。
そういったなかでプログラミングが上達する手ごたえが得られるものだと思う。

それから、これも面倒で省きがちなんだけど、フローチャートを書くのも良いかもしれない。
アルゴリズムを自分で図表化するのだ。
自分流でいいと思う。
どこでループして、どこで、どの条件で分岐するのか、データ型はどうするのか、云々。

CIWの試験問題の解説。

@array1 = ("apples","oranges","pears","plums");
foreach(@array1){print"$_\n"};
--- 実行開始 [>perl untitled3.pl]
apples
oranges
pears
plums

--- 実行終了 (0)
foreachで配列の中の要素を一つ一つ取り出して、一つのスカラー値に入れています。
要素は改行で区切られています。

$x = 10;
LOOP:while($x<15)
{
print($x);
if($x >= 14 && $x <= 20)
{
$x += 2;
redo LOOP;
}
else
{
$x++;
}
}
--- 実行開始 [>perl untitled3.pl]
101112131416182022
--- 実行終了 (0)
10から始まって15までは1ずつ足す。
20までは2ずつたす。

$val=5;
if($val++ == 6)
{
print("TRUE");
}
else
{
print("FALSE");
}
if($val++ == 6)
{
print("TRUE");
}
else
{
print("FALSE");
}
--- 実行開始 [>perl untitled3.pl]
FALSETRUE
--- 実行終了 (0)

はい、トリッキーなのがきましたね。
$val++ == 6

++$val == 6
の違いです。
前者は比較を行ってから加算、後者は加算を行ってから比較を行っています。
前者の$valの中身はまだ加算していないので5です。

%employees=("Lu","Ac","Ar","Fi","Ad","Ma");
delete($employees{"Lu"});
print %employees;
--- 実行開始 [>perl untitled3.pl]
ArFiAdMa
--- 実行終了 (0)
ハッシュのキーをデリートしたら、同時にヴァリュもデリートされます。

$x=150;
$y="250";
if(($x+100)==$y){print("1");}
if("250"==$y){print("2");}
if("250" eq $y){print("3")}
if($x lt $y){print("4");}
if($x ge $y){print("5");}
--- 実行開始 [>perl untitled3.pl]
1234
--- 実行終了 (0)
えーと、最後のgeというのは、等しいか、大きいかです。それだけがfalse判定になりますね。

・・・・・・・・・・・・・・・・・・・・・・

ヌーリーシュエシー
(努力学習)

覚えること多すぎ。
中国語3級まで1ヵ月を切りました。
リスニングのテキストはわざと2倍速にしてバスで毎日聞いて通勤しています。

今日は休日ですが、プログラミングの勉強をします。
C言語をやっているプログラマーのところに馳せ参じて、ちょっと分からないところを聞きに行きます。
PC持参で。
中野の方まで。

・・・・・・・・・・・・・・・・・・・・・・

最近、自分の脳をもっとドーピングしないといけないなと感じてきました。
覚えること、考えることが多すぎるのです。
それでもなお、仕事ではポカは出来ないから。

イチョウ葉サプリは毎日飲んでます。
DHAも多量に摂取してます。
他にも、レシチン、ニンニク卵黄、高麗人参、ギャバ、ビタミンB系サプリ、カフェイン、ブドウ糖

以前は、サントリーアラビタや、チロシンなんかも飲んでました。
足りないのは、なんなんでしょうか。

足りないのは、休養かもしれません。

ガスカーボニックボディースムージング/塗るだけでスリムを目指せるボディ用化粧水。炭酸ガスのシュワシュワ感が病みつきになりそう!!




ガスカーボニックボディースムージングは塗るだけでスリムを目指せるボディ用化粧水です。
炭酸ガスのシュワシュワ感が病みつきになりそう!!
あの芸能人も愛用のボディ用化粧水

成分
イソブタン、水、エタノール、BG、1.2-ヘキサンジオール、クリサンテルムインジクムエキス、褐藻エキス、セイヨウキズタエキス、スギナエキス、カフェイン、カロットエキス、アルニカエキス、マロニエエキス、ブッチャーブルームエキス、イチョウエキス、アセチルヘキサペプチド?3、クエン酸Na、クエン酸、乳酸、ウイキョウエキス、チャエキス、水溶性コラーゲン(魚)、クレマティスエキス、シモツケソウエキス、プルーン分解物、ヒアルロン酸Na、キサンタンガム、メントール、グルコース、リンゴ酸、シリカ、PPG-4セテス20、PEG-60水添ヒマシ油、フェノキシエタノール、炭酸ガス

そろそろ本格的にAjaxとか勉強するかな。


↑↑何か文字を入れてみてください。

無理矢理漢字に変換します。
↓↓使用例はこちら。
kanjihenkan
外部のAPIを使っているのでクエリが渡っていないと何も返されません。
何度か試してみてください。
表示がおかしいときはエンコードしてください。

JavaScriptワークブック―ステップ30 (情報演習 (5))JavaScriptワークブック―ステップ30 (情報演習 (5))
(2006/01)
相沢 裕介

商品詳細を見る


まだまだ課題がありますね。
HTML、Javascript、Perl・・・・・・。
覚えなきゃいけないことが山ほどあるのに時間は限られてる。

願わくばプログラマーの専門学校にでも通いたいものだが。
それは無理だろう。
取り合えず独学侍。

「おしえるまなべる」で教えてくれる先生でもいたらいいんだけど。
Ajaxでゲームアプリとかバシバシ作りたいなー。
なんて考えてます。
別に、Javaアプレットでもいいんだけど、PC買い換えたからJavaのコンパイラを入れなおさないといけない。
他にグラフィックソフトのGIMPなど。
面倒だなあ。
で、お手軽インタープリターのAjaxに憧れたりするわけです。
Ajaxはアプレットよりも熱いしね。
ミクシィのゲームアプリもAjaxで作られてるらしいし。

ーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーー

イマイチ、ストレス抱えてるんだよなぁ。
もう、いちいち煩っててもしょうがないんだけど。
ふっきれよう。
そうだ、ふっきれよう。
どうでもいいんだ。

ーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーー

マラソン。
ハーフマラソンか30kmのものに出場したいと思っていたが、所沢マラソンは締め切りでアウト、三浦ハーフという案もあったのだが、それも締め切ってしまった。
迂闊だった。
多摩ロードレース大会というのがあるらしい。
10km。
大した距離じゃない。

昨日は12km走った。
家の近くを。
でも体重は落ちない。


美浜 海のホテルひろせ





海・山・湖に近く豊かな自然美に囲まれた宿。全ての客室をはじめ、大浴場・エステティックサロン等から目の前に広がる日本海が望めます。海水浴・釣りに最適。冬のカニ料理・フグ料理も格別です。

昨日は15kmRUN。脚力は回復しつつある。


Perlの文法についてしつこくおさらいします。
今回はwhile文です。

#! /usr/bin/perl

print "Content-type: text/html\n\n";

@a =(
"a1","a2","a3","a4","a5","a6","a7","a8","a9","a10",
"a11","a12","a13","a14","a15","a16","a17","a18","a19","a20"
);
$b=0;
while($b<=19){
print "$a[$b],\n";
$b++
}

最初のprint文はヘッダ情報で、HTML方式でPerlを表示するときに必要な一文です。
@aという配列にa1からa20という要素が格納されています。
$a[0]から$a[19]まで@aの要素が一つずつ表示されます。

さて、実行結果を見てみましょう。

--- 実行開始 [>perl untitled1.pl]
Content-type: text/html

a1,
a2,
a3,
~~~
中略
~~~
a19,
a20,

--- 実行終了 (0)

となりました。
a20まで表示されています。
よく勘違いされますが、配列の最初は0番です。
$bは0から始まるので、19番目はa20ということになるのです。

for文で次のように書くこともできます。
#! /usr/bin/perl

print "Content-type: text/html\n\n";

@a =(
"a1","a2","a3","a4","a5","a6","a7","a8","a9","a10",
"a11","a12","a13","a14","a15","a16","a17","a18","a19","a20"
);
for($b=0; $b<=19; $b++){
print "$a[$b],\n";
}
実行結果は同じです。

・・・・・・・・・・・・・・・・・・・・・・・

人工無脳の仕様について。
人工無脳はPerlで書かれることが多いのではないでしょうか。
なぜかというとCGIの基本的な仕組みを利用しているからです。
CGIでチャットなどを設計する際に歴史的にPerlが多く使われてきました。
結果的に、Perlで人工無脳が書かれることが多いのです。
ここ10年ほどで人工無脳もさまざまな言語で書かれるようになりました。
Ruby、Python、PHPなどが比較的多いですが、JavaやC#で書かれた無脳も見ます。
要するに、なんでも書けるんです。
私はAKOSMエンジンやイチロー、ゆいぼっとなどを参考にしています。
それらはオープンソースで改良も許されているので、是非サイトでソースを拾って勉強してみるのがいいかと思います。
それらの多くは、すでにサポート先のEメールがリンク切れになっているので、自力で解決しなければいけませんが。
AKOSM、イチロー、ゆいぼっとについては、比較的動作が簡単にできます。
ファイルとフォルダのパーミッションとPerlの1行目の#!以下を正しく書けば動きます。(さくらサーバの場合#!/usr/local/bin/perlとなります。)あとは、アスキーモードでアップロードするとか。

・・・・・・・・・・・・・・・・・・・・・・・・・

プログラムを書いていて思うことは、プログラムは自分で手を動かして書かないと上達しませんね。
人の書いたの、書いているのを見ているだけではだめなんですね。
関数を1つ書いてはデバッグし、動作確認をする。
それを繰り返して長い複雑なプログラムが完成するのであって、他人が書いたプログラムをコピペして動いて喜んでいるだけではなんの上達も無いのです。

あと、独学派が陥りがちなのが、本を読むだけで勉強すること。
本はあくまでも言語仕様を確認するためのものだと思った方がいいかもしれません。
私は自分でソースを拡張、改造していくなかでようやく上達を実感しました。
プログラムの上達の近道は、まず動くソースを改造することだと思います。
そのときに本を参考にすることはありますが、本だけ読んでいてもからっきし駄目でした。
まず、開発環境をパソコンにしっかり用意して、それが楽しくなるまでいじっていじってカリカリとたくさん書くしかないんですね。
そうやって書いていくなかで、勘が身について、そのときに(あのときは意味が不明だった)あの本の知識が役立つんですね。

案外楽しくなってくるものですね。
私もいつかベクターにフリーソフトでもUPしたいです。

ーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーー

昨日は体調が悪かったのですが、15kmほど走りました。
今日もこれから走ろうかと思っています。
前回の検診で中性脂肪が高くなったといわれたのです。

それから、お決まりの中国語の勉強。
駅前のファミレスを占拠して勉強します。

さらに、今日は前々から観たかった演劇を観にいく予定です。
先日は図書館で演劇論の本を読んでいました。
学ぶことは多くあります。
なので、毎週なにかしら観にいければと思っています。
先週はクラシックコンサートに行っていたので無理でしたが。あれはあれで、インスピレーションを得ることができました。
私は役者にとって必要なもの、要素がいくつかあると思っています。

その一つは声です。

声が通らない役者はどんなに優れた演技ができても役者にはなれません。
なので、発声練習は必要です。
しつこいくらいにやります。
期間も長期間とった方がいいでしょう。
肉体的に練習による変化が起こるには人にもよりますが、早くて二週間、長くて1ヵ月は必要です。
役が決まる前から時間をとってやるのです。
いざ役が決まってから舞台に立って、声が聞こえないのでは話になりません。
そのとき気づいて発声練習をしても遅いのです。
腹筋、喉の筋肉(他、主に上半身の筋肉)が練習によって強化されてようやく条件が満たされるのです。

私の教え子に非常に身体的にひ弱な子がいます。
彼女の肉体的な変化を期待するとしたら二ヶ月は毎日発声練習をしなければいけません。
はっきり言って絶望的な状況です。
それでもやるのです。
本人が自信を持って、楽しいと思えればしめたものなんですが。

声については非常に重要視しています。
声の強い人が、声を弱く、か細く演技することはできます。
しかし、その逆はありえないのです。

私が声にこだわる一つの理由があります。
それは私自身がストーリーテラーとして常に演技を自身の職場に持ち込んでいるからです。
物語を伝えるのは声です。
人は声に魅了されるのです。

かつて、ゴーリキは声が美しくなかったために役者の道を諦めたといいます。

どん底 (岩波文庫)どん底 (岩波文庫)
(1961/01)
ゴーリキイ

商品詳細を見る



MAM YOKAN(羊かん) Cocktail




和菓子職人の伝統製法と、MAM CAFEのアイデアのコラボから生まれた、「羊羹」と「カクテル」の新感覚スイーツです。今までの羊羹と違う、やわらかで軽い口当たり。シンプルで食べやすい一口サイズのパッケージも◎。size:縦5.5×横5.5×奥行1.6cm重さ:40g◆原材料カシス&オレンジリキュール/グラニュー糖、白隠元豆、水飴、カシスリキュール、寒天、クエン酸、香料マンゴーリキュール/グラニュー糖、白隠元豆、水飴、マンゴーリキュール、寒天、クエン酸、クチナシ色素クッキー&クリームリキュール/グラニュー糖、白隠元豆、水飴、クッキーアンドクリームリキュール、寒天ストロベリーヨーグルト/グラニュー糖、白隠元豆、水飴、ヨーグルトリキュール、寒天、ストロベリー濃縮果汁、ラック色素、香料保存方法:直射日光・高温多湿の場所を避けてください。賞味期限:製造日より常温180日原産国:日本※こちらの商品はお酒が入っています。運転をされる方やアルコールに弱い方、お子様は召し上がらないで下さい。

新しいブログの形態。ヘビービューアーのためのパスワード制度、今日読んだ記事の中にパスワードあり。

こういうのも作ってみました。パスワードを入れてください。

正しいパスワードを入れると画面が遷移します。
パスワードは半角でsampleです。

このパスワード認証を使って、特定のビューアー(訪問者)だけに記事を見せたり。
毎回このSOHOを見てくださるヘビービューアーに方が見れるように、前回の記事にパスワードを載せておいて、それを入力すると、別画面で違う記事や画像を見ることができるようにすることもできます。
お得情報もあるかも?

では、さっそく。
パスワードは、sohoです。

そのうち、ブログの中にパスワード窓が再登場します。
その時のパスワードがこれになります。
(ちなみに、今回のは実験で、パスワードはsampleね。)

前回書いた記事と重なるけど、こういうのも、ブログならではですよね。(もちろんHPでもできるけど。)
Javascriptの書きこめないmixiで日記を書いているとこうはいかない。
もちろん、友達にまで公開とかはできるけど。

ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
以下日記

大栄丸の事故で父親を亡くした生徒に対して、「親を亡くしたのは風流だ、人はいつ死ぬかわからん。」

教諭のこの発言で生徒がショックを受け、適応障害になったという。
教諭はその後謝罪している。

・・・・・・・・・・・・・・・・・・・・

風流について調べてみた。

風流とは、

1 上品な趣があること。みやびやかなこと。また、そのさま。風雅。「―な庭」
2 世俗から離れて、詩歌・書画など趣味の道に遊ぶこと。「―を解する」
3 「ふりゅう(風流)2」に同じ。〈日葡〉
4 美しく飾ること。数奇(すき)をこらすこと。また、そのさま。
5 「風流韻事」の略.
6 先人ののこしたよい流儀。遺風。

さて、教諭が使った「風流」は上のどの意味だろうか。

親が死んだのは、
1だと、上品である。
2だと、世俗から離れている。
4だと、美しく飾っている。
6だと、先人ののこしたよい流儀だ。
(3と5は重複の意味のため略)

・・・・どれも、意味がしっくりとこない。・・・・

この教諭は何が言いたかったのだろうか。
後からの釈明を聞くと、人の世のはかなさを言いたかった。という。

風流ではないだろう。
風流は、違う。
意味が。

この教諭の発言も問題だが、古典の知識も酷いな。

さて、
なぜ、父親を亡くした生徒に対して「風流」発言をしたのだろうか。
普通だったら家族を亡くした人に話しかけるのは、腫れものを触るように気を使って話しかけるものだが。
この人のこの感覚の鈍さ、ズレはなんなんだろうか。

普段からどのような関わりを生徒としているのか非常に気になった。

言葉は大事です。
一度発せられた言葉は取り戻せないですから。
本人の意図しない意味として受け取られることもあります。
だから言葉は大事なのです。
言葉は生き物なのです。

私も言葉を大事にします。
言葉は私を語ります。
言葉は人を傷つけたり、幸せにしたりします。

ーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーー

今日からReviaを飲み始めます。
禁酒薬です。
本当にお酒をストップできるでしょうか。
8月に健康診断があるので、目標にします。
健康数値が改善しているように。


下田温泉 野の花亭こむらさき





「素朴な昔心の宿」をテーマに、全室庭園露天風呂付きの5室だけの宿です。草花をゆらしたそよ風が肌にやさしく感じる風流な時を・・・と思っております。

ブログに色々嵌め込んでみる。


↑↑このつぶやき板、自由に書いてみてください。↑↑
ハンドルは書かなくても大丈夫です。

ブログの中に掲示板やチャットを埋め込むの、結構好きですね。
やり方は、別のサイトに掲示板やチャットを作って、iframeタグで反映させています。
結局、私が人工無脳をこのブログに埋め込んでいるのもこの技術なんですね。

ブログというのはHPに比べて誰でも簡単に更新できる。CSSやHTML、CGIの知識が無くても見栄えのするページを作ることもできる。
しかし、面白いのは、それなりに技術を学んだ人もこのブログを活用できるということだと思う。
ブログの中にCGIやJavascriptで書いたプログラムを埋め込む。
ブログが単なる情報発信ではなく、よりインタラクティブになる。

ブログ画面がチャットになって、ブログの内容について訪問者と語る。
発信の手段だったブログが、発信と交流の場となる。
これは面白いと思う。
また、FLASHやJavaアプレットなどを使えばブログでゲームをすることもできる。

私はブログは今後も強力なコミュニケーションツールになっていくと思います。
理由は、

・更新が簡単
・無料
・手動のHPほどではないが、自由にカスタマイズできる。
・SNS化してきている。
・色々な物を埋め込める
  ・YOUTUBEなどの映像
  ・ゲーム
  ・掲示板、チャット、ツイート

こう考えていくと、単体のサイトに比べて、ブログの場合は、それら単体の物を組み入れることができる点で魅力的だと思います。
個人的には、mixiやツイッタ―よりも自分を表現しやすい場だと思っています。
もちろん、情報収集という点に着目すると上記の物には負けるかもしれません。
しかし、それだけだったら、その時に上記の物を利用すればいいのです。
現に、情報収集のためにmixiのコミュを利用しています。mixiでは日記は書きませんが。

なぜかというと、mixiではJavascriptをサイトに埋め込めないのです。
mixiに人工無脳やゲームを埋め込もうとしたら失敗しました。
mixiにゲームのアプリがあるそうですが、デベロッパ登録してajaxで作成しないといけないらしいのです。ajaxはJavascriptですが、自分はゲームはJavaで作ってたので、すぐにはゲームを載せることはできません。いずれ、ajaxでのゲーム作成も勉強しようとは思いますが。
いずれにしても、自分が十分に表現できないサイトでは日記は書けません。

とにかく、ブログの楽しさは、色々な物をはめ込むことができることに尽きると思います。
ツイッタ―をボットに書かせて、そのツイートをブログにはめ込むことも考えてます。

ーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーー

昨日、懐かしの(否、今再びブームの)ルービック・キューブをやっていた。
なかなか難しい。
2段目までは自力で揃えられる。
残りは1段。
これが難しい。
2段目までは、2、3分あれば、どんな状況でも揃えられるようになった。
ちょっと賢くなった気分。
あとちょっとで全面完成。認定書もらうぞ。

ーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーー

職場はゆるーく、サマーホリデー。
今年はPerlとJavascriptを自分のモノにするぞ。
ピアノ、絵本執筆、ゲーム制作、中国語・・・・・


【白金ナノコロイド配合】プラチナゴルド シャンプ&コンディショナ





〝金・白金ナノコロイド〟配合『アミュールプラチナゴールド シャンプー&トリートメント』です。ハート型のボトルがとってもキュートな恋を叶える魔法のシャンプー&トリートメントです。健康で、キレイな髪の素敵な女性を目指しませんか?

訪問者数CGIをつけてみました。


現在、何人が閲覧中か分かるCGIを作ってみました。
コアになっているところは公開されている物を参考にしました。
環境変数(リモートアドレス、リモートホスト)から訪問者数を数えています。
SOHOを何人が見ているか分かります。

ソースの核心部分です。

#! /usr/local/bin/perl

~~中略~~

$host = $ENV{'REMOTE_HOST'}; 
$addr = $ENV{'REMOTE_ADDR'};
if ($host eq '') { $host = $addr; }
if ($host eq $addr) { $host = gethostbyaddr(pack('C4',split(/\./,$host)),2) || $addr; }
if($lock_mode) { &lock1; }
open(READ,"$tmp$file") || &error("[ $file ]が開けませんでした。");
@lines = ;
close(READ);
foreach $line (@lines) {
($number,$log_host) = split(/\,/,$line);
if ($log_host ne $host && $number > $date_last) { push(@new,$line); }
}
$value = "$date_now\,$host\,\n";
unshift(@new,$value);
if($lock_mode) { $lock = "$$\.lock"; }
else { $lock = $file; }
open(WRITE,"> $tmp$lock") || &error("[ $file ]が開けませんでした。");
print WRITE @new;
close(WRITE);
if($lock_mode) { &lock2; }
$count = @new;

~~中略~~

print "<font size=2>現在 $count人の方が、<br>\n";
print "SOHOを訪問しています
\@$times</font>\n";

~~以下略~~

・・・・・・・・・・・・・・・・・・

いまさらCGI?という意見を聞くんだが、CGIほど便利で普及した技術もないかなと思う。
私がCGIに興味を持ち始めたそもそものきっかけは、人工無脳だったわけだが。
いまだに、人工無脳のトリッキーな仕組みには魅了されている。
私は、人工無脳は現代のからくり人形だと思う。

・・・・・・・・・・・・・・・・・・

昨日、中国人の男性と言語交換(Language exchange)を行った。
場所は、駅近くのジョナサンだ。

彼は日本語がほとんど話せない。
私も中国語のスピーキングは苦手。

そこで、お互いの共用語は英語となった。

ジョナサンの店内で、英語、日本語、中国語が飛び交う。
不思議な状態だった。

なんか、こういうの好きですね。
人間ってこうあるべきだと思う。

・・・・・・・・・・・・・・・・・・

久しぶりに中国語で日記を書こうと思う。
習慣は実力なり。

昨天我学习了中文。他正做有关音响的工作。
被夸奖说如果我非常善于指导了。学习了由于我的工作可以使用中文若干。

指導方法が非常に上手だと言われた。
全くコンプリメンタリーな一言だった。
考えてみればそうだ。
以前もチンプンカンプンのチャイニーズやコリアンに日本語を教えた経験があるからだ。

教えるのはプロ。
そりゃそうだ。

ーーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーーー

先週のニュースにあった。
埼玉県で中学校の教諭が体罰。
教諭は自分から退職したという。

自分のクラスの道徳の時間に、自分が泳げなかったこと、水泳の時間にプールに投げ込まれたことをユーモラスに語ったという。
クラス中は爆笑。教諭はその後、泳げるようになったことを話すものの、笑いは止まらずそのまま授業は終了。

その後、一人の生徒が「授業つぶれちゃったね。」の一言に教諭は激怒し、顔を平手打ち。
教諭は依願退職したという。

いろいろ考えさせられます。

生徒も生徒だし。
教諭も教諭。
平手打ちと言っても、怪我をさせた訳じゃなかろうに、辞めるってのも。

生徒も生活態度や学習態度が出来てない。
静かにしなさいの一言で静かになる習慣ができてない。
恐らく、普段からちょっとしたことでクラスがザワザワするような状態だったんじゃないかと予測できます。

教諭も、生徒からの尊敬を得られていない。そんなところでユーモラスにやってもツケあがられるだけ。
なんか、こう、生徒に正対していないなって思った。
面と向き合おうとしないで、小技で生徒を動かそうとすると、時々、こういうことが起きる。
要は信頼関係だから。
これって、大人対大人でも同じですよね。

大事な道徳の授業でユーモアを使わなければいけないほど、生徒は聞く耳をなくしていたんでしょうか。

平手打ちで退職ですか。
私なんかの頃は、思いっきり拳骨パンチしてる教諭いましたけどね。


L フェニルアラニン





Perlにあと少しの努力を。


リャマ本に、「Perlは、その言語を最低でも毎日20分以上使用する人のための言語だ。」と書いてあった。
確かに、それは理解できる。
だから、最近は早朝からエディタを開いて何かしらPerlで書いてみるようにしている。
言語構造とかを完全に理解して、自分で自由自在に何でもプログラムできるようになりたい。
今年の目標かもしれない。

去年はJavaを使えるようになった。
そういえば、Javaへの道のりも、そうそう平坦ではなかった。
Javaが使えるようになるために何冊も本を読んで、エラーと闘って、最初はコピペから、そして、完成したソースを改造して、などと試行錯誤をした結果、自分の中の腑に落ちたような感覚を得ることができた。

プログラミングの勉強は、とにかく、悩んで、試行錯誤して、闘わないとだめだなと思った。
つまり、コピペだけじゃなく、コードを読んで、改造して、入門書を読んで、分からないことを調べて。。。
ってやっていくことが勉強なんですね。

Java、Perlとマスターしたら、そろそろC言語に行きたいと思います。
サーティファイのC言語3級あたりを目標にテスト勉強として独学をしていきたいと思います。
プログラマーの学校も、そうそうしょっちゅう行ってる時間も無いので、基本独学という姿勢ですね。

恐らく、独学心っていうのが、プログラマには必要なんだと思います。
依存心ばっかり強いと、結局、「コピペでいいや。」になってしまい、自分で考えて組まなくなる。

一度やって、マスターする前に辞めてしまったRubyあたりも一度再勉強したいと考えています。

ーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーー

鉄拳チンミの格闘ゲームもそろそろ拡張したい。
言うだけ詐欺になってしまう。
このままじゃ、ゲームとして乏しい。

ーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーー

人工無脳のプログラムで行き詰まり感がある。
ま、自分のPerlの知識が足りないからなのだが。
これは勉強しかない。

ーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーー

せっかくJavaが使えるんだから、もっと色々なゲームをプログラムしていきたい。
この夏の目標だ。
お酒さえ飲まなければ、良い時間はたくさんあるはずなのだ。
昔のファミコン調のゲームをたくさん作りたい。

ーーーーーーーーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーーーーーーーーー

ところで、C言語を学習したいと思い始めたのは、組み込み制御のロボットを作成したいと思い始めてから。
そこらへんの参考文献がC言語で書かれていることが多く、Javaっていうのはほとんどない。
あっても、C++。
そこで、いずれは挑戦しなければいけない物なので、Perlをマスターした時点でC言語にも挑戦しようと思っています。

できれば、この秋までに現在行き詰っているところのPerlの問題を解決して、秋からは、来年1月末のC言語3級試験の勉強を始められないだろうか。
C言語のポインタの勉強は、結局Perlのリファレンスの勉強にもつながっていきそうな気がする。

組み込み制御ロボットを作りたいと思ったのは、自律的な知能を持ったロボットを最終的に(何十年後かに)作成するためには、人工無脳をどれだけ研究しても弱いと思ったからだ。
人工無脳は記号を操作しているだけだ。
知能の現象面を再現しているに過ぎない。
実質的な知能となると、WEBではなく、現実世界を数多くのセンサーでもって体験させなければいけない。
そこで、やはり行きつくところがルーシーのようなロボットなのだ。
センサーで得られる感覚は、視覚情報である必要はない。

回虫も、ミジンコも、ネズミも、知性を持っている。
これは最も原始的な意味での知性だが。
コンピュータがこの知性を獲得するためには現実世界を体験させる躯体が必要になってくる。

回虫程度の物からスタートして、徐々に進化させたい。

甦るチューリング―コンピュータ科学に残された夢甦るチューリング―コンピュータ科学に残された夢
(2002/09)
星野 力

商品詳細を見る



ボリュームメイクブラ L (アンダーバスト76~80cm) /ブラジャーの上に着用するだけで極薄パワーネットレースが美乳を形成します





ボリュームメイクブラはブラジャーの上に着用するだけで極薄パワーネットレースが美乳を形成します。谷間メイクもラクラク!

ハッカーと呼ばれるまで・・・・

ハッカーの教科書 完全版ハッカーの教科書 完全版
(2005/05)
IPUSIRON

商品詳細を見る

ハッカーとは・・・・、コンピュータを使いこなして、新しい創作物を作ったり、様々な難解なトラブルを処理する能力を持つ人。コンピュータを使用する能力が著しく高い人。

ちなみに、ハッカーと間違えられやすいのが、クラッカー。
クラッカーは、コンピュータの知識や技術を用いて、他者のコンピュータやネットワークに侵入して情報を情を盗み出したり、改ざんしたり、ウィルスやマルウェアを作成するなどの犯罪行為を行う者。

私は、クラッカーになりたいとは思わない。
というか、そこに価値を見だせない。

しかし、ハッカーと呼ばれる程度にまではコンピュータを使いこなせるようになれば良いなあと思っている。

そうなるだろうか。

某サイトでは、ハッカーの定義として、複数のプログラム言語に精通しているということが挙げられていた。
それはそうだと思う。
個人的には、言語というよりもアセンブラが理解できる必要があると思う。

某本では、C言語は必須として、スクリプト言語(Javascript FLASH VBscript)、CGI言語(Ruby Perl PHP)など、
それから、難しいところではアセンブラ、それから、珍しいところでは、LISPなども挙げられていた。

私もJavaをマスターしたら、CGIとして、Ruby、スクリプトはJavascript、他にVBなどを学習していく予定。
アセンブラは未定。
アセンブラを学習しても使う用途がない・・・。

VBで作る3分人工無脳講座


3分で作れる人工無脳講座。
本当に無能!
というか無意味。

VISUAL BASICを使っています。
プロシージャ名もIDIOT(無能)

以下ソース。


Sub idiot()
res = inputbox("あなたは誰ですか。")
MsgBox "こんにちは" + res + "さん。"
res1 = inputbox(res + "さんは、お仕事は何ですか?")
MsgBox res + "さんは、" + res1 + "なんですね!"
res2 = inputbox(res1 + "のお仕事は大変ですか。")
MsgBox "そうなんだ~"


End Sub

なんて無能なんだ!!

VISAL BASIC(以下VB)を学習しています。
人工無脳を作る際、記憶媒体にあたるデータベースを自動管理したいからです。

VBでメッセージボックスを書くなどということをテキストを見ながら一つひとつやっているのですが、集中してやれば、VBはそれほど難しいシロモノではなさそうです。

CGI部分にはRubyかPerlを使います。
JAVA以外にもそろそろ、もう一言語覚えたいところです。
とくにCGIを扱えるものを。

学習予定としては、今日VBをがっつり学習して、自分でいろいろ書けるようにする。マクロでエクセルとか改造しまくれるレベルにする。

次は、RubyかPerlでしょう。
どちらも以前一度やっているので、集中してやればそれほど時間はかからないでしょう。

他に、Javascriptもやりたいのですが。

JAVAをしっかり学習したおかげで、プログラミングのコツがつかめてきた気がする。
その、構造化とか変数とか戻り値とかオブジェクトの考えが身に付いた気がする。

これからいろいろと作っていきたい。

ーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーー

今日も休暇とってますが、職場行きます。
午後からちょっと。

これから、ピアノ、ジョギング、それから帰ってきたら2時間ほど数学検定の勉強、そして、またVBをがっつりと学習します。
VBは、JAVAより簡単でなかなか楽しい。

ーーーーーーーーーーーーーーーーーー
ーーーーーーーーーーーーーーーーーー

今日は、深センインベストメント株を購入、約20万円ほど投資しました。

私の、初・体・験

これからはじめるVisualBasicの本 (世界一やさしい)これからはじめるVisualBasicの本 (世界一やさしい)
(2007/09/04)
朝井 淳

商品詳細を見る

週末にVISUAL BASICを勉強してみようかと思っています。
VB(以下略)は初体験なのです。

今まで、Java、Ruby、Perl、Javascriptとやってきて、まともにマスターしたのはJavaだけ。
何かもう一つ武器になる言語が欲しいと思っていた。
CGI系のRubyかPerlはいずれマスターするつもりだが、データベースをいじれる言語が欲しかった。
これは、頭の良い、自動学習型の人工無脳を自分でプログラムしたいと思ったからだ。

VBをいじれると仕事でもあれこれと便利なことは多そう。
エクセルの仕事とかで消費する時間を最小限に削減するためにはやはりVBの知識は必須かと。

仕事で、趣味でVBができれば一挙両得かと。

現在考えているのは、RubyのCGIか、JavaのBUFFERED READERでデータベースファイルを操作、&、VBでデータベース管理という仕組み。
ただ問題なのが、形態素解析装置の容量が異様に重いこと。
頭の良い無脳にするには形態素解析が必要なのだが、これをレンタルサーバーに上げるのが難しい。
自分で形態素解析機もどきを作るか。

Java資格ゲット ~プログラミングの勉強方法とか~

java3
Javaプログラミング検定3級に合格しました。
とてもうれしいです。
これで堂々と人に「プログラムができます。」と言える。
履歴書にも堂々と資格や特技の欄にJavaと書ける。
このまま、Sunの資格にも挑戦しようかな。
javakentei
上の写真ではぼやけているので、拡大。

今後は、ネットワークやデータベース、他言語(おそらく、C++、CGIだと、Rubyあたり)の勉強+資格も狙っていきたい。(Rubyの資格は受験料高いんだよね~~)

独学で勉強を始めて何年経つだろうか。

総学習時間は1年ぐらいだろうが、この半年はがっつり勉強した、残りの半分は2005年から数年かけてちょぼちょぼ勉強した分。かれこれ本を買ったのは2005年。
そうえいば、サンタバーバラに旅行に行った時に読んでいた気がする。
あのときはエラく難しかった本が今では超簡単になっている。
そういうものなんでしょうか。

最初にJavaの本を書店で取ったときには、「こんなの絶対に無理だよ」とか半分笑いながら手にした。
エラく難しくて、吐き気すらした。
「なんじゃ、この暗号は!!」
とか思ったものだ。

2005年に買ったは買ったけど、ほとんど読まず、しかし、人工無脳やゲームのプログラムへの夢は捨てられず、2006年、2007年、2008年と、しょぼしょぼと読んでいる。
さらに、2008年はRubyにも興味を持って勉強をし始めるので、さらにJavaから離れることに。

しかし、ゲームを作るぞと一念発起。
昨年2009年の秋にDOJAでインベーダーゲームを作ったのを皮切りに、Javaのプログラム勉強はどんどん進んでいった。
冬の旅行先の韓国では、Javaの初級本は1冊を丸々読破。
ほとんど基本的な仕様については分かってきた。

考えてみると、プログラムの勉強は、実際にソースコードをいじる・書くに限る。
人が書いた完成したコードを読んで、解釈して、そして、改造してみる。
さらに改造してみる。
バグが発生したら、バグを一生懸命取り除いてみる。
そしてまた改造する。
しかし、人のコードの改造だけでは基本的な知識が身に付かないので、必ず本での基本知識の勉強は行う。
この繰り返しこそ、プログラムを勉強する一番の近道だと思う。

しかし、独学は時間がかかるなあ。

サーティファイPG言語試験 終了。 次は中国語4級だ。

arabita131
今さっき、サーティファイのプログラミング言語検定を受けてきました。
Javaの3級です。
やはり、朝9時40分集合というのは早いですね。
当日の朝は、もう勉強する余裕はないですね。
(とかいって、早朝4時から勉強してたけど。)

受けてみた感想ですが。
思ったより簡単でした。
もちろん、それは勉強したからなんですけどね。

ミリ秒で整数を割って時間、分、秒を求める問題とか、成績を求める問題だとかありましたが、それほど難解ではありませんでした。(というか、簡単だった。)
考えてみれば、基本情報技術者試験の午後問題のJavaの方が難しかったような・・・・・。
基本情報の方では、Javaの仕様のことまでは聞かれないからある意味、アルゴリズムに特化した試験だったけど、Javaの試験の方では、クラス、インターフェース、メソッドなどという用語や、カプセル化とか、ポリモフィズム、継承などといったオブジェクト指向の考え方も理解してないといけない。

試験は1時間。
私は30分程度で終わりました。
途中退出してもよかったんだけど、何度も見直ししてました。


それにしても、ようやくプログラミングも一つの到達点についた(かも)。
簡単なプログラムは組めるようになったから初心者は脱か。

↑の写真は再び購入したサントリーアラビタ。
記憶力増強にはかなり良いと思います。
アラキドン酸がサプリメントで購入できるのは、日本ではこれだけなんで。
資格試験の前はこれで脳ドーピング。

さて、次の検定は1年ぶりの中国語検定。
今度は4級です。

余裕かも。
いや、しかし、アラビタで脳ドーピング。

昨日届いた本

certifyjava
来月末に受験する資格、サーティファイのJavaプログラミング能力検定。
韓国旅行中も、興味のあるところ見終わったら、喫茶店ででも勉強していようと思っている。
あまり頑張って観光名所とか周りまくらない。
マイペースな旅なのである。

昨日届いたのが、サーティファイのJAVA検定のテキスト。
そんなに難しそうじゃない。

しかし、そんなさなかに小さな事件が起こった。
地元の図書館(最も落ち着いて勉強できる場所)が明日から1週間以上も閉鎖するのだ。
なんてこった。

家でJAVAゲーム作ってるのも検定の勉強にもなるけど、やっぱ、検定といったら過去問とかないと得点源にならない。
今日は、これから10km程度走って、貴重な今年最後の図書館のオープンを利用しなければ。

---------------------------------------------
---------------------------------------------

先日、友人に私が向かっている方向が分からないと言われた。

私が向かっている方向は、

お金を貯めて、早期退職。(60代前半)

退職後にロボット工学や人工知能関係の学部に入学する。

今から30年後の予定だが、
海外留学も視野に入れている。
それまでに、英語力はネイティブと同等になっていると思います。

資金は、
執筆活動が主になると思います。
英語教育関係の本や、絵本、物語を執筆して資金源にします。
40代から60代までで稼いだ印税を投資してさらに増やしたいです。

退職後にすぐに大学に入れるよう、今から数学やコンピューター、電気関係の勉強もしています。

これが方向性です。

---------------------------------------------
---------------------------------------------

私の人間性はこのブログを見れば分かります。

CGI人工無脳への一歩。 へーー++掲示板

はじめてのAIプログラミング―C言語で作る人工知能と人工無能はじめてのAIプログラミング―C言語で作る人工知能と人工無能
(2006/10)
小高 知宏

商品詳細を見る

サファリだと掲示板が見れないという意見がありました。
基本的にJavascriptを使って表示しているので、ネットのセキュリティでJavascriptをOFFにしてあったりすると見れないです。こちら側の工夫で別のブラウザでも見れるようにできるかは工夫してみます。

勘の良い人は分かると思うんですが、↓↓のような掲示板を作ってみました。これが人工無脳への第一歩なのです。何か発言をすると、「へーー。」と発言します。なんとも嫌な掲示板です。
名づけて、「掲示板 へーー++」です。
これがCGI人工無脳への第一歩なんですね。
恋するプログラムのノビイも、最初は、人間の発言に「って何?」と言うだけの無脳でした。
さて、これを発展させてもっと賢いCGI無脳に発展させてみたいと思います。

今週末の楽しみです。


極唯物論者の私としては、どうでも良いのだが。掲示板活用の題材として。

ブログに掲示板(チャット)をはめ込むという実験を続けております。
もし、よかったら書きこんでください。公序良俗系は削除します。

ozawa


民主党の小沢一郎幹事長が16日の記者会見で、仏教観と文明観を改めて披露した。

 10日に和歌山県の高野山金剛峯寺を訪れた際に、キリスト教を「排他的」「独善的」と指摘。これに対し、「日本キリスト教連合会」が「キリスト教に対する一面的理解に基づく、それこそ『排他的』で『独善的』な発言」と抗議文を送っている。

 これを受けて小沢氏は16日、「(仏教の世界観では)生きながら仏にもなれるし、死ねば皆、仏様。ほかの宗教で、みんな神様になれるところがあるか。根本的な宗教哲学と人生観の違いを述べた」と説明。さらに、エベレストに挑んだ登山家の「そこに山があるから」という発言を引用し「西洋文明は自然も人間のために存在する考え方。(エベレストの)地元では霊峰としてあがめられて、征服しようという考え方はアジア人にはほとんどない」と語り、西洋思想は人間中心だが、東洋思想は人間が自然の一部だと強調。最後は「僕も君も、死にゃ仏になれるんだ、だから」と締めくくった。

出典:朝日新聞 http://www.asahi.com/politics/update/1116/TKY200911160351.htmlより

画期的なことをしてみる。ブログの中に掲示板を入れてみる。

前回は、掲示板もどきを作成しましたが、今回は、本物の掲示板をブログの中に作りました。
書きこむと本当に文字がこのブログに出ます。前回のは、自分のブラウザでしか映りませんでしたが、今回は、このブログを通して世界中に発信されます。
つまり、コメント欄が表にむき出しになったような形です。非常に画期的なのですが、まだまだ問題点は残っています。
書きこみ量が多くなったらどうするか、サイドバーでスクロールさせるなどの工夫も必要かもしれません。
↓↓いずれにせよ、一般の掲示板と同じく、公序良俗系は削除します。

では、試しに、この記事について、
hatoyama

また二転三転 鳩山首相のトンデモ発言
11月16日1時53分配信 産経新聞

世間的にいえば、的中してうれしいのは馬券だったり、宝くじだったりするのでしょうが、的中して悲しいのは悪い予感です。

 以前、産経新聞で連載している持ち回りコラム「フロム・エディター」という欄で「日米関係で悪い予感する」と書き、それが当たってしまいました。(佐々木類)

悪い予感は日米関係に暗雲が漂うのではないかというもので、鳩山由紀夫首相の発言の危うさを指摘したものでした。(参考までに文末に掲載させていただきます)。その鳩山さんは14日、訪問先のシンガポールで同行記者団に対し、13日に東京で行ったオバマ米大統領との会談合意をひっくり返すかのような発言をしてしまったのです。

 米国の本音は分かりませんが、驚き、怒るというよりあきれているのではないでしょうか。

出典 http://headlines.yahoo.co.jp/hl?a=20091116-00000509-san-pol YAHOOニュースより