注目のストーリー
システム
#22 AIチャットボット開発!(PyCon JP 2024)
低コストで実現する社内文書RAG機能を搭載したAIチャットボット開発RAG技術の活用AIチャットボットを社内で使用する際に社内の情報を覚えさせたボットを作りたいかと思います。そこでRAG(Retrieval-Augmented Generation)を使用することで、この要望を実現することが可能となります。RAGは、大規模言語モデル(LLM)と情報検索を組み合わせることで、より正確で最新の情報を提供する手法です。低コストでの実現高価な商用ソリューションに頼らずとも、下記のようなオープンソースツールを活用することで、低コストでRAG機能を実装できます。Python: 開発の基盤となるプログ...
#21 pythonにおけるHTTPクライアントツールは何を使う?(PyCon JP 2024)
PythonのHTTPクライアントツール徹底比較主要なHTTPクライアントツールpythonでHTTPリクエストを行う際には主に下記のライブラリが使われるかと思います。requestshttpxaiohttpurllib3比較のポイントこれらのツールを以下の観点から比較しました。使いやすさ: APIの直感性や学習曲線機能性: サポートされているHTTPメソッドや認証方式パフォーマンス: リクエスト処理速度や並行処理能力メンテナンス状況: アップデート頻度やコミュニティのサポート各ツールの特徴requests:Pythonで最も人気のあるHTTPクライアントライブラリシンプルで直感的なAP...
#20 実践Pytest入門(PyCon JP 2024)
あなたのアプリケーションをレガシーコードにしないための実践Pytest入門概要レガシーコードは、テストがなく修正や拡張が難しいコードを指します。このようなコードは技術的負債となり、長期的には開発速度の低下や保守コストの増大につながります。この問題を解決するために、Pytestを活用した単体テストの実践が効果的です。Pytestは、Pythonのテストフレームワークで、テストコードの作成と実行を容易にします。実際にどのようにテストを書くことができるか見ていきましょう。シンプルな関数のテスト身長と体重からBMIを計算する例def calc_bmi(*, height: float, weig...
#19 Pythonにおける文字コードの重要性?(PyCon JP 2024)
PythonのUTF-8化Python 2からPython 3への移行Python 2では、ソースコードのデフォルトエンコーディングがASCIIで、バイト文字列とユニコード文字列の暗黙的な型変換が可能でした。しかし、これは多くの問題を引き起こしていました。Python 3への移行では、バイト列と文字列が明確に区別され、デフォルトエンコーディングがUTF-8になりました。この変更は大きな互換性の問題を引き起こしましたが、長期的には有益だったと評価されています。Windows環境でのUTF-8対応Python 3.6では、WindowsでのUTF-8対応が大幅に改善されました。コンソールI/...
#17 Pythonの型ヒントについて考える(PyCon JP 2024)
実例から学ぶ型ヒントの活用手法Pythonの型ヒントとはPythonは動的型付け言語ですが、型ヒントを使うことで静的型チェックやその他の機能を実現できます。型ヒントの特徴として、以下が挙げられます。Python自体は実行時に型ヒントを無視するサードパーティのツールやライブラリが型ヒントを活用できる静的型チェック以外にも様々な用途で利用可能型ヒントを活用するライブラリの実例Pythonにおける人気の型ヒントを活用するライブラリとして、Pydantic、FastAPI、SQLAlchemyという3つを紹介します。PydanticデータバリデーションシリアライゼーションJSONスキーマの生成f...
#16 PythonにおけるORMは何がいい?(PyCon JP 2024)
ORM と向き合う導入ORMは中規模以上のアプリケーション開発において避けられない技術です。その主な理由は、リレーショナルデータモデルとオブジェクトデータモデル間の「インピーダンスミスマッチ」と呼ばれる本質的な差異にあります。この問題により、生のSQLを使用したアプリケーション開発は規模が大きくなるにつれて非効率になります。ORMに期待される主な機能には、データ型変換、型サポート、コネクションプーリング、トランザクション処理などがあります。一方で、ドメインロジックとの融合や過度に直感的なインターフェースは必ずしも必要ではありません。Pythonにおける主要なORM選択肢として、SQLAl...
#15 SQLModel入門(PyCon JP 2024)
SQLModel入門 〜クエリと型〜導入最近のPythonバックエンド開発において、SQLModelが注目を集めています。SQLModelは、FastAPIの作者によって開発されたPythonのORMライブラリで、SQLAlchemyとPydanticの強みを組み合わせて、データベース操作と型安全性を提供します。SQLModelの特徴モデル定義はPydanticのお作法を踏襲し、簡潔に書けます。クエリはSQLAlchemyと同じ豊富な機能を使用できます。FastAPIとの親和性が高く、高速な開発が可能です。基本的なモデルの書き方では、table=Trueを指定することでテーブルとの紐付け...
#06 エンジニア必見!大手企業エンジニアの業務~代表インタビュー~
こんにちは!ITEEKの中村です。本日は、大手企業での就業経験で最も印象的だった仕事について、上川代表へインタビューしてきました。今回はかなり技術的に興味深いお話となりましたので、ぜひエンジニアの皆さんには読んでいただきたい内容です!会社員時代で最も印象的な仕事を教えてください。上川:会社員時代で最も印象的な仕事は、ある大手企業のWebエンジニアとして取り組んだ大規模なシステムリニューアルプロジェクトです。このプロジェクトは、これまで長きに渡って継ぎ足しされてきたシステムの技術的負債を精算するため、会社全体で取り組まれたプロジェクトで、最新の技術を導入することでUXも大幅に向上させること...