ザツジルシ

あることないこと書きます。

映画『カメラを止めるな!』褒めすぎじゃない?

いや、むちゃくちゃ話題になってますね。
映画「カメラを止めるな!



僕1ヶ月前ぐらいに、平日の朝10時上映開始の回に行こうと思って結構電車乗り継いで、映画館に行ったんですよ。
んで、やっと着いたーと思ってエレベーターに乗ったら、そのドアが閉まる直前に店員さんがドア止めて、
「あ、カメラを止めるな!ですが、今からチケット買われる方、ただいま満席となりました。」って言われましたからね。
僕、静かにエレベーター降りましたからね。



平日の朝10時ですよ?なーーにーーがーー満席になることがあります?
カメラを止めるな!を観に行ったら、席に座るな!って言われてしまいましたわ。違うか!!!違うのか!!!



てことで、なかなか観に行けなかったんですけど、こないだようやく観に行けました。カメラを止めるな!



面白かった。まったく退屈せずに観られた。笑えるし、すこしホロッともする。いい映画でした。



ただ、みんなちょっと誉めすぎじゃない???ってのが正直思うところ。



いや、面白い。面白いのだけど、なんか「映画史に残る名作」みたいなこと言ってる人いるじゃないですか?いや、そうっれんっはんっないっ。たしかに変わった作風だけど。



なにが言いたいかと言うと、日本人って弱小チームが勝つのが好きなんですよね。
この映画って、新人監督が、資金300万円で、無名の役者だけで、初めは二ヶ所だけの上映から始まって、みたいな日本人の胸キュンポイントびしびし突いてるんですよね。



そんな映画が予想以上に面白かったら、たしかに他の人にも教えたい。なんかインディーズ時代から好きだったバンドグループがメジャーデビューしたみたいな、ちょっと自慢したい気分。



そんな気持ちが、実際以上に映画を誉めたくなるんじゃないのかなと思ったわけです。



ただ一方で!
僕がこの映画を観たのって、口コミの評価が上がりきった時だったんですよね。あまり前知識入れないようにしていたんですけど、それでも勝手に入ってくるぐらい評判が良かった。



もうだから、映画館の席に着いたときには、どんな映画が始まるんや!!って胸のオーキードーキーが高鳴りまくった状態だったんですよね。



だから、見終わって面白かったし、友達にも勧めたいって思ったけど、「みんなちょっと誉めすぎじゃない?」と思ってしまったのかもしれない。



もしこれが例えば、友達に遊ぶ約束をドタキャンされて急に暇になってしまい、かといって何もせずに家帰るのもなあ、、、お、映画館や。ん?カメラを止めるな?いやいや、何言うてまんねん。わてはカメラなんてもっておまへんで。あ、なんや映画のポスターかいな。安っぽいゾンビなんぞおってけったいな映画どすなあ。。までも仕方おまへん。暇潰しに観に行ってみまひょ!!



って感じで入った映画館であの内容だったら、「映画史に残る名作でおま!!!」となったかもしれません。



結局映画って生物なのかもしれませんね。
観る人によって、観るときによって、観る環境によって感想って変わってくるのかも。



とにかく、カメラを止めるな!おもしろい映画です。ぜひ観てください。

【Ruby】クラスとインスタンスの概念を理解したてホヤホヤの僕が説明する(ことに意味がある)

こんばんは。

皆さん、キーボードカタカタしてますか?僕は昨日はブログカタカタしただけで終わってしまいました。

今日は特に書くつもりはなかったのですが、「そうだ!クラスのことについて書こう!」と急に思い付いたので、カタカタしています。

オブジェクト指向プログラミング言語を勉強をしていて、最初にぶち当たる壁がクラス、インスタンスの概念の理解ではないでしょうか?僕はそうでした。どの説明サイトの説明を読んでもなんだか実態が掴めなくて、心の中がモヤモヤしてる感じ。一度理解してしまうとあっけないのですが、なかなか難しいものです。

そこでふと思ったのですが、プログラミング言語の説明サイトを書いている人っておそらくプログラミング歴何十年みたいな玄人さんじゃないですか。となると、その人がクラスやインスタンスの概念を理解したのもこれまたうーんと前。つまり、まだその概念が理解出来ていない人がどこでどうツマヅイているかというのはとうの昔に忘れてしまっているのではないでしょうか。だから、説明も初心者にはついていけないものになってしまっている。

ということは、クラスとインスタンスの概念を理解しており(多分)、理解できなかった時の気持ちもまだ忘れていない僕というのは、実は数少ないクラスとインスタンスの概念の説明にうってつけの存在なのではないかと思ったのです。それが、この記事を書こうと思ったきっかけです。

この記事を読んで、クラス、インスタンスの概念が理解できれば幸いです。また、この記事では用語の説明やRubyの基礎は極力省き、概念の説明だけに集中したいと思います。

 

  • クラスはクラスに例えると分かりやすい

では早速説明に入ります。ここではRubyのコードで説明していきます。他の言語でも同じ概念だと思いますが、なんせ僕も初心者なので知りません。ご了承ください。

さて、クラスについてですが、説明サイトでは様々なものに例えられていますよね。設計図だとか、たい焼きの金型だとか。。ただ、僕はどれもしっくり来ませんでした。例えに力が入りすぎて、実際のプログラミングではどうなるのかがいまいち分からなかったからです。この記事でも例えは使いますが、そうならないように気をつけます。

僕はクラスは名前がクラスなのですから、学校のクラスに例えるのが分かりやすいと思います。ではまず、クラスを作ってみましょう。クラスの名前は「Ringo」クラスにします。

 

<コード>

class Ringo

 

end

クラスを作成する時は上のようなコードを書きます。これでRingoクラスができました。ただ、まだ中にはなにも書かれていません。さて、学校のクラスでは生徒に色々なことを教えますよね。オブジェクト指向におけるクラスでも色々なことを教えることが出来ます。以降では分かりやすく、この『色々なこと』を「技」と呼びましょう。

ではまず、このRingoクラスでは、「おはよう!」という文字を表示させる技を教えさせてみましょう。技の名前はaisatsuにします。

<コード>

class Ringo

   def aisatsu

    puts "おはよう!"

  end

end

上のようになります。赤い文字の部分が技aisatsuを定義付けている部分です。さて、クラスもできた。教えることも決まった。あとは何が必要でしょうか。。。そう、生徒ですね。クラスで授業をやっても、それを学ぶ生徒が居なければ意味がありません。では、Ringoクラスの生徒を作ります。生徒の名前はTaroにしましょう。生徒の作り方は、[生徒名=クラス名.newで]出来ます。つまり、

 

<コード>

class Ringo

   def aisatsu

    puts "おはよう!"

  end

end

Taro = Ringo.new

上のように書きます。はい、これでRingoクラスの生徒、Taroが誕生しました。TaroはRingoクラスの生徒なので、Ringoクラスで教えられた技は全て習得しています。では、Taroに技aisatsuをやってもらいましょう。技のさせ方は[生徒名.技名]です。つまり、

 

<コード>

class Ringo

   def aisatsu

    puts "おはよう!"

  end

end

Taro = Ringo.new

Taro.aisatsu

<実行結果>

おはよう!

 

となります。どうでしょうか?付いてこられているでしょうか?

もう少し説明をします。そのために、ここでもう1個別のクラスを作ります。Appleというクラスを作ります。Appleクラスではグローバルな社会を生き抜くため、英語を勉強させましょう。そのため、同じ技名のaisatsuを教えるのですが、表示させるのは「おはよう!」ではなく「Good Morning!」にします。そして、Johnという生徒をAppleクラスの生徒にします。さて、そのJohnにaisatsuをさせたらどうなると思いますか?実行してみましょう。

 

<コード>

class Ringo

   def aisatsu

    puts "おはよう!"

  end

end

class Apple

   def aisatsu

    puts "Good Morning!"

  end

end

 

Taro = Ringo.new

Taro.aisatsu

John = Apple.new

John.aisatsu

<実行結果>

おはよう!

Good Morning!

 

はい。皆さん予想通りでしたでしょうか?答えはGood Morning!です。TaroにもJohnにも同じaisatsuという技をさせたのですが、TaroはRingoクラスの生徒だからRingoクラスで学んだこと、JohnはAppleクラスの生徒だからAppleクラスで学んだことを実行します。なので、同じ技名でもTaroとJohnで実行結果が違うのです。

掴めてきましたか?ダメ押しでもう一個行きましょう。

Ringoクラスに【だけ】もう1つ技を覚えさせましょう。「ばいばい!」と表示させる技です。技の名前はsayonaraにします。さて、このsayonaraをRingoクラスの生徒ではないJohnにもさせてみたらどうなるのでしょうか?やってみましょう。

 

<コード>

class Ringo

   def aisatsu

    puts "おはよう!"

  end

   def sayonara

    puts "ばいばい!"

  end

end

class Apple

   def aisatsu

    puts "Good Morning!"

  end

end

 

Taro = Ringo.new

Taro.aisatsu

John = Apple.new

John.aisatsu

Taro.sayonara

John.sayonara

<実行結果>

おはよう!

Good Morning!

ばいばい!

エラー文

 

はい。予想できたでしょうか。TaroはRingoクラスの生徒なので、sayonaraという技は習得済み。よってきちんと「ばいばい!」と表示できるのですが、JohnはAppleクラスの生徒。Appleクラスではsayonaraなんて技教わっていません。なので、Johnにsayonaraをさせようとすれば当然エラーが起きてしまうというわけです。

 

 

お疲れ様でした。いかがでしたでしょうか?僕なりにできるだけ噛み砕いて書いたつもりなのですが、僕も言ってもクラスを理解したのは1,2ヶ月前。理解していない頃の気持ちが少し薄れつつあります。なので、もしかしたら置いてけぼりにしてしまっている部分があるかもしれません。ただ、他のサイトにはないアプローチで説明してみたので、今まで分からなかった人のモヤモヤが取れれば、嬉しいです。

 

それでは、プログラミング学習がんばりましょう!!

よろしければ、下のIT技術ブログボタンをクリックお願いします。

にほんブログ村 IT技術ブログへ
にほんブログ村

Progateでのプログラミング学習が僕にハマった理由

こんばんは。

 

キーボードカタカタしてますか?

僕は昨日久しぶりにカタカタしました。といってもそんなに空けてはいないですが。

やっぱりプログラミングは楽しいですね。

 

ところで皆さんはどうやってプログラミングの勉強をしているでしょうか。今回の記事は、まだしっくり来る勉強方法が見つかっていない方に参考にしていただきたい事を書きたいと思います。

といっても、おそらくプログラミングの勉強を始めようと色々と調べたら一度は目にしたことがあるであろうサイトの紹介です。

Progateです。

prog-8.com

Progateはプログラミング言語の学習サイトです。僕はこれでRubyやHTMLなどの勉強をしています。無料プランと有料プランがあり、無料プランでは基礎編と応用編の途中まで学ぶことが出来ます。僕は有料会員になりました。ちなみに月額980円です。

 

  • Progateってどんなサイト?

どんなサイトか簡単に説明すると、自分が学びたいプログラミング言語を選択してレッスンを始めると、その言語のポイントを解説したスライドが表示されます。スライドは1レッスンに対して数分で読み終えられるくらいの分量です。スライドを読んだらすぐに実践です。そのレッスンで学んだ知識を使った問題が出されて、実際にコードを書いて実行します。答え合わせもしてくれます。これを繰り返していくというのがProgateでの学習の流れです。

 

  • 僕がProgateに向いていた理由

プログラミングの勉強を始めようと思ってから、Progateを知るまでの間にいくつか違う学習方法で学ぼうとしました。しかし、そのどれもあまりしっくり来ず、第一にまず楽しくありませんでした。少し挫折しかけていた中、知ったのがこのProgateで「やっぱりプログラミングって楽しい!」と思うことができました。危ないところでした。なので、ここからは僕なりに考えるProgateのいいところを挙げていきたいと思います。

  •  最終目標のサイトのデザインがかっこいい

HTMLやRuby on Rails等の学習では最終的にWebサイトのページを作成します。(僕もまだ全てはやり終えていないので、定かではないです。間違っていたらすいません。)このWebサイトのデザインがかっこいいです。Progateを始める前に、『Ruby on Railsチュートリアル』というサイトにも手を出したのですが、それで作るサイトはデザインに関しては本当に必要最低限のものだったので、その完成形を見た時に正直「がんばってコレかあ。。。」と思ってしまいました。やはりプログラミング学習においてモチベーションの維持というのが実は一番重要でかつ困難なものだと思います。その中で、自分も最終的にはこんなサイトが作れるようになるんだと思えるのは、大きなポイントでは無いでしょうか。

  • コードを打たないと次には進めない

先ほど書きましたが、Progateでは実践編で問題が出され、正しいコードを実際に書かないと次には進めません。これが自分のツボをついていると思います。これについては全員に当てはまることではないかもしれませんが、やってもやらなくてもいいと言われるとなんだかやる気が削がれる気がしませんか?いくらでもサボれてしまうというか、説明を読んで「ああ、なんとなく分かった。はい次次」と言う感じでたったか進んでいってしまう気がします。Progateをやってみて感じるのが、コードを理解するのと実際にコードが打てるのは違うな、ということです。スライドを読んでいると「ああ、なるほどね。分かった分かった。」と思えるのですが、実際に実践編でコードを打とうとすると、「、、、あれなんだったっけ。」となることがしょっちゅう起こります。スライドはいつでも見直すことができるので大丈夫ですが。

否が応でもコードを書かないと次に進めないこの仕様がゲーム感覚で学習できる理由になっていると思います。問題自体はヒントや最悪答えを見ることもできるので、いつまで経ってもこの面がクリアできないということは無いのでご心配なく。

 

  • Progate以外の学習法が僕に向いていなかった理由

さて、Progateについて書いてきましたが、Progate以外にもいくつか違う学習法を試してきました。それが僕にはまらなかった理由も書いていきたいと思います。

まず最初に使ったのが、『ドットインストール』です。これもかなり有名なサイトだと思います。動画でプログラミング言語の説明が見られる画期的なサイトです。ただ、僕には合わなかった。。理由は動画での学習法が合わなかったからです。動画だと分からない部分をもう一度確認したい時、そこまで巻き戻さないといけません。それが面倒くさい。また、先ほども話した「いくらでもサボれる」のも欠点ですね。動画を観たら満足というか、分かった気になってしまい、コードも書かずに進んでいって次第に勉強している気がしなくなってしまうのが止めてしまった理由です。サボりグセがある人には向かないかもしれません。

次が本を読んでの勉強でした。これも上記の理由とほぼ一緒ですね。いくらでもサボれてしまう。読んだだけで分かった気になる。

その次が、『Ruby on Railsチュートリアル』です。Ruby on Railsを使ってTwitterのようなSNSサイトを作成するチュートリアルが公開されています。これはちょっと初心者には難しいかもしれません。一応書いてある通りにコードを打っていけば出来ていくのですが、僕の場合は本当に言われたとおりにコードを打つだけの作業となってしまいました。プログラミング学習において写経はオススメのやり方らしいですが、いくらなんでも写経すぎて全く身についている実感が湧かず止めてしまいました。

 

  • 色々書きましたが、結局僕が言いたいこと

この記事はProgateの押し売りをしようという意図で書いたわけではありません。結局何が言いたいかというと、自分に合った学習方法探しを諦めないでほしいということです。僕がハマらなかったドットインストールは世間的にはとても評判が良いサイトです。Ruby on Railsチュートリアルも然り。ただ僕にはハマらなかった。それだけのことです。もし、Progateをやってみたけど全然ハマらなかったとしてもそこで「自分にはプログラミングは向いていないのかな」と思う必要はありません。その学習方法があなたに合わなかっただけです。プログラミングの勉強してみようかなと思った地点であなたはプログラミングに向いています。好きこそものの上手なれは本当に言えることですから。

人によって、動画で説明を聞くのがいちばん身につく人もいれば、いきなりWebサイトを調べながら作ってしまうのが向いている人もいます。向いている学習方法は人それぞれです。その探し方の1つのヒントとして、ワクワクするかが重要なポイントだと思います。その方法で勉強している時楽しんでいるかどうかちょっと気にしてみてください。もし楽しんでいられてたら、それがあなたの最適な学習方法です。

 

一緒にプログラミング学習頑張っていきましょう!

 

にほんブログ村 IT技術ブログへ
にほんブログ村