サーバーって何?IT用語の基礎解説

私はしばらく前からプログラミングの勉強はしてきているのですが、その周辺の機器やネットワークの知識についてはあまり触れてきていませんでした。

しかし最近思うところがあり、IT業界の仕組みを学ぶべく、色々と本を読んだり、ネットで調べたりしています。

 

今回は、サーバーについて調べてみたので、その一番基礎の部分である、「サーバーとは一体なんなのか?」というテーマでまとめてみようと思います。

なぜサーバーなのかというと、もともと、サーバーってその名の通りデータか何かを供給(serve)するものなんだろうなー、という認識はありましたが、具体的にどんな「モノ」をサーバーといって、どんな役割を果たしているのかという部分については、曖昧な知識しかありませんでした。しかし、サーバーはIT業界でなくともよく聞く用語です。そんな重要な言葉もわからないようではいけない!と思いましたので、調べてみました。

 

サーバーの定義

サーバーは一体何をするモノなのか。そもそもハードなのかソフトなのかもよくわかりません。wikipediaによると

サーバあるいはサーバーserver)は、サービスを提供するコンピュータである。コンピュータ分野のクライアントサーバモデルでは、クライアントからの要求に対して何らかのサービスを提供する機能を果たす側のシステムを指す。

サーバー用のコンピュータ機器(ハードウェア)などもサーバと呼ぶ場合がある

いまいち掴みにくいかもしれませんが、なんらかのサービスを提供するシステムのことをサーバーと呼ぶんだなということはわかりました。

ではどんなものを提供するのか。

 

サーバーの機能

提供するものはサーバーの種類によって、

メールサーバーであれば、メールのデータ

プリンターサーバーであれば、プリンターへの印刷処理の指示

といったように様々です。そして提供するサービスによって名前が違ってきますが、行なっていることは、原則として、

  • 要求を受け取る
  • 要求に応じた処理を行う
  • 処理結果を送り返す

という処理です。そしてサーバーに対して要求をする側を「クライアント」と言って、これもよく聞く単語なので、覚えておきたいですね。

具体的には、サーバー側でデータベースを持っていて、クライアントから「こういうデータをくれ」という要求に対してデータを探し出して返答する、というパターンがよくみられるようです。

 

まとめ

上記をまとめて非常に簡単に、「要求に対して処理を行い、結果を返答するシステム」のことをサーバーと言えると思います。

そしてそれはPCのサーバー用のソフトウェアを入れることで実現できるので、個人で一般的に使うPCでも、サーバーとしての役割を担えますし、専用でコンピュータを用意してサーバーとして使う場合もあるでしょう。また、一つのコンピュータ内に、複数のサーバーを入れて動かすこともできます。

 

以上でサーバーが何をするものなのか、非常に簡単ではありますが、まとめてみました。参考になれば幸いです。

 

なお、間違った点などお気づきになりましたら、ご指摘ください。

coding

プログラミングの会話でよく出てくる、ライブラリとは?

プログラミングの業界にはとにかく専門用語が多いですね。それもカタカナの。

簡単にイメージできない用語も多くて、私も未だに四苦八苦しているところですが、プログラミングに触れていない方でもわかるような形で、用語の解説をしてみたいと思います。

今回取り上げるのは、「ライブラリ」です。

 

概要

ライブラリは、非常に単純に言うと

よく使うプログラム(関数など)を集めたもの(ファイル)

何ですが、これだけだとイメージがわかないですよね。

例を挙げながら見ていきたいと思います。

 

解説

Pythonでよく使われるライブラリにdatetimeという名前のライブラリがあります。このライブラリには、日付を扱う機能がまとめられており、

datetime.date.today()

と打ち込むと、コンピュータは現在の日付を出力してくれます。(実際にターミナル等で使う場合にはインポートという作業が必要です)

もしライブラリを使わずに同じことをやろうと思うと、自分で同様の処理をするプログラムを書いて、実行しなければいけません。

もし沢山の人が使う機能なら、それをまとめて、誰でも使えるようにしておいた方が効率的ですね。

プログラムの世界では、作業を効率化するための様々なライブラリが公開されています。それらは公式に言語の開発者が出しているものもあれば、どこかの団体で作って公開しているものもあります。

もちろん、個人的によく使う機能がある場合には、ライブラリを作って、後で使うこともできます。

 

まとめ

ライブラリは、効率的に作業するために、よく使う機能をまとめているファイルだということが、何となく掴めたでしょうか。

 

以上で非常に簡単ではありますが、ライブラリの説明でした。

もし間違いなどありましたら、指摘していただけると幸いです。