恋するプログラムをSinatraでWebアプリにするPart.13[おわりに]
『恋するプログラム』を使用したRubyの学習が、一段落しました。
書籍内のサンプルプログラムを写経し、自分の環境で動くように修正するだけで三ヶ月程かかりましたが、この三ヶ月のおかげで、Ruby入門者からRuby初心者程度にはなれたのではないかと思います。
参考程度に、半年前の自分に向けて、Ruby入門者からRuby初心者になる過程で学習した内容で、印象深かった内容や解決に時間を要した問題を記述しておきます。
学習した内容で印象深かった事とか解決に時間を要した問題
Rubyの事
symbol:
はハッシュのキーを格納するときに使う:symbol =>
*1の変わりに使える記法で、大抵は:symbol
と同じシンボル*2を表している。 初めてsymbol:
と:symbol
を目にした時は、かなり混乱した。- クラスメソッド同士の場合はクラス内で
class_method
だけで呼び出せるが、インスタンスメソッドは同じクラスのクラスメソッドでも、self.class_method
で呼び出すことが出来ないらしく、Class::class_method
とかClass.class_method
と明示的な呼び出しが必要らしい。 オブジェクト指向とか、クラス設計の事とか考えたら、当たり前の事のような気がしてきた。
HTML/CSS/JavaScriptの事
- GUIの部分(Viewの部分)を書いている時が、一番面倒だった。
- 『AltJS?何それ?よくわからんし、普通にJavaScriptでええんちゃうの?』と考えているなら、素直にCoffeeScriptを使う事をお勧めしたい。
テストの事
- 小さいアプリやし、すらすらとテストを書けるほどrspecの事も知らんしと思ってテストを書きませんでしたが、
-w
で見つからなかったエラーを潰すのに要した時間を考えると、最初からテストを書いた方が早かったかも知れない。
全般的な事
- 自分はそんなにプログラミングが好きではないので、作業見積もりは厳しくしないと、すぐに時間が足りなくなって頓挫する。
今後は当初の予定通り、Ruby on Railsチュートリアルを参考にしたWebアプリでチャットボットを動かし、チャットボット同士が会話するプログラムを作って行こうと思います。
また、何かの拍子に『恋するプログラム』のバグが修正出来た場合は、ここに追記していきます。
キャラクターの画像のアニメーションを作成しているflipAnime
関数にバグがありましたが、timeoutId = setTimeout(flipAnime, 100);
をclearTimeout(timeoutId);
の前に記述したら直ったので、flipAnime
関数のコードを記載している記事は、該当箇所を修正しました。
関連記事
- 恋するプログラムをSinatraでWebアプリにするPart.0[はじめに]
- 恋するプログラムをSinatraでWebアプリにするPart.1[CHAPTER3 ほんとに無能]
- 恋するプログラムをSinatraでWebアプリにするPart.2[CHAPTER4 あこがれのGUI]①
- 恋するプログラムをSinatraでWebアプリにするPart.3[CHAPTER4 あこがれのGUI]②
- 恋するプログラムをSinatraでWebアプリにするPart.4[CHAPTER4 あこがれのGUI]③
- 恋するプログラムをSinatraでWebアプリにするPart.5[CHAPTER5 辞書を片手に]
- 恋するプログラムをSinatraでWebアプリにするPart.6[CHAPTER6 感情コントロールの魔術師]①
- 恋するプログラムをSinatraでWebアプリにするPart.7[CHAPTER6 感情コントロールの魔術師]②
- 恋するプログラムをSinatraでWebアプリにするPart.8[CHAPTER7 学習のススメ]①
- 恋するプログラムをSinatraでWebアプリにするPart.9[CHAPTER7 学習のススメ]②
- 恋するプログラムをSinatraでWebアプリにするPart.10[CHAPTER7 学習のススメ]③
- 恋するプログラムをSinatraでWebアプリにするPart.11[CHAPTER8 文章を作り出す]
- 恋するプログラムをSinatraでWebアプリにするPart.12[CHAPTER9 ノビィ、ネットワークにつながる]