質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

91.35%

  • JavaScript

    11222questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    6170questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    3874questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • Python

    3828questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

最速で検索サイトを作る方法は何でしょう?

解決済

回答 3

投稿 2017/11/30 02:38

  • 評価
  • クリップ 1
  • VIEW 197

abeshun

score 2

作りたいサイト:日本語学校を絞り込み検索ができるサイト。
例えば、プルダウンで「大阪」を選択し、検索ボタンを押すの大阪の日本語学校一覧が出てくると。

そういうものって、何の技術を学べばいいんでしょうか?
当方、HTML/CSSはみっちり入ってるんですが、JSやサーバーサイドはからっきし無知なんです…
検索!?サーバーサイド勉強しなきゃか?と思ったんですが大丈夫そうっぽいので。
ちなみにJSはちょっとPiogateで学んでたのであまり難しくなかったです。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

checkベストアンサー

+6

何の技術を学べばいいんでしょうか?
検索!?サーバーサイド勉強しなきゃか?と思ったんですが大丈夫そうっぽい

結論から言うと、検索サイトを作るには、サーバサイドの技術を学ぶ必要があります


非常に小規模な場合なら、クライアントサイドだけで検索を実現できなくもありません。
JavaScriptの中にデータを全部突っ込んでおくとかです。

しかし、データの規模が大きくなってくると、ページ読み込みの負荷も大きくなって、
だんだん現実的な選択肢ではなくなってきます。

サーバサイドを使うと何が違うかというと、
サーバからクライアントに必要な分だけデータを渡すことです。


まず、いっぺんに全部に読み込む必要がなくなるので、
最初に見るページの読み込みの負荷が軽くなります。

そして、ユーザによって、大阪だけ、東京だけとか、
必要なデータが異なるので、ムダな読み込みも減らせます。

また、データへのアクセスを制御できるので、
掲示板などの情報を共有するサイト、
会員制サイト、通販などの商用サイトには必須と考えていいです。

それらの機能をクライアントでやろうとすると、勝手にJavaScriptを書き換えて、
勝手に会員や価格などの情報を書き換えたりできるから、使い物になりません。
そして、サーバサイドを作るときにも、セキリュティの知識は必要です。


具体的な実装技術としては、クライアントサイド、つまりJavaScript
PHP(Python、Ruby)などのサーバサイド言語
ある程度規模が大きいなら、SQLなどのデータベース言語を学ぶ必要があります。

また、絶対必須でもないですが、LaravelやRailsのようなフレームワークも有用です。
それらが大枠で、あとは目的に応じて、ライブラリなどを追加で学んでいけばいいと思います。

それから、検索だけでいいなら、フリーの全文検索エンジンを利用するのが早いです。
また、WordPressの検索プラグインを使うと、早いだけなら早いです。

でも、それらをカスタマイズしたいなら、
結局やはりサーバサイドの知識が必要になってきます。

投稿 2017/11/30 07:00

編集 2017/11/30 09:19

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/30 08:11

    LLmanさま、とても丁寧で分かりやすいご回答ありがとうございます!

    やはりそうなんですね…笑
    ちょっとググってみたらJs'の方が早い!」とか以前あるエンジニアさんが「JSは意外とサーバーサイドっぽいこともできてすごいよ!」なんて言ってたので、頭の中がごちゃごちゃになっていました。。。

    私が基本web広告側の人間で、ページの見た目いじるためにHTML/CSS学んだだけなので、そこらへんはまだ全然なので。

    以下、私のような人のために引用させて頂いておきます。とても助かりました!本当にありがとうございます。ググったりもしますが、自分のレベルだとまた失敗しそうなので笑、今日は本屋に行っていろいろと見てみます。

    >>クライアントサイド、つまりJavaScript、
    PHP(Python、Ruby)などのサーバサイド言語、
    ある程度規模が大きいなら、SQLなどのデータベース言語を学ぶ必要があります。

    また、絶対必須でもないですが、LaravelやRailsのようなフレームワークも有用です。

    >>それから、検索だけでいいなら、フリーの検索エンジンを利用するのが早いです。

    キャンセル

  • 2017/11/30 09:16

    >エンジニアさんが「JSは意外とサーバーサイドっぽいこともできてすごいよ!」
    それはたぶん「Node.js」のことです。同じJSでもクライアントとサーバサイドでは違います。
    野球でピッチャーもバッターになって打席に立てるみたいなことです。

    それで、Node.jsは高機能ですが、サーバ構築なども含めて、使いこなすのが難しいです。
    PHPの方が、安いレンタルサーバに最初から入っているなど手軽なので、入門向きです。

    改めてまとめると、さしあたりJavaScriptと、PHPなどのサーバサイド言語の学習が必要です。

    キャンセル

  • 2017/11/30 09:27

    そうなのですね。

    確かにレンタルサーバーにはPHP対応!とか書いてありますね。ありがとうございます。

    キャンセル

+3

※この道に入って間もない輩の回答ですのであしからず

すべてクライアントサイド(javascript)で実現することもできなくはないと思いますが、クライアントサイドはユーザーから全て見えてしまうので普通にそのままパクられるとおもいます。
(そんなことなかったらすみません)

すぐ思いつくのは、

  • ウェブアプリケーション(素のPHPやWordpressのようなCMS、rails, django, laravelなどのフレームワーク)
  • 学校データを入れるデータベース(MySQL, PostgreSQLなど)
  • UI/UXを作り出すHTML/CSS/JS

の辺じゃないでしょうか。
あとサーバーをどうするかですが、レンサバにしてもVPSやクラウドにしてもある程度のサーバーの知識も必要かと思います。
あとドメインも取ったり。

順番的には

  1. サーバー立てる
  2. とりあえずページをつくる
  3. データをDBに突っ込む
  4. フォームをつくる
  5. ロジックを書く

という感じでしょうか。

サーバー側でページを組み立てるときに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/30 03:21

編集 2017/11/30 03:32

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/11/30 08:18

    E3KUROSUKEさま
    ご回答ありがとうございます!

    >>クライアントサイドはユーザーから全て見えてしまうので普通にそのままパクられるとおもいます。

    →言われてみたら確かにそうですね。どうなっているかが全て見えるのは気持ち悪いです…笑


    >>順番的には

    1.サーバー立てる
    2.とりあえずページをつくる
    3.データをDBに突っ込む
    4.フォームをつくる
    5.ロジックを書く
    という感じでしょうか。

    →こちらの流れ、とても分かりやすく助かります!今は2.まで終わっている状況です。ここからは勉強しながら進めていきたいです。

    ありがとうございました。

    キャンセル

0

理想の機能が作れたら、ここに「実際に何を学んで、どのような流れで開発できたか」を書こうと思います。

投稿 2017/11/30 08:18

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

15分調べてもわからないことは、teratailで質問しよう!

ただいまの回答率

91.35%

関連した質問

  • 受付中

    サイト内検索機能のCGIについて

    サイト内検索機能を設置することを考えています。 ですが、設置したいサイトにはCGIやPHPがつかえないため、 別サーバーでCGIを設置して検索窓だけを設置したいサイトに設置して、

  • 受付中

    【※緊急】PC用TOPページの構成に関して

    下記画像の様なPC用のTOPページを作成したと考えております。 上記画像の様に作成するにあたって、 下記の条件を満たした状態で構築を行いたいと考えております。 【 構

  • 解決済

    RAIDについて

    近々,初めて自分でファイルサーバを建てようと考えており,RAID1を組んで見ようと思っています. そのことを友人に話したら,ソフトウェアRAIDは危険なので,ハードウェアRAID

  • 解決済

    FireBugなどのデバッグツールで、JavaScriptの値を変えられる対策をしたい

    Webブラウザで何問かクイズができるサービスを考えています。クイズ自体はJavaScriptで組みます。 そのクイズが終了して、得点などの結果(変数)をajaxでサーバーに送り、

  • 解決済

    fuelphpのルーティング設定について

    はじめまして。 現在fuelphpでサンプルを参考に、webシステムを作ろうとしています。 フレームワーク自体、まだ始めたばかりなので基本的な部分について公式ドキュメントを

  • 解決済

    Backbone.jsでModel内に記述すべきメソッド

    前提・実現したいこと Backbone.js初心者です。 Backbone.jsにはModel, Collection, Viewがあり、これらの全てにおいて、メソッドを記述す

  • 解決済

    別ページのカスタムフィールドの値を表示

    前提・実現したいこと カスタムフィールドテンプレートで作成した値を サイドのウィジェットにショートコードを用いて全ページに表示させたいです。 ショートコードで出力される内容は

  • 解決済

    リバースプロキシ設定されているドメインを301リダイレクトさせたい

    前提・実現したいこと 現在、wordpressを利用してブログサイトを運営しております。 そのブログサイトのアクセス数が、現在のサーバースペックでは耐えきれなくなったため、

同じタグがついた質問を見る

  • JavaScript

    11222questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • HTML

    6170questions

    HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

  • CSS

    3874questions

    CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

  • Python

    3828questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。