作りたいサイト:日本語学校を絞り込み検索ができるサイト。
例えば、プルダウンで「大阪」を選択し、検索ボタンを押すの大阪の日本語学校一覧が出てくると。
そういうものって、何の技術を学べばいいんでしょうか?
当方、HTML/CSSはみっちり入ってるんですが、JSやサーバーサイドはからっきし無知なんです…
検索!?サーバーサイド勉強しなきゃか?と思ったんですが大丈夫そうっぽいので。
ちなみにJSはちょっとPiogateで学んでたのであまり難しくなかったです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答3件
0
ベストアンサー
何の技術を学べばいいんでしょうか?
検索!?サーバーサイド勉強しなきゃか?と思ったんですが大丈夫そうっぽい
結論から言うと、検索サイトを作るには、サーバサイドの技術を学ぶ必要があります。
非常に小規模な場合なら、クライアントサイドだけで検索を実現できなくもありません。
JavaScriptの中にデータを全部突っ込んでおくとかです。
しかし、データの規模が大きくなってくると、ページ読み込みの負荷も大きくなって、
だんだん現実的な選択肢ではなくなってきます。
サーバサイドを使うと何が違うかというと、
サーバからクライアントに必要な分だけデータを渡すことです。
まず、いっぺんに全部に読み込む必要がなくなるので、
最初に見るページの読み込みの負荷が軽くなります。
そして、ユーザによって、大阪だけ、東京だけとか、
必要なデータが異なるので、ムダな読み込みも減らせます。
また、データへのアクセスを制御できるので、
掲示板などの情報を共有するサイト、
会員制サイト、通販などの商用サイトには必須と考えていいです。
それらの機能をクライアントでやろうとすると、勝手にJavaScriptを書き換えて、
勝手に会員や価格などの情報を書き換えたりできるから、使い物になりません。
そして、サーバサイドを作るときにも、セキリュティの知識は必要です。
具体的な実装技術としては、クライアントサイド、つまりJavaScript、
PHP(Python、Ruby)などのサーバサイド言語、
ある程度規模が大きいなら、SQLなどのデータベース言語を学ぶ必要があります。
また、絶対必須でもないですが、LaravelやRailsのようなフレームワークも有用です。
それらが大枠で、あとは目的に応じて、ライブラリなどを追加で学んでいけばいいと思います。
それから、検索だけでいいなら、フリーの全文検索エンジンを利用するのが早いです。
また、WordPressの検索プラグインを使うと、早いだけなら早いです。
でも、それらをカスタマイズしたいなら、
結局やはりサーバサイドの知識が必要になってきます。
投稿2017/11/29 22:00
編集2017/11/30 00:19総合スコア5592
0
※この道に入って間もない輩の回答ですのであしからず
すべてクライアントサイド(javascript)で実現することもできなくはないと思いますが、クライアントサイドはユーザーから全て見えてしまうので普通にそのままパクられるとおもいます。
(そんなことなかったらすみません)
すぐ思いつくのは、
- ウェブアプリケーション(素のPHPやWordpressのようなCMS、rails, django, laravelなどのフレームワーク)
- 学校データを入れるデータベース(MySQL, PostgreSQLなど)
- UI/UXを作り出すHTML/CSS/JS
の辺じゃないでしょうか。
あとサーバーをどうするかですが、レンサバにしてもVPSやクラウドにしてもある程度のサーバーの知識も必要かと思います。
あとドメインも取ったり。
順番的には
0. サーバー立てる
0. とりあえずページをつくる
0. データをDBに突っ込む
0. フォームをつくる
0. ロジックを書く
という感じでしょうか。
サーバー側でページを組み立てるときにDBからデータを取得して、例えば<form>
の<select>
に突っ込みます。
そのフォームでGETリクエスト投げさせて(プルダウンで-とおっしゃっている部分です)
サーバーでリクエストを受けたら、DBへのクエリ発行はSQLインジェクションに注意してサーバーサイドで行います。
取得した結果でページを構築するという感じの手法です。
Wordpressが導入は簡単でいいんじゃないでしょうか。レンサバでもかんたんに動きますし。
PHPでできてるのでページの構築もある程度は直感でできると思います。(Wordpressの用意している関数が膨大なのでそれを覚える必要はあると思いますが)
Wordpressでやる場合、
- HTML/CSS/JS
- PHP
- MySQL
の知識がアレばできると思います。
※学校データはすでに何かしらの媒体で持っているものとしています。
追記
javascriptを主要言語としてやっていきたいのであれば、node.jsとかもいいと思います。
node.jsはサーバーサイドのjavascriptです。
これはこれで言語仕様として難しい部分もあるかと思いますが・・・
node.jsがインストールできる環境ならできます。
ただ、PHP以外の言語でアプリケーションを作るとなるとネットワークやwebサーバー(Apacheやnginx)の知識が不可欠です。
(この辺は私もまだまだ勉強中です・・・)
投稿2017/11/29 18:21
編集2017/11/29 18:32総合スコア217
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

0
理想の機能が作れたら、ここに「実際に何を学んで、どのような流れで開発できたか」を書こうと思います。
投稿2017/11/29 23:18
総合スコア18
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/16 10:13

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/11/29 23:11
2017/11/30 00:16
2017/11/30 00:27