GUI と CUI

| 2 Comments | No TrackBacks

MySQL & PHP のセミナー環境をどうしようかと考え中。

blog-photo-20060306.gif3月20日から3日間、前回の PHP セミナーの続きということで、DB 操作を中心とした実習形式のセミナーをやる予定なのだが、どうやってやろうか悩んでいる。

大きく言えば、GUI で教えるか CUI で教えるかっていう話なのだが、先生達が実際に授業で教える際のやり方や、生徒達の興味のポイントなどを加味しながら構成を練らなければならないので、なかなか簡単には決められない。

普通は (ってか、俺自身の方針では) 、DB にしろ OS にしろコマンドベースのオペレーション方法の勉強を通して、そのシステムの仕組みや設計理念をしっかりと理解すべきだと思っているので、個人的には CUI で教えたい派なのだ。GUI のオペレーションなんてあとからでも十分勉強できるし。けど、先生達はどうしても XAMPP みたいな便利なものを使ってやりたがる。「見た目もハデだし、生徒も興味を持つから」という理由らしい。

しかし、私が CUI にこだわるのには理由がある。

例えば、データベースやテーブルに対する権限付与のコマンドとして GRANT 構文がある。「誰が」、「どのデータベース (テーブル) に対して」、「○○をしてもいいよ」というのを設定するやつだ。これは、通常以下のようなコマンドで発行する。

GRANT SELECT ON userdb.* TO nanasi IDENTIFIED BY `password`;
データーベースに対する基本的な概念が理解できていたら、上の構文を見ただけで何をしようとしているのかは分かると思われる ( nanasiさんに対しては、userdbというデータベースの全てのテーブルに対して、SELECT権限を与えるよ、というコマンド)。

で、このコマンドを手打ちすることに意味があるかどうかと言われれば、私はあると思う。それは、上記のコマンドを打って Enter キーを押したときに初めて、「あぁ、これでnanasiさんはテーブルを検索できるようになったんだなぁ (しみじみ)」という風に感じることで、「アクセス権限」というものがセキュリティ上大切なことなんだなってのを、体に叩き込めるような気がするのだ。。

blog-photo-200603062.gifしかし、これを GUI でやったらどうだろうか?例えば MySQL の場合は MySQL Administrator という今風のツールがあり、権限設定は左画像の画面にて行う。ボタンをポチポチと押すだけで権限が付与できるので、とってもお手軽だ。

もちろん、これらのツールは便利だし、操作方法も覚えていて損はない。けど、DB 初心者が最初からこのツールの便利さに慣れては欲しくないのだ。なんか、ここからは精神論になるのだが、ある一つのオペレーションを行うときに、そのバックグラウンドで動いているコマンドやサブシステムの存在を忘れて欲しくないというか、あんたが今ポチっと押したそのボタンの裏では、こんなコマンドが発行されてて、こんなことが起こってるんだよってことに、少しは想像をめぐらす必要があると思うからだ。

なので、データベースの勉強は CUI から初めて GUI は余力があればやるというくらいでいいと思っているのだが、まぁもう少しカウンターパートと話し合ってみよう。。。

, ,  

No TrackBacks

TrackBack URL: http://www.proustcafe.com/mt-tb.cgi/677

2 Comments

内容はちっともついていけないけど。。。
考え方には賛成!!
私も便利な方法は方法で知っておいた方が効率的だけど、仕組は理解しておいた方が、今後の展開が広がる(応用がきく)と思う。
というわけで、今月から私の仕事を手伝ってくれるうちの新人君たちをその方針で教育します。

uriさん、こんにちは。

やっぱり基礎が出来てないと、だよね。けど、この基礎の勉強ってのが結構つまんなかったりして、モチベーションを保ちづらいという側面もあるので、バランスが難しいんだよな。。

> 今月から私の仕事を手伝ってくれるうちの新人君たちをその方針で教育します。

やさしくしてね♪

Leave a comment

About this Entry

This page contains a single entry by proust published on March 6, 2006 6:08 PM.

塩豚とキャベツのさっぱり煮 was the previous entry in this blog.

アウトプットによる知識の定着化 is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.