デザインパターン メモ1

テンプレートメソッドパターンについて
・基底クラスでは、共通の処理を実装するとともに、それぞれの派生クラス独自の処理を空のメソッドとして定義しておく。
・派生クラスでは、共通部分に定義した基底クラスを継承するとともに、その派生クラス独自の処理を基底クラスで空にしておいたメソッドで実装する(オーバーライド)
テンプレートメソッドパターンでは、基底クラスで実装されていないメソッドだけを実装すればよく、いわば穴埋め的に派生クラスを作成できるので、設計の意図を明確に伝えることができる

デザインパターンは、GoF(Gang of Four)の本が有名

RubyでGUIを考える その2

前記事:RubyでGUIを考える その1 - うえっちMEMO

前回はいきなり実行形式について考えたが、今回は簡単なウィンドウ表示を考えようと思う

1: include Java
2:
3: import javax.swing.JFrame
4: import javax.swing.JButton
5:
6: frame = JFrame.new("Hello JRuby!")
7: button = JButton.new("click me!")
8:
9: frame.add(button)
10: frame.pack
11: frame.visible = true

1行目はJavaのコードを使うよって宣言で絶対に必要
3,4行目はJavaのSwingの内、JFrameとJButtonを使うよって宣言
6,7行目はJFrameとJButtonのインスタンスを生成
9行目でウィンドウにボタンを追加
10,11行目でウィンドウを表示する


ちなみに3,4行目を書かずに6,7行目を

6: frame = javax.swing.JFrame.new("Hello JRuby!")
7: button = javax.swing.JButton.new("click me!")

って変えても同じように動作すると思う。

注意:右上の×(閉じる)ボタン押してもプログラム自体は終了しない

RubyでGUIを考える その1

Twitterクライアントを作ることを目標にやっていきます。

CUIで簡単なクライアントなら作ったことがあります。それをGUIでも作ろうと挑戦して失敗したこともあります。具体的に言えば、Ruby/tkで投稿までは作ったのですが、日本語が使えなくて諦めた感じ

で、今回はJRubyでSwingとか使ってみようと思い立ち、導入だけ少し調べた。

・作成したファイルを実行形式にする方法
rawr」っていうのをgem使ってインストールするとbuildできるみたい。

参考記事
2008-12-20
備忘録 [JRuby]MonkeybarsとRawrでGUI

もうちょっと追記するかも

ハッカソンというもの

3月23日に行われた香大Rubyハッカソンに参加してきました。
参加者は6人で約4時間のコーディングで何かしら作ってみようって勉強会です。

今回のハッカソンTwitter上でのみ呼びかけたらしく、Twitterアカウント名で自己紹介とかしちゃいました。というか、参加者は相互フォローしてる人ばかり。

で、私が作ったのは、掲示板が更新されているか調べてTwitterに投稿するプログラム。実は、ある程度コーディングした状態で参加してました。なので、余裕を持ってセンバツを見てたりしたらバレちゃってあわわわわー。

勉強会ってイメージだったのでもうちょっと会話しながら進めていくのかなぁって思ってたのですが、実際はみなさん黙々とコーディングしててビックリしました

複数人でコーディングするっての合わないなぁって思いながらも、次回も参加したいと思います

キーワードは「半年後!!」

BOTちゃんの時間調整

うどんBOTiちゃんの時間がズレてるので確認修正。

Railsアプリケーションのフォルダに移動
> cd app
Heroku側の標準時間エリアを日本に設定
> heroku config:add TZ=Asia/Tokyo

参考:http://d.hatena.ne.jp/ruedap/20110210/heroku_timezone_japan_jst

おまけ
> heroku console でコンソールに繋がる
で、Time.nowとか入力すると時間が返ってくる

思いつきでプログラミング〜新勧用アプリケーション完成編〜

先日の記事の続きです
前の記事:2011-02-27 - うえっちMEMO

コンセプトは"コマンド打って動く"
当初のラジオボタンで動作を決めて数値を入力してもらうという予定から変更し、コマンド入力式にしてみた。
「自力でコマンドを打って動く」というのはプログラミング未経験者において、感動できるものだと思っている。もちろん私も経験したし、少し慣れてきた今でも感動することがある。

で、今回作ったのは「線を引いていく」プログラム
利用者が入力するのは"forward","back","right","left"の4つのコマンドとその値
使用したライブラリはJavaの本に付属しているものなので権利関係の確認が必要

正直実用的ではないが、展示として考えれば悪くはないと思ってる。
先日聞いた卒論発表会でもプログラミング教育に関する研究がおもしろそうに感じたのでそちら方面を考えていっても良いかもしれない。

思いつきでプログラミング〜新勧用アプリケーション〜

「勉強を始めたばかりのJavaGUIを交えた簡単なプログラミング体験アプリを作ってみたい!!」
と深夜2時に思い立ち忘れないうちにΦ(・ω・`)メモメモと

現在考えているのは線を引いてウィンドウで表示するプログラムで

  1. GUIで線の長さ、角度を入力
  2. (コンパイル・実行)
  3. 表示(指定の形にしてみようってのを2,3問)
  4. アンケート

って流れにしたい

動的に値を変更したいが、無理ならコンパイルを挟んでもいい(プログラミング体験ってことなので)
無理ならクラスだけ用意し、普通にJavaのプログラムを書いてもらって実行

*追記
あれから徹夜してコーディングしてた。
とりあえず、動的に動かせたが面白みが無い。
未完成な点は、終了ボタンとレイアウト・・・