並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 18 件 / 18件

新着順 人気順

python postgresql sqlalchemy ormの検索結果1 - 18 件 / 18件

  • Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応

    Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応 SQL文を直接書かなくとも、自動的にSQL文を生成、実行してくれるORM(Object-Relational Mapper)は、プログラミングを容易にしてくれる技術としてRailsやHibernate、Springなどさまざまなフレームワークなどで活用されています。 一方で、ORMが生成するSQL文はときに複雑に、あるいは非効率なものとなり、データベース処理の遅さにつながることもあります。 このとき、SQL文の生成と実行を明示的にコードとして記述する必要がないというORMの特徴が、なぜデータベース処理が遅くなったのか、どのようなSQL文が生成され、そのどこに原因があるのか、といった調査を難しくている面があり

      Google、ORMが生成するSQLが遅いときの調査を容易にする「sqlcommenter」をオープンソースで公開。Rails、Spring、Djangoなど主要なフレームワークに対応
    • 【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【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サービス一覧
          • pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog

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

              pytest でテストケース毎に DB を自動的に初期化して、テスト開発体験を向上させる - SalesNow Tech Blog
            • 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
              • 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

                • [Python]SQLAlchemyのよくやる使い方まとめ

                  最近では、PythonのWebアプリのバックエンドで使うことが多く、 そのRDBのDriverとして、SQLAlchemyを採用することが多いです。 (使っているDBはpostgreqlです。) 今回は、SQLAlchemyの実際によく使う使い方をまとめてみました。 どうやって実装したっけ?とよく昔のプロジェクトのソースコードを参照することが多かったので、自分向けのメモとしても残しておきます。 Model編 Base Class 以下のような基底クラスを定義しておき、それを継承させると便利です。 from sqlalchemy.ext.declarative import as_declarative, declared_attr @as_declarative() class Base: @declared_attr def __tablename__(cls): return cls.

                    [Python]SQLAlchemyのよくやる使い方まとめ
                  • 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
                    • 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
                      • 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
                        • 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 )
                            • FastAPIでの認証の実装が簡単すぎた!【コード有】 - HapInS Developers Blog

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

                                FastAPIでの認証の実装が簡単すぎた!【コード有】 - HapInS Developers Blog
                              • SQLAlchemy で悲観的・楽観的排他制御 - Qiita

                                SQLAlchemy とは SQLAlchemyは Python の ORM で、リレーショナルデータベースをオブジェクトとして扱うとこができるライブラリです。 SQLite、MySQL、PostgreSQL、Oracle などのデータベースに使用することができます。 導入するメリットとしては、 SQL を直接記述することなく、Python オブジェクトとしてデータベースを操作できる データベースの種類によらず、同一のソースコードで複数のデータベースを併用することができる SQL インジェクション対策がサポートされている などが上げられます。 今回は SQLAlchemy と MySQL を用いて、悲観的・楽観的排他制御を実装していきます。 環境 SQLAlchemy を使用するには、以下のインストールが必要です。括弧内は今回使用したバージョンです。 Python (3.7.3) データベ

                                  SQLAlchemy で悲観的・楽観的排他制御 - Qiita
                                • フツーのデータベースとしてのSpannerを使うには

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

                                    フツーのデータベースとしてのSpannerを使うには
                                  • SQLAlchemyを使ってPythonでORM ― SQLAlchemy Coreを知る | To Be Decided

                                    SQLAlchemyを使ってPythonでORMしたかったけど、そこまでたどり着かなかった記事。 この記事でSQLAlchemy Coreについて要点をおさえておいて、次回の記事でSQLAlchemy ORMに手を出す。 ORMとは ORMはObject-relational mappingの略で、和訳するとオブジェクト関係マッピング。 関係というのは関係データベース(RDB)のこと。 ORMは、RDBのレコードをプログラミング言語におけるオブジェクトとして扱う技術。 大抵は、オブジェクト指向なプログラミング言語で、1つのクラスでRDBの1テーブルを表現して、そのクラスのインスタンスでそのテーブルのレコードを表現する。 クラスの各メンバフィールドをテーブルの各カラムに対応させることで、1インスタンスで1レコードのデータを保持できる。 ORMライブラリ ORMは原始的には、プログラミング言語

                                    • SQLAlchemy同期/非同期の比較 - Qiita

                                      PythonのフレームワークであるFastAPIを触る機会があって、その中で非同期プログラミングの存在を知りました。 非同期プログラミングについて色々調べていくと、DB接続も非同期処理に対応してきていることが分かり、PythonのSQLライブラリで有名なSQLAlchemyもバージョン1.4から非同期処理に対応しているようです。 時代は非同期プログラミングみたいですね。 ただSQLAlchemyの非同期処理の記事がまだ少なく、同期処理から非同期処理に変えるときに、苦労しそうなので、今回はSQLAlchemy同期処理と非同期処理で設定やクエリがどう違うの比較しようと思います。 SQLAlchemyにはcoreとormがありますが、ここではormで書いていきます。 APIにはFastAPI、DBはPostgreSQLを使っていきます。 動作確認用コードは下記リポジトリに置いています。 同期処理

                                        SQLAlchemy同期/非同期の比較 - Qiita
                                      1