16
自分でロジックを考えて プログラムしてみよう TechGardenSchool 2014/10/11 (Kenichi Inoue)

自分でロジックを考えてプログラムしてみよう

Embed Size (px)

DESCRIPTION

Tech Garden School 2014/10/11

Citation preview

自分でロジックを考えてプログラムしてみよう

TechGardenSchool 2014/10/11 (Kenichi Inoue)

竹1レベルの修了基準

「独自のアルゴリズムを含むこと」

というのが含まれているので、今日はこれにフォーカスしてみようと思います。

お題

梅モジュールで作ったケーキ屋さんのシステムに、並べ替え機能を付けてみよう!

どんな実装方法がありますか?

まず、自分で考えてみよう!

その後で、隣の人と議論してみよう!

どんな実装方法がありましたか?

(例えば・・・)

1. データベースからデータを取得する際に並べ替える2. データベースからデータを取得した後、Controllerにプログ

ラムを書いて並べ替える3. Viewにデータを渡した後、JavaScriptで並べ替える

答は1つではありません!それぞれにメリット・デメリットがあり、条件に応じてより良い方法を選ぶ必要があります。

その実装方法、解決できる?

プログラムで10年飯を食っている人だって、何も見ずにはプログラムできません。(たぶん)

調べ方を覚えよう!

解決方法の調べ方

1. いきなりググってみる。2. リファレンスを見てみる。

a. PHPの関数リファレンスb. CakePHPのAPIリファレンス

いきなりググってみる

たしかにGoogle先生は教えてくれるかも。でも、教えてくれたことをコピペしただけだったら、プログラムの力はあまりつかないかも・・・。

リファレンスを見る

自分が使っている技術(Tech Garden Schoolだったら、PHP、CakePHP)のリファレンスを眺めてみる。

その技術で何が出来るのか、何が得意なのかを知っておくと、実装方法を考えるときに自分の持ち玉が増える。

英語の勉強で言えば、自分の知っている単語や熟語を増やすようなもの。

リファレンスを見るコツ

使っている技術のより上位の方から見ていく。

PHP→CakePHPではなく、CakePHP→PHPの順。

上位の技術は、下位の技術の機能を補うように出来ている。(特化させ、より便利に、より多くの機能を)

眺める時は、ネットより本の方がオススメ!

CakePHPのAPIリファレンス

CakePHP 2.x Cookbook (日本語)http://book.cakephp.org/2.0/ja/contributing/documentation.html

CakePHP API (英語)http://api.cakephp.org/2.0/

CakePHPについては、日本語の

リファレンス本を買った方が良いかも・・・。

PHPの関数リファレンス

PHPマニュアル http://php.net/manual/ja/index.php関数リファレンス http://php.net/manual/ja/funcref.php

では、実装だ!

1. まずは、プログラムに直接書いて並べ替えを実現しましょう。a. どのプログラムにどのような記述をすれば良いでしょうか?

CakePHPのリファレンス等で調べてみましょう。

2. 次に、画面から指示を与えて、昇順・降順の切り替えが出来るようにしてみましょう。

<参考>

並べ替えを実現する方法を調べる

例えば、データベースからデータを取得する際に並べ替える方法を選んだとしたら・・・

● 梅のモジュールで、データベースからデータを取得する際にどんなプログラムを書きましたか?

● そこで使っているCakePHPのAPI(関数)について、リファレンスで調べてみましょう。

<参考>

GETパラメータの取得とif文での分岐

$order = $this->request->query[‘order’];if ( $order == ‘asc’ ) { // 昇順でデータを取得する処理

} else { // 降順でデータを取得する処理

}

今日の成果を発表しよう!

できましたか?