オブジェクト指向のデザインパターンをやさしく説明

増補改訂版Java言語で学ぶデザインパターン入門

オブジェクト指向のデザインパターンをやさしい表現で本格的に説明。内容が入門となっているが,デザインパターンをしっかり勉強できる。堅苦しくなく,とても親しみやすい表現が使われている。

 Javaの勉強にも適している。特にインターフェイスを勉強するのにもとっても適している。

comments

資料請求ページで郵便番号-住所変換システム

京都コンピュータ学院の資料請求Webページの
https://support.kcg.ac.jp/kcg/apply.cgi
郵便番号から住所へ変換を以前作りました。

これについて。

この手のプログラムは,ほとんど別ウインドウが出てきて,確認のクリックを行う。

また,完全に一致するものしか,表示しないものが多い。JavaScriptが使えないとだめな場合が多い。

外部サービスはセキュリティ的に心配。

なので,独自ですることに。
ただ,作るからには,性能的に劣るものを作るのは,意味がないので色々工夫をする。

仕様:
・郵便番号が不完全や少しの間違いでも,ある程度の住所を表示する。
・JavaScriptは使わない。
・別ウインドウは使わない。
・1ページでやるけど,入力済みの他データが途中で消えたりしない
・番地入力わすれをしないように工夫する。
 自動で出てくると,住所を全部いれた気分になりやすく,
 番地をいれない人が多い。その対策もしておく。

方法:

変換データは以下から自由に入手できる。
http://www.post.japanpost.jp/zipcode/download.html

このデータをプログラムで加工して,
高速処理できるように最適化してから使います。
(必要な部分だけ取り出したCSVを生成するだけですが。)

さらに単純に一致する郵便番号を探すだけではなく,
微妙に間違えたり,一部しか郵便番号を入れていない場合でも,
近い郵便番号を探して出力しています。

たとえば,601-8407を入力すれば

 601-8407の7桁 で検索し,あれば,それをなければ以下を処理

 最後の2桁を00に書き換えるもしくは,601-84 の様に最後の2桁が
 ない場合は,00を付け加えて,再度検索。
 601-8400の5桁+00 で,後ろの2桁を00に書き換えて検索。

 601-84 とか 601-8499 の様に下2桁を間違えても,ある程度対応し,
 近い住所を表示する。

 これでも見つからない場合は,
 後ろの4桁を0000にして,同様に検索。
 601-0000の3桁+0000
 最初の3桁しか入力しないとか,後ろの4桁が間違っている場合に対応。

 これでも見つからない場合は,発見できないと表示します。

comments

C言語で一度はつまずく,ポインタを理解出来る本

秘伝C言語問答 ポインタ編

 C言語を勉強していて,おそらく一番理解しにくいのがポインタ。
 機械語やマクロアセンブラを使ったことがない人は,ほとんどこれで分からなくなるか,間違った使い方をしている。
 使い方を間違えると,「不正な処理で異常終了」とか,「アクセス違反で異常終了」とかシステムにダメージを与えるプログラムとなってしまいます。とても危険です。
 なんとなくしか理解していない人はこれを読むと理解が進みます!

comments

サマーコースの準備をはじめました

KCGのサマーコースの某授業を担当することになったので,準備を始めました。

サマーコースは短い期間に連続で授業があるので,短い期間に連続だからこそ出来る方法とか,受講者のモチベーションをいかに下げないかを現在考えています・・・。

comments

ETロボコンの本選の結果について

ETロボコンの本選の結果について
今回,2回ともリタイアしてしまいました。

とても,残念です。
コースやルールは予選と本選は同じです。
でも,本選の全体の完走率は約50%ぐらい。

これは,全員予選を突破している人たちの完走率なので,本来ならば,完走率は100%になっているはず。

どうしてでしょうか?

光の環境の問題?

いえいえ。
今回は,光の状態は比較的安定していたので,あまり問題にはならなかった。(光が原因で失敗しているチームもいることはいましたが・・。)

また,予選から本選の間に若干時間があったので,予選のときよりもプログラムを改良しているはず。

なのに,完走率が低いのは?

考えられる理由は:
1.予選では,「挑戦的な走り」をしていなかったのが本選では「挑戦的な走り」に変更して見事に失敗した。

2.たまたまキャリブレーションを失敗した。

3.本選環境に適応できなかった。

のどれかでしょう。

で,私たちのチームはというと,1のパターンに思いっきりはまっています。

単純に走行し速く走るのもよいですが,やはりやるならば難所の突破を目指そうとか,色々挑戦しようとしたために,組み合わせていったときに,不具合やバグなどが出てきてしまったみたいです。

comments

ETロボコン2日目ワークショップ

ET-WSHOP

本日はETロボコンのワークショップです。
何をやるかというと,
午前はモデリング部門の表彰式とどういうモデリングが良いのかの講習
午後は複数のミニワークショップがあります。

・・・ところで,午前中は台風で新幹線が止まっています。
何時に帰れるのでしょうか(汗

夕方になれば大丈夫かな?
おそらく,スピードが遅いと思うので遅くなりそうです。(涙)

comments

ETロボコン本選

ET本選

ETロボコンの本選に参加しました。

台風がきているというのに全50チーム参加していました。

このETロボコンの様子は動画でインターネット配信されるそうです。
詳しい状況はそちらでチェックしてください。

気になる私たちのチームですが,2回ともトラブルでリタイア(;;

残念ながら,うまくいきませんでした。

詳しい説明(いいわけ?)はまた帰ってから書こうと思います。

さて,当日,驚くべきことがおきました。
2位と3位が完全に同タイムとなってしまい,審査員の方々があわただしく(半ば混乱)してしまい,急遽サドンデス方式の再レースをすることとなりました。

そんなことってあるんですねぇ・・・。

また,明日もあるので,今日は寝ますって,日にち変わっている。。。現在午前2時30分です。起きれるかな・・・。

comments

ETロボコン本選へ出発

ET出発

明日は本選です。
 詳細なスケジュールはこちら:http://www.etrobo.jp/game.html

私たちのチームはこんな感じのレゴがレースを走ります。
学生と相談してラベルや旗をもう少し調整する予定です。

まもなく新幹線で東京へ出発します。

台風の影響が少し心配です。
もちろん,明日の本選の方が心配です。
上手くいけるでしょうか。

本選のコース環境と開発・練習コース環境は,明るさが結構違います。ライントレースロボットでは,この明るさの加減や,場所による明るさのムラにとても弱いので,ソフトウエアでいかにカバーできるか,または,いかに上手くキャリブレーション(光センサーの黒白灰色の値の閾値設定作業)が出来るかに,かかっています。
つまり,練習コースで上手く出来ても,本番コースでは全然だめな場合も珍しくないです。

仮にプログラムが完璧でも,キャリブレーションを失敗すると,正常に走れません。

レゴは,全体的にロボットとしての基本性能が低いので,ソフトウエアの方で一生懸命カバーしてやらないと,いけません。

それゆえに,ソフトウエアの技術力が問われる競技となっています。

また,光の状態は時間が経過すると微妙に変化するので,光の状態が良い時と悪いときがあります。勝つには運も必要です。

comments

ETロボコン本選間近

本選まで まともに作業が出来るのは今日が最後
明日の夕方から出発しなければならない。
なぜなら土曜日朝からあるからである。

つまり,最後の調整作業を終わらせなければならない。

comments

プロフィールで使っている写真の猫

プロフィール画像

プロフィールで使っているこの猫は,実は,京都コンピュータ学院京都駅前校の周辺に住んでいる猫です。

いつも京都駅前校本館の南東角付近でごろごろしているので,京都駅前校に通っている方なら,知っている人も多いのでは?

お気に入りの写真なので他のところでも結構使っています。

comments