ポリモーフィズムとテンプレートメソッド
今日のデザインパターンセミナーでやったパターンは「テンプレートメソッド」でした。
スカゼミでは、まったくの初心者向けに初心者講座というのをこれまで2度行ってきましたが、そのときに自分が用意した内容が、まさにこれだったんじゃないかと思いました。
初心者講座では最終目標地点をポリモーフィズムの説明というところに設定していました。
自分自身実際に使った経験の無いような初心者なので、あまりちゃんとは説明できたかどうかはわかりませんが、まずポリモーフィズムというのは「オブジェクト指向プログラミング」がもつ大きな性質の一つで、
「同じ型のオブジェクトを作り、同じメソッドを使ったとしても、そのオブジェクトの実際のインスタンスによって挙動を変えることができる」というような内容だと思っています。
まさにそれを使ったのが「テンプレートメソッド」でした。
上に書いている「同じメソッド」にあたるのがテンプレートメソッドでした。
ただ、そうなると、自分の認識ではポリモーフィズムは、テンプレートメソッドで説明されたような内容でしかないことになってしまいます。
オブジェクト指向を代表するような性質が、23あるデザインパターンのうちの一つに過ぎないというのはなんだか違う気がするので、ポリモーフィズムといえば、もっともっと含蓄のあるものな気がします。
これからもっと勉強していきたいと思います。
Yahoo!Pipes!とスカゼミニュース
今、実験的にSNS内の最下部にニュースを表示させています。
目的としては、用事がないようなときでもSNSをもっとチェックしてもらって、SNSが盛り上がればいいなということがあります。
そのためにどんなニュースにすればよいか、いろいろ考えて、いくつかためしてみました。
初めにやったのは、RSSの購読者数の多いブログ(痛いニュース、ライフハッカー、GIGAZINEなど)大量のRSSをひとつにまとめて、表示するというもの。
やってみたところ、これは更新が速いというメリットがあったものの、あまり重要そうでないものや、広告っぽいものが混ざってしまって、読むのがしんどいだけ、という印象でした。
そして、今現在実行しているのが、はてブの今日の上位3つと、2chまとめの今日1番の記事、そして僕が(大量のRSSの中から)選んだ記事、あるいはお知らせを1つという構成のニュースです。
更新は1日に1周するくらいなのですが、1日に1回でもアクセスしてくれれば十分うれしいし、更新が少ないのも逆に共通の話題にもなって楽しいかなと思うので、とりあえずはこんな感じで行こうと思います。
そして、このRSSをまとめたり、一部表示を変えたりするのに使ったのが、「Yahoo!Pipes!」というウェブサービス。非常に便利なので、使い方がもっと分かれば、いずれ紹介記事も書いてみたいと思います。
ブログの今後について
これまで、スカゼミにのセミナーについてのみ書いてきたこのブログですが、それだけではあまり盛り上がらないというような理由もあって、これからはもう少し、僕自身の個人的な話や、日頃思ったことなどを書いていこうかなと思っています。
今は一応スカゼミ運営という立場からこのブログをやってはいるんですが、もりという人間の立場から何かを考えて、それを発表したいと思います。ただ、自分はまだまだはっきりとした自分の意見も持てないような未熟なもので、考えたことを書くにしても、日によって考えが変わったりもします。
正直自分のことを書くのはあまり得意ではありません。すぐ変わるような考えをあまり発表したくないし、性格的にあまり感情を表に出すこともしない方だと思います。(よく笑うとは言われますが)
それでもなにか考えたことをこれから少しずつでも精一杯書いていければなと思います。
新規セミナーのお知らせ
新たに「iPhoneアプリ開発」、「競技プログラミング」のセミナーが始まります。
また、単発で「Git」セミナーも行われます。「Git」はまた毎週の定期になるかもしれません。
日時は
「iPhoneアプリ開発」が毎週月曜、水曜の21:00-23:00(初回1/13)
「競技プログラミング」が毎週日曜の23:00-25:00(初回1/12)
単発の「Git」が1/14火曜21:00-23:00
です。
もっと早くお知らせ書くべきだったんですが、競技プログラミングの初回、今日でしたので、少しレビューを書きます。
テキストはchokudaiさんの最強最速アルゴリズマーという本です。
最強最速アルゴリズマー養成講座 プログラミングコンテストTopCoder攻略ガイド
- 作者: 高橋直大
- 出版社/メーカー: SBクリエイティブ株式会社
- 発売日: 2013/07/24
- メディア: Kindle版
- この商品を含むブログを見る
競技プログラミングとはなにか。どんな種類があるか。
そして、実際にAOJというサイトに登録し、問題を解いてみました。
http://judge.u-aizu.ac.jp/onlinejudge/
自分はJavaなら少し、という感じですが、C++は全く分かりません。C++で解けるようにもなっていきたいのでC++セミナーでがんばって行こうと思います。
新年あけましておめでとうございます
みなさま正月はいかがお過ごしでしょうか。
スカゼミでは新年から新規で立ち上がるセミナーがたくさんあります。
【単発セミナー】
・プログラミング初歩の初歩 1/4,1/5 10:00-21:00
【新規定期セミナー】
・C++第一回 1/10(金)23:00-25:00
・C++テクニック第一回 1/10(金)25:00-26:30
・PHP第一回 1/11(土)21:00-23:00
・中学レベルから学ぶ高校数学第一回 1/11(土)10:00-12:00
・競技プログラミング 日時未定
・Vim 日時未定
・Linux 日時未定
・データベース 日時未定
・英語 日時未定
・情報処理技術者試験 日時未定
もちろん以下の既存セミナーも参加者募集中です。
Android、HTML5+CSS3、JavaScript、Javaデザインパターン
また、OS作成、コンストラクタ、C#、Objective-C、Ruby、デザインソフトなどの計画もあります。
該当するコミュニティに入るだけで、関連する話題の雑談をみることができたり、気軽に質問することもできます。
本年もよろしくお願いします。
「プログラミング生放送@品川」の反響
スカゼミは11月に始まり、徐々に人数を増やし、プロ生を行った時点で約100人の参加者がいる状態でした。
アクティブなのはそのうち70名ほどだったかなと思います。
プロ生当日にはこのブログも過去最高閲覧数で、プロ生で実際お会いした人も含めて新たに参加してくれる人が一気に約20人いました。
動画はまだ公開されていないようですが、公開されれば、それを「スカゼミ」を多くの人に知ってもらうために使わせてもらえればいいなとおもいます。
ちなみに今日はJavaScriptのセミナーでした。今週も型や値について。論理値型についてなど、いろんな実験もして、とっても楽しかったですよ。
いろんなメンバーが増えてきましたが、スカゼミは少数グループでの活動を基本としています。少数の良い仲間と出会える場を提供するために、これからも頑張っていきたいと思います。