並び順

ブックマーク数

期間指定

  • から
  • まで

161 - 200 件 / 1474件

新着順 人気順

SQLの検索結果161 - 200 件 / 1474件

  • LLMをWebフレームワークにしたら、未来が見えた #2024

    最近、LLMにWeb Backendを書かせて遊ぶ、Hanabiというサービスを作っています。その開発過程で、前に試したLLMをAPIとして振る舞わせるアプローチを再検討したので、記事としてまとめました。 一年ちょっと前、私はChatGPTをWebフレームワークにしようと試みました...が、残念ながら全く実用的ではありませんでした。しかし、あれから一年、LLMは目覚ましい進歩で進化を遂げました。価格は下がり、速度も上がり、記憶容量の増加やRAGの発展など、もはや別物レベルで進化しています。 いまならもうちょっと実用的なヤツが作れるんじゃねってことで、色々な手法を面白がった再検討したまとめです。 余談ですが、一年前はLLM=ChatGPTという状況でしたね...懐かしい。ちょうどvicuna13Bが出た頃ですかね? ↓去年の記事(できれば読んでほしい)↓ 出来たもの 全部プロンプトに入れちゃ

      LLMをWebフレームワークにしたら、未来が見えた #2024
    • データベース指向の新OS「DBOS」--クラウド時代に対応する新たなアプローチ

      Jack Wallen (Special to ZDNET.com) 翻訳校正: 編集部 2024-04-10 07:30 「Linux」は長年にわたりクラウド上のサーバーに搭載されてきたが、クラウドが急激に拡大したこと、そしてLinuxがクラウド専用に設計されたものではないことを考慮すると、何かを変える必要があることは明らかだった。 その変化をもたらすのは、「Ingres」「PostgreSQL」「VoltDB」の開発に携わったMichael Stonebraker氏と、「Apache Spark」の生みの親でDatabriskの共同創設者/最高技術責任者(CTO)であるMatei Zaharia氏かもしれない。両氏はマサチューセッツ工科大学(MIT)のチームと協力して、「DBOS」(別名「DataBase OS」)という革新的なOSを開発した。 DBOSの開発は2022年に始まった。D

        データベース指向の新OS「DBOS」--クラウド時代に対応する新たなアプローチ
      • なぜ Server Actions を使うのか

        Next.js 14 の Server Actions の stable リリースに発表は大きな反響を呼びました。 特に <button> の formAction 属性内で直接 SQL クエリを実行するコードは多くの人に衝撃を与えていました。"use server;" の部分を PHP やバイナリに置き換えると行った多くのミームも生まれました。 function Bookmark({ slug }) { return ( <button formAction={async () => { "use server"; await sql`INSERT INTO Bookmarks (slug) VALUES (${slug})`; }} > <BookmarkIcon> </button> ) } X 上での反応を見ると、このクライントから直接 SQL クエリを実行するコードは見た目の印象

          なぜ Server Actions を使うのか
        • ベクトルデータベースとは何かを解説、生成AIで「必須の存在」はどんな役割を担うのか

          従来のデータベース(SQLなど)と何が違うのか データベースといえば、Eコマースのバックエンドやウェブアプリケーションにおけるユーザー管理などで広く利用されているSQL系のデータベースを指すことが多いだろう。 このSQLデータベースとベクトルデータベースにはどのような違いがあるのか気になるところ。SQLデータベースの特徴とベクトルデータベースの特徴を比較してみたい。 まず、SQLデータベースの特徴を概観したい。 データ構造は、行と列を使用してデータを表形式で格納する構造。エクセルのようなスプレッドシートのような構造だ。 クエリ言語としてSQL(Structured Query Language)を使用しデータを操作する。構造化されたデータの管理に適しており、Eコマース、トランザクション処理、顧客管理情報などで広く利用されている。 インデックスと検索では、B-treeなどのインデックス構造に

            ベクトルデータベースとは何かを解説、生成AIで「必須の存在」はどんな役割を担うのか
          • ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録

            事前知識編 システム開発するプログラマも読んでおいたほうがいい資料とか。 今時のシステムならまず仕様や運用に反映される。されてなかったらむしろこっちから確認取りに行った方がいい。 JOGAガイドライン 昔ガチャとかが問題になったときに出てきた協会のガイドライン。 オンラインゲーム安心安全宣言 オンラインゲームにおけるビジネスモデルの企画設計および運用ガイドライン ランダム型アイテム提供方式を利用したアイテム販売における表示および運営ガイドライン オンラインゲームガイドライン 開発環境編 GitHubみたいなPullRequestを出せる環境 GitだけじゃなくてGitHub。必然的に規模が大きくなるのでプルリク出して進めることになります。 CIまで設定をする 最初のうちにCircleCIのようなテストの自動実行する仕組みまで揃えてしまっておいたほうが良いです。後からだとそもそも対応できなく

              ソシャゲサーバー開発するとき始めに考慮しておかないと死ぬポイント備忘録
            • GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG

              はじめに こんにちは。ブランドソリューション開発本部FAANSバックエンドブロックの佐野です。普段はサーバーサイドエンジニアとして、FAANSのバックエンドシステムを開発しています。 FAANSとは、弊社が2022年8月に正式ローンチした、アパレル店舗で働くショップスタッフの販売サポートツールです。例えば、コーディネート投稿機能や成果確認機能などを備えています。投稿されたコーディネートはZOZOTOWNやWEAR、Yahoo!ショッピング、ブランド様のECサイトへの連携が可能です。成果確認機能では、投稿されたコーディネート経由のEC売上やコーディネート閲覧数などの成果を可視化しています。 本記事では、成果データの集計処理におけるBigQueryのクエリ実行処理のユニットテストをGoで実装した取り組みと、その際の工夫についてご紹介します。 目次 はじめに 目次 成果データの集計処理とは 抱え

                GoでSQLの複雑なクエリのテストを書いてみた - ZOZO TECH BLOG
              • Macで毎分スクリーンショットを撮って手元に貯めておくスクリプト - hitode909の日記

                書いてたテキストエリアがどっかいく、みたいなことがたびたびあって、スクショを定期的に取っていればこんなことにならないのに…と思っていた。 先日、Redash用に、がんばって書いたSQLがどっかいってしまい、ものすごく悲しい、という出来事があったのであ、あまりに悲しさに、重い腰を上げてスクリプトを書いた。 きのうがんばって書いたRedashクエリを保存せずに消してしまった悲しみから、Macの画面のスクリーンショットを撮り続けるスクリプトを書いて、xbar経由で毎分実行してキャプチャし続けている。Macに入ってるOCR機能も呼び出して検索できるようにしたい https://t.co/ibVVCLZszg— 趣味はマリンスポーツです (@hitode909) 2023年11月30日 やっていること 画面全体のスクショを撮って、デスクトップ内のフォルダに置いていく 複数ディスプレイを使ってる場合も

                  Macで毎分スクリーンショットを撮って手元に貯めておくスクリプト - hitode909の日記
                • Golang開発者のためのクリーンアーキテクチャ

                  はじめに クリーンアーキテクチャは、ソフトウェア設計の分野で非常に重要な概念です。 しかし、その理解は容易ではなく、明確な正解が存在するわけではありません。 多くの人が異なる解釈を持ち、他の設計思想と混在していることもあります。 この記事では、自分なりの視点からクリーンアーキテクチャを解釈し、その整理した内容を共有します。 このアーキテクチャの目的は、システムの各層を独立させ、変更に強く、テストしやすい設計を実現することです。 この記事では、クリーンアーキテクチャの基本概念、Golangでの実装方法、およびディレクトリ構成について詳しく説明します。 なお、この記事では個人的な見解を述べており、必ずしも正解を書いているわけではありません。もし誤りがあれば、ぜひご指摘いただけると幸いです。 クリーンアーキテクチャの基本概念 クリーンアーキテクチャの元となったのは、ロバート・C・マーチン(通称「

                    Golang開発者のためのクリーンアーキテクチャ
                  • OpenAIのBatch APIを使ってお得にプロンプトを一括処理してみる - Taste of Tech Topics

                    はじめに こんにちは。データサイエンスチームYAMALEXのSsk1029Takashiです。 最近はOpenAIに日本支社が出来て、日本語対応が加速するというニュースにわくわくしています。 今回はそんなOpenAIから発表されたBatch APIという機能が便利、かつお得な機能だったのでどのように使えるのか試してみます。 Introducing the Batch API: save costs and get higher rate limits on async tasks (such as summarization, translation, and image classification). Just upload a file of bulk requests, receive results within 24 hours, and get 50% off API pri

                      OpenAIのBatch APIを使ってお得にプロンプトを一括処理してみる - Taste of Tech Topics
                    • SQLiteでLinderaを使った日本語全文検索 - *iroi*

                      これは はてなエンジニアアドベントカレンダー2023 3日目の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog はてなエンジニアのカレンダー | Advent Calendar 2023 - Qiita 昨日は id:pokutuna さんの blog.pokutuna.com でした。私も若い頃に同僚とGitHub上で白熱してしまい観光名所になってしまっていたような気がします。気を付けていきましょう。 さて、この記事では SQLiteでLinderaを使った日本語全文検索をする話を紹介します。 モチベーション laiso.hatenablog.com 上の記事でも話題になっているように個人開発ではDBのコストは問題です。同様に全文検索したいときにもコストに頭を悩ませているのではないでしょうか? たとえば Amazon

                        SQLiteでLinderaを使った日本語全文検索 - *iroi*
                      • AWS オブザーバビリティの向上 – Amazon CloudWatch アラームの力を引き出そう | Amazon Web Services

                        Amazon Web Services ブログ AWS オブザーバビリティの向上 – Amazon CloudWatch アラームの力を引き出そう 通常、組織はAWS サービスを活用してワークロードのオブザーバビリティと運用の優秀性を高めています。しかし、多くの場合、オブザーバビリティメトリクスが提供されたときのチームが取るべき対応は不明確であり、どのメトリクスに対処が必要で、どのメトリクスがノイズにすぎないかを理解することは難しい場合があります。たとえば、アラームがトリガーされるまで 10 分以上かかる場合、根本的な問題を軽減するためにチームが取れる対処が遅れてしまいます。この問題への理想的な解決策は、ネットワークの障害を防ぐために、オブザーバビリティメトリクスからアラームの起動までの時間を短縮することです。実装やアーキテクチャの制限により、メトリクスデータは常に CloudWatch

                          AWS オブザーバビリティの向上 – Amazon CloudWatch アラームの力を引き出そう | Amazon Web Services
                        • 【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにおまかせ!(VIP SYSTEMS 公式)

                          【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成! 企業にとってデータは顧客の次に大切なものであり、その保持・管理・活用方法について各社の担当者は日々、頭を悩ませているところだと思います。 2010年代になってから話題になった「NoSQL」はデータベースの一つの選択肢としてすっかり定着し、2020年代になってからはWebブラウザからデータの入力・閲覧がすべてできてしまう「DBaaS(サービスとしてのデータベース)」とでも呼ぶべき製品も多数出てきました。それらを活用したいところですが、社内で運用しているRDBMSをすぐにやめるわけにもいきません。 これらを保守するには、担当者は最低でもSQLは覚えておかなければならないのですが、教育コストが掛かります。そこで今回は「先輩社員がいなくても、SQLを知らなく

                            【番外編】Excelの知識しかない人をRDBの担当者にする:SQLの知識がなくてもJetBrains AIを利用してRDBをノーコード生成!|kintoneにおまかせ!(VIP SYSTEMS 公式)
                          • Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える

                            前から気になっていた Litestream を Cloud Run で使ってみたので、そのメモです。 Litestream とは? サンプルコード 手順 動作確認してみる 制限事項 おまけ まとめ 参考 Litestream とは? Litestream は、 SQLite のデータベースファイルを Amazon S3 や Google Cloud Storage などのオブジェクトストレージにリアルタイムでレプリケートすることができるオープンソースのツールです。 例えば通常 Cloud Run で DB エンジンとして SQLite を使用しようとしても、コンテナが破棄されると同時に毎回 SQLite のデータベースファイルも消えてしまうため、データを永続化することができません。 しかし Litestream を使用すれば、 SQLite のデータベースファイルをオブジェクトストレージに

                              Cloud Run + Litestream で RDB を使いつつ費用を格安に抑える
                            • DHH氏によるコンテナデプロイ自動化ツール「Kamal 1.0」正式リリース。ベアメタルや仮想マシンに自動デプロイ、ゼロダウンタイムのアプリ更新も可能

                              DHH氏によるコンテナデプロイ自動化ツール「Kamal 1.0」正式リリース。ベアメタルや仮想マシンに自動デプロイ、ゼロダウンタイムのアプリ更新も可能 Ruby on Railsの作者として知られるDavid Heinemeier Hasson(DHH)氏は、Dockerコンテナに対応したアプリケーションのデプロイ自動化ツール「Kamal 1.0」をリリースしました。 Kamalはアプリケーション(群)の構成とデプロイ先のサーバ(群)のIPアドレスなどの基本的な情報を設定すると、あとは仮想マシンやベアメタルサーバ、クラウドのサーバインスタンスなどにDocker環境の構築からアプリのデプロイ、トラフィックの切り替えまでを自動的に行ってくれる、デプロイ自動化ツールです。 Kamal 1.0 has shipped. Deploy your web apps anywhere from bare

                                DHH氏によるコンテナデプロイ自動化ツール「Kamal 1.0」正式リリース。ベアメタルや仮想マシンに自動デプロイ、ゼロダウンタイムのアプリ更新も可能
                              • Azure OpenAI Serviceの日本語記事まとめ

                                Azure OpenAI Serviceについての日本語記事のまとめです。主に公式ドキュメント以外のブログやZenn/Qiitaの記事をまとめています。ボリュームが多いので、目次から気になる項目を選択してご覧ください。 ※長く使える知見のまとめにしたかったので一過性のニュース的な記事や内容が重複している機能紹介記事などは意図的に掲載していません。 この記事はGitHubで管理されています。まとめへの追加修正はプルリクエストまたはIssuesでお気軽にお寄せください! また、以前に本記事をご覧いただき、そこからの差分を知りたい場合はGitHubのHistoryも併せてご覧いただけると把握しやすいかと思います。 概要 まずはここから Azure OpenAI Service を使い始める Azure OpenAI Serviceの概要から実際のリソースデプロイ、プレイグラウンドとAPIでの呼び

                                  Azure OpenAI Serviceの日本語記事まとめ
                                • ヘルスケアデータをGrafanaで見たくない…?〜健康 Reliability Engineering〜

                                  はじめに まずはこちらをご覧ください。 これは私のApple Watchで計測されたヘルスケアデータです。Apple Watchをつけていると、心拍数や歩数、睡眠時間などのデータが自動的にiPhone内に記録されます。 SREなら健康を維持するためにもSLIとSLOを設定して可視化するべきですよね? SREなら健康エラーバジェットが無くなりそうだったら「今すぐ寝ましょう!」と架電が来て欲しいですよね? 普通にやるとiOSアプリを用いて直接ヘルスケアデータを確認することになりますが、Web系のSRE的なエンジニアとしてはやはり業界標準の技術で可視化したいところです。 また、iOSアプリを開発するのは専門知識が必要となり非常に骨が折れる作業です。そもそもMacがないとできないですし。 そこで、今回は Apple Watchのヘルスケアデータを 全自動で良い感じにデータベースに保存し Grafa

                                    ヘルスケアデータをGrafanaで見たくない…?〜健康 Reliability Engineering〜
                                  • dbt導入によるデータマート整備 - ZOZO TECH BLOG

                                    はじめに こんにちは、ML・データ部推薦基盤ブロックの栁澤(@i_125)です。私はZOZOのデータ基盤におけるデータガバナンス強化を実現するために、Analytics Engineerとして複数の部門を跨ぐプロジェクトチームに参加しています。本記事ではZOZOにおけるデータガバナンス上の課題と、その課題の解決策の1つとしてdbtを導入した話をご紹介します。 目次 はじめに 目次 背景 課題 データマートの乱立 集計定義のばらつき 依存関係の洗い出しが困難 データモデリングツールの比較検討 データ変換に関する要件 データモデリングツールの選定 レイヤリングによる責務の分離 実装方針 今後の展望 dbtモデルを開発する上で工夫したこと 環境の分離 背景 工夫したこと ダミーデータセットの生成 背景 工夫したこと SQLFluffを使ったフォーマット統一 依存モデルを含むテスト dbt Doc

                                      dbt導入によるデータマート整備 - ZOZO TECH BLOG
                                    • RAGを専門用語に強くする手法「Golden-Retriever」

                                      株式会社ナレッジセンスは、生成AIやRAGを使ったプロダクトを、エンタープライズ向けに開発提供しているスタートアップです。本記事では、RAGの性能を高めるための「Golden-Retriever」という手法について、ざっくり理解します。 この記事は何 この記事は、RAGシステムを専門用語に強くするための手法「Golden-Retriever」の論文[1]について、日本語で簡単にまとめたものです。 今回も「そもそもRAGとは?」については、知っている前提で進みます。確認する場合は以下の記事もご参考下さい。 本題 ざっくりサマリー Golden-Retrieverは、RAG(Retrieval Augmented Generation)を、業界特有の用語・社内用語を含むような質問に強くするための手法です。カリフォルニア大学の研究者らによって2024年8月に提案されました。 従来のRAGシステム

                                        RAGを専門用語に強くする手法「Golden-Retriever」
                                      • より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ

                                        はじめに こんにちは、久しぶりに技術系の記事を書きます、株式会社カンムで機械学習エンジニアをしている fkubota です。 今日はSQLについてです。 弊社に入社してから毎日のようにSQLのクエリを書いてきました。 クエリを書き始めてからもう3年が経とうとしています。 日々クエリを書きながら少しずつ自分のスタイルが出来上がってきているのを日々実感しています。 僕は 正確で 読みやすく 再利用しやすいクエリを 高速に 生み出すための工夫を重ねてきました。 結果的にテスト駆動開発ぽいスタイルが生まれたので今日は紹介してみようと思います。 似たような記事がないので少しドキドキですが温かい気持ちで読んでもらえると嬉しいです。 対象読者 対象読者は、分析のためにクエリを書いている人とします。 プロダクトに乗せるクエリというより、ビジネス的になにか示唆を得たいときにクエリを書く人を想定します。 痛み

                                          より信頼できるクエリを書くために、SQLでもテストを書く - ハヤオキスルフクロウ
                                        • DDDを実践するためのリポジトリ層の設計(Go言語による例)

                                          The Go gopher was designed by Renée French. Illustrations by tottie. はじめに この記事は、ドメイン駆動設計(DDD)の中核概念である「リポジトリ」についての理解を深めることを目的としています。リポジトリの基本的な役割と重要性を確認し、Go言語での実装の例を紹介します。 前提 リレーショナルデータベースからデータを取得(更新)するアプリケーションを想定しています サンプルコードは Go 言語で書かれています リポジトリとは まずは、リポジトリの定義を確認してみましょう。 リポジトリパターンとは: リポジトリは、データベースから取得したデータを構造体にマッピングし、ドメインオブジェクトにアクセスするためのインターフェースを提供します。 これは、一般的なリポジトリの理解と相違ないですね。次に DDDの文脈で、より詳しい定義をみ

                                            DDDを実践するためのリポジトリ層の設計(Go言語による例)
                                          • Building a highly-available web service without a database

                                            If you’ve ever built a web service or a web app, you know the drill: pick a database, pick a web service framework (and in today’s day and age, pick a front-end framework, but let’s not get into that). This has been the case for several decades now, and people don’t stop to question if this is still the best way to build a web app. Many things have changed in the last decade: Disk is a lot faster

                                              Building a highly-available web service without a database
                                            • コードレビューの思想や心構え - Qiita

                                              株式会社ブレインパッドでデータサイエンティストをしているasanoです。 この記事はBrainPad Advent Calender 2023 1日目の記事シリーズ2です。 ※シリーズ1は@fuyu_quantさんの入力プロンプトを復元する技術 #ChatGPTです! 今日はコードレビューの思想や心構えについて書きます。 はじめに コードレビューをより生産的に進めるには単にコーディングのスキルだけでなく、そもそものコードレビューに対する思想や心構えについても一定のリテラシーを求められると考えています。 コードレビューはどうしてもロジカルな話になるため伝え方にも気を付けないとモチベーションの低下に繋がりやすいと考えています。 そうなると当然パフォーマンスも下がってしまいます。 これを防ぐために自分は「コードレビューの思想・心構え」をまとめてチームのガイドラインとして使っています。 あくまで主

                                                コードレビューの思想や心構え - Qiita
                                              • UUIDv7 in 33 languages

                                                UUIDv7 is a 128-bit unique identifier like it's older siblings, such as the widely used UUIDv4. But unlike v4, UUIDv7 is time-sortable with 1 ms precision. By combining the timestamp and the random parts, UUIDv7 becomes an excellent choice for record identifiers in databases, including distributed ones. Let's briefly explore the UUIDv7 structure and move on to the zero-dependency implementations i

                                                  UUIDv7 in 33 languages
                                                • 自社データ × ChatGPTで社内AIを構築するRAG ツール|Doox β版をリリースしました - Qiita

                                                  TLDR 社内のデータを元に質問への回答を LLM が生成する仕組み(RAG)を構築するためのサービスを開発しました。 β 版として無料で公開しているので是非使ってみてください。 サーバーレスな構成で Next.js を動かしている。技術のキャッチアップは大変だ。 背景 仕事をしていると社内の規定 / 製品情報 / 過去の履歴 .. などに関する問い合わせは日常的に発生するものだし、その工数は結構ある。通常は Wiki を作ってナレッジを共有するが、結局「近い人や担当に聞く」という行為はなかなか減らない。 色々な企業が、社内のデータを元に質問への回答を LLM が生成する仕組み(RAG)を独自に開発しているようで、技術ブログとかに書いている方も多い。 社内向け RAG の構築を SaaS プロダクトで提供したら各社の社内の問い合わせ工数と独自に RAG を構築するコストを下げられて嬉しいん

                                                    自社データ × ChatGPTで社内AIを構築するRAG ツール|Doox β版をリリースしました - Qiita
                                                  • ChatGPTのGPT-4Vを使ってSQL文を画像から作成する - Taste of Tech Topics

                                                    igaです。 ポケモンsleepを継続していますが、カビゴン評価がマスターになれません。 ChatGPTが見たり、聞いたり、話したりできるようになる、と言われている「GPT-4 with vision (GPT-4V)」が使えるようになったので、早速使ってみたいと思います。 openai.com 今回は、データベースのテーブル関連図を画像ファイルでもらった想定で、画像からテーブルのDDLが生成できるかを確認してみます。 やりたいこと 以下のような、テーブルの関連図とサンプルデータが描かれた画像ファイルをもらいました。 この画像ファイルをChatGPT-4に渡して、SQLのDDLが生成できるか確認します。 画像を解釈できるか確認する いきなりDDLを作らせる前に、まずは画像ファイルに書かれたテーブル構造を、マークダウンで出力してもらいます。 プロンプトの入力欄の左に絵のアイコン(画像の赤で囲

                                                      ChatGPTのGPT-4Vを使ってSQL文を画像から作成する - Taste of Tech Topics
                                                    • エンジニア以外でもSQLを使いこなす社内勉強会の取り組み - Qiita

                                                      概要 CBcloudでは、各部署のKPIをモニターし、業務改善に必要なデータを可視化するために、Metabaseを活用しています。データに基づいた意思決定を迅速に行い、業務効率を高めることができます。 しかし、データの抽出や可視化においては、エンジニアのサポートが必要とされる場面が多く、迅速に対応することが難しい場面も多々あります。そこで、私たちはエンジニア以外の社員が自ら必要なデータを抽出できるようになることを目指し社内でSQL勉強会を開催したいな〜と思っていたところ、社内からGASやSQL学びたい!という声が!!! ということでSQL勉強会を @aipacommander と共に開催する事になりました!開催は発起人のパートナーズサクセス本部I.A氏を中心に進めてもらっています。いつもありがとうございます! 前提 CBcloudは物流ラストワンマイルの配送プラットフォーム「ピックゴー」を

                                                        エンジニア以外でもSQLを使いこなす社内勉強会の取り組み - Qiita
                                                      • SQLに対するバックエンドのアプローチ比較、そしてSafeQLの紹介

                                                        はじめに こんにちは。calloc134 です。 バックエンド開発において、DB にデータを保存することはよくあることです。 DB と接続してデータのやり取りを行う必要がありますが、皆さんはどのようにしてデータを取得していますか? ORM やクエリビルダを利用したり、逆に SQL を記述してコード生成を行ったりと、様々な方法があります。 今回はこれらのアプローチについて比較し、比較的斬新な方針を取っているものとして SafeQL を紹介します。 注意点 ここでは、TypeScript のバックエンド開発と、そこで利用されるライブラリを前提として話を進めます。 Go や Python など他の言語での利用方法については、別途調査が必要です。 SQL に対するアプローチ まず、SQL に対するアプローチには大きく分けて 2 つの方法があります。 それぞれのライブラリの使い方を、簡単に見ていきま

                                                          SQLに対するバックエンドのアプローチ比較、そしてSafeQLの紹介
                                                        • GitHub Copilot はどのようにして空気を読むか? - ABEJA Tech Blog

                                                          "Everything is true," he said. "Everything anybody has ever thought." この記事は ABEJAアドベントカレンダー2023 の 17 日目の記事です。 こんにちは。システム開発部の石川 (@ishikawa) です。昨年のいまごろは Objective-C ばかり書いていましたが、今年は念願の Swift で QR コードリーダーを書き直したり、React Native の C++ コードをデバッガで追いかけて不思議なバグの修正をした年でした。 react-native で 196,607 回 fetch() すると通信できなくなるバグを直した https://t.co/lvNC3PL85b— takanori_is (@takanori_is) 2023年9月21日 普段の業務では TypeScript と Go、Pyt

                                                            GitHub Copilot はどのようにして空気を読むか? - ABEJA Tech Blog
                                                          • データベースに接続するテストの仕組みを整備して、運用して、反省したこと - Qiita

                                                            はじめに この記事の内容 この記事は上記記事で作成したデータベースに接続するテストの仕組みを運用した際に発生した問題点とそれに対する分析、解決策の案をまとめた記事です。 データベースに接続するテストの詳細な内容は上記記事を参照していただければと思うのですが、作った仕組みの概要としては データベースに接続するJUnitTestをCIで実行するしくみ です。 これによって私が開発しているプロダクトのテストの仕組みの全体像は以下のようになりました。 CIで実行されるJUnitTest(Javaプロセスのみ)の実行基盤 CIで実行されるJUnitTest(データベースにアクセスする)の実行基盤 機能開発時に開発者が作成し協力会社の打鍵者の方に依頼するファンクショナルテスト これは自動E2Eテスト等でカバーできるものも含まれており、そういった仕組みも整備しなければいけないという課題認識があります。

                                                              データベースに接続するテストの仕組みを整備して、運用して、反省したこと - Qiita
                                                            • データ基盤のためのリーダブルSQL

                                                              これは何? 私tenajimaがデータ基盤のパイプラインを作るとき、レビューするときに意識している点を言語化したものです データ基盤を作る上での考え方の一つに役立てていただければ幸いです この記事の前提 dbtを使ったデータ基盤構築を念頭に置いて書いています、dbtの記法が出てきます CTEsが使える環境を想定しています 記事内でデータエンジニアもアナリティクスエンジニアも総称してデータエンジニアと呼んでいます データ基盤を「使う側」のクエリと「作る側」のクエリの違い 最近ではファーストキャリアからデータエンジニアの方も出てきているかもしれませんが、データサイエンティスト、アナリスト、ソフトウェアエンジニアを経験してデータエンジニアを行っている人が一般的と考えています。 特にデータサイエンティスト、アナリストからデータエンジニアへの転向は私の周りでは多いように感じており、その方達は(過去の

                                                                データ基盤のためのリーダブルSQL
                                                              • 効率的にリファクタリングを進めるための下準備教えます - MonotaRO Tech Blog

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

                                                                  効率的にリファクタリングを進めるための下準備教えます - MonotaRO Tech Blog
                                                                • バグバウンティ入門(始め方) - blog of morioka12

                                                                  1. 始めに こんにちは、morioka12 です。 本稿では、バグバウンティの入門として、主に Web アプリケーションを対象にした脆弱性の発見・報告・報酬金の取得について紹介します。 1. 始めに 免責事項 想定読者 筆者のバックグラウンド Start Bug Bounty Bug Bounty JP Podcast [Blog] Intigriti Q1 2024 の成績 インタビュー記事 2. バグバウンティとは バグバウンティプラットフォーム Program Type Private Programs VDP (Vulnerability Disclosure Program) Asset Type 3. プログラムの選び方 Scope OoS (Out of Scope) 4. 脆弱性の探し方 (初期調査編) Subdomain Google Dorks Wayback Mac

                                                                    バグバウンティ入門(始め方) - blog of morioka12
                                                                  • ISUCON13で優勝しました(チーム NaruseJun)

                                                                    11月25日に開催されたISUCON13でチームNaruseJunとして参加し優勝しました。 メンバーはここ4年同じで、大学時代のサークル仲間の@sekai・@takashi・とーふとふの三人です。 昨年のISUCON12でも優勝したので、チームNaruseJunは二連覇となります。 最終スコアは468,006点でした。 スコアの推移は以下の通りです。 かなり順調にスコアを伸ばしていますね。後述しますが17時直後にめちゃくちゃ伸びているのは、ログを止めた結果です。 その他のスコアは↓ ISUCON13 受賞チームおよび全チームスコア : ISUCON公式Blog 事前準備 今年はチーム全員が忙しかったので、チームで最初に集まったのは11/14でした。 その日は30分くらいで今年の流れの確認と、素振りの日(11/18)を確定して解散しました。 ありがたいことに過去優勝チームとしてLodgeで

                                                                      ISUCON13で優勝しました(チーム NaruseJun)
                                                                    • 派生先テーブルの参照回数も考慮して安全にテーブルを撤退する - yasuhisa's blog

                                                                      3行まとめ テーブルの撤退時にはテーブルの参照回数を見ることが多いと思いますが、テーブル単独の参照回数を見るだけだと不十分なことが多いです 派生先のテーブルの参照回数まで考慮すると、テーブルが撤退できるか安全に判断することができます リネージ上の親子関係をWITH RECURSIVEで考慮しながら、累積参照回数をSQLで導出できるようにし、安全にテーブル撤退を判断できるようにしました 3行まとめ 背景: テーブルの撤退にはテーブル単独の参照回数を見るだけだと不十分 アイディア: 累積参照回数を計算する 実装 テーブル間の親子関係を抽出する WITH RECURSIVEでテーブルの親子関係を辿る テーブルの親子関係を考慮しながら、累積参照回数を計算する まとめ 背景: テーブルの撤退にはテーブル単独の参照回数を見るだけだと不十分 データエンジニアやアナリティクスエンジニアの仕事をしていると、

                                                                        派生先テーブルの参照回数も考慮して安全にテーブルを撤退する - yasuhisa's blog
                                                                      • モダンなタスク管理を可能にするSnowflake Python API

                                                                        結論 Taskを管理するならSnowflake Python APIを使おう Snowflake Python APIとは Snowflake公式のPythonのオブジェクト管理ライブラリ「snowflake.core」のことです(Public Beta)。Snowflake Python Connectorとは全く別物です。 Snowflake Python APIを使用すると、Pythonコードを使ってSnowflakeのリソース(Table、Warehouse、Task、Snowpark Container ServiceのCompute Poolなど)を管理することができます。 本記事では、Snowflake Python APIを使ってSnowflakeのタスクとDAG(Directed Acyclic Graph)を管理する方法を詳しく解説します。これにより、Streamlit

                                                                          モダンなタスク管理を可能にするSnowflake Python API
                                                                        • 【生成AI】知らないと後悔する、GPT-4oだけでシステム開発を300%効率化するハック【CodeAGI】 - Qiita

                                                                          【生成AI】知らないと後悔する、GPT-4oだけでシステム開発を300%効率化するハック【CodeAGI】Python生成AIChatGPTGPT-4CodeAGI 都内のIT企業に勤めている、ソフトウェアエンジニアの D̷ELL と申します。 本稿はQiita Engineer Festa 2024の参加記事です。 本日は生成AI(GPT-4o)のAPIキーだけで、システム開発を300%効率化するハックを共有したいと思います。 概要 生成AIによるアプリケーション開発自動化が実現しつつある時代になってきた 日本企業における「Excelドキュメント」は数多く、生成AIを実践投入しづらい GPT-4oのAPIキーさえあれば、社内のドキュメントからシステムを自動構築してくれる仕組みがあった はじめに みなさんはアプリケーション開発における生成AIの利用と言えば、何を想像しますか?おそらく大半の

                                                                            【生成AI】知らないと後悔する、GPT-4oだけでシステム開発を300%効率化するハック【CodeAGI】 - Qiita
                                                                          • 自治体システムへの不正アクセスとベンダの責任 前橋地判令5.2.17(令2ワ145) - IT・システム判例メモ

                                                                            ファイアウォール設定の誤りの脆弱性により不正アクセスが行われ、自治体のシステムから個人情報の漏えいした疑いがある件について、ベンダの重過失が認められた事例。 事案の概要 前橋市(X)は、MENETと呼ばれる情報教育ネットワークを有しており、そのデータセンタの移管設計・構築業務を、NTT東日本(Y)に委託し(本件委託契約)、その後の保守業務も委託していた(月額100万円。本件保守契約)。 平成29年8月ころからMENETの公開用サーバへの不正アクセスがあり、平成30年3月には調査の結果、児童・生徒・保護者に関する多数の個人情報が流出した可能性が高いことが明らかとなった(本件不正アクセス)*1。本件不正アクセスは、サーバにバックドアが仕掛けられ、ファイアウォールの設定とが相まって発生したものだとされた。 Xは、(1)本件委託契約に基づいて、ファイアウォールを適切に設定しなかったことが債務不履行

                                                                              自治体システムへの不正アクセスとベンダの責任 前橋地判令5.2.17(令2ワ145) - IT・システム判例メモ
                                                                            • 運用終了したページがSQLインジェクション攻撃を受けた事案についてまとめてみた - piyolog

                                                                              2024年5月24日、積水ハウスは同社が運用する住宅購入者向けの会員制Webサイトがサイバー攻撃を受け、顧客情報などが流出したと公表しました。ここでは関連する情報をまとめます。 被害ページは運用終了から13年公開継続 不正アクセスの被害にあったのは、積水ハウスが戸建てやマンションの住宅購入者向けに提供している会員制サイト「積水ハウスNetオーナーズクラブ」。同サイト上で過去に使用していたページが残っており、このページが攻撃を受け登録者の情報などが流出した。 攻撃を受けたページは2008年から2011年の4年間、フォトギャラリーとして使用していたもの。当該ページの状況について、同社の広報担当者は当該ページへの動線は存在しないこと、検索エンジンにも引っかからないことより、URLを直接入力しないと接続できない状況にあったと取材に説明。アクセス自体が可能な状態と認識はあったが、使用していないことか

                                                                                運用終了したページがSQLインジェクション攻撃を受けた事案についてまとめてみた - piyolog
                                                                              • 日立製作所、AWS上で構築できる「超高速データベースエンジン」のベストプラクティス構成を提供

                                                                                印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 日立製作所(日立)は、Amazon Web Services(AWS)上で構築可能な超高速データベースエンジン「Hitachi Advanced Data Binder」(HADB)のベストプラクティス構成(検証済みのシステム構成)の提供を開始した。 この構成は、「Amazon EC2」のインスタンス選定方法や、「Amazon S3」、「Amazon EBS」のボリューム構成・設定をDBデータの容量別にパターン化している。また安価なAmazon S3をDBデータ格納に利用するとともに、処理性能を向上させるため高速なAmazon EBSをDBデータのキャッシュとして利用する。これによりストレージのコストを抑えられるとしている。 この構成を

                                                                                  日立製作所、AWS上で構築できる「超高速データベースエンジン」のベストプラクティス構成を提供
                                                                                • Aurora MySQL におけるロック競合(ブロッキング)の原因を事後調査できる仕組みを作った話

                                                                                  こんにちは。 DBRE チーム所属の @p2sk です。 DBRE(Database Reliability Engineering)チームでは、横断組織としてデータベースに関する課題解決や、組織のアジリティとガバナンスのバランスを取るためのプラットフォーム開発などを行なっております。DBRE は比較的新しい概念で、DBRE という組織がある会社も少なく、あったとしても取り組んでいる内容や考え方が異なるような、発展途上の非常に面白い領域です。 弊社における DBRE チーム発足の背景やチームの役割については「KTC における DBRE の必要性」というテックブログをご覧ください。 本記事では、Aurora MySQL でロック競合(ブロッキング)起因のタイムアウトエラーが発生した際に根本原因を特定することができなかったので、原因を後追いするために必要な情報を定期的に収集する仕組みを構築した