並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 89件

新着順 人気順

SQL文の検索結果1 - 40 件 / 89件

  • Webサービス公開前のチェックリスト

    個人的に「Webサービスの公開前チェックリスト」を作っていたのですが、けっこう育ってきたので公開します。このリストは、過去に自分がミスしたときや、情報収集する中で「明日は我が身…」と思ったときなどに個人的にメモしてきたものをまとめた内容になります。 セキュリティ 認証に関わるCookieの属性 HttpOnly属性が設定されていること XSSの緩和策 SameSite属性がLaxもしくはStrictになっていること 主にCSRF対策のため。Laxの場合、GETリクエストで更新処理を行っているエンドポイントがないか合わせて確認 Secure属性が設定されていること HTTPS通信でのみCookieが送られるように Domain属性が適切に設定されていること サブドメインにもCookieが送られる設定の場合、他のサブドメインのサイトに脆弱性があるとそこからインシデントに繋がるリスクを理解してお

      Webサービス公開前のチェックリスト
    • NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック

      近年のデータベースの新潮流にNewSQLと呼ばれる一群のデータベース製品群の登場がある。そのコンセプトを一言でいうと、RDBとNoSQLのいいとこどりである。SQLインタフェースと強いデータ一貫性(ACID)というRDBの利点と水平方向のスケーラビリティというNoSQLの長所を兼ね備えた夢のようなデータベースである。下図に見られるように、RDBとNoSQLが鋭いトレードオフを発生させていたのに対して、NewSQLではそれが解消されているのが分かる。 RDB vs NoSQL vs NewSQL本当にそのような夢の実現に成功しているか、というのはまだ議論が続いているが(クエリのスループットを出すためにレイテンシを犠牲にしているので本当にトレードオフを解消はしていない、などの問題が指摘されている)、商用でも利用可能な製品としてGoogle Spanner、TiDB、YugabyteDB、Coc

        NewSQLはデータベースに革命を起こすか - NetflixにおけるCockroachDBのユースケース|ミック
      • 高効率なSQLクエリの書き方 - Qiita

        概要 この記事では、SQLクエリをより効率的に記述するためのベストプラクティスとテクニックに焦点を当てています。データベースのクエリはシステム全体のパフォーマンスに直結するため、最適な書き方を知ることは重要です。インデックスの効果的な活用方法、適切な結合の選択、そして条件の効果的な書き方など、SQLの最適化に関する具体的な手法を解説します。各SQL文に関する実行計画の結果も掲載していますので、ぜひご確認ください。 なお、Oracle19cとOracle12cでの利用実績がありますが、他のデータベースやバージョンにおいての検証は行っておりません。 新しい情報は随時追加されますので、お楽しみにしてください。 SQLの最適化に関連する基本的なアイデア 以下の通りと考えています。 1.インデックスの利用 2.正しいJOINの選択 INNER JOIN、LEFT JOIN、RIGHT JOINなど、

          高効率なSQLクエリの書き方 - Qiita
        • 社内ChatGPTを使ったGASアプリ開発の完全解説!業務改善の高速化を実現 - MonotaRO Tech Blog

          こんにちは。エンタープライズソリューショングループの石川です。大企業連携システムの基盤の開発や運用を担当していて、日々発生するエラーの監視や調査も行っています。今回は手間と時間がかかりがちだったエラー調査を、ChatGPTを使って改善した話をします。 エラー調査の背景 カタログサイトの概要とエラー発生時の影響 注文受付が影響を受ける理由とエラーの具体例 エラー発生時の調査手順 1. 注文受付へのリクエストがないか確認 2. 購買システムに注文情報を再送信する仕組みがあるか確認 3. 再送信の仕組みがない購買システムの場合は、社内の担当グループに対応依頼 MonoChatに聞きながらGASアプリケーションを作成 実現したかったこと 改善のためのアプリケーションを作成 改善の費用対効果 振り返り エラー調査の背景 カタログサイトの概要とエラー発生時の影響 大企業連携は、各企業様が持つ購買システ

            社内ChatGPTを使ったGASアプリ開発の完全解説!業務改善の高速化を実現 - MonotaRO Tech Blog
          • 【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2024年版】 - Qiita

            はじめに こんにちは。 普段はフロントエンドの開発をメインでやっておりますmamiと申します。 最近バックエンドの方の勉強や、少しずつですがDB設計やAPI作成などの業務もやらせてもらえるようになったので、自分のエンジニアとしてのレベル感や、この先目指すべき道筋を明確にしたいな〜という思いでこの記事を書いております。 これは自分のための記事であると同時に、同じように駆け出し中のエンジニアさんや、ミドル層を目指す手前のエンジニアさんにも刺さる内容になっているかと思います。 今、自分がどのようにキャリアアップしていくべきなのか、どのような道筋でスキルを磨いていけばいいのか。そんなふうに悩んでいる方は是非読んでみてください。 ※内容はバックエンドエンジニアが対象になりますが、フロントエンドの方もなにか通じるものがある…かもしれません。 ちなみにですがフロントエンドの方の記事は下記で執筆しています

              【バックエンド】駆け出しエンジニアが目指すジュニアレベルのエンジニアとは【2024年版】 - Qiita
            • 実務に役立つSQLのテクニック集 - Qiita

              概要 実務で使用されたSQLをまとめました。Oracle19cとOracle12cでの利用実績がありますが、他のデータベースまたバージョンでの検証は行っていません。 随時追加予定です。 Oracleデータベースメタデータ抽出 オブジェクトの定義や作成に使用されるSQL文を抽出 SELECT sqlarea.sql_id AS sql_id, parsing_schema_name, CASE WHEN length(sql_fulltext) > 10000 THEN to_clob('sql is too long') ELSE sql_fulltext END AS sql_fulltext, sql_bind_capture.name AS param_name, sql_bind_capture.value_string AS bind_value, last_active_tim

                実務に役立つSQLのテクニック集 - Qiita
              • 安全なウェブサイトの作り方~失敗例~ - goruchan’s blog

                安全なウェブサイトの作り方を読んだので、理解した内容を自分なりにまとめておきます。資料 上記は3章構成になっていてそれぞれ長めの内容なので、ここでは3章の『失敗例』について、Ruby on Rails ではどうするかについてをまとめます。 SQL インジェクション OS コマンドインジェクション パス名パラメータの未チェック例(ディレクトリトラバーサル) 不適切なセッション管理例(セッション ID の推測) クロスサイト・スクリプティングの例(エスケープ処理) CSRFの例 HTTP ヘッダ・インジェクションの例 メールヘッダ・インジェクションの例 参考 SQL インジェクション 参考資料内の SQL インジェクション例を見て、Ruby on Rails ではどのように対策できるかを確認しました。 例えば、下記ような $uid, $pass をユーザ入力とし、SQL 文を動的に生成する場合

                  安全なウェブサイトの作り方~失敗例~ - goruchan’s blog
                • 本当にあった Web アプリケーションの脆弱性

                  この記事の目的 今まで Web アプリケーション製作を行った経験が無い方が「ちょっと個人開発で何か作ってみようかな!」と思ったときにうっかり脆弱性を作りこんでしまうことを少しでも防げたらいいなと考えました。 そのためにはまず脆弱性を他人事だと考えないことが大事だと思ったので、私が過去の開発現場において実際に遭遇したことがある Web アプリケーションの脆弱性の事例を幾つか紹介します。 紹介の前に注意喚起をします。 自分が管理しているわけではない Web アプリケーションに対し、依頼されてもいないのに脆弱性を探す行為は絶対にしないでください。その行為の内容によっては犯罪になる可能性もあります。 外部から渡されたデータを何の対策もなしに SQL に埋め込んでいる SQL インジェクション攻撃の説明でよくみられる例ですが、ログイン処理でユーザーが入力した ID とパスワードに一致するユーザー情報

                    本当にあった Web アプリケーションの脆弱性
                  • 【個人開発】最新のNext.js+NextAuth.js+prisma+microCMSでECサイト作ってみた【フルスタックアプリケーション】 - Qiita

                    【個人開発】最新のNext.js+NextAuth.js+prisma+microCMSでECサイト作ってみた【フルスタックアプリケーション】TypeScriptフロントエンド個人開発Next.jsprisma はじめに 皆さんこんにちは、mamiなのだ! 今回はバックエンドは作らずにNextAuth.jsやprisma、microCMSなどを利用してNext.jsでECサイトを作成してみたので、その方法や手順などを公開しつつ、認証周りや大型開発案件でも採用されるstorybookなどについても解説していこうと思うのだ! フロントを勉強し始めた初学者さんや、フロントがメインではないバックエンドエンジニアの方に向けて、丁寧に解説を挟みながら書いていくので「へ〜フロントってこんな感じのことやってるんだ〜」と思ってくれたら嬉しいのだ! ちなみにこの記事は丁寧に解説しすぎて死ぬほど長くなってしまっ

                      【個人開発】最新のNext.js+NextAuth.js+prisma+microCMSでECサイト作ってみた【フルスタックアプリケーション】 - Qiita
                    • Rust で SQLite を再実装している - kawasin73のブログ

                      セキュリティを盾に一点突破。どうもかわしんです。最近 Rust で SQLite を実装してます。 以前の記事で HTTP Parser を Rust で実装しようとしたものの、すでに実装されていたので断念しましたが、いい題材を見つけました。SQLite です。開発中のリポジトリはこれです。 github.com 今の時点では、Read Only で1つの WHERE 句を持った SELECT 文しか処理できないですが、以下の機能を実装しています。 sqlite3 で生成された database ファイルの読み取り (cursor.rs, btree.rs, record.rs) SQL 文の解析 (token.rs, parser.rs) テーブルとインデックスのメタデータのパース (schema.rs) 動的なファイルの読み込み (pager.rs) SQL クエリとスキーマ情報を元に

                        Rust で SQLite を再実装している - kawasin73のブログ
                      • Rust で SQLite を再実装した 2023 - kawasin73のブログ

                        気合いで実装、どうもかわしんです。 この記事は Rust Advent Calendar 2023 の6日目 兼 情報検索・検索技術 Advent Calendar 2023 の 6 日目です。 Rust で SQLite をフルスクラッチで実装しています。 github.com なぜ SQLite を Rust で再実装しようと思ったのかについては以前の記事で紹介しています。一言で言えば、誰も Rust で SQLite を書いている人がいなかったからやってみたのですが、そもそも SQLite が強すぎるということが再実装しているうちにわかってきて絶望しています。 kawasin73.hatenablog.com 4 ヶ月前にこの記事を書いたときは簡単な SELECT 文しか実行できなかったのですが、現時点では SELECT, INSERT, DELETE 文をサポートし、express

                          Rust で SQLite を再実装した 2023 - kawasin73のブログ
                        • MySQLとOracleの実行計画を比較してみた - ASMのきもち

                          まいえすきゅーえりたい ぽすぐれない おらくるってる(狂ってる)tomoです。 今日はいつものMySQLリファレンスを読むではなく、夏休みの宿題にしていたこれをやってみます。 MySQLとOracleDBの実行計画を比較してみた さて同じようなテーブルで同じデータを載せて。 実行計画を取ってみた時、どのくらい情報量が違うのか簡単に違いを見てみましょう。 前提として、以下をご認識ください。 一方はOSSのDBエンジン、もう一方はガチガチ商用DBエンジンです。情報量が違うのは当たり前であって、良し悪しを比較したいのではありません。そして製品比較をしたいのではありません。いつも商用DBメインで使っているエンジニアが、OSSのDBにこうゆう情報も出してほしいな!というのをお願いしたいと思っていて、それを考える元ネタメモだと思ってください。 OSSでこれだけの情報出せるMySQLや、今回紹介しません

                            MySQLとOracleの実行計画を比較してみた - ASMのきもち
                          • Python普及しろ協会に入会したい

                            この記事はタナイ氏によるPython滅ぼす協会に入会したいを読んでから執筆したものです。 この記事の趣旨はPython滅ぼす協会に入会したいに対する反論という形をとりながら、タナイ氏により「バカの言語」と揶揄され、「使ってエンジニアを名乗るというのは」「滑稽」とまで言われたPythonの立場を再考することです。 追記 本記事は「Pythonはこれだけ優れた言語だからみんな使おう!」というものではなく「言うほど酷くないと思うよ」程度のものです。 型アノテーションがあるからと言って静的型付けを軽視しているわけでもなければ、map関数をもってmapメソッドを不要だと言っているわけでもありません。 この記法は嫌い〜この記法が好き〜と表明することは個人の自由ですが、同様に「この記法は実はこういう意味があって〜」という意見があればそれを聞いた上で、物事を判断して欲しいです。もちろん、聞いても意見が変わ

                              Python普及しろ協会に入会したい
                            • SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ

                              困った時はドキュメント、どうもかわしんです。最近、諸事情で SQLite のドキュメントを読んでいます。 前回の記事 で紹介した通り SQLite を Rust で再実装しています。おかげさまで 300 を超える Github Star もいただき嬉しいです。 github.com SQLite は全ての仕様が ドキュメント にまとめられているので、そのドキュメントと本家の実装を読み比べながら実装しています。 SQLite を再実装する上で特に以下のドキュメントは役にたちます。これらだけで最小限の SQLite の実装は作れると思います。 Overview Documents > About SQLite いかに SQLite がすごいかを自慢しているドキュメント。使おうとしている人には安心を、再実装しようとする人には絶望を与えてくれます。 Programming Interfaces >

                                SQLite を再実装する時に役にたつドキュメント - kawasin73のブログ
                              • [速報]Google、PostgreSQLにAI対応を組み込んだ「AlloyDB AI」発表、オンプレミスでも他社クラウドでも利用可能に。Google Cloud Next '23

                                [速報]Google、PostgreSQLにAI対応を組み込んだ「AlloyDB AI」発表、オンプレミスでも他社クラウドでも利用可能に。Google Cloud Next '23 Googleは、8月29日(日本時間の30日未明)から米サンフランシスコで開催中のイベント「Google Cloud Next '23」で、同社が提供するPostgreSQL互換のデータベース「AlloyDB」にAI対応機能を組み込んだ「AlloyDB AI」を発表しました。 AlloyDB AIは、データベース内に保存されているデータをAIと組み合わせて利用しやすくする機能を搭載しており、企業などが持つ商品データや顧客データなどをAIで活用するアプリケーション構築を容易にします。 一般に、企業がAIや機械学習を利用したアプリケーションを開発する場合、既存の大規模言語モデルなどをそのまま利用するのではなく、自社

                                  [速報]Google、PostgreSQLにAI対応を組み込んだ「AlloyDB AI」発表、オンプレミスでも他社クラウドでも利用可能に。Google Cloud Next '23
                                • 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
                                  • JDK 21 の開発者向けの新機能 - 赤帽エンジニアブログ

                                    Red Hat のソリューションアーキテクトの瀬戸です。 この記事はRed Hat Developerのブログ記事、What's new for developers in JDK 21 | Red Hat Developer を、許可をうけて翻訳したものです。 Java開発者にとってエキサイティングな情報として、今年 9 月 19 日に JDK 21 がリリースされました。 このリリースには、仮想スレッド(Virtual Thread)、レコードパターン(Record Patterns)、順序付コレクション(Sequenced Collections)など、Javaのエコシステムに利益をもたらす多くの新機能が含まれています。JDK 21 のプレビューには、文字列テンプレート(String Templates)、スコープ付値(Scoped Values)、構造化並列処理(Structure

                                      JDK 21 の開発者向けの新機能 - 赤帽エンジニアブログ
                                    • パスワードがハッシュ値で保存されているサイトのSQLインジェクションによる認証回避の練習問題解答 - Qiita

                                      この記事は、以下の問題の想定正解です。まだ問題を読んでいない方は、先に問題を読んでください。 まず、多くの方に記事を読んで頂きありがとうございます。解答もいくつかいただきましたが、その中で、以下のhm323232さんの解答は非常に優れたもので、これに付け加えることはほとんどありません。 しかし、気を取り直して、解答を書きたいと思います。 まず、ログイン処理の中核部分は以下に引用した箇所です。 $sql = "SELECT * FROM users WHERE userid = '$userid'"; $stmt = $pdo->query($sql); $user = $stmt->fetch(); if ($user && password_verify($password, $user['password'])) { echo "ログイン成功:" . htmlspecialchars(

                                        パスワードがハッシュ値で保存されているサイトのSQLインジェクションによる認証回避の練習問題解答 - Qiita
                                      • Google Cloud、AI機能搭載のPostgreSQL互換ソフトウェア「AlloyDB Omni」正式版リリース

                                        Google Cloud、AI機能搭載のPostgreSQL互換ソフトウェア「AlloyDB Omni」正式版リリース Google Cloudは独自に高性能化したPostgreSQL互換ソフトウェア「AlloyDB Omni」の正式版をリリースしたことを発表しました。 AlloyDB Omniは、Google CloudがPostgreSQL互換の高性能なマネージドデータベースサービスとして提供している「AlloyDB for PostgreSQL」と同じデータベースサーバを、オンプレミスやノートPCなどで実行できるソフトウェアとして開発が進められました。 参考:Google Cloud、高性能化したPostgreSQL互換「AlloyDB」のオンプレミス向けソフトウェア「AlloyDB Omni」発表。開発環境での利用は無料 トランザクション性能は2倍高速、分析的クエリは100倍高速に

                                          Google Cloud、AI機能搭載のPostgreSQL互換ソフトウェア「AlloyDB Omni」正式版リリース
                                        • 二極化が進む企業の自動化推進 - Qiita

                                          はじめに 「働き方改革」という言葉が世間の注目の的となり、仮想労働者・デジタルレイバーという言葉が定義され、RPA元年とも言われた2016年から早くも7年の月日が経ちました。 この業界にずっと身を置いてきた立場として、様々なクライアントからご相談も頂く中で最近特によく感じるのは「企業によって自動化推進の二極化が進んできたな」という事です。 これは、単純に予算や人が足りないという問題であればまだ良いのですが、問題はそこではなく、進もうとしている方向性にあります。 つまり二極化が進んでいる理由は、端的に言ってしまうと、自動化推進において「その組織がどの山を登ろうとしているのか?」という点にあります。 そもそも登るべき山を間違えている場合、人とリソースをどれだけ投下しても、本来目指すべき目的地に辿り着く事はなく、むしろ悪い方向にどんどん向かう一方になります。 この業界における力学上の問題もあり、

                                            二極化が進む企業の自動化推進 - Qiita
                                          • その魅力は「お金」——だけじゃない。バグハンター界のホープが語る、バグバウンティに取り組む理由とその醍醐味

                                            TOPインタビューその魅力は「お金」——だけじゃない。バグハンター界のホープが語る、バグバウンティに取り組む理由とその醍醐味 バグハンター 森岡 優太 GMOサイバーセキュリティ byイエラエ株式会社の2024年新卒セキュリティエンジニア。 学生時代から数社で脆弱性診断等の業務を経験し、現在は所属企業でWebペネトレーションテストやソースコード診断等の業務に従事する。 外部活動では、サイバーセキュリティに関する登壇や講師、執筆などに取り組み、プライベートでもバグバウンティで脆弱性探しに取り組んでいる。 また、趣味でポッドキャスト「Bug Bounty JP Podcast」の運営とスピーカーをしている。 X (旧Twitter): @scgajge12 個人サイト: https://scgajge12.github.io/ Webサービスやスマホアプリなどを提供する企業が、外部のホワイトハ

                                              その魅力は「お金」——だけじゃない。バグハンター界のホープが語る、バグバウンティに取り組む理由とその醍醐味
                                            • サービス無停止を実現するデータ移行戦略 - ZOZO TECH BLOG

                                              はじめに こんにちは、ECプラットフォーム部会員基盤ブロックのturbofishです。弊社ではモノリスのプログラムで動いているZOZOTOWNをマイクロサービス化する取り組みを行なっており、複数チームが1つの大きなオンプレシステムをマイクロサービスでリプレイスしています。その中で私が所属する会員基盤ブロックでは、ZOZOTOWNの会員情報を管理するマイクロサービスを開発しています。 本記事では、弊チームを含む複数のマイクロサービス開発チームにおいて、既存のアプリケーションの一部をマイクロサービスを使用する処理に置き換えた際、サービス無停止でオンプレ環境にあるDBからマイクロサービスが使用するクラウド環境のDBにデータを移行した戦略を紹介します。 ディスクレイマー 本記事で紹介するデータ移行方法には下記の制約があり、全ての状況に対応できるわけではありません。 DBへの書き込み処理と読み取りの

                                                サービス無停止を実現するデータ移行戦略 - ZOZO TECH BLOG
                                              • 開発効率を追い求めた実装プラクティス集

                                                この記事は MICIN Advent Calendar 2023 の24日目の記事です。 前回はSaneさんの「データ基盤チームで社内インターンをやってみて」でした。 はじめに abekohです。MICINでMiROHAの開発をしております。 本記事では、書籍等から得た設計・実装パターンの知識や、実際にプロダクト開発で試して得られた経験などから編み出した、開発効率向上のためのWeb API開発のプラクティスを紹介します。 筆者が関わっているMiROHAは治験の業務支援を取り扱うプロダクトです。MiROHAの開発における特性として、以下のようなものが挙げられます。 治験業務に関するドメインが特有で複雑 前例が少なく、MVPを追求中。プロダクトのアプローチが頻繁に変わる 外部品質は高い水準が求められる これらの特性を意識して開発を促進させるために日々試行錯誤しております。 複雑なドメインに対す

                                                  開発効率を追い求めた実装プラクティス集
                                                • sqlc を TypeScript で利用する

                                                  まとめ sqlc-gen-typescript かなり良い 自分が TypeScript でウェブアプリを利用するなら間違いなく sqlc を選択する SQL は共通言語という点で本当に偉大 sqlc とは sqlc とは Go で書かれた SQL を元にコードを生成するツール。 なぜ sqlc ? 結局、それぞれの ORM 固有の技術を覚えるくらいなら SQL を覚えた方が早い 拡張に ORM が対応していようがいまいが関係ない SQL パーサーが pg_query_go を利用しているので信頼できる sqlc は PostgreSQL だけなの? sqlc は MySQL や SQLite にも対応している。 sqlc は Go だけなの? sqlc は Wasm でプラグインが書けるようになってきており、つい最近 TypeScript 版がリリースされた。 現時点では、 Postgr

                                                    sqlc を TypeScript で利用する
                                                  • データカタログ特集 データ利活用に向けたアーキテクチャ6選 - Findy Tools

                                                    整備したデータ基盤を、事業部や会社全体で活用に持っていく中で「データカタログ」の必要性が増々注目を集めています。 今回は、データカタログを導入し、データ利活用に挑んでいる6社に、アーキテクチャの工夫ポイントからデータカタログ導入によって得られた効果などを伺いました。 ◆目次 株式会社10X 株式会社ビットキー 株式会社エブリー 株式会社Luup Sansan株式会社 株式会社ZOZO 株式会社10X 事業内容 10Xでは「10xを創る」をミッションとし、小売向けECプラットフォーム「Stailer」の提供を通じて、スーパーやドラッグストア等のオンライン事業立ち上げ・運営支援を行っています。Stailerでは業務構築におけるコンサルティングから、必要な商品マスタやお客様アプリ・スタッフ向けのオペレーションシステム等の提供、配達システムの提供、販売促進の支援など、データを分析しながら一気通貫で

                                                      データカタログ特集 データ利活用に向けたアーキテクチャ6選 - Findy Tools
                                                    • 2023年振返り: Cloudflare Workersとデータベース接続の進歩

                                                      2023年はエッジコンピューティングとデータベース接続の分野において、Cloudflare Workers(以下CFWorkers)が中心となり多くの進歩が見られました。本記事では、この1年間の重要なトピックと、それがどのように開発体験を変えたかを振り返ります。特に、CFWorkersのエコシステムの成長、機能拡張、およびDB接続の課題と解決策に焦点を当てています。 エコシステムの進化とCFWorkers上からのDB接続需要の増加 2021年頃から2022年にかけて、いくつかのWebアプリケーションのフレームワークやエコシステムが、CFWorkers上での動作やデプロイをサポートしたことがきっかけとなり、エッジランタイム・コンピューティングの注目を集めるようになりました。 Remix Remixは、フロントエンドのフレームワークであり、エッジランタイムへのデプロイをサポートしています。 2

                                                        2023年振返り: Cloudflare Workersとデータベース接続の進歩
                                                      • 複雑なデータベースの知識は一切不要、気にするのはエンドポイントだけ 開発の生産性を高める「TiDB Serverless」の各種機能

                                                        真のサーバーレスアーキテクチャについて語り、最新のエッジコンピューティングや生成系AIのサーバーレス実装を学び、クラウドネイティブで高速な開発プラクティスと向き合う2日間「ServerlessDays Tokyo 2023」。ここで登壇したのは、PingCAP株式会社の関口匡稔 氏。同社が開発する、オープンソースの分散型データベース「TiDB Serverless」について発表しました。全2回。後半は、TiDBを使ったアプリケーションのサンプル「OSS Insight」とChatGPTの機能「Chat2Query」について。前半はこちらから。 TiDBを使ったアプリケーションのサンプル「OSS Insight」 ここまで、TiDB Serverlessをどうやって作っていったかというコンセプトをご紹介してきました。ここから、TiDB Serverlessを実際に使ってみたという話をしたいと

                                                          複雑なデータベースの知識は一切不要、気にするのはエンドポイントだけ 開発の生産性を高める「TiDB Serverless」の各種機能
                                                        • SQL/コマンドインジェクション、XSS等を横串で理解する - 「インジェクション」脆弱性への向き合い方 - Flatt Security Blog

                                                          こんにちは、@hamayanhamayan です。 本稿ではWebセキュリティに対する有用な文書として広く参照されているOWASP Top 10の1つ「インジェクション」について考えていきます。色々なインジェクションを例に挙げながら、どのようにインジェクションが起こるのかという発生原理から、どのようにインジェクションを捉え、より広くインジェクションの考え方を自身のプロダクト開発に適用していくかについて扱っていきます。 SQLインジェクションやコマンドインジェクション、XSSのようなインジェクションに関わる有名な手法について横断的に解説をしながら、インジェクションの概念を説明していきます。初めてインジェクションに触れる方にとっては、インジェクションの実例や基本的な考え方に触れることができ、その全体像を把握する助けになるかと思います。 また、既にいくつかのインジェクション手法を知っている方にと

                                                            SQL/コマンドインジェクション、XSS等を横串で理解する - 「インジェクション」脆弱性への向き合い方 - Flatt Security Blog
                                                          • Google、PostgreSQL互換のAlloyDBにAI機能を組み込んだ「AlloyDB AI」正式版に。ローカルで実行できるソフトウェア版も提供

                                                            Google Cloudは、PostgreSQL互換のAlloyDBにAI機能を組み込んだ「AlloyDB AI」正式版を提供開始した。データベースのデータをリアルタイムにAIに反映できる高速なベクトル検索などが可能だ。 Google Cloudは、PostgreSQL互換のデータベース「AlloyDB」にAI機能を組み込んだ新機能「AlloyDB AI」が正式版となったことを発表しました。 AlloyDBはGoogle Cloudのマネージドサービスとして提供されますが、同時に、AlloyDBをローカル環境で実行可能なソフトウェア版の「AlloyDB Omni」でもAlloyDB AIが正式版となりました。 AlloyDB Omniは開発環境などでの利用は無料です。本番環境の利用では有料のサブスクリプション料金が設定されており、Google Cloudによるサポートが提供されます。 企業

                                                              Google、PostgreSQL互換のAlloyDBにAI機能を組み込んだ「AlloyDB AI」正式版に。ローカルで実行できるソフトウェア版も提供
                                                            • 自然言語による説明でSQL文からDBアプリの生成まで実現する「Oracle APEX AI Assistant」発表

                                                              オラクルは、自然言語による質問からSQLクエリを生成したり、自然言語で求める機能を説明することでアプリケーションの生成まで実現する「Oracle APEX AI Assistant」(以下、APEX AI Assitant)を発表しました。 APEX AI Assistantは同社のローコード開発ツールであるOracle APEXの機能として提供されます。Orale APEXはOracle DatabaseはOracle Autonomous Databaseなどを含む同社のOracle Databaseクラウドサービスにおいて無償で利用可能です。 このAPEX AI Assistantを含むOracle APEXの新バージョンは今日から利用可能。 自然言語からSQL文を生成 Oracle APEXでデータベースアプリケーションを開発する場合、まずデータモデルを設定し、デザイナーで画面を作

                                                                自然言語による説明でSQL文からDBアプリの生成まで実現する「Oracle APEX AI Assistant」発表
                                                              • Pinterest社で運用されているText-to-SQLを理解する

                                                                導入 こんにちは、株式会社ナレッジセンスの須藤英寿です。普段はエンジニアとして、LLMを使用したチャットのサービスを提供しており、とりわけRAGシステムの改善は日々の課題になっています。 本記事では、Pinterest社のエンジニアチームが紹介していた、実運用環境におけるText-to-SQLの構築方法に関する記事の紹介をします。 Text-to-SQLを実際の運用レベルで実現するための手法が解説されているので、その内容を解説、そして考察していきたいと思います。 なおこの手法には特に名前などは設定されていなかったので、以降Pinterest社の提案するText-to-SQLをPinterest Text-to-SQLと呼称します。 サマリー Pinterest Text-to-SQLは、RAGのシステムを最適化することで 検索に必要なTableのより正確な抽出 実際に使用されている値に準拠

                                                                  Pinterest社で運用されているText-to-SQLを理解する
                                                                • ベクトル検索(Vector Search)とは? キーワード検索との違い

                                                                  ベクトル検索(Vector Search)とは? キーワード検索との違い:AI・機械学習の用語辞典 用語「ベクトル検索」について説明。テキストなどのデータを数値ベクトル(埋め込み)として表現し、それらのベクトル間の類似度を計算することで、関連する情報を見つけ出す検索方法を指す。Azure OpenAI Serviceの独自データ追加機能で利用可能な「キーワード検索」「ベクトル検索」「ハイブリッド検索」「セマンティック検索」という検索手法の違いについても言及する。 連載目次 用語解説 AI/機械学習/自然言語処理におけるベクトル検索(Vector Search:ベクター検索)とは、テキストや画像などのデータを数値ベクトルとして表現し、それらのベクトル間の類似度(主にコサイン類似度)を計算することで、関連する情報を見つけ出す検索方法のこと、またその方法による検索のことである。なお、数値ベクトル

                                                                    ベクトル検索(Vector Search)とは? キーワード検索との違い
                                                                  • crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ

                                                                    こんにちは。crowdworks.jp SREチームの田中(kangaechu)です。 crowdworks.jpでは、2023年8月にAWS RDS MySQL 5.7から8.0へのアップデートが完了しました(ようやく!)。 今回はMySQL 8.0へのアップデートの手順と対応が必要な変更点について書いていきます。 MySQL 8.0にアップデートした理由 MySQL 8.0にアップデートした理由はAWS RDS MySQLのEOL対応のためです。 AWS RDS MySQL 5.7のEOLは2023年10月(のちに2023年12月に変更されました)であり、8.0へのアップデートが必要でした。 crowdworks.jpで使用している他のMySQLデータベースは8.0へのバージョンアップを完了していました。 しかしcrowdworks.jpのマスタデータベースは30億行を保持し、1日に約

                                                                      crowdworks.jpのマスタデータベースをAWS RDS MySQL 5.7から8.0にアップデートしました - クラウドワークス エンジニアブログ
                                                                    • クリーンアーキテクチャをパン工場で説明する【Go】

                                                                      はじめに 本記事は技術書典16(2024)で一部執筆させていただいた「CA Tech Lounge note #2」のクリーンアーキテクチャとパン工場を元に、一部抜粋&変更したものです。 本記事の対象読者 本記事では、クリーンアーキテクチャを全くわかっていない筆者が、一度個人開発したものをクリーンアーキテクチャにリファクタリングしていく過程で学んだことをまとめていきます。そのため、以下のような読者を想定しています。 クリーンアーキテクチャを聞いたことがあるけどわからない人 コードは書くけれどアーキテクチャを意識したことはない人 アーキテクチャを意識して開発したい人 クリーンアーキテクチャを一度学んでもピンと来なかった人 Goが好きな人! リファクタリング前の筆者の状況 バックエンド歴は半年弱ほどで、実務経験としてはPythonで簡単なAPIを実装するアルバイトのみになります。アーキテクチャ

                                                                        クリーンアーキテクチャをパン工場で説明する【Go】
                                                                      • Server Actions が Next.js 14 からStableに!古参フロントエンドが消失しないために知っておくこと

                                                                        思い出します2年前・・・ VTeacher所属のSatokoです。 フロントエンドエンジニアとバックエンドエンジニアを兼任しています。 定番なテクノロジーと少しだけGeekなテクノロジーを組み合わせた選定が好みです🤤 Next.js Conf 、朝まで大忙しでしたね。 (ねむい・・・) Server Actions の一般的な誤解 まず最初に、SNSで話題になっている Server Actions に関する一般的な誤解についてです。 (1) 生のSQLが書かれているというアンチパターン?🤔 一部のサンプルコードでは、生のSQLを直書きしているところがあります。 しかし、以前のプレゼンテーションでも述べられているように、 React Server Component や Server Actions で、この書き方を推奨しているわけではありません。 あくまで「こんなこともできるようになっ

                                                                          Server Actions が Next.js 14 からStableに!古参フロントエンドが消失しないために知っておくこと
                                                                        • 【SQL】NULL値を制御/SQLマスターへの道「COALESCE」 - Qiita

                                                                          導入 SQL文でNULL値を扱う際の便利な関数、COALESCEを紹介しようと思います。 SELECT句で、NULL値を置き換えることで、データの可読性を高めることができたり。 ORDER BY句で、NULL値のソートの条件分岐の複雑性を吸収したり。 と、SQL文の簡略化にぴったりです。 今回の記事では、簡単にCOALESCE関数の説明と実践例を2つご紹介します。 COALESCEについて リストの最初の非 NULL 値を返します。非 NULL 値がない場合は、NULL を返します。 つまり、欠損値(NULL)にデフォルト値を指定することができます。 例 SELECT COALESCE(`office`.`locale`, `office`.name`, `リモート勤務`); 上記のクエリを例にすると...。 office.locale(オフィスの場所)を出力。 office.locale

                                                                            【SQL】NULL値を制御/SQLマスターへの道「COALESCE」 - Qiita
                                                                          • 2023年に書いたコード - laiso

                                                                            「2023年のふりかえり」ではPythonやJavaScriptのコーディングの話ばかり出てくるけど、これって今年全体から見ると1割以下だなぁと思ったのでGitHubのメトリクスを見ながら振り返ることにした laiso.hatenablog.com 言語ごとのコミット数 PHPの話 Laravelの話 開発手法の話 テストの話 GitHub上での活動 2021年 2022年 言語ごとのコミット数 vn7n24fzkq/github-profile-summary-cardsというのが生成してくれたグラフ profile-summary-card-output Python はデータ分析サーバーをFastAPIで書いてるのでその分と、Swiftは記憶にない 他の大部分はLaravel を使った複数のプロジェクトになる PHPの話 PHPの仕事が欲しいわけではないのであんまりPHP書ける人ブラ

                                                                              2023年に書いたコード - laiso
                                                                            • MySQL5系クライアントと8系クライアント混在時に発生する現象 | 株式会社ヌーラボ(Nulab inc.)

                                                                              こんにちは、ヌーラボの中村です。BacklogのGitチームで開発やメンテナンス、その他諸々をやっています。本記事ではMySQLクライアントのバージョンアップの際に出くわしたおもしろい挙動を解説します。 概要 MySQL 5.7サーバーへの接続について、MySQL5系クライアントからMySQL8系クライアントへのバージョンアップを検証していたところ、特定のクエリだけ実行結果が0件になる現象が発生しました。(あるPerlのプログラムで5系のクライアントをサポートしていない環境があり、やむを得ずアップグレードを実施しました) インターネットで検索すると、「クエリに空白を入れる」「改行を追加する」などおまじないのような解決方法が散見されましたが、そんなはずはないと思い調査を進めました。 調査したところ、原因は以下の3つが合わさったことによるものでした。 MySQL 5.7ではクエリキャッシュが有

                                                                                MySQL5系クライアントと8系クライアント混在時に発生する現象 | 株式会社ヌーラボ(Nulab inc.)
                                                                              • 【機械学習】機械学習を用いたin silico screening【AI創薬】~第1章 公共データベース(ChMBL)からの機械学習の学習データを収集~ - LabCode

                                                                                AI創薬とは? AI創薬は、人工知能(AI)技術を利用して新しい薬物を発見、開発するプロセスです。AIは大量のデータを高速に処理し、薬物の候補を予測したり、薬物相互作用を評価したりします。また、AIは薬物の効果や安全性をシミュレートすることも可能で、臨床試験の前の段階でリスクを評価することができます。これにより、薬物開発のコストと時間を大幅に削減することが期待されています。AI創薬は、薬物開発の新しいパラダイムとして注目を集め、製薬企業や研究機関で積極的に研究、導入が進められています。また、バイオインフォマティクス、ケモインフォマティクス、機械学習、ディープラーニングなどの技術が組み合わされ、薬物開発のプロセスを革新しています。さらに、AI創薬は個人化医療の推進にも寄与し、患者にとって最適な治療法を提供する可能性を秘めています。 今回はAI創薬の中でも、in silico screeeni

                                                                                • 新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました | フューチャー技術ブログ

                                                                                  コアテクノロジーグループの山田です。 先日、新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました 🎉 このツールは弊社が公開しているPostgreSQL向けのSQLコーディング規約に基づき、SQL文をフォーマットするツールです。 弊社でのSQLフォーマッター開発の取り組み元々弊社ではuroboroSQL Formatter(以下uroboroSQL Formatterを旧版、uroboroSQL-fmtを新版と呼ぶ)というSQLフォーマッターを公開していました。旧版は 字句解析して得られたトークンを基にフォーマットするという設計になっていたため、SELECT句のエイリアス補完といった文法を考慮する必要のある機能の追加が困難Pythonで書かれておりVSCodeの拡張機能として動作させるのが難しいという課題を抱えており、それを解消するため新たなSQLフォーマッター

                                                                                    新しいSQLフォーマッターであるuroboroSQL-fmtをリリースしました | フューチャー技術ブログ