っと思っていろいろ調べてみると、
Pythonの知識は当然ながら、Python以外の知識がたっぷりと必要な事がわかります。
という物好きな方のために、
よく見る用語を独断と偏見でまとめることにしました。
発音・呼び方が間違ってる&説明文が不足・認識違いなどの可能性が大いにあるのでぜひ寛大な心でご参考までにご利用ください。
Python言語で知っておきたい機能・用語
- 関数・・使う機能をひとまとめにできる機能。 def 関数名 で指定。
-
スコープ(ローカルスコープ/グローバルスコープ)・・関数が影響する範囲。
-
from とか importとか・・他のファイルやライブラリを読み込み
-
デコレータ (@マークの後に関数)・・ ある関数を修飾(デコレーション)するための関数とその仕組み。
関数の前に@をつけることで、既存の関数の前後に処理を付け加えることができる。
- シンタックスシュガー・・シンプルな形に書き換える機能 (デコレータなど)
Python環境に関すること
- pip(ピップ)・・Pythonのパッケージ管理ツール。ライブラリ(便利箱)がまとまってる。
ex) pip install flask
pip install gunicorn
など
- Anaconda(アナコンダ)・・機械学習などに必要なライブラリ(便利箱)をもりっと盛り込んだパッケージソフト。
便利だけれど機能入りすぎ&専用コマンド (conda) があり 他サービスとバッティングする可能性もあったり。
- IDE(アイデーイー)(Integrated Development Environment(統合開発環境))・・開発に必要ないろんな機能がひとまとめになっている。
エディタ、デバッガ(テスト)、対話型実行環境(CUIでコードを打って返ってくるなど))
- env(エンブ)・・Python仮想環境。 Python3.5より標準ライブラリになった。
-
virtualenv(バーチャルエンブ)・・Python仮想環境
Anaconda(アナコンダ)に含まれているアプリ/ツール
-
spyder(スパイダー)・・Python用IDE。エディタ、デバッガ、対話型実行環境など、便利なツールがセットになっている
-
jupyterlab(ジュピターラボ)・・機械学習とデータサイエンスのためのIDE
-
jupyter notebook(ジュピター ノートブック)・・GUI上でPythonが実行できる。
データ解析のプロセスの全体を簡潔かつクリーンな形で図解することが可能で、さらに共有できる
Webフレームワークに関すること
- Django(ジャンゴ)・・Web用のたっぷりフレームワーク
-
Flask(フラスク)・・Web用のマイクロフレームワーク
-
MVC(エムブイシー)モデル・・Model(データ操作)、View(見た目)、Controller(処理)を分けて構築する考え方、思想。
-
jinja2(ジンジャ) HTMLテンプレート。HTMLの中にPythonコードを埋め込める。Flask(フラスク)に含まれている。
参考記事
- Blueprint・・ファイルを分けて管理できる機能(Flaskで利用)
-
werkzeug(ヴェルクツォイク) WSGIというHTTPサーバ。Flask(フラスク)に含まれている
-
Gunicorn(グニコーン)・・Python製のWSGIサーバ (Herokuで必要)
Webスクレイピング関連
- BeautifulSoup(ビューティフルスープ)・・HTMLやXMLをいい感じに抽出できるライブラリ。
データベース関連
- SQLAlchemy(エスキューエルアルケミー)・・Pythonのためのデータベースツールキット、ORMでもある。
-
ORM(オーアールエム)(O/Rマッパー)(Object Relational Mapping)・・異なるデータベースでも同じように使えるようにした仕組み。
-
flask-sqlalchem(フラスク-エスキューエルアルケム)・・SQLAlchemyをFlaskで動かすための拡張
-
psycopg(サイコップジー)・・Python用のPostgreSQLアダプタ。
-
Postgresql(ポストグレエスキューエル)・・Heroku(ヘロク)を無料で使うならこれ。
-
Mysql(マイエスキューエル)・・ブログといったらこれなデータベース。
-
SQLite(エスキューライト)・・簡易的なデータベース ファイルに保存していく。
パッケージ管理など
-
Git(ギット)・・バージョン管理システム。個人的にノーベル賞ものの発明だと思ってます。
-
GitHub(ギットハブ)・・Git(ギット)を見やすくしたサービス。世界中の天才たちのコードがたっぷりあつまっております。
ネットワーク・インフラ系
- WSGI(Web Server Gateway Interface)(ウェブサーバーゲートウェイインターフェース)・・サーバとWebアプリケーションをつなぐ共通のインターフェース
-
GET/POST(ゲット/ポスト)・・お問い合わせフォームなどから情報をおくる際のHTTPの規格。GETはアドレスに付属(見せていい情報)、POSTは付属しない(見せちゃダメな情報)
-
Heroku(ヘロク)・・PaaSの一種。Pythonを無料でウェブサイトとしてアップできる。(無料だといろいろ制限あり)
-
Paas(パース(Platform as a Service)プラットフォームアズアサービス)・・ネットワークなどのインフラ・OSなどのプラットフォームを利用できる。
-
クラウド・・インターネットにつながっている状態で利用するタイプのサービス。
セキュリティに関すること
- SQLインジェクション対策・・フォームからSQL文が打てちゃうと、データベースの内容を書き換えたりデータ消したりできるので、SQL文は入力無効にしないといけない。
(有名なWebフレームワーク(Django、Flaskなどは対応済み)
プログラム操作関連
- CUI(シーユーアイ(Character User Interface))・・キーボード入力のみ。フォルダ移動、ファイル作成などもキーボードでやっちゃう。
-
GUI(ジーユーアイ(Graphical User Interface))・・マウスでクリックできる。一般的なパソコン画面やアプリはこっち。
-
CLI(シーエルアイ(Command Line Interface))・・キーボード入力で実行できる環境。
ex) heroku-cli など。
外部のWebサービス
- API(Application Programming Interface)・・ ホームページやWebサイトが提供している機能。
ユーザー登録して外から利用できたりする。
ex) Twitter API
Facebook API
Youtube API
楽天トラベル API
天気 API
路線図 API
などいろんなサイトがAPIを提供している。
その他
開発用エディタはVS Code がお気に入り。
参考図書
『Python』関連ではこんな記事も読まれています。
1. 【Python】手軽に試す方法2つとwebフレームワークについて【初心者向け】2. 【Python(パイソン)】でできる事の実例 じゃらんや楽天トラベルからデータをとってゴニョゴニョできちゃうんです
3. 【Python(パイソン)】でホームページをつくった時の話【Flask/Vagrant/Heroku】
4. 【Python】Flaskのチュートリアルがもっとわかるようになるまとめ【初心者向け】
5. 【Python】用語集まとめてみた。~Webサービスをつくりたい人向け~【初心者向け】※随時更新中
6. 【Python】でWebアプリをがっつりやるならDjango一択な4つの理由【初心者向け】
7. 【Python/Django】Webアプリのテンプレートなら『cookiecutter』がよさげ【簡単で安心】
8. 【Python/Django】mysqlとの接続があまりにあっさりしすぎて拍子抜けした話
9. 【Python/Django】webフレームワークを使う6つのコツ〜最短距離でアプリをつくるために【初心者向け】
10. 【Django】Webアプリのフォルダ構成のアイデア〜違うアプリで同じテーブルを使いたい!
11. 【Django】【Laravel】【RubyOnRails】を比較してみた【初心者向け】【体験談】
アオキのツイッターアカウント。