• WebCamp_インタビュー
    【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
    2018.01.15
  • WebCamp_インタビュー
    【卒業生インタビュー】台湾で月間100万UUの訪日旅行メディアを手掛けるCEOが、プログラミングを学んで得たものとは?
    2018.01.15
  • WebCamp_インタビュー
    「1カ月頑張ればこの先が見えてくる」地元メディアを立ち上げたママさん
    2017.07.20
  • WebCamp_インタビュー
    “未経験”でもたった1ヶ月で営業からエンジニアとして転職!『WebCamp』受講者インタビュー
    2017.10.04
  • WebCamp_インタビュー
    時間や場所にとらわれず自由に働くために必要なスキルとは?【WebCamp卒業生インタビュー】
    2018.01.26
  • WebCamp_インタビュー
    【WebCamp受講生インタビュー】起業準備中にCEOが気がついたプログラミングスキルの重要性とは?
    2017.12.25
  • WebCampPro_インタビュー
    未経験でも寿司職人からWebデザイナーになった!ホスピタリティでスクールを支える宮脇トレーナー
    2017.05.26
  • WebCampPro_インタビュー
    未経験31歳からエンジニア転職を実現【実際に聞いてみた】
    2017.04.01
  • WebCampPro_インタビュー
    自分で稼ぐ力をつけるため、新卒5年目の営業マンがエンジニアに転職!【WebCampPro転職者インタビュー】
    2018.02.02
  • WebCamp_インタビュー
    「自信の持てるスキルを得たい!」内定辞退した女子大生がプログラミングを学習したワケ。
    2018.04.28
  • WebCampPro_インタビュー
    未経験から上京し、テレビでも話題のIT企業に転職!【WebCampPro卒業生インタビュー】
    2018.03.10

▼当サイトで人気のプログラミング教室のおすすめランキングはこちら!
プログラミングは独学では非効率で、時間を無駄にするリスクがあります。効率的なカリキュラムで学べるスクールを受講しましょう。

金王冠Web Camp【業界最安値】1ヶ月集中してプログラミングスキルを身につけられるスクール
1ヶ月通い放題・メンター常駐の教室環境でWebサービス等作りたい方
TechAcademyオンラインで開講しているプログラミングスクール
オンラインでどこでも学べる!/教室に行くのが忙しい人でも安心!
銅王冠Tech Camp業界最大級!教養としてのITスキルを学べるスクール
Webデザイン/AI(人工知能)/IOS/Androidアプリ制作/VRを学びたい方!
びっくりマークWebCampPro転職保証付き!エンジニアとして転職したい人におすすめ!
未経験からプロのエンジニアを3ヶ月で目指すプログラミングスクールです。

【Python】2日間で人工知能(AI)を学習するコースが開校
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基本的なプログラミング能力を身につけたい方
機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!

※6月以降の開催につきましては、現在未定となっております。

はじめに

Pythonはとても理解しやすく書きやすい言語として依然人気があります。
そして、WEBアプリケーションもIT業界がインターネットで活発になった後に生まれた言葉ですが、現在ではごく一般的に使われています。
他の言語と同じく、PythonもWEBアプリケーション開発に適した言語であり、さまざまなことが実現できます。
今回は、WEBアプリケーション開発の流れとそこにPythonを採用した場合をご紹介します。

アプリケーションを理解する

コンピュータ上ではさまざまなソフトウェアが動作して成り立っています。
WindowsやLinuxなどの基本となるもの(OS)もソフトウェアです。そして、Pythonで書いて作成したプログラムを動作させるとそれもソフトウェアの一種です。
そして、ソフトウエアの中でも、表計算ソフトやお絵描きソフトのように、ある目的を果たすために作られたソフトウェアをアプリケーションと呼んでいます。

WEBアプリケーションを理解する

WEBというのはWEBブラウザで閲覧するWEBサイトといった具合に皆さん普通に使用されているようにインターネット環境でよくお世話になっているWWW(World Wide WEB)のことです。
アプリケーションとは、メールを閲覧するソフトウェアやEXCELやWord、つまりソフトウェアとほぼ同義で考えて今はかまいません。
つまり、WEBアプリケーションとは、WEBブラウザを使用して動作するアプリケーションのことを指しています。

WEBアプリケーションの利点

WEBアプリケーションの特長といえば、WEBブラウザで動作することもあり、基本的にはインストール作業が不要ですぐにPCで動作することになります。
(現在のPCで、ブラウザが何かしら入ってないことはほぼないという観点からです)
WEBブラウザがあれば特別な環境やインストール作業がなく動作できるということは、場所を選びません。しかも開発そのものも通常のアプリケーションより手軽な場合が多く開発の敷居としても低めです。

アプリケーションにおける入力と出力

アプリケーションの基本中の基本、WEBに限らず以下が挙げられます。

指示を与えるための仕組み(入力)
指示に従って処理結果を返す(出力)

例えば、値を適切な場所に入力すると、計算式を元に結果表示部分に計算結果を出力する、関数電卓などもそういった基本に沿って動いています。
入力の仕方や数、そして結果の表示の仕方や方法は千差万別ありますが、基本としてどのアプリケーションもやっていることは入力と出力ということに変わりはありません。

コツコツ独学×スクールで実践。未経験からエンジニアに転職!【WebCamp卒業生インタビュー】
2018-03-22 23:28
今回の記事では、独学でPHPを1年半学習し、その後WebCampを受講して未経験からエンジニアへと転職された佐々木さんにお話を伺いました。 <プロフィール> 佐々木 祐樹 さん(2...

アプリケーションを作るということ

入力に対して出力を返す、というのが基本です。
それはアプリケーションの特徴というよりは、コンピュータ上のプログラムは皆そうです。
Pythonでいえば、ある関数を使用する場合は、入力値は引数と呼ばれ、出力値は戻り値などと呼ばれます。
ただし、Pythonの関数などが扱う値は、数値や文字列のようなそのままの情報です。
年齢などはそのまま数値でも構いませんが、例えば地域分けをする際に番号で管理していたり、出席番号などの情報の場合に、そのまま入力となれば、番号の管理方法を知っていないと入力できませんし、出力されても意味がわかりません。
こういったデータはコンピュータには処理の流れとして扱いやすくされていますが、人間にとっての入出力としては不親切な場合が出てきます。
多くのアプリケーションは誰でも簡単に使えるような操作方法を備えています。
処理の結果についても分かりやすく工夫されて表示したりすることが可能です。
つまり、アプリケーションは、操作者にとって入力と出力をわかりやすくして使いやすくしているソフトウェアと言うことになります。

ユーザインターフェース(UI)

操作者に分かりやすい操作方法や処理結果の表示・表現とありましたが、こういった操作者、つまり使うユーザのための見た目の仕組みにことをユーザインターフェース(User Interfase)といいます。
単にUIと呼ばれることが多いです。
基本の画面のボタンや各種メニュー、表示用のボックス領域や、選択プルダウンボックスなどすべてUIの一部です。

今回のWEBアプリケーションでは、WEBブラウザがまずUIの基本画面となっています。
ブラウザ画面でボタンなどを配置して、UIや操作の結果を表示するアプリケーションがWEBアプリケーションです。
WEBアプリケーションでない、たとえばネイティブアプリケーションと呼ばれているものは、それぞれ独自にUI画面を持ちます。たとえ同じ条件で組んだとしてもWindowsとLinuxなどでは画面の雰囲気が変わることもあります。
それに対してWEBアプリケーションはOSの影響を受けずにブラウザに依存してUIを構成しているのでどの状況でも同じUI画面となります。

Pythonを習得する

WEBアプリケーションを組む上では、HTMLという技術を使ってユーザーインターフェースを表示することになります。
また、HTMLは記録するための言語ということで画面の表現力が乏しいため、CSSという装飾用の技術もよく用いられます。(HTMLのバージョン5では装飾的なこともかなり改善されています)
そして入出力の時に多く用いるのはやはり文字列です。名前や年齢、その他の情報は文字列でやり取りすることが多いです。
そうった文字列を扱うさまざまな機能がPythonは豊富ですし、WEBアプリを作成するときの便利な機能が標準で多く搭載されています。

PythonでWEBサーバを使う

Webアプリケーションでは、WEBブラウザで動作するアプリケーション(クライアント)とWEBサーバ側のアプリケーションが必要です。
Webブラウザ自体は大体のPCには標準搭載されているので難しいことはないですが、WEBサーバは別途用意する必要があります。
もちろん有名なApacheやその他のWEBサーバ機能を有するフリーウェアや商用ソフトウェアを使っても良いのですが、実はPythonの標準ライブラリを使ってもWEBサーバ機能を実現することが出来ます。
つまり、Pythonをインストールすれば、WEBアプリケーション開発だけでなく、その実行環境であるWEBサーバも用意できてしまいます。
実際にリリースするような場合はともかく、開発やテストにはこれで十分事足ります。
開発のための環境構築の煩雑さ・難度が下がるため(WEBサーバのための別のソフトの学習の必要がない)、よりPythonでは開発しやすい結果になります。

PythonでWEBサーバを起動

WEBサーバ機能としては、http.serverというモジュールを使用します。
実際にWebサーバを動かすには以下のコマンドを実行します。


<span style="font-size: 16px;">#python -m http.server 8000 --cgi</span>

Serving HTTP on 0.0.0.0 port 8000 ...

WEBブラウザのURLで「http://127.0.0.1:8000/」にアクセスすると、ファイルのリストが表示されます。
リスト内容はともかく、これが表示されるということはWEBサーバが起動しています。
ちなみに実行している画面(Windowsならコマンドプロンプト自体)を消すとWEBサーバ機能も終了します。

127.0.0.1というのはループバックアドレスという自分自身のコンピュータを指します。
コロン記号で示された番号はポート番号と呼ばれるものです。
「自分自身(PC)の中で、ポート番号8000番を設定して起動されたWEBサーバ」に、先ほどのURLはアクセスしています。

WEBサーバでHTMLを表示する

WEBサーバ起動後に見たURLではファイルのリストが表示されました。
あれは、WEBサーバ起動を実行したフォルダにあったファイルです。(C:\から起動すればC:\直下のファイル)。
WEBサーバの起点となるフォルダの場所を「ドキュメントルート」といいます。
さきほどは起動フォルダがそのままドキュメントルートになりましたが、設定で変更することもできます。

「http://127.0.0.1:8000/」でアクセスするフォルダ(ドキュメントルート)に「test.html」というファイルを作成します。
中身は何でも構いません、シンプルなHTMLファイルでいいと思います。
そして「http://127.0.0.1:8000/test.html」に再度アクセスします。すると、test.htmlの内容か゛表示されます。
このようにHTMLファイルを配置していくことで、より複雑なページを作成したりも可能です。

PythonサーバでPythonプログラムを動作させる

実際にURLからクエリを渡すPythonプログラムを動作させます。
Pythonルートにcgi-binフォルダを作成し、その中に以下の内容を「httptest.py」で保存してください。


#!/usr/bin/python3
# -*- coding: utf-8 -*-

import cgi

html_body = """
<!DOCTYPE html>
<html>
<head>
<title>foo表示</title>
</head>
<body>
<B>foo=%s</B>
</body>
</html>
"""

form = cgi.FieldStorage()
text = form.getvalue('foo','')

print(html_body % (text))

これは、「クエリとして渡したfooキーの内容を表示」するものです。
ファイルを保存したら、PythonのWEBサーバをPythonルートで立ち上げた状態て゛次のURLへアクセスしてください。

http://127.0.0.1:8000/cgi-bin/httptest.py.foo=aaa

画面上上に「foo=aaa」と表示されたら成功です。
URLの「foo=」の後の値を書き換えると結果も変わります。いくつか試して確認してみてください。

おわりに

PythonでのWEBアプリケーション開発への取り掛かりまでをご紹介しました。
あとはアイデアとより緻密なアプリケーションへとご自分で設計計画して取り組んでみてください。
組んでいけばとてもわかりやすい言語だと実感するはずです。
完成したらぜひ公開してみてみるのもいいと思います。

WebCamp・WebCamp Proについて

WebCampは1ヶ月でプログラミング・Webデザインスキルを学ぶ通い放題のプログラミングスクールです。WebCamp Proは3ヶ月間で未経験から即戦力エンジニアを育成するプログラミングスクールです。

2つのサービスを運営するインフラトップでは、「学びと仕事を通して人生を最高の物語にする」という理念で会社を経営しています。

キャリアアップを目指す方は、この機会に私達と一緒にプログラミングを学んでみませんか?

【インタビュー】1ヶ月でRubyをマスターし、Webエンジニアに!

実際に1ヶ月のプログラミング学習と手厚いキャリアサポートでエンジニアとして転職したWebCamp受講生にお話を伺いました。

「エンジニアとして転職したい!」

「キャリアサポートは本当に充実してるの?」

と疑問に思っている方は、是非この記事を読んでみてくださいね!

【WebCamp卒業生インタビュー】1ヶ月でRubyをゼロから学び、Webエンジニアとして転職!
2018-01-15 13:23
今回の記事では、WebCampで1ヶ月間Rubyを学習し、Webエンジニアとして転職した卒業生の田中さんにお話を伺いました。 <プロフィール> 田中 デニス 昭彦さん(...

【Python】2日間で人工知能(AI)を学習するコースが開校
今回、当社(Web Camp)では、2日間でPythonの基本から機械学習の基礎まで学ぶ短期集中型のコースを開講します。
Pythonの基本的なプログラミング能力を身につけたい方
機械学習や人工知能に興味はあるがなかなか手を出せない方
上記にあてはまる方は、ぜひご参加ください!

※6月以降の開催につきましては、現在未定となっております。

7月枠も残りわずか当社人気の転職保証コース
プログラミング学習から転職成功まで導く、当社人気のWebCamp Proコース。
6月受入枠は満員となっております。7月枠に向け、お早めの申込みをオススメします。
プログラミング未経験でもエンジニア転職を絶対成功させたい
スキルを身に着けて人生を自ら切り開きたい
上記にあてはまる方は、ぜひご検討ください!

▼未経験から1ヶ月でWebデザイン・プログラミングを学びたい方はこちら!

▼ついに開講!オンラインでWebデザインを学びたい方はこちら!

関連キーワード
学習の関連記事
  • 【必見!】フリーランスエンジニアが困った時に役立つエージェントとは?
  • 【フリーランスの開業届を徹底解説】メリット・デメリットや提出方法
  • 【節税対策】フリーランスのための経費一覧
  • 【必見!】フリーランスプログラマーを目指すなら知っておくべきこと5選
  • 【1000万も夢じゃない?】フリーランスの年収アップ方法解説
  • 仕事が決まらない主婦が今すぐやるべきこと5選

当サイトで人気のオススメ転職サービスTOP3

1位 マイナビエージェント×IT

おすすめポイント

・平日忙しい人も、土曜日開催の個別キャリア相談会に参加できる

・職種や仕事内容(要件定義、上流工程から携わる仕事など)の要望が細かくできる
・マイナビの規模を活かした豊富で幅広い求人数

マイナビエージェント×ITの登録はこちら

2位 レバテックキャリア

おすすめポイント

・求人登録数4,000件以上

・エンジニア未経験、経験者両方に対応

・有名企業の採用担当者インタビューがみれる

・一次面接NGからの内定実績もあるほど、内定率が高い

レバテックキャリアの登録はこちら

 3位 type転職エージェント

おすすめポイント

転職者の71%が年収アップ

・IT系企業、特にエンジニアに限らず営業職の求人も充実している

各職種専門の転職アドバイザーが援助

type転職エージェントの登録はこちら

おすすめの記事