プロが教えるわが家の防犯対策術!

すみません、まだほとんど勉強が足りないのですが、どうか教えてください。
今、Q&Aサイトを作ろうとしているのですが、
Q&Aサイトの、Q&Aの機能のプラグラミングなのですが、
それは一般的なサイトを作るものだけで作れるものなのでしょうか?
それとも、Q&A用の特殊な技術やプログラミングが必要なのでしょうか?

おおよそのQ&Aサイトのプログラムの仕組みが分かりません。
今は分からない回答の内容でも、努力して読みその後も勉強して、また読み直そうと思っていますので教えてください。

PS.今そのQ&Aサイトを作るための質問をしています。↓
http://oshiete1.goo.ne.jp/qa5742858.html
もしよろしければご覧になり、お答えも頂れば幸いです。よろしくお願いします。<m(__)m>

A 回答 (2件)

サイトは拝見させていただきました。



大規模な案件は関わったことがないので、自分の知識の範囲内で回答いたします。

>Q&Aサイトのプログラミングって特殊なものでしょうか
個人的には、特殊とは思いません。
細かい部分だけを見ていったら基礎の積み重ねでできており、その規模が非常に大規模なため、作るのに年月と人手とお金が必要です。

HTML,CSS,Javascript,PHP又はPerlの知識は必須です。
そして、サーバー構築の知識が必要です。
具体的には、Webサーバー(ソフト及びハード)、データベースサーバー(ソフト及びハード)、メールサーバー(ソフト)が必須です。
アクセス数が少ない場合には、パソコンでも構築できますが、基本的に、それ以上のハード、つまりサーバーと呼ばれるハードが必要になってきます。
しかも、一台のサーバーでは処理がおいつかないので、何台ものサーバーを連携動作させます。
例えば、「"台のサーバー"」で検索してみてください。
そうなると、それを置くスペースとそれをメンテナンスする人が必要になります。
一台のサーバーが故障しても、残りのサーバーで稼動するシステムが必要になります。
データを一つのサーバ(データベースサーバ)に置くことはなく、複数のデータベースサーバがデータを共有する必要があります。
「RASIS」で検索してみてください。
システムの信頼性を評価するための要素のようなもので、大規模なシステムを構築するのであれば、必須の知識です。
また、やっかいなのがセキュリティです。
システム(プログラム)を作ることばかりに集中し、軽視されがちなため、大規模なサイトでも、個人情報が漏れたりしています。
実は個人のパソコンに感染するウイルス以上に深刻な問題です。
セキュリティにもいろいろあり、プログラムのセキュリティの他に、OSのセキュリティ、ファイアーウォールシステムのセキュリティ、ハードのセキュリティなど様々です。
大抵の人はプログラムを作ることに集中しますが、セキュリティを考慮しないで作成したシステム(プログラム)には、ほぼ100%セキュリティホールがあるといっていいでしょう。
順番が逆になったかもしれませんが、OSの選択も重要です。

スキルの高い人材を集める必要があります。
大規模な投資が必要になります。

また、オープンソースのシステムは実験や練習としてはよいですが、実際の運用には、セキュリティホールの存在も考慮しなくてはいけません。
ある程度有名どころのオープンソースシステムでも、セキュリティホールのあるものが出回っています。
極論を言えば、セキュリティホールのないものはないと言ってもよいのですが。。
「"○○○" セキュリティホール」で検索してみましょう。(○○○は任意のキーワード)

少し個人的見解ですが、PerlよりもPHPの方をお勧めします。実際、PHPは、数多くのシステムで使われています。
PerlよりはPHPの方が多用されていると思われます。
ただ、PHP特有のセキュリティの脆弱性もあります。
Rubyについては詳しくありません。

手順から言えば、言語等から攻めていくか、システム全体の知識を先に深めるかに分かれるかと思いますが。。

言語に関しては、開発環境も整備しておく必要があります。
有料なもの、無料なものがあります。
HTML,CSSの知識はデザインに不可欠です。

システムの要件として大雑把に思いつくこととして、
・データベース設計
・アカウントの登録
・自動メール送信
・検索システム
・セッション管理
といったところでしょうか。。
データベースは非常に重要で、データベースの設計は、一度決めたら、後から変更は難しいものがあります。

>一つ一つ開いてファイルを見ていくっていうことでしょうか?
私なら、まずプログラムの中核(心臓部分)をまず見つけます。
PHPで言えば、index.phpが最初に実行されるファイルであることが多いです。
そこから、プログラム全体の構造を調べます(たどっていきます)。

あと、Windowsのソフトですが、秀丸エディタのGREPは非常に強力な武器です。
エディタの選択及び使いこなすことは、その後の効率を大きく左右します。
例えば、あるソースファイルである関数を呼び出していたときに、その関数がどのソースファイルのどこにあるかを検索するときに使えます。

かなり色々書きましたが、実はそんなに詳しくありません(汗)
あくまでも、一意見としてご参考まで。。

この回答への補足

回答ありがとうございます!
すみません、回答して下さっていたのに気付いてなく、
今記事を見ました。<m(__)m>
詳しく書いて下さって本当にありがとうございます。
これからよく読んでみたいと思います。
またその後にお礼のコメントを書かせて頂きます!
ありがとうございます!<m(__)m>

補足日時:2010/03/28 04:28
    • good
    • 0
この回答へのお礼

ありがとうございました!
もの凄くためになりました。
色々と詳しく、しかも分かり易く説明していただいてとても理解し易かったです。
検索ワードの紹介など、とても良かったです!
miswaki7Zさまの回答を参考にして勉強をしていきたいと思います!
本当にありがとうございました!!
<m(__)m>

お礼日時:2010/04/30 02:31

CGIとか、PHPを理解していれば作成できます。


また、ご自身で作る技術が無い場合でもフリーで配布されているから、
それらを使えばプログラミングの知識が無くても使うことはできます。

最初は、フリーのQ&Aシステムをインストールして、
プログラムの仕組み考えを覚えればいいのでは?

この回答への補足

回答ありがとうございます!
ご指摘のとおり、Q&Aシステムのオープンソースを色々と探して見つけました。
しかし、オープンソースの場合、それを使って自分のサイトが大きくなった場合、オープンソースといってもそれを使ってい限り「著作権」があるでしょうから、何か制限が付いてくるのでは?と思ってしまいます。

あと、自分で構築するためのことですが、教えてくださった方法の、インストールしたそのプログラムの仕組みを知るには、どういった作業をすれば良いのでしょうか。
一つ一つ開いてファイルを見ていくっていうことでしょうか?
ほとんど素人なので質問ばかりして申し訳ありません。<m(__)m>

補足日時:2010/03/11 17:08
    • good
    • 0
この回答へのお礼

ありがとうございました!<m(__)m>
色々と勉強していきたいと思います!

お礼日時:2010/04/30 02:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!