採用ナレッジの一環で、今日はPythonについて深掘り。

 

▼プログラミング言語の一覧はこちら

 

エンジニア採用に向けて改めて勉強してみて感じるのは、ITリテラシーってやっぱり重要びっくりマーク

(ドヤってるけど、今更感はんぱない真顔

 

アメリカの株が上がっているのもIT業界がずば抜けて生産性が高いからにほかならない。

 

でも、どんどんIT系のサービス作るぞ!となっていたITバブルも、

今後はもっとPMF(プロダクト マーケット フィット)していこうという原点に戻った感が、

より一層IT人材の枯渇を極めるだろうと。

 

少子化の日本にとっては本当に厳しい。

 

でもそれが本来のあるべき姿だから致し方ない。

 

 

 

Python

 

 

つくれるもの

・Web、スマホアプリのバックエンド
・AI、ビックデータ
・ブロックチェーン

 

 

有名なプロダクト

・ペッパーくん
・Instagram
・Dropbox

 

 

特徴

・先端的な技術に触れる機会が多い
・汎用性が高い
・データ科学、機械学習、ウェブ開発など、多岐にわたる分野で採用
・学習しやすく、ライブラリが豊富
・Macの人は標準装備

 

 

フレームワーク

<Web開発向き>

フレームワーク

フレームワーク特徴

Django(ジャンゴ)
Django - Python Logo - CleanPNG / KissPNG
・「ユーザー認証」、「サイトマップ」、「RSSフィード」などの機能が、フレームワークに含まれている
・拡張性が高く、用途が広いフレームワーク
・複雑なWebアプリケーションやAIエンジンを積んだシステムなどの開発が可能
・コードの書き方に人ごとの差異が生じにくくなるよう設計
・大規模な開発に向いているフレームワーク
Flask
flask · GitHub Topics · GitHub
・最小限の機能を備えた軽量なフレームワーク
・データベース機能など追加できる拡張機能が多い
・自由度が高く、カスタマイズしやすい
・Djangoほどの汎用性の高さはない
・機械学習のようなデータを活用したプロダクトの開発に採用
・シンプルで処理が高速
・個人ブログや個人商店のECサイトなどの小規模な開発に向いているフレームワーク
FastAPI
Fastapi Vector Logo - Download Free SVG Icon | Worldvectorlogo
・Flask同様に軽量かつ構造が簡単
・少ないコード量での高速な開発が可能
・OpenAPIに準拠したAPIドキュメントを自動で出力できることが特徴
・効率的なAPI開発が可能
・APIのデータ検証の機能も含まれている
・API開発に向いているフレームワーク
Streamlit
入門】Streamlitでデータ分析WEBアプリを作る方法 – 技術は使ってなんぼ! for wealth
・簡単にWeb開発ができるフレームワーク
・最短一行でアプリを開発でき、デプロイも容易
・HTMLやCSSなどのフロントエンドの知識がなくてもデータを可視化できる
・データサイエンス分野のアプリケーション開発に向いている
・デザイン性のあるWebUIが簡単に作成できる
・プロトタイプのWebアプリ作成から動作確認までを素早く行いたい場合に用いることもできる
・短納期化に有効
Bottle
2024 年】おすすめPythonフレームワーク25選|Kinsta®
・Webアプリケーションを簡単に作成できるマイクロフレームワーク
・シンプルな構造
・WSGI(サーバーとWebアプリをつなぐインターフェース)という特徴を持つBottleは、サーバーの制限を気にせずに使用が可能
Tornado
Tornado | New Relic
・小規模なWebアプリケーションの開発ができるマイクロフレームワーク
・同時接続処理を行う事が可能
・リアルタイムのWebサービスの開発に適している
・非同期通信(ネットワークで接続されているサーバーとアプリケーションが同期を取らずに通信を行う)
・データ通信のリクエストをしてからレスポンスが来るまでに他の処理を行うことができるというメリット

 

DjangoとFlaskが使われることが多いらしい電球

次いで、FastAPI。

 

 

<データサイエンス・機械学習向き>

フレームワーク

フレームワーク特徴

Tensorflow
TensorFlow を使ってみる
・Googleが開発している、機械学習向けのフレームワーク
・機械学習を行うために重要なニューラルネットワークの構築が可能
・データの読み込みや前処理、計算処理、出力などあらゆる処理でテンソル(多次元配列)を扱う
・モバイル・IoT向けのTensorFlow LiteではAndroidだけでなくiOSでも利用できる
・言語やデバイスを問わず利用できる
Keras
ファイル:Keras logo.svg - Wikipedia
・ニューラルネットワークライブラリ
・現在は前述のTensorFlowに吸収され、TensorFlowの中のライブラリとして動作
・ディープラーニングの基礎である数学的理論をシンプルなコードで実装
・ニューラルネットワークを容易に構築できる
Pytorch
Pytorchの画像データセット-torchvision.datasets | βshort Lab
・機械学習向けライブラリ
・直感的なコーディングが行えるように工夫
・構造が「Numpy」によく似ている
・開発コミュニティが活発で、最新の手法に関する情報も入手しやすいというメリットがある
・動的なニューラルネットワーク構築(define by run)にも対応、データを流しながらネットワーク構築を行うことができる

 

 

<ブロックチェーン開発向き>

フレームワーク

フレームワーク特徴

Enterprise Ethereum
イーサリアム - Wikipedia
・パーミッション型で秘匿性が高く、低コスト
・製造業におけるトレーサビリティや国際貿易のプロセスのデジタル化などで活用
Hyperledger Fabric(ハイパーレジャーファブリック)
Hyperledger ロゴ - ソーシャルメディアとロゴ アイコン
・IBMとデジタルアセットホールディングスが共同で開発したフレームワーク
・製造業におけるサプライチェーン管理ソリューション、医療データの共有と管理、貿易金融プラットフォームや不動産や保険の契約、身元確認システムなどの様々なアプリケーションを開発する際に使用
Corda(コルダ)
ブロックチェーン「Corda(コルダ)」とは?特徴や活用方法・ユースケースを紹介 – Mediverse|暗号資産(仮想通貨)の専門メディア
・主に金融機関で利用することを目的に開発されたオープンソースのフレームワーク
・取引を行っている本人以外に取引の存在事態認識できない秘匿性の高さと処理スピードの速さが特徴
・R3コンソーシアム(みずほフィナンシャルグループや三菱UFJファイナンス・グループなどの300以上の企業や公的機関が参加する組織)によって運用

 

 

色々ありすぎて覚えられる気がしない真顔