Milkのメモ帳

日々の思いつきを忘れないようにのメモ用です。

Milkのメモ帳

【第2回】アプリケーションの種類も色々あるんだよ。


f:id:maxminkun:20161002164215j:plain

前回の記事は、なかなかの反響をいただきました。ありがとうございます!!

www.milkmemo.com

でも、「ちょっと意味が分からないなぁ・・・」ってコメントも多くて、自分の伝える能力のなさに涙。(´;ω;`)

もう少し、柔らかい表現を心がけます。

楽しく一緒に、ITの世界を探検しましょう!

前回のおさらい

前回の記事は、プログラムの開発環境に主にスポットを当てて解説を行いました。

また、実際の所、ソフトウェアを開発する工程についても、少し触れたと思います。

単純に前回の内容をまとめると以下のようになります。

  • コンピュータは機械語(バイナリデータ)という0と1のデータしか分からない。
  • 機械語では人間はなかなか読み解けないし、書き辛い。
  • プログラム言語という人間が書きやすい形で、コンピュータに命令出来るようにしよう!
  • プログラム言語のままではコンピュータは理解出来ないので、機械語に変換するソフト(コンパイラ)が必要だ。
  • プログラムを書きやすくするソフトを、エディタと言う
  • 「エディタ+コンパイラ」をくっつけたソフトを、IDE(統合開発環境)と言う。

ざっとこんな感じになります。

f:id:maxminkun:20161003110406j:plain

アプリケーションにも種類がある?

さて、大変申し訳ないのですが、私の専門はWindowsで、かつバッチ系の人間です。

今時のイケてる、Webアプリケーションはちょっと専門外です。(何とか知識として会話は出来るレベル)

Webアプリケーション

Webアプリケーションは、ブラウザで動作するシステムを指します。例えば、この「はてなブログ」自体もWebアプリケーションですね。

画面はHTMLと言うマークアップ言語で記述します。これをブラウザが解釈して、今皆さんが見ているような形に変換して表示してくれてるんです。

元の状態はどういうものかと言うと・・・ブラウザ画面で右クリックし、「ページのソースを表示」と言ったものを押してみて下さい。

f:id:maxminkun:20161003112436j:plain

実はこんなふうに記述されているんですよ。

流れとしてはこうです。

f:id:maxminkun:20161003114916j:plain

先ず、ブラウザを使っている人(クライアント)は、Webサーバに対してアクセス(URLにアクセス)します。これは、そのページを管理している「Webサーバ」と呼ばれるコンピュータに、「HTMLを送ってくれ!」と言っていることと同じになるのです。

そこで、Webサーバは求められている情報を探しだし、クライアントに送り返しています。

これが、基本的なWebアプリケーションの流れになります。

このWebアプリケーションを、ちゃんと理解するためには少々時間がかかりますし、動くプログラムをとにかく体験してみたい!って方には敷居がちょっと高いかなぁって思います。

バッチ系アプリケーション

これに対して、皆さんが使っている、WordやExcel、はたまた社会インフラを支えている(例えばETCのシステムや、鉄道の信号制御システム)等は、ひとまとめにバッチ系と呼ばれます。(まぁ・・・もしかすると会社によって呼び方違うかも;)

社会インフラを支える様な巨大システムになると、サーバを用意して、データベースを用意して・・・ネットワークでつなぎ、互いに通信を行いながら計算処理を行うということをしています。結果的には、上のWebアプリケーションと同じようなことをしているのですが、画面がブラウザじゃないというところが違ったりします。(補足すると、Webアプリケーションでのシステムの実現の要望が多くなってきました。互いに垣根が無くなってきたのです。)

プログラミング体験講座はどんな感じにするの?

そうですね。本当は皆さんは、キラキラ輝くWeb系のITを希望されるかも知れませんが、残念ながら私自身が専門じゃないので、ただいま勉強中の身です。(ごめんなさい。)

ただし、バッチ系はスタンドアローン(自分のパソコンの中で完結する)で簡単にソフトウェアが作れるというメリットも有りますので、プログラムに先ずは慣れてみたい!っていう方には良いと思います。

それに、基本的にプログラム言語は1つ覚えてしまえば、だいたい似ています。つまり、応用が効くということです。Webアプリケーションになった場合でも、「あー。そういうことか!!」と自分の過去の経験の中でリンクさせて行けば、学習スピードは違ってくると思います。

まぁ・・・あれです・・・ただの言い訳です。はい。すみません!!

f:id:maxminkun:20161003120857j:plain

と言うことで、自分のパソコンの中で動くソフトを作ってみよう!ってことにしましょう。(Webアプリケーション。及び、通信が必要なアプリケーションは、ネットワークの知識も必要となりますので、いきなりは難しいと思います;)

では、今回はこんなところで。

adios!!

www.milkmemo.com

Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門

Webサーバを作りながら学ぶ 基礎からのWebアプリケーション開発入門