Oracle Cloud Hangout Cafe Season6 #4「Pythonで作るAPIサーバー」(2022年12月7日開催)

2024年3月21日(木)
野中 恭大郎
第2弾の連載第4回では、2022年12月7日に開催された 「Oracle Cloud Hangout Cafe Season6 #4『Pythonで作るAPIサーバー』」の発表内容に基づいて紹介していきます。

はじめに

Oracle Cloud Hangout Cafe」(通称「おちゃかふぇ」/以降、OCHaCafe)は、日本オラクルが主催するコミュニティの1つです。定期的に、開発者・エンジニアに向けたクラウドネイティブな時代に身につけておくべきテクノロジーを深堀する勉強会を開催しています。

連載第4回の今回は、Pythonを使ったAPIサーバーをテーマとして取り上げます。機械学習などのイメージもあるPythonですが、WebフレームワークのDjango/Flask/FastAPIなど、Web APIの実装言語としても近年では人気があります。そこで、Pythonの基礎知識から、Django/Flaskそれぞれの特性、データベースとの接続など、Pythonで記述したWebアプリケーションがどのようものになるかを紹介していきます。

アジェンダ

今回は、以下のアジェンダの流れに従って、順に解説します。

  • Python超基礎
    • 概要、環境構築、Hello World
  • PythonのWebフレームワーク
    • Django、Flask、FastAPI
  • PythonでAPIサーバーを作ってみよう
    • データベースと接続
    • コンテナ化
    • gRPC with Python

発表資料と動画については、下記のリンクを参照してください。
資料リンク
動画リンク

Python超基礎

Pythonの概要

Pythonは1990年代初頭から公開されています。プログラムの「読みやすさ・わかりやすさ」を重視している言語で、インデントがコードブロックとしての意味を持つ独自の性質があります。

実用的で高い拡張性も備えるという特長があり、システム管理、ツール・アプリケーション開発、科学技術計算、Webシステムなど、幅広い分野で利用されている言語です。

Pythonの環境構築

Pythonで開発する際のキーワードについて解説します。

  • PythonとAnaconda
    • Python -> GeneralなPython
      • 本記事はこちらを解説しており、Linux上の動作を前提
      • 公式よりダウンロード
    • Anaconda -> 機械学習などに利用するディストリビューション
  • Python2とPython3
    • 2系と3系で互換性なし
    • venvやpyenvで開発環境を分けて使い分け
    • 本記事はPython3前提
  • PyPI(pip)
    • Pythonパッケージのインストールなどを行うユーティリティ
    • Python 3.4以降には標準で付属
  • venv(virtualenv)
    • 公式が提供するPythonのパッケージ管理ツール
    • Pythonプロジェクト毎に管理が可能
    • Pythonそのもののバージョンを管理するPyenvとは使い分け(もしくは併せて利用)
  • IDE(VSCode / Jupyter)
    • VSCodeなどの多機能エディタにはPythonでの開発を支援する拡張機能が存在
    • インタラクティブコンピューティング用としてのJupyter NotebookはPythonでの利用が一般的

・venvの使い方
Pythonが実行できるVMなどを用意し、仮想環境を作成します。コマンド内、2つ目のvenvは、ライブラリなどがインストールされるディレクトリの名称です。

$ python -m venv venv
仮想環境のアクティベート
$ . venv/bin/activate

Pythonで「Hello World」

早速Pythonを実行してみましょう。

・対話モード
まず対話モードを起動します。

$ python
Hello Worldを出力してみます。
>>> print('Hello World!') 
Hello World!
対話モードを終了させるには、以下の文を実行します。
exit()

・スクリプトで実行
hello.pyというファイル名で、以下の内容を記述したファイルを作成します。

python
print('Hello World!') 
以下のコマンドを実行します。
$ python hello.py
Hello World!
日本オラクル株式会社

Oracle Groundbreaker Advocate
Solution Atchitect

ERPパッケージベンダーに新卒で入社後、レガシーなアプリをいかに改善していくかという業務に従事。主に機能開発やパフォーマンス改善、フロントエンド基盤のリプレイスを担当。日本オラクルに入社後は、アプリ開発者としての経験を活かし、WebLogicやCloud Native領域を担当。

Community:
Oracle Cloud Hangout Cafe メンバー(#ochacafe)

連載バックナンバー

仮想化/コンテナ技術解説
第4回

Oracle Cloud Hangout Cafe Season6 #4「Pythonで作るAPIサーバー」(2022年12月7日開催)

2024/3/21
第2弾の連載第4回では、2022年12月7日に開催された 「Oracle Cloud Hangout Cafe Season6 #4『Pythonで作るAPIサーバー』」の発表内容に基づいて紹介していきます。
仮想化/コンテナ技術解説
第3回

Oracle Cloud Hangout Cafe Season 4 #2「Kubernetesのネットワーク」(2021年5月12日開催)

2024/2/20
第2弾の連載第3回では、2021年5月12日に開催された 「Oracle Cloud Hangout Cafe Season4 #2『Kubernetesのネットワーク』」の発表内容に基づいて紹介していきます。
仮想化/コンテナ技術解説
第2回

Oracle Cloud Hangout Cafe Season7 #2「IaC のベストプラクティス」(2023年7月5日開催)

2024/1/18
第2弾の連載第2回では、2023年7月5日に開催された 「Oracle Cloud Hangout Cafe Season7 #2『IaC のベストプラクティス』」の発表内容に基づいて紹介していきます。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています