並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 55件

新着順 人気順

sqlalchemy orm pythonの検索結果1 - 40 件 / 55件

  • PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita

    2024.9.7:Anvilについて追記しました。 2024.8.6:FastHTMLについて追記しました。 ※本記事で言及しているReflexのdiscordサーバー内に日本語チャンネルをつくってもらいました。もし、興味をもった人がいたら参加してみてください。 1.PythonだけでWebアプリをつくるライブラリが増えている 最近(2024.05)、Python界隈ではPythonだけでWebアプリが作れるライブラリが増えています。詳しくは他の記事を参照してもらえればと思います。 以下の記事がとても参考になりました。ありがとうございます。 2.ライブラリの分類 こうしたライブラリも大きくわけて2つの種類があるように思います。 ①データ解析の結果を表示するダッシュボードライブラリ ②汎用的なWebアプリをつくるローコードライブラリ ①ダッシュボード系ライブラリ たとえば、上記の記事にも出て

      PythonだけでWebアプリが作れるライブラリが増えている(2024.05) - Qiita
    • 『現場のPython』を読んでPythonでWeb Appを作るために必要なものが大体わかった気になった - プププなテクブ

      書籍はこちら。 現場のPython──Webシステム開発から、機械学習・データ分析まで Web+DB PRESS plus 作者:altnight,石上 晋,delhi09,鈴木 たかのり,斎藤 努 技術評論社 Amazon 元々WEB+DB PRESS plus で連載されていた内容をまとめた本。連載期間は2020年6月〜2023年8月のものだったらしいけど、書籍化にあたって加筆されているらしい。 初版の発行は2024年9月と最近である。 この本を読もうと思った経緯 仕事で少しだけPythonを使うことになったから。作るものは簡単なツールだったんだけど、それにあたって環境周りやらLinter、Formatterとかは最近は何を使うといんだろう?っていうのをキャッチアップしたかった。 こればっかりはとっかかりがないことにはドキュメントを見に行くこともできないので、いい感じにまとめられてる情

        『現場のPython』を読んでPythonでWeb Appを作るために必要なものが大体わかった気になった - プププなテクブ
      • データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog

        こんにちは、一休.comスパ(以下、「スパ」)の開発を担当しているshibataiと申します🙏 今回はスパのデータベースの在庫の持ち方で試行錯誤した話をさせていただきます。 背景 2024-03-29追記: 一休.comスパにおける在庫の特徴について 一休.comスパが扱う「在庫」は、「ある日付の特定の時間に対する空き枠」です。以降の説明では、スパ施設ごと、日付ごと、また時間ごとに増えていく「在庫」をいかに効率よく扱うかについて説明しています。 詳細については次のスレッドも参照してください! https://t.co/Y0SPmDE4yZ この記事のコメントみてると、少し我々のシステムの要件が伝わってないというかそこの説明が記事に不足しているように思った。ので以下その補足— naoya (@naoya_ito) March 29, 2024 現在の実装 スパは予約を受け付けるために在庫の

          データベースの在庫の持ち方をビットで管理してる話 - 一休.com Developers Blog
        • FastAPIの作者が作った「SQLModel」が革命的すぎるので、全Python使いに教えたい

          この記事はLivetoon Tech Advent Calendar 2025の11日目の記事です。 本日はCTOの私がよく使ってるSQLModelについてお話します。 宣伝 今回のアドベントカレンダーでは、LivetoonのAIキャラクターアプリのkaiwaに関わるエンジニアが、アプリの話からLLM・合成音声・インフラ監視・GPU・OSSまで、幅広くアドベントカレンダーとして書いて行く予定です。 是非、publicationをフォローして、記事を追ってみてください。 SQLModelとは SQLModelは、 Pydantic と SQLAlchemy のいいとこ取りをしたPython ORMライブラリです。FastAPIの作者(tiangolo)が開発しており、以下の特徴があります: Pydanticの書き心地: バリデーション・型安全性をそのまま活用 SQLAlchemyの互換性:

            FastAPIの作者が作った「SQLModel」が革命的すぎるので、全Python使いに教えたい
          • 【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2024年版】 - Qiita

            Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに こんにちは。 普段はフロントエンドの開発をメインでやっておりますmamiと申します。 最近バックエンドの方の勉強や、少しずつですがDB設計やAPI作成などの業務もやらせてもらえるようになったので、自分のエンジニアとしてのレベル感や、この先目指すべき道筋を明確にしたいな〜という思いでこの記事を書いております。 これは自分のための記事であると同時に、同じように駆け出し中のエンジニアさんや、ミドル層を目指す手前のエンジニアさんにも刺さる内容になっているかと思います。 今、自分がどのようにキャリアアップしていくべきなのか、どのような道

              【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2024年版】 - Qiita
            • FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト アンビ(AMBI)

              FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ PythonのWebフレームワークとしていま注目を集めるFastAPIは、シンプルにコードが書けるだけでなく、パフォーマンスが高いWebアプリケーションのバックエンドサーバーが構築可能です。同フレームワークの勘所をPythonスペシャリストの杜世橋さんが、初心者向けのハンズオン、そしてより実践的な画像への自動タグ付けサービス実装をとおして解説します。 FastAPIはいま非常に注目されているPythonのWebフレームワークの1つです。Flaskのようにシンプルに書ける一方でPythonのType Hintの機能をうまく活用し、HTTPのリクエスト/レスポンスをPythonの関数の引数/戻り値とシームレスにマッピングして非常に効率的に開発ができるのが最大の特徴です。非同期処理にも対応していてその名

                FastAPI入門 - モダンなPythonフレームワークの特性をチュートリアルで手軽に学ぶ|ハイクラス転職・求人情報サイト アンビ(AMBI)
              • アーキテクトがチェックすべきオープンソースのWebサービス一覧

                実装の参考の当たり 前口上: オープンソースの実装を読もう 普段Web開発をしているとこの書き方は普通か、実装の方向性はよさそうか不安になることがあります。そういった際、同じリポジトリの既存実装や会社の他のリポジトリ、技術ブログや本、過去の経験、他のメンバーの意見などを参考にしつつ当たりをつけるわけですが、リファレンスが増えるに越したことはないです。 有名な言語、フレームワークではオープンソースのWebサービスがGitHub、GitLab上などにあがっていることがあり、参考になります。 それぞれライセンスがあり、とりわけGPL汚染などは要注意ですが、収集した一覧が溜まってきたのでまとめておきます。ある程度有名なものメインでスクリプト言語+Go。 Ruby Ruby on Railsは有名なので採用しているWebサービスが多数あります。 Redmine イシュー、プロジェクト管理ソフトのRe

                  アーキテクトがチェックすべきオープンソースのWebサービス一覧
                • Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy|Atsushi Shibata

                  Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy みんなのPython 第5版発売中です!Pythonで非同期処理というと標準のasyncioを使ってasync / awaitなコードを書くことを思いつく人が多いと思います。ただasyncioには独特の「つらみ」があって、嫌いな人がいるのです。私もあんまり好きじゃない。この「つらみ」を解消しうるライブラリWoveを紹介します。最近バージョン1.0がリリースされたので、紹介したいと思います。なお、はてブでホットエントリ入りしたので(ブックマークしてくれたみなさん、ありがとうございます!)、他のasyncio様のライブラリを比較表を追記しました。 asyncはなぜつらいのか?Pythonのasyncioは、I/O待ちの多いプログラム(WebアクセスやDB通信など)を効率化する強力な仕組み

                    Pythonの非同期処理でasync/awaitがつらい人はWoveを使ってみてはどうだろう? #こまPy|Atsushi Shibata
                  • 【海外記事紹介】なぜ私たちは、ローンチ直後のアプリをPythonからNode.jsに書き換えたか

                    11月4日、Yakko Majuri氏が「Why we migrated from Python to Node.js」と題したブログ記事を公開し、話題を呼んでいる。この記事では、ローンチからわずか1週間でバックエンドをPython(Django)からNode.js(Express+MikroORM)へ全面移行した理由と、その得失について詳しく紹介されている。以下に、その内容を紹介する。 11月4日、Yakko Majuri氏が「Why we migrated from Python to Node.js」と題したブログ記事を公開し、話題を呼んでいる。この記事では、ローンチからわずか1週間でバックエンドをPython(Django)からNode.js(Express+MikroORM)へ全面移行した理由と、その得失について詳しく紹介されている。以下に、その内容を紹介する。 概要 この記事の

                      【海外記事紹介】なぜ私たちは、ローンチ直後のアプリをPythonからNode.jsに書き換えたか
                    • 効率的にリファクタリングを進めるための下準備教えます - MonotaRO Tech Blog

                      はじめに ※ (2024/03/14 16:33) 「インテグレーションテストの気軽な実行・変更ができない」節にて、データのクリーンアップを teardownで行うよう修正 EC開発-B グループの岡崎と EC開発-A グループの菊川です。2人とも普段は MonotaRO の EC サイトの開発に従事しています。 今回は、昨年11月に開催した、テストとリファクタリングのためのワークショップの中で行ったライブコーディングの準備をするにあたって困ったことについて記載します。 ライブコーディングでは、参加者全員の前で実際のプロダクトのソースコードをリファクタリングする、ということにし、それにあたって研修の運営メンバーでリファクタリングに取り組んでみました。ただ闇雲にリファクタリングするのではなく、研修では参加者に「どのような流れや考え方でリファクタリングをするか」を理解してもらえるように、運営メ

                        効率的にリファクタリングを進めるための下準備教えます - MonotaRO Tech Blog
                      • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

                        概要 Web バックエンドのテストコードを書く場合、その多くは DB に依存していることが多いです。 DB 関連のテストは、テストデータの準備やテストケース毎の DB 処理化を適切に行うことが重要ですが、手間がかかる場合あるため、Mock で擬似的にテストしてしまうことも多いかと思います。 ただ、Mock を使ったテストは本質的な問題を検知できない意味のないテストになってしまう可能性があり、可能な限り DB の Mock を行わずに、実際の DB を使用してテストすることが望ましいと考えています。 本記事では、pytest、sqlalchemy、PostgreSQL を使った場合に、テストケース毎に DB を簡単に初期化しつつ、テストケース毎の前提データ登録も簡単うことでテスト開発体験を向上させる方法を紹介します。 前提環境 本記事では、以下の環境を前提として説明いたします。 python

                          pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
                        • 大規模分散DBのCloud Spannerが、RailsのActive Recordに対応。スケーラブルで高可用なRubyアプリケーションの開発が容易に

                          Googleは、同社がクラウドサービスとして提供しているCloud SpannerをRailsのActive Recordに対応させるアダプタ「activerecord-spanner-adapter」が正式版となったことを発表しました。 Cloud Spannerは、Googleの多数のデータセンターにまたがる地球規模で大規模分散処理を行うリレーショナルデータベースです。事実上無制限とされる高いスケーラビリティと99.999%の高可用性を備えつつ、強い一貫性とトランザクション処理、SQLによるクエリなどを実装しています。 メルカリの決済サービスであるメルペイがバックエンドデータベースにCloud Spannerを採用し、数百万ユーザーの処理を行っているとされています。 このCloud SpannerをRailsのActive Recordのバックエンドデータベースとして使えるようにするア

                            大規模分散DBのCloud Spannerが、RailsのActive Recordに対応。スケーラブルで高可用なRubyアプリケーションの開発が容易に
                          • よくわからないで使っていたFastAPIの復習

                            この記事中のサンプルコードはあくまで実験目的のためのものです。 排他制御とかしないでグローバル変数やクラス変数やシングルトンなどを使用すると不整合がおきるので実際のコードではやらないでください。 学習リソース FastAPIを学習する前提としてPythonの型ヒントや非同期処理についての前提知識がないと難しいかもしれません。 実際は同期処理だけでつくることもできますが、FastAPIを使う場合は非同期処理で書いた方がパフォーマンス対応で取れる選択肢が広がります。 公式のチュートリアル 素晴らしいチュートリアルで、多くのケースではこれを読むだけで十分。 機械翻訳済の日本語ページも存在する FastAPI: Modern Python Web Development by Bill Lubanovic. BOOK 上記コード Pythonの型ヒントや非同期の説明もあり、初学者を取りこぼさない構

                              よくわからないで使っていたFastAPIの復習
                            • 【海外記事紹介】Pythonには10年前からasyncがあるのになぜ普及しないのか

                              9月3日、Anthony Shaw氏(通称 Tony Baloney)が「Python has had async for 10 years -- why isn't it more popular?」と題したブログ記事を公開した。この記事では、Pythonにおける非同期処理(async/await)が導入から10年経っても広く普及しない理由と、Python 3.14で正式に加わる並行・並列実行の新機能(Free-Threading と Multiple Interpreters)の意味について詳しく紹介されている。以下に、その内容を整理する。 背景――Python 3.14で進む並行・並列化 2015年のPython 3.5でasync/awaitが導入されてから10年が経過した。間もなくリリースされる3.14では、表面的にはカラフルなREPL機能などが注目されているが、実は並行処理に関

                                【海外記事紹介】Pythonには10年前からasyncがあるのになぜ普及しないのか
                              • SQLAlchemy 向け Google Cloud Spanner 言語 | Google Cloud 公式ブログ

                                ※この投稿は米国時間 2021 年 12 月 11 日に、Google Cloud blog に投稿されたものの抄訳です。 このたび、SQLAlchemy 向け Google Cloud Spanner 言語の一般提供を開始したことをお知らせします。これにより、SQLAlchemy アプリケーションは Cloud Spanner のスケール、強整合性、最大 99.999% の可用性を享受できます。SQLAlchemy は Python SQL ツールキットおよびオブジェクト リレーショナル マッパーとして、SQL の機能と柔軟性をアプリケーション デベロッパーに提供します。オブジェクト リレーショナル マッパー(ORM)により、オブジェクト モデルとデータベース スキーマを明確に分離して開発できるほか、基盤となる SQL とオブジェクト リレーションの詳細がユーザーにもわかりやすくなってい

                                  SQLAlchemy 向け Google Cloud Spanner 言語 | Google Cloud 公式ブログ
                                • AWS発のAI搭載IDE「Kiro」を使って爆速開発してみた | iret.media

                                  はじめにこんにちは。 今年の夏ごろにAWSからAIを搭載したIDEであるKiroがリリースされました(プレスリリース)。 AWSから提供されていることもありAWSとの連携は強いのですが、最大の特徴としては単なるAIによるコード補完や生成にとどまらず、仕様駆動開発 (Spec-Driven Development)を核としているところにあります。 開発のアイデアを日本語などの自然言語でAIに与えることで、AIが要件定義、システム設計、実装タスク等を作成してくれます。それを基にコードを含む成果物を生成することで、短時間で開発のアイデアを動くモノとしてアウトプットすることが可能になります。 実際に下記のようなWebページをKiroを用いて開発しました。 インストール公式ページからダウンロードが行えます。リリース当初はウェイトリストがあったのですが、現在はウェイトリストは終了しているとのことです。

                                    AWS発のAI搭載IDE「Kiro」を使って爆速開発してみた | iret.media
                                  • Ai Workforceのインフラ構成 - LayerX エンジニアブログ

                                    こんにちは、LayerX AI・LLM事業部テックリードの須藤です。 今回は、AI・LLM事業部が提供する「Ai Workforce」のインフラ構成について紹介します。 先日、Ai Workforceの紹介サイトがついに公開されました! getaiworkforce.com また、プロダクト開発チームも以下の記事で紹介されていますのでこちらも合わせてご覧ください。 tech.layerx.co.jp Microsoft Azureを選定した理由 Ai Workforceのクラウド基盤にはMicrosoft Azureを採用しています。その主な理由は以下の2点です。 Azure OpenAIとのシームレスな連携 Ai WorkforceではAzure OpenAIを活用しており、同じAzure環境内でデータのやり取りができるため、セキュリティの向上とパフォーマンスの最適化が見込めます。かつ、

                                      Ai Workforceのインフラ構成 - LayerX エンジニアブログ
                                    • FastAPI SQLModel 入門 - Qiita

                                      SQLModel はPythonコードから SQL databases と会話するためのライブラリです。ここでは FastAPI での使われ方を見ていきますが、FastAPIとは独立したものとして設計されています。 SQLModelはFastAPI の作者が自ら作成しており、SQLAlchemy と Pydantic の両方との互換性を保っています。Pydantic はデータ検証のためのPythonライブラリです。Pythonのtype hintが使われます。ですからPydanticクラスはAPIの入り口であるパスオペレーション関数で使われることが一般的です。 過去記事「FastAPI と SQL Databases(SQLAlchemy)」でFastAPIで SQLAlchemy を使ってSQL Databaseを扱う方法を述べましたが、SQLAlchemy と Pydantic の2重

                                        FastAPI SQLModel 入門 - Qiita
                                      • Python: Just write SQL

                                        I have been writing a lot more Go this past year. For those not familiar, Go favours a non-ORM, non-query-builder approach to interacting with databases. This comes naturally due to the sql package: A common interface to be used alongside database drivers. It’s very common to see actual SQL in Go, even in large projects. On the other hand, Python does not have anything in the standard library that

                                        • SQLAlchemyの基本的な使い方 - Qiita

                                          SQLAlchemyとは SQLAlchemyとは,Pythonの中でよく利用されているORMの1つ. ORMとは,Object Relational Mapperのことで,簡単に説明すると,テーブルとクラスを1対1に対応させて,そのクラスのメソッド経由でデータを取得したり,変更したりできるようにする存在. ORMの利点とは 1. 異なるDBの違いを吸収してくれる DBの種類によらず,同じソースコードで操作できるので,複数のDBを併用する場合や,DBを変更する場合にも,コードの書き換えの必要がない. 2. SQLを書かなくてもよい MySQLや,SQLite,PostgreSQLなどのDBを操作するにはSQLを使うが,SQLAlchemyを使うと,SQLを直接記述することなしに,DBを"Pythonic"に操作できる. SQLAlchemyの使い方 簡単な流れとしては,どのDBにどうやって

                                            SQLAlchemyの基本的な使い方 - Qiita
                                          • Flask SQLAlchemy で REST API を作ってみた | DevelopersIO

                                            SQLAlchemyを何となくで使用していたのでこの機会に入門してみました。 Flask-SQLAlchemy を用いてRDBをORMとして扱い、REST APIを作成します。 ORMとは ORM(Object-Relational Mapping)とは、データベースとオブジェクト指向プログラミング言語とのマッピングを行うことを指します。 ただこれだけ聞くと、イメージしづらいですが、簡単に言うと、SQL文を直接記述せずに、通常のオブジェクトを扱うようにデータベースを扱うことができるということです。 Pythonでは、ORMモジュールの1つに SQLAlchemy があります。 SQLAlchemy SQLAlchemyは、Pythonでポピュラーに使用されているORMライブラリの1つのようです。 SQLite、Postgresql、MySQL、Oracleなどさまざまなエンジンにも対応して

                                              Flask SQLAlchemy で REST API を作ってみた | DevelopersIO
                                            • zzzeek : Patterns Implemented by SQLAlchemy

                                              Mike Bayer is the creator of many open source programming libraries for the Python Programming Language, including SQLAlchemy, Alembic Migrations, Mako Templates for Python, and Dogpile Caching. Dilly and Posy were dedicated members of the team. Dilly and Posy were best of friends, and after a few years in different worlds are together again. We will always love and miss you Dilly and Posy! Catego

                                              • Boring Python: code quality

                                                Boring Python: code quality December 19, 2022 Django, Python This is the second in a series of posts I intend to write about how to build, deploy, and manage Python applications in as boring a way as possible. In the first post in the series I gave a definition of what I mean by “boring”, and it’s worth revisiting: I don’t mean “reliable” or “bug-free” or “no incidents”. While there is some overla

                                                  Boring Python: code quality
                                                • Why we migrated from Python to Node.js

                                                  We just did something crazy: we completely rewrote our backend from Python to Node just one week after our launch. We did this so we can scale. Yes, scale. A week in. In some ways, it's a good time right? The codebase is still small and we don't have too many users. But on the other hand, it goes completely against the advice given to early-stage startups which is to just ship and sell, and worry

                                                  • 【SQLAlchemy】sessionの作成はどの方法がいいのか?考えてみた - とりあえずの独り言

                                                    概要 sessionクラスを使う session_markerクラスを使う scoped_sessionクラスを使う(オススメ) session のクローズについて 補足(auto_flush, auto_commit設定について) 補足(トランザクションについて) 概要 SQLAlchemyでは、sessionの作成方法が複数あって結局どれがいいの?っていうのをいろいろ考えてみた。 ちなみに、Flaskなどのフレームワークを利用している場合はSQLAlchemyをラップしたFlask-SQLAlchemyなどがあるのでここら辺を利用するとsession周りは良しなにやってくれます。 フレームワークを使わないような、ツールやバッチ系などではSQLAlchemy単体で使うことも多いと思うのでそういう人向けです。 参考: SQLAlchemyのSession生成方法 - Qiita 【Pyth

                                                      【SQLAlchemy】sessionの作成はどの方法がいいのか?考えてみた - とりあえずの独り言
                                                    • SQLAlchemyでテーブル設計とORMの操作

                                                      SQLAlchemyとは SQLAlchemyは、PythonのORMの1つで、Pythonでは一番有名なORMでもあります。ORMとしては、SQLインジェクション対策が標準でサポートされています。ただのORMとしてではなく、テーブル設計を行うのにも非常に便利です。 ここではSQLAlchemyの使い方について紹介します。DBはPostgresqlやMySQLではなく、簡易的なはSQLiteを使用します。 ORMとは Object-Relational Mappingの略です。 オブジェクト志向言語のクラスとRDBとのマッピングを行ってくれるのがORMです。SQLをオブジェクト指向で書けるようになります。 ORMの利点をまとめると主に以下の2つの点があります。 異なるDBの違いを吸収する MySQLやPostgresqlといったデータベースの種類によらず、同じソースコードで操作できます。

                                                        SQLAlchemyでテーブル設計とORMの操作
                                                      • FastAPI の Dependency Injection (Depends + Injector )

                                                        はじめまして、株式会社 neoAI というところでソフトウェアエンジニアをしている Moriyasu といいます。 今回は弊社として初めてのソフトウェアのブログを担当させていただくことになりました。 さて、年末年始はみなさんいかがお過ごしでしたか? 僕は暇だったので、自社プロダクトを Flask から FastAPI に移行するコーディングをずっとやっていました。FastAPI を"完全に理解"したので、今回は FastAPI での Dependency Injection (依存性の注入) について解説します。 前提 今回出てくる技術について先にさらっておきます。 FastAPI: 高速でモダンな API を構築するための Python フレームワーク SQLAlchemy: Python の ORM ライブラリ Injector: Python の Dependency Injecti

                                                          FastAPI の Dependency Injection (Depends + Injector )
                                                        • AI模擬面接アプリをリリースしました

                                                          1. はじめに IT エンジニア向けの模擬面接アプリ「Skymock AI」をリリースしました。 サインイン不要で、誰でも気軽に利用できます。 Skymock AI は、職種に特化したリアルタイムの模擬面接ができるサービスです。 本記事では、Skymock AI の機能概要、技術構成について紹介させていただきます。 2. 機能概要 Skymock AI は、現在以下の機能を提供しています。 リアルタイム模擬面接: リアルタイムの音声対話を通じて、模擬面接が可能です。現在は以下の職種の面接をサポートしています。 フロントエンドエンジニア バックエンドエンジニア フルスタックエンジニア SRE ネイティブアプリエンジニア 機械学習エンジニア 面接履歴の保存: 全ての模擬面接の内容は保存され、ユーザーはいつでも振り返りができます。 面接のフィードバック: 面接後、面接内容をもとに、ユーザーにフィ

                                                            AI模擬面接アプリをリリースしました
                                                          • The FastAPI Ultimate Tutorial

                                                            Introduction Tutorial Series Contents Optional Preamble: FastAPI vs. Flask Beginner Level Difficulty Part 1: Hello World Part 2: URL Path Parameters & Type Hints Part 3: Query Parameters Part 4: Pydantic Schemas & Data Validation Part 5: Basic Error Handling Part 6: Jinja Templates Part 6b: Basic FastAPI App Deployment on Linode Intermediate Level Difficulty Part 7: Setting up a Database with SQLA

                                                            • Gemini CLIだけでTo Doアプリを開発してみた(前編) - G-gen Tech Blog

                                                              G-genの西田です。当記事では、Gemini CLI での対話だけで、To Do タスクを管理するWebアプリケーションの開発手順を紹介します。 はじめに 当記事について 開発ステップ Gemini CLI の起動 要件定義と開発計画の決定 アプリケーションの開発 開発の開始 動作確認 アプリケーションの修正 はじめに 当記事について 当記事では、Webアプリケーションの開発経験が無い方でも、Gemini CLI を利用して To Do タスクを管理するWebアプリケーションを開発する際の進め方をご紹介します。 前編では、アプリケーションの基本的な動作や画面を確認できるプロトタイプを作成することを目的として、Gemini を利用した要件定義から始めて、ローカル環境で動作確認を行うレベルの開発を実施していきます。 この記事では、Gemini CLI や Cloud Shell などを活用し

                                                                Gemini CLIだけでTo Doアプリを開発してみた(前編) - G-gen Tech Blog
                                                              • ORMとはなんぞや - WEB開発ノート

                                                                ORM (オブジェクト関係マッピング) とは 各言語の有名ORM ORM (オブジェクト関係マッピング) とは ORMとは、Object-Relational Mappingの頭文字をとったものです。 その名前からわかる通り、オブジェクトと関係(関係データベース、RDB)とのマッピングを行うものです。 ここでの、オブジェクトとはオブジェクト指向におけるオブジェクトのことであり、関係とはRDBのことです。 多くのプログラミング言語はオブジェクトを扱うので、そのオブジェクトをRDBに保存できるように、対応付けを簡単にするためORMを使います。 もっと簡単にいうと、SQLを直接書くことなく、オブジェクトのメソッドでDB操作ができる、ということです。 例えば、createメソッドで新規作成を行ったり、destroyメソッドで削除する、といった感じです。 また、DBの作成やマイグレーションといったD

                                                                  ORMとはなんぞや - WEB開発ノート
                                                                • PythonでWeb開発を学ぶ上で確認するべきGitHubリポジトリ 18選 2023年版

                                                                  はじめに 今回の記事では、Web開発でPythonを学ぶ上で絶対に確認するべきGitHubリポジトリを18個、私の独断と偏見で解説する。 対象とする読者 これからPythonをWeb開発で導入したい人 Pythonを使ったWeb開発に興味がある人 Pythonに関連した情報収集している人 タイトルでなんとなく気になった人 Django DjangoはPythonで開発されたWebフレームワークである。最大の特徴は、バックエンド開発に必要な機能がデフォルトで搭載されている点にある。手軽に、簡単なWebアプリケーションを開発したいなら選択肢に入る。 Flask シンプルで軽量なWebフレームワークであり、初学者にとって学びやすいためです。Flaskを学ぶことで、ルーティング、テンプレート、リクエスト/レスポンスの処理など、Web開発の基本的な概念を理解できる。 FastAPI FastAPIは

                                                                    PythonでWeb開発を学ぶ上で確認するべきGitHubリポジトリ 18選 2023年版
                                                                  • Building modern Python API backends in 2022

                                                                    Intro This guide is intended for people who are already familiar with Python 3 and looking to start a new project. This guide comes from experience building api backends for a variety of startups in different industries, it serves as a starting point for what the state of “best practise” is for how I think about organising Python projects, structuring code, testing, and common libraries I’ve reuse

                                                                      Building modern Python API backends in 2022
                                                                    • Django Ninja に至るまでの検討の記録

                                                                      こんにちは!LARPAS 株式会社でプロダクトマネージャーをしている Chanmoro ともうします🙋‍♂️ これは LAPRAS Advent Calendar 2022の3日目の記事です📖 最近は飲み歩き系 YouTuber を見るのが好きになり、その影響でこれまで全く興味がなかったもつ焼き屋さんで飲むのに突然ハマってしまいまして、近所のもつ焼き屋開拓にいそしんでおります。 もつ焼きとビールの組み合わせは最高ですね。 (糖質を気にして2杯目以降はハイボールにしています) チェーン店のかぶら屋というところがとてもコスパが良いのでふとした瞬間に行きたくなってしまいます。 この記事を読んでくださった方でおすすめのもつ焼き屋さんがあればぜひコメントで教えてください! ということで今日も張り切って書いていきたいと思います! 個人的に開発をお手伝いしているプロジェクトで新規に Web API

                                                                        Django Ninja に至るまでの検討の記録
                                                                      • FastAPIでの認証の実装が簡単すぎた!【コード有】 - HapInS Developers Blog

                                                                        はじめに こんにちは、山本です。APIを実装するとき、個人的には認証が一番難しいと思っています。しかし、FastAPIでは簡単に認証が実装ができるような仕組みがあります。本記事では、私が公式ドキュメントを読んで学んだ認証の方法を実装を動かしながら紹介します。 認証とは 認証はAPIを特定のユーザしか利用できないようにする技術です。APIはエンドポイント(URL)を知っていれば基本的に誰でもアクセスでき、個人情報などの流出につながる恐れがあります。そこで、アクセスするユーザが誰なのかを認証(authentication)し、そのユーザがどの情報(resource)にアクセスできるかを認可(authorization)します。 はてなブログでのGoogleによるソーシャルログインを例として説明します。Googleのメアドとパスワードの入力が認証にあたり、はてなブログがGoogleのアカウントの

                                                                          FastAPIでの認証の実装が簡単すぎた!【コード有】 - HapInS Developers Blog
                                                                        • FastAPIとSQLAlchemy2.0ならもう型ヒントを諦めなくていい - Sogo.dev

                                                                          サチコ(Google Search Console)を眺めていたら FastAPI MySQL がそれなりに需要ありそうと思ったので、FastAPI と SQLAlchemy を組み合わせて ORM を使う方法を紹介したいと思います。最近の SQLAlchemy(1.4以降)ではマッピングされたオブジェクトに型を適用することもできるので、型ヒントを活かして型安全なコードを書くことも難しくなくなっています。 環境 Python 3.10.6 FastAPI 0.89.1 SQLAlchemy 2.0.1 Docker 20.10.13 Docker Compose v2.3.3 前提 FastAPI 公式ドキュメントの SQL (Relational) Databases のページを熟読しておいてください。 2023年1月にリリースされた SQLAlchemy 2.0を使用します。1系を使用

                                                                            FastAPIとSQLAlchemy2.0ならもう型ヒントを諦めなくていい - Sogo.dev
                                                                          • Does OLAP need an ORM?

                                                                            TL;DR · ORMs have proven to be useful for many developers in the OLTP/transactional stack (Postgres, MySQL, etc). · OLAP/analytical databases like ClickHouse could potentially benefit from ORM abstractions. · Existing transactional ORMs probably shouldn’t be extended to OLAP due to fundamental differences in semantic meaning between OLTP and OLAP. · Moose OLAP (part of MooseStack) is an open sourc

                                                                              Does OLAP need an ORM?
                                                                            • フツーのデータベースとしてのSpannerを使うには

                                                                              この記事の目的 Spannerはスケーラビリティに優れたデータベースであると説明されることの多いデータベースです。スケーラビリティの面が強調された結果、「Spannerは何か特殊なデータベースではないか」「名前は聞いたことあるけど、普通のアプリケーションでは使えないんでしょ」というイメージを持たれていると感じています。スケーラビリティに特長があるのは事実ですが、データベースとしてみるとテーブル定義とデータ型があり、トランザクションが実行可能で、SQLでクエリーや更新ないわば「普通のリレーショナルデータベース」としての側面もあります。 実際にSpannerを普通のリレーショナルデータベース(以下、RDB)として使うと、MySQLやPostgreSQLとどこがどのように違うのか、どこを意識すればアプリケーションの移植が可能であるかという解説をしたいというのがこの記事の目的となります。後半では普

                                                                                フツーのデータベースとしてのSpannerを使うには
                                                                              • DynamoDBのORM「PynamoDB」を使ってみる | DevelopersIO

                                                                                DynamoDBをORMのように操作できるPythonのパッケージ「PynamoDB」を使ってみます。辞書化型とクラスの変換をする必要がなくなり、楽にDBを操作できます。 PynamoDB PynamoDBはDynamoDBのPython用クライアントです。 SQLAlchemyなどのORMのようにDynamoDBを操作することができます。 Boto3などを使ってDynamoDBを操作していると、dict⇄データクラスの変換が発生してコードが冗長になる気がします。 また、dict型だとインテリセンスの問題もあります。クラスになっているとその辺りは楽になる気がします。 インストール pipでインストール可能です pip3 install pynamodb 使ってみる テーブルの定義 from pynamodb.models import Model from pynamodb.attribu

                                                                                  DynamoDBのORM「PynamoDB」を使ってみる | DevelopersIO
                                                                                • O/Rマッパーの型チェックを強化できるPython 3.11の新機能 Data Class Transforms(PEP 681) | gihyo.jp

                                                                                  Python Monthly Topics O/Rマッパーの型チェックを強化できるPython 3.11の新機能 Data Class Transforms(PEP 681) 筒井@ryu22eです。2023年最初の「Python Monthly Topics」は、Python 3.11の新機能Data Class Transforms(PEP 681)について解説します。 PEP 681についての公式ドキュメントは以下を参照してください。 PEP 681 – Data Class Transforms | peps.python.org Pythonには、データクラスと似た構造を持つクラスを扱うライブラリがいくつかあります。たとえば、attrs、pydantic、O/Rマッパー[1](SQLAlchemy、Django内蔵のO/Rマッパー)などです。Data Class Transfor

                                                                                    O/Rマッパーの型チェックを強化できるPython 3.11の新機能 Data Class Transforms(PEP 681) | gihyo.jp