並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 27 件 / 27件

新着順 人気順

ORMの検索結果1 - 27 件 / 27件

  • 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など主要なフレームワークに対応
    • 5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ

      この記事は Laravel Advent Calendar 2020 - Qiita 最終日の記事です。 TL;DR DDD や "真の" クリーンアーキテクチャは, Web 業界における大抵の現場ではオーバースペックだし,導入しても全員がついてこれるとは限らない app/UseCases ディレクトリだけ切って,ドメインごとに単一責務なクラスを置くと使いやすいよ ActiveRecord 指向のフレームワークで Repository パターンを無理に導入すると死ぬので, UseCase で Eloquent Model の機能を使うことを恐れるな はじめに Zenn では初投稿です。日本の Laravel コミュニティではもうお馴染みのようで実はあまり顔を出していない(?) @mpyw と申します。オンラインサロンの火付け役となった Synapse が最初の仕事でしたが,就職後すぐ会社が

        5年間 Laravel を使って辿り着いた,全然頑張らない「なんちゃってクリーンアーキテクチャ」という落としどころ
      • 「フロントエンド領域」を再定義する

        Frontend Study #1 訂正: 最後のzennの記事のリンク先は、正しくは https://zenn.dev/mizchi/articles/c638f1b3b0cd239d3eea です

          「フロントエンド領域」を再定義する
        • 100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋

          要約 技術的な話だけ教えて、という方のために先に結論だけ書いておきますと、PostgreSQLはクエリを実行した時点で全レコードの情報を一気に読んできてヒープを埋めてしまう場合がある、ということ話です。 たとえば、ResultSet#nextメソッドを使いながら処理を回すようなコードを書いて、少ないヒープでも処理できるようにするのは常套手段だと思いますが、そういうコードを書いていても一気にヒープを消費してしまうことがあるのです。詳しくはこのドキュメントを見てください。 https://jdbc.postgresql.org/documentation/head/query.html#query-with-cursor ことの発端 ちょっと仕事でJava + jOOQ + PostgreSQLで、DBのデータを集計するようなバッチ処理を書いてまして、もちろん俺様の書いたコードにバグなんてある

            100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋
          • Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA

            September 15, 2021 @ iCARE Dev Meetup #25

              Active Recordから考える次の10年を見据えた技術選定 / Architecture decision for the next 10 years at PIXTA
            • Gormが本番テーブルの数億件のデータを消そうとした話 - keroxpのScrapbox

              MySQLの場合、--safe-updatesオプションを利用することでこういった不慮のUPDATE/DELETEを防げるようです

                Gormが本番テーブルの数億件のデータを消そうとした話 - keroxpのScrapbox
              • たった数分で環境構築が完了!TypeScriptでWebアプリケーション開発ができるフレームワーク「frourio」が本当に手軽だった。 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作

                たった数分で環境構築が完了!TypeScriptでWebアプリケーション開発ができるフレームワーク「frourio」が本当に手軽だった。 こんにちは、エンジニアのづやです。 突然ですがエンジニアのみなさん、TypeScriptに触れた経験はありますか? TypeScriptはGitHubが毎年発表しているランキングで今年4位に急上昇したくらい、もっともアツいプログラム言語の1つです。 出典:https://octoverse.github.com/ しかし、いざ試してみようと思っても、 フレームワークは何を使えば良い? どうやって導入したら良い? など、意外とハードルって高くないですか? そこで「frourio(フルーリオ)」という画期的なフレームワークを見つけました。こういうのってある程度経験を積んだエンジニアでないと使いこなせない……というケースも多いですよね。 でもfrourioはそ

                  たった数分で環境構築が完了!TypeScriptでWebアプリケーション開発ができるフレームワーク「frourio」が本当に手軽だった。 | 株式会社LIG(リグ)|DX支援・システム開発・Web制作
                • 分散型金融システムのトラストチェーンにおける 技術リスクに関する研究 研究結果報告書

                  • Re: 空想のNFTと現実のNFT - Software Transactional Memo

                    前回の記事に長文で反論が付いていたので興味深く拝読した。 sasakill.substack.com 書いた人はSmartnews社のVice Presidentのようで、予想外のところまで記事がリーチしたのは少し驚いている。 メタバースはNFTの使い途の一部でしかなく、Web3によって完璧な非中央集権的な社会が実現するなんてこともない。 僕の記事では「メタバースにNFTは不要」と言ったのに「NFTにメタバースは不要」というような受け取られ方をしているあたりは少し気になるが、彼が論点に挙げたいのはメタバースでもWeb3でもなくNFT単体であるようだ。そのつもりで僕の意見をまとめる。 私の考えでは「ノーコストでコピーが可能」という議論の土台にそもそも穴がある。 繰り返すがコピーはやはりノーコストである。この記事の読者が自身のデバイスに僕の記事を表示させるまでのコピーに掛かった電気代・通信費の

                      Re: 空想のNFTと現実のNFT - Software Transactional Memo
                    • 「上司はムダな存在でしかない」と思っていたが…管理職を全廃したグーグルがたった1年で元に戻した理由 人は「完全に自由」になると不安になる

                      「Web3」は巨大企業の独占支配を変えられるのか 大手IT企業による「支配と隷従」に対抗しようという動きが、二〇二〇年代になって活発になってきた。それが「Web3(ウェブ3)」と呼ばれるムーブメントである。ウェブ3はインターネットがふたたび「支配と隷従」へと回帰してきていることに対して、「自由」へと揺り戻そうという思想を持っている。 ウェブ3について、できるだけわかりやすく説明していこう。ウェブ3は、ビットコインで有名な技術、ブロックチェーンを中心に考えられている新たなインターネットである。 ブロックチェーンというのは、ごく単純化して説明すると、「あらゆる取引が記録されている台帳」である。そしてこの台帳は、GAFAMのようなビッグテックが独占所有しているのではない。ビッグテックのサーバーに保存されているのではない。そうではなく、インターネットで相互につながった無数のコンピューターに、同時に

                        「上司はムダな存在でしかない」と思っていたが…管理職を全廃したグーグルがたった1年で元に戻した理由 人は「完全に自由」になると不安になる
                      • Prisma: Node.js & TypeScript向けの完璧なORM

                        本記事は、@nikolasburk氏による「The Complete ORM for Node.js & TypeScript」(2021年4月21日公開)の日本語翻訳を、著者の許可を得て掲載しているものです。今後Prismaの公式ブログの日本語翻訳の許可をいただいたので、このアカウントで継続して翻訳していきます。※画像やリンクは公式のBlogからお借りしています。 Prismaは、Node.jsとTypeScriptのための次世代ORMです。2年以上の開発期間を経て、すべてのPrismaツールが製品化の準備が整ったことをお伝えできることに興奮しています! コンテンツ オブジェクト-リレーショナルマッピングの新しいパラダイム あらゆるスタックに対応するPrisma ミッションクリティカルなアプリケーションでの運用に対応 オープンソースを超えて お手伝いできることは? Prismaを始めよう

                          Prisma: Node.js & TypeScript向けの完璧なORM
                        • Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record

                          January 29, 2021 @ 銀座Rails #29

                            Active Recordから考える次世代のRuby on Railsの方向性 / Directions for the next generation of Ruby on Rails: From the viewpoint of its Active Record
                          • オブジェクト指向は業務システムで本当に不要なのか? - Qiita

                            主旨 以前はシステムの状態をオブジェクト指向でカプセル化し、オブジェクト同士の通信でシステムの制御をしようとしていた しかし、Webアプリケーションのように状態をメモリ上に保持し続けるのが難しい環境が増えると、上記のことがやりにくくなった(ORMのインピーダンスミスマッチの影響が大きくなった) 現在では、システム全体の状態を管理するためにオブジェクト指向を用いるシーンは減っているが、要所要所でシステムを抽象化する道具の一つとして用いるシーンはあり、適材適所で使い続ければ良い はじめに 一時期あれだけもてはやされた「オブジェクト指向」ですが、現在では「業務システム開発においてオブジェクト指向で作るとろくなことがない」、とか、いっそ「不要である」、という意見もよく見かけます。 オブジェクト指向、この記事では特に「オブジェクト指向プログラミング」を対象として話をしますが、その利点は以下の3点に集

                              オブジェクト指向は業務システムで本当に不要なのか? - Qiita
                            • GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri

                              JSConf JP 2021 で登壇した資料です #jsconfjp #jsconfjp_b Links: [Active Recordから考える次の10年を見据えた技術選定](https://speakerdeck.com/yasaichi/architecture-decision-for-the-next-10-years-at-pixta) [GraphQL を活用したスキーマ駆動開発の実践](https://speakerdeck.com/qsona/schema-driven-development-with-graphql) [GraphQL を利用したアーキテクチャの勘所 / Architecture practices with GraphQL - Speaker Deck](https://speakerdeck.com/qsona/architecture-pract

                                GraphQL と Prisma から考える次のN年を見据えた技術選定 / Architecture decision for the next N years at StudySapuri
                              • Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog

                                ANDPADボードチームの原田(tomtwinkle)です。 Node.jsの mysqljs/mysql の仕様に起因するSQLインジェクションが話題に上がっていたので、それGolangのORMであるGormでも同じような「仕様」があるよ! という注意喚起の意味も込めて筆を執りました。 ※ 2022/02/21追記 コードレビューを自動化して指摘してもらう記事を公開しました! tech.andpad.co.jp Node.jsのMySQLパッケージにおけるエスケープ処理だけでは防げない「隠れた」SQLインジェクション | 株式会社Flatt Security TL;DR GormのQuery Conditions関数に関する危険な仕様 対策 締め TL;DR GormのConditions関数(Find, First, Delete...)を使用する際、第2引数の値にStringを引き渡

                                  Gormにおける「仕様通り」なSQLインジェクションの恐れのある実装についての注意喚起 - ANDPAD Tech Blog
                                • DDDとORMのEntityを混同しないための考え方

                                  2つの ”Entity” ある種の ORM では RDB のテーブルスキーマモデルとなるクラスのことをEntityと呼んでいます。例えば PHP のDoctrineや TypeScript のTypeORMなどがそうです。 そういった ORM を採用したプロジェクトで DDD に取り組むとき困るのが用語の衝突です。ORM の Entity は RDB のための定義を含むため当然 DDD の Entity とは異なるのですが、なにぶん同じ名前なので混同してしまいがちです。 本記事では両者を混同せず扱うための考え方をまとめます。 Entity の定義 まずは定義から確認します。 DDD での定義 エヴァンス本の日本語訳から引用します。 主として同一性によって定義されるオブジェクトはエンティティと呼ばれる Eric Evans. エリック・エヴァンスのドメイン駆動設計 (Japanese Edi

                                    DDDとORMのEntityを混同しないための考え方
                                  • Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita

                                    イントロダクション 目下、開発中のプロダクトなので詳しいことは書けないのですが、いろいろと気付きの多い出来事だったので、 少し自分自信の振り返りも兼ねて、投稿してみたいと思います。 これは、決してGoよりPythonのほうが優れているとかそういった話ではないです。 今回、自分は開発者というよりプロジェクトマネージャー(以降、PM)という立場になります。 Goの採用 当社のコア技術はPythonなのですが、今回、開発にあたってGoを採用していました。 主な採用理由としては、「プロトコルとしてgRPCを採用するにあたって、gRPCとの組み合わせ事例が多い」からでした。 gRPCの採用理由は、「同時に企画されていた別プロダクト(Python)との連携が想定されており、異なるプログラミング言語間でも型を維持したままデータ交換が可能」なことからでした。 当初は、プロダクトのリリース時期も未定でプロト

                                      Goで開発していたが、途中でPythonに切り替えた件を振り返る。 - Qiita
                                    • GoでSQLにトレーシングコメントを埋め込んで実行する | おそらくはそれさえも平凡な日々

                                      アプリケーションが発行するSQLにコメントが埋め込めると便利です。例えば、 /* path/to/logic.go:334 */ SELECT ... のようにSQLに発行元の情報をコメントとして埋め込んでからExecすれば、DB側のログ(general log等)にも記録されるため、SREやDREサイドからも、負荷の高いSQLがアプリケーションのどこから発行されているかが分かりやすくなります。 Goには github.com/shogo82148/go-sql-proxy という、SQL実行をトレースし、フック処理を差し込める便利なライブラリがありますが、今回それにpull requestを送って、SQL実行前にクエリの書き換えができるようにしました。 https://github.com/shogo82148/go-sql-proxy/pull/61 https://github.co

                                        GoでSQLにトレーシングコメントを埋め込んで実行する | おそらくはそれさえも平凡な日々
                                      • blitz-js prisma rails 倒し方

                                        この記事の内容 blitz-js が生まれた背景 prisma の紹介 blitz で簡単なブログを作ってみる blitz を vercel にデプロイしてみる tldr blitz-js は next.js + prisma で rails を再現しようとしているフレームワーク Prisma ORM それ自体が良い。blitz の理解のためにも、まず Prisma を学べ blitz-js 自体はまだ α 品質だけど、今から注目しておく価値はある。デファクトになるかは不明。思想は継承されそう。 はじめに next.js はとても良いフレームワークだが、永続層を持たない。なのでフロントエンドとフロントサーバーに閉じている。 永続層、つまり DB を持たないので、初学者や流行りのプログラミングスクールの教材に選ばれない。また、JavaScript の学習資料が散らばっている。 要は Rail

                                          blitz-js prisma rails 倒し方
                                        • How to Build a Fullstack App with Next.js, Prisma, & PostgreSQL

                                          How to Build a Fullstack App with Next.js, Prisma, and Vercel Postgres Prisma is a next-generation ORM that can be used to access a database in Node.js and TypeScript applications. In this guide, you'll learn how to implement a sample fullstack blogging application using the following technologies: Next.js as the React frameworkNext.js API Routes for server-side API routes as the backendPrisma as

                                            How to Build a Fullstack App with Next.js, Prisma, & PostgreSQL
                                          • Apollo ServerとPrismaではじめるGraphQL API開発入門

                                            この本では、TypeScriptで型安全にGraphQLサーバーを構築する方法をハンズオン形式で学習することができます。 Todoアプリの開発を通して、GraphQLスキーマの扱いやCLIツールの設定方法、TypeScriptのORMであるPrismaの基本的な使用方法、CI/CDパイプラインの構築によるマイグレーションの自動化などを体験します。 GraphQLサーバー実装の素振りをしておきたい方や、フロントエンドからGraphQL APIを使用したことはあるけど自分でAPIを実装したことはないようなバックエンドの開発初心者の方に向けた内容となっております。

                                              Apollo ServerとPrismaではじめるGraphQL API開発入門
                                            • 今なら間に合う分散型IDとEntra Verified ID

                                              6/30のOffice365勉強会のEntra Verified ID特集の資料です。 分散型ID、Entra Verified IDの解説をしています。Read less

                                                今なら間に合う分散型IDとEntra Verified ID
                                              • 大失敗した設計、そしてドメイン駆動設計の基本に立ち返る – 福地春喜のブログ

                                                ※ 2019年7月27日に追記しました。 この記事の最後に、失敗談の補足を書いた記事へのリンクを追加しました。 システムの一部機能を改修するテーマが現在進行中です。テーマは他の箇所に影響がないくらいに分離できるものです。この大きさが丁度いい。チャンスとばかりにリファクタリングすることにしました。 アプリケーションはそれなりにレイヤー化されています。controllerとserviceとrepositoryがある。よくある3層構造です。何を見直して再設計するのか?それはドメインオブジェクトモデルの構築です。 現状のアプリケーションはビジネスロジックをモデリングしたものとは言えない状態です。自分がやったのだけれど。しかしだからでもあります。なぜこうなったかを振り返り、どのようにできたかを考えます。失敗から学べることもあるはずです。 参照側の層は薄く?本当に? 開発対象のシステムはある情報の検索

                                                • Next.js から Prisma ORM を利用する

                                                  Next.js に Prisma ORM を導入する方法について解説します。 Next.js プロジェクトの雛形を作成 $ mkdir hello-next-app && cd hello-next-app $ npm init -y $ npm install next react react-dom --save $ npm install typescript @types/node @types/react --save-dev $ code src/index.tsx

                                                    Next.js から Prisma ORM を利用する
                                                  • SQLファイルから型安全なコードを生成するsqlc | フューチャー技術ブログ

                                                    TIGの辻です。GoのORマッパー連載8日目です。本記事では sqlc を紹介します。早速ですが、結論から行きましょう。 sqlc まとめ SQLファイルからデータベースにアクセスできる型安全なGoのコードを生成するライブラリ 構造体のモデルの手書き実装不要 複数テーブルをJOINしたときのマッパー実装不要 生成されるコードは不要なリフレクションなし SQLをがんがん書きたい、でも面倒なマッパー構造体は書きたくない、という開発者にとっては大きな味方になります。 sqlc の紹介 sqlc はSQLファイルからGoのアプリケーションコードを生成するライブラリです。2020/2に v1.0.0 をリリースし、着々とスターを伸ばしています。2021/08現在は v1.8.0 をリリースしています。本資料で生成しているコードも v1.8.0 を用いています。 https://star-histor

                                                      SQLファイルから型安全なコードを生成するsqlc | フューチャー技術ブログ
                                                    • Go の入力バリデーションパッケージ ozzo-validation を試した。

                                                      はじめに Go のウェブアプリで使う入力バリデーションに関して、ozzo-validation を検討した。 これまでのバリデーション 普段、仕事では labstack/echo という Go のウェブフレームワークを使う事が多いのだけど、バリデーションに関しては labstack/echo のサンプルに合わせて go-playground/validator を使ってきた。 go-playground/validator は機能も豊富で(一応)痒い所に手は届くのだけど、struct にタグを付けて判定させないといけない。これが実に煩わしい。以前 labstack/echo を使ったサンプルを書いたので、それを見て欲しい。 // Comment is a struct to hold unit of request and response. type Comment struct { I

                                                        Go の入力バリデーションパッケージ ozzo-validation を試した。
                                                      • Go と prisma と lit-html と ky で作るモダンな TODO アプリ

                                                        はじめに 以前から Go の ORM (Object Relational Mapping) 選定の為に、そこそこ時間を使っています。現状は gorp を使っていますが、満足している訳ではありません。 そんな中で見つけた prisma を試すべく、バックエンドに Go と prisma を使った TODO アプリを作ってみる事にしました。 prisma とは prisma (Next-generation ORM for Node.js and TypeScript)は簡単に言うと 自動生成された型付きのクライアントが付いている マイグレーションが出来る モデル定義から CRUD やインデックスを自動生成できる PostgreSQL, MySQL, SQLite3 等をサポート Prisma Studio という GUI が付いている というモダンな ORM です。Nuxt と TypeS

                                                          Go と prisma と lit-html と ky で作るモダンな TODO アプリ
                                                        1