post Image
PythonのFlaskで学ぶWebアプリケーション制作講座 第0章 〜はじめに〜

この資料について

サークルのWebアプリケーション製作講座用に書いている資料です。
対象読者は何らかのプログラミング言語を少し触ったことはあるけど、Pythonははじめてという方を対象にしています(ちなみにサークルでは最初にC言語をします)

Githubのほうで公開していましたが,Qiitaに移してみることにしました.

本講座について

Pythonの文法の解説からはじめ、 本の貸出システムを題材にして実用的な内容まで学ぶことで、Webアプリケーションの作成(特にプログラミング)ができるようになることを目的として行う。

Webアプリケーションとは何かと本講座で扱う範囲

Webアプリケーションの例としてはwikiやブログ、掲示板、通販サイト、Googleカレンダー等々がある。
これらの例を見てわかるようにWebアプリケーションは一般にブラウザを用いて「Webサイトを見る」ことによって利用することができる。

プログラミング的な視点でもう少し整理するとWebアプリケーションはサーバサイドのアプリケーションとクライアントサイドのアプリケーションという風にわかれ、そのあいだの通信にネットワークをつかう。
また、通信は多くの場合HTTPあるいはHTTPSプロトコルに基づいて行われる。

Webアプリケーションは下記の要素で構成される。

  • クライアントサイドアプリケーション
  • サーバサイドアプリケーション
  • インフラ(サーバ、各種ミドルウェア)

クライアントサイドアプリケーションとはブラウザを開いた時に見える見た目の部分を制御するアプリケーションだ。
一般的にユーザの手元にダウンロードされて実行される。

一方、手元にはダウンロードされず、サーバ上で実行されるアプリケーションがサーバサイドアプリケーションだ。これは以下に述べるデータベースサーバ(DBサーバ)と呼ばれる、データを保存しておくプログラムからデータを取り出し、それに則ってクライアントに提供されるデータの一部を整形して出力するという役割を担う。

最後にあまり馴染みがないのはインフラかもしれない。
これはサーバサイドアプリケーション以外のアプリケーションを動かす上で重要なサーバ上で動くプログラムで、
HTTPプロトコルを処理するのに特化したWebサーバと呼ばれるアプリケーション、
大量のデータを効率よく安全に検索・保存することに特化したDBサーバとなどのアプリケーションなどが当たり、
よくある処理を専門的に効率よく動かすためのものである。
また、OS・ネットワークなどもこの範疇に入る。

本講座では上記の3つのうちとくにサーバサイドアプリケーションを中心に扱う。
なお、本講座では下記は扱わない。

  • 詳細なサーバ構築
  • サーバの運用・障害対応
  • クライアントサイドアプリケーション(Webデザイン)
    *

目次

基礎編

  1. 環境の導入と基本事項
  2. データ構造と制御構造
  3. プログラムの再利用・ルーティング
  4. テンプレートとhtml
  5. データの永続化とSQL
  6. セッション
  7. ハッシュ化とソルト
  8. ORマッパー

WebAPI編

  1. HTTPプロトコル
  2. JSONを扱う
  3. RESTfullAPI

CCSの受講者の方へ

途中の確認問題等、下記の理論にしたがってやろうかと思ってます。
まずは3-4人ぐらいでグループつくりましょう。

https://medium.com/@ukkaripon/プログラミングを教えるときの10のポイント-という論文の紹介-f3ba6ac40f37


『 Python 』Article List
Category List

Eye Catch Image
Read More

Androidに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Bitcoinに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Goに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

JavaScriptに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Pythonに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Rubyに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Scalaに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Swiftに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Unityに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

Wordpressに関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。

Eye Catch Image
Read More

機械学習に関する現役のエンジニアのノウハウ・トレンドのトピックなど技術的な情報を提供しています。コード・プログラムの丁寧な解説をはじめ、初心者にもわかりやすいように写真や動画を多く使用しています。