質問: 作りたいサイト:日本語学校を絞り込み検索ができるサイト。 例えば、プルダウンで「大阪」を選択し、検索ボタンを押すの大阪の日本語学校一覧が出てくると。 そういうものって、何の技術を学べばいいんでしょうか? 当方、HTML/CSSはみっちり入ってるんですが、JSやサーバーサイドはからっきし無知なんです... 検索!?サーバーサイド勉強しなきゃか?と思ったんですが大丈夫そうっぽいので。 ちなみにJSはちょっとPiogateで学んでたのであまり難しくなかったです。
回答: > > 何の技術を学べばいいんでしょうか? > > 検索!?サーバーサイド勉強しなきゃか?と思ったんですが大丈夫そうっぽい > > > 結論から言うと、**検索サイトを作るには、サーバサイドの技術を学ぶ必要があります**。 非常に小規模な場合なら、クライアントサイドだけで検索を実現できなくもありません。 JavaScriptの中にデータを全部突っ込んでおくとかです。 しかし、データの規模が大きくなってくると、ページ読み込みの負荷も大きくなって、 だんだん現実的な選択肢ではなくなってきます。 サーバサイドを使うと何が違うかというと、 **サーバからクライアントに必要な分だけデータを渡す**ことです。 まず、いっぺんに全部に読み込む必要がなくなるので、 最初に見るページの**読み込みの負荷**が軽くなります。 そして、ユーザによって、大阪だけ、東京だけとか、 必要なデータが異なるので、ムダな読み込みも減らせます。 また、データへの**アクセスを制御**できるので、 掲示板などの情報を**共有**するサイト、 **会員**制サイト、通販などの**商用**サイトには**必須**と考えていいです。 それらの機能をクライアントでやろうとすると、勝手にJavaScriptを書き換えて、 勝手に会員や価格などの情報を書き換えたりできるから、使い物になりません。 そして、サーバサイドを作るときにも、**セキリュティ**の知識は必要です。 具体的な実装技術としては、クライアントサイド、つまり**JavaScript**、 **PHP(Python、Ruby)**などの**サーバサイド言語**、 ある程度規模が大きいなら、**SQL**などの**データベース言語**を学ぶ必要があります。 また、絶対必須でもないですが、LaravelやRailsのような**フレームワーク**も有用です。 それらが大枠で、あとは目的に応じて、ライブラリなどを追加で学んでいけばいいと思います。 それから、検索だけでいいなら、フリーの**全文検索エンジン**を利用するのが早いです。 また、**WordPress**の検索プラグインを使うと、早いだけなら早いです。 でも、それらをカスタマイズしたいなら、 結局やはりサーバサイドの知識が必要になってきます。