ゲームしている人のブログ

デジタルゲームとその研究に関することを書いていきます

2017-03-07

ご無沙汰しています、Kです。
ちょっと期間が空いたので近況報告を。


TECH::CAMP行ってきた

 顔本開くとよく宣伝やってるアレに行ってきました。
 参加したのは「Webアプリケーションコース」の「イナズマ1週間」です。参加費はおよそ 6 万(受講料(学生料金)+ Mac レンタル代)、1週間で毎日 10 時間、パソコンと向き合ってコード書いてきました。

なんで行ってきたの?

 アルバイト先で Web 系の技術を使うのと、個人的に覚えておくと便利かなあ、といった動機です。バイト先で使っているものとは種類が違うのですが、独学だと知識に偏りが出るので、一通り手を動かして、全体像押さえようというつもりで参加しました。
 個人利用では、キーボードでガリガリ操作できる文献管理ツールでも作ろうかなと思っています。某 Works はマウスカチカチするのが辛くてな……

何覚えたの?

 メインで覚えたのは、RubyRuby on Rails の二つ。この二つを駆使して Web サービスを開発するにはどうしたらいいか、的なことを覚えてきました(企画ではなく開発です。なお、もう少し奮発すれば企画の方も面倒見てくれたりするそうです)。一応 JavaScript とか HTML 、CSS も触れたのですが、バイト先で弄ってたこともあり印象は薄かったです。
 というか、Rails に触っている時間が一番長かったです。Rails 触りながら、「Web サービスって裏でこういう処理走らせているんだなあ」というのを勉強してきました。

Ruby と Rudy on Rails って何?

 Rubyプログラミング言語で、Rudy on RailsWeb フレームワーク。Web フレームワークは、Web アプリ(ブラウザからネットワークでアクセスして利用するアプリ、対義語はデスクトップアプリとかネイティブアプリ(多分))を簡単に作るための枠組みみたいなものかなと(個人の見解です)。枠組み自体が特に何かするわけでも無いけど、その枠組を使うとそれ前提にして作られている色んな道具が使えるようになるから便利だよ、的な感じです(個人の見解です)。

 この辺詳しく書くと長くなるので興味あればググってください()

具体的に何やったの?

 1日 10 時間、朝から教室に行って夜まで画面とにらめっこ。それを一週間やって 70 時間(実際はもっと長いですが)。この 70 時間で、TECH::CAMP では次の事をやりました(横に書いてある時間は自分がかけた時間)。

  • 基本的な環境構築(約 10 時間)
  • Ruby の使い方、オブジェクト指向の書き方(約 5 時間)
  • HTML と CSS の書き方(約 1 時間)
  • Rails の環境構築(約 4 時間)
  • Rails の使い方(約 5 時間)
  • Rails 使った Web アプリの作成(約 15 時間 × 3 つ)

 基本的に教科書(ブラウザで表示されます)に書いてある通りに操作すすめたりコード書いていくだけです。それだけだとつまらないので、私は一部呈示されている変数の名前をオリジナルにするとかちょっとフォルダ構成弄るとかしてエラーを連発させてました(吐血)。
 ちょっとひねた書き方してそのデバグするだけでも、基礎知識の確認になるので結構勉強になります。特に Ruby は暗黙的なルール(というか書き方の規約)の落とし穴が結構あるので、それを覚えるのにちょうど良かったです(キャメルケースとかスネークケースとか言われても初見にはわからんでな)。

環境構築長くない???

 環境構築は闇。特に今回 Mac(レンタル)と Windows のノートパソコン2台持ちかつ両方で開発環境の動作検証したので、両者の連携取るのが非常に面倒くさかったです(この辺ややカリキュラム外ですが、質問したらスタッフの方は優しく答えてくれました、感謝……)。
 Mac は割りとすんなりいくのですが、Windows の方は仮想環境作るのが最高に面倒くさかったです。後最新版があるからといって最新版をぶっこむのも良くないですね(それはそれでどう最新版にするかが難しいのですが)。

 とはいえ、お陰で Mac でこう書かれているなら Windows ではこうすればいいんだろな、というのがわかったりしたので、環境構築に時間をかけたのは良かったです。詰まってもスタッフの人に聞けたので。。。

Web アプリの作成って何やるの?

 Web アプリ作る際のテンプレ呼び出し必要な道具のインストールデータベース作成内部処理の実装見た目の実装を一通りやります。セキュリティ周りにあまり触れなかったので実際にサービスを公開するとかまでいくと不安が残りますが、個人的に何かする分には十分でした。
 ちなみに、見た目の実装といっても「表示させたいものをここに置く」程度のことしかやってなく、れいなデザインを一から作るということは全くやってないです。その辺はまた自分で勉強した方が良さげですね。

実際どうだった?

 楽しかったです。「手持ちのパソコンで何か面白いこと楽にできるようになったらいいな」程度のノリだったのですが、その目標は余裕で達成できたと思います。
 ほか、上と重複する点もありますが、良かった点を箇条書きにすると次の感じです。

  • 1.わからないことを常に質問できる環境だった
     プログラミング独学をしていると、変に躓くとそこで数時間を余裕で持っていかれます(たとえそれがスペルミスや簡単な仕様の理解不足からくるミスであっても)。しかし TECH::CAMP ではすぐに質問して答えをもらえる、あるいは問題解決のヒントを貰える環境だったので、そういったつまづきをすぐにリカバーすることができました。個人的には受講料の 40% くらいが、そんな痒いところに手が届く環境を用意するコストかなと見ています。
    ちなみに1週間コースでも、終わった後しばらくも質問のサポートとか受けられるらしいので、それを考えると 60% くらいな気がします。
  • 2.(Ruby on Rails の)開発環境構築が出来るようになった
    これ、個人的には地味に大きかったです。開発環境構築って本に書いてある通りにやっても(本の内容が古かったり単純に何言っているかわからなかったりして)うまく行かなかいことが多いのですが、その辺を大体 10 時間くらいでクリアできたのは結構ありがたかったです。ちなみに Mac 単体、あるいは Windows 単体だともっと早いですが、両方の OS で環境構築した挙句両者を git で連携させようとか(その上バージョンも新しいのにしてしまえとか)欲張るとこのくらい時間がかかりました。
    個人的には、受講料の 20% はこの辺の知識提供や質問対応のコストと見ています。
  • 3.単純に良い環境だった
    1日 10 時間その場に居れて周りが静かで充電できて飲食が自由な場所って、お家以外に中々ないですよね。TECH::CAMP の教室はそんな感じのところでした。後、エスプレッソ大好き人間なので、100 円で美味しいエスプレッソが飲めたのはとても嬉しかったです(飲み放題だったらもっと良かった)。エスプレッソ、家で作れたらいいんですけどね。
    受講料の 10% はこの環境代でしょう。
  • 4.学習内容が幅広く、応用性が高かった
    肝心の中身も結構良かったと思います。比較対象が無いのでアレですが。
    Rails で Web アプリ作る際に必要な知識は一通り学べたと思いますし、また便利な道具とその使い方も学べました(そして色々実験して分からなかったら聞ける)。
    また学習内容は、これまでにプログラミング本(苦 C とか猫 C とか)やった経験上、多分2~3冊分くらいはあるんじゃないでしょうか。その2~3冊がカリキュラムとしてちゃんとつながっている、というのは結構大きいと思います。
    受講料の 10% ~ 30% が、この学習内容に対するコストな気はします。

 また、今回自分は時間とアイデアがなくてできなかったのですが、カリキュラムを一通り終わらせた後は、自分の作りたい Web アプリを作る&それについてのアドバイスをもらうことができるそうです。ここまで到達できれば御の字ではないでしょうか(ゲーム的に言えば S ランクですね。全てのカリキュラムを終わらせられて A ランクくらいだと私は思っています)。

どうしたら元取れそう?

 対象として多分ちょうど良いのは、ガチの初心者というよりも「プログラミング触りはじめて少し経ったけどどう幅を広げていいかが分からない」人(ガチの初心者だと多分プログラミングの作法を覚え始めた当たりで1週間が半分すぎる)。
 そして参加するならガンガン質問していきましょう。遠慮はお金と時間の無駄です。

 色々試して躓いて質問して解決する、が出来るのであれば、受講料の元は結構取れると思います。沢山質問してググって解決出来るまでの知識を短時間で身に付けることを TECH::CAMP に参加する際の一つ大きな目標にすると、より有意義な時間を過ごせるのではないでしょうか。その場で質問できるのは教室に行くことの大きな利点ですし、そもそも何をググったら良いかわからないということも往々にしてあることなので……(遠い目)
 逆に、とりあえず書いてあるコードを手打ちすればいいのであれば、多分本買うなり適当なサイトに登録するなりして、家に1週間引き篭もるのが正解だと思います(実際に1週間引きこもり続けることができるかどうかは別として)。


 以上少々長めの自己正当化でした。参加を検討しているのであれば、どうぞ参考にしてください。

研究の進捗どうですか

 ダメです

 今は社会学の歴史をおさらいしています。2年前に習ったのですが、完全に頭から抜け落ちていますね。2冊ほど社会学の歴史についての本読んだら、次は教育学の歴史についてまた2冊ほど読んで、その後教育工学、そしてシリアスゲームの先行研究を見ていきたいと思います。社会学と教育学、そして教育工学がそれぞれどう繋がっているか、授業が始まる前に頭の中で整理できたらいいなあと思っています。


 3/11 - 12 には、名古屋で開催される DiGRA JAPAN の年次大会に参加してきます。
 予稿集はまだ読んでないですが、発表が楽しみです。

 それではまた、次の機会に。