- 締切済み
コンピュータやアルゴリズムについて
文系の大学生です。 今までプログラミングをインターネットのサイトや書籍で勉強していたのですが、最近になって ・サーバ ・アプリケーション ・ネットワーク ・データベース といった、プログラミングの裏で働くアルゴリズムやコンピュータの仕組みについて自分が知らないことに気がつきました。 大学では情報系の科目を履修して勉強もしたのですが、いわゆる「般教」科目なので、技術の深いところまでは勉強しなかったのです。 一応、C/SモデルやTCP/IPといった単語は知っており、単体ではある程度分かるのですが、それらの知識が有機的に繋がっていない気がします。 例えば、 「C/Sモデルでは分散処理によりサーバとクライアントが分けられる」 程度の理解ではなく、 「C/Sモデルでは分散処理ののとき、データベースがこうなり、ネットワークはこうなっており、TCP/IPはこうである」 といったように、有機的に理解したいわけです。 そこで、アルゴリズムやコンピュータの仕組みについて体型的に学べるサイトや書籍などがあれば、教えていただけると幸いです。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ninoue
- ベストアンサー率52% (1288/2437)
次等から辿られたら良いのではと思われます。 http://okwave.jp/qa/q7398476.html 情報関連の参考書について http://weblearningplaza.jst.go.jp/ Webラーニングプラザ http://okwave.jp/qa/q7924190.html VPNについて学べる本
- bardfish
- ベストアンサー率28% (5029/17766)
「C/Sモデルでは分散処理ののとき、データベースがこうなり、ネットワークはこうなっており、TCP/IPはこうである」 半分正解で半分間違い・・・って感じですね。 C/Sシステムの一番簡単な例はあなたが今これを見るために使用しているHTTP。 サーバーではApacheなどのHTTPDがバックグラウンドで動作しており、クライアントではInternet ExplorerやGoogleChromeなどのWebブラウザを動かし、サーバーとクライアントの間ではTCP/IPをベースにHTTPというプロトコルで通信しています。 通信プロトコルについてはこのへん↓を読んでください。 http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E5%B1%A4 Apacheを自力で自分のパソコンにセットアップできるようになれば理解度は結構深まりますよ。 そこから更にPerlやPHP等で動的Webページを作れるようになればなお良し。 データベースはフリーで入手できるものもあるが、業務システムではOracleが使われていることが多い。だから、Oracleの書籍を買って勉強すればデータベースがどういうものかある程度わかる。Microsoft AccessもデータベースだからAccess用の本を探したほうがいいかな?沢山出てるし。 データベースを使うにはSQLを覚える必用があるわけだが、理屈を知るだけだったら必須ではないが知っておいたほうがいいかも知んない。 ・・・・大学で教えている情報系科目ってたいしたこと教えてないんですね。コンピューターの専門学校も似たようなもんだけどwww アルゴリズムって1から100まで加算する手順とか、不特定多数のランダムに並べられた数字を昇順・降順に並べ直す手順とかのことですよ。 フローチャートとか勉強してください。 http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0
お礼
回答ありがとうございます。 > Apacheを自力で自分のパソコンにセットアップできるようになれば理解度は結構深まりますよ。 そうですね。セットアップしてみます。 > 業務システムではOracleが使われていることが多い。 Oracleって、個人で扱うにはかなり高価ではないでしょうか? 書籍を買うだけなら、さほどお金はかからないでしょうが……。 MySQLやSQl Serverではなく、Oracleのほうがよいのでしょうか。 > 大学で教えている情報系科目ってたいしたこと教えてないんですね。コンピューターの専門学校も似たようなもんだけど 質問文にも書きましたが、私は情報学部ではなく、一般教養科目で情報系の科目を履修しただけなのです。 文系も受講可能な科目なので、大まかに技術を紹介するだけで、技術の深い知識は得られないものでした。 情報学部のきちんとした授業を受ければ、もっと深い知識が得られるのでしょうが。