並び順

ブックマーク数

期間指定

  • から
  • まで

81 - 120 件 / 769件

新着順 人気順

sqlの検索結果81 - 120 件 / 769件

  • DynamoDBのベストプラクティスを技術的詳細から理解する

    こんにちは。 株式会社CHILLNNという京都のスタートアップにてCTOを務めております永田と申します。 弊社では宿泊施設様向けに宿泊施設の予約管理用のSaaSを提供しており、現時点で1000近くの施設様にご利用いただいています。 現在、これまでに溜め込んだ日本最大級の宿泊コンテンツの検索エンジンを構築しており、その過程でさまざまなデータベースを探索しています。 本記事では、AWSのKVSであるDynamoDBを題材に、公式ドキュメントに書かれているキー設計のベストプラクティスの背景を理解することを目的とします。 なお、本記事の執筆にあたって、こちらの動画を大変参考にさせていただきました。 DynamoDBとは DynamoDBとは、AWSで利用できる、あらゆる規模に対応する高速で柔軟なNoSQLデータベースサービスです。 DynamoDBが登場した背景は、アプリケーションの大規模化です。

      DynamoDBのベストプラクティスを技術的詳細から理解する
    • 毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話

      シードデータで動作確認して大丈夫だったのに、本番反映してみたら想定してなかった挙動・エラーが出た😱そんな経験はありませんか。 恥ずかしながら私は今までに何回もありました。機能開発だけじゃなくバッチやマイグレーションなんかでも発生しがちなコレ。またはシードデータで動作確認できても、本番データでも通用するか検証ができないままプルリクを作る、なんていうこともあると思います。今回はこちらを無くす試みをしたお話です。 「もう本番DBで開発しちゃえばいいじゃない」の問題点 この課題を解決するには、極論すると本番DBで開発するしかないのですが、そうなると言うまでもなく以下の問題が出てきます。 レビュー通過してないコードが本番に影響を与える トライ&エラーができない 個人情報をはじめとするセンシティブな情報が開発者の端末に漏れる データ量が多すぎてローカルに持ってこれない しかし言い換えると、これらをク

        毎日本番DBをダンプして、ローカルと開発環境で利用して生産性を上げてる話
      • DB設計書の管理が楽になるDBML入門 – DBMLの書き方,dbdiagram.io, dbdocs の紹介 – | SIOS Tech. Lab

        こんにちは!サイオステクノロジーの安藤 浩です。DB設計書の生成が容易にできるDBMLをご紹介します。DBMLの入門として、DBMLの書き方、ER図生成方法、Github actionsでCIを実行して閲覧する方法をご紹介させていただきます。 DBMLとは DBML は DataBase Markup Language の略でDB構造を定義するために設計された言語です。 DB構造に焦点を当てており、可読性の高い言語です。 dbdiagram.io や dbdocs.io などを利用することでDBドキュメントの生成が可能です。 コードベースで図を生成できる点でPlantUMLと似ていますね。 DBMLの書き方 テーブルの書き方 まずはテーブルの定義の例をもとにDBMLの記法を紹介していきます。users というテーブルを作成してみます。コードは以下のようになります。 Table users

          DB設計書の管理が楽になるDBML入門 – DBMLの書き方,dbdiagram.io, dbdocs の紹介 – | SIOS Tech. Lab
        • コストをかけずにWebサービスを公開するための構成例 - Qiita

          はじめに 個人でフロントエンド(react)、バックエンド(node.js)、データベース(postgreSQL)を利用したWebサービスを公開したいと考えていました。 まずはテスト的に無料で外部公開できるサービスがないか調査しましたが、2022年8月に有料化されたHerokuの記事ばかりヒットしてしました。 結果的には無料で使用できる構成があり、実際にテストプログラムを動作させることができましたので構成例として記載しておきます。 ※無料なので比較的厳しい条件も含まれていたりするのでそれぞれのサービスを確認お願いします。 例えばsupabaseは数日間利用がないとインスタンスが一時停止して手動で起動させないといけないなどがあります。 今回試したサービス できるだけ同じサービスに集約したいと考えていましたが、実際にはフロントエンド、バックエンド、データベースはそれぞれ異なるサービスになってし

            コストをかけずにWebサービスを公開するための構成例 - Qiita
          • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

            先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

              Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
            • DB に JSON を保存したいときに Protobuf を使うと便利 #LayerXテックアドカレ - LayerX エンジニアブログ

              こんにちは。バクラク事業部 Enabling チームの @izumin5210 です。最近「HUNTER×HUNTER」の既刊を全部読みました。 この記事はLayerXテックアドカレ2023の9日目の記事です。 前回「1人目データアナリストとしてデータチームに異動しました 」 次回「Slack × Zapier × MiroでKPTでの振り返りをラクにする」 RDB や KVS などのデータ保存先において、データを正規化せずにそのまま保存したいと思うことはありませんか? 8月にリリースされた「バクラク請求書発行」というプロダクトには「柔軟なレイアウトカスタマイズ」機能が搭載されています。リンク先の画面操作イメージを見ていただくと、この機能の雰囲気を理解していただけると思います。この機能が扱うレイアウトデータはまさに「関係の正規化をせずに保存したいデータ」でした。 bakuraku.jp こ

                DB に JSON を保存したいときに Protobuf を使うと便利 #LayerXテックアドカレ - LayerX エンジニアブログ
              • MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog

                こんにちは!DBREの福間(fkm_y)です。先月、弊社でデータベースの技術顧問をして頂いてる三谷(mita2)さんに開発本部向けの「MySQL SQLチューニング」勉強会を実施していただきました。 今回はMySQLの得意不得意なことの説明やSQLチューニングの流れ、具体的な事例を元にした対応例、また最近話題のHTAPな製品も紹介していただきとても参考になったのでポイントをおさえてレポートをお伝えします! 開催背景 本編 MySQL の得意なこと、苦手なこと データベースのチューニング手段と特徴 SQLチューニングの流れ インデックス SQLチューニング例 インデックスフルスキャンとカバーリングインデックス ソート まとめ 当日の資料 さいごに 過去開催されたデータベース勉強会レポート 開催背景 弊社では三谷さんによるデータベース勉強会を定期的に開催しています。数年前にも同じテーマで勉強会

                  MySQLのSQLクエリチューニングの要所を掴む勉強会を開催しました! - ANDPAD Tech Blog
                • GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.

                  Architecture styles define how different components of an application programming interface (API) interact with one another. As a result, they ensure efficiency, reliability, and ease of integration with other systems by providing a standard approach to designing and building APIs. Here are the most used styles: SOAP: Mature, comprehensive, XML-based Best for enterprise applications RESTful: Popul

                    GitHub - ByteByteGoHq/system-design-101: Explain complex systems using visuals and simple terms. Help you prepare for system design interviews.
                  • WEB+DB PRESS総集編[Vol.1~136]

                    2024年4月18日紙版発売 WEB+DB PRESS編集部 編 B5判/128ページ 定価3,300円(本体3,000円+税10%) ISBN 978-4-297-14156-1 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 『WEB+DB PRESS』全号のバックナンバーを収録 Webアプリケーション開発のためのプログラミング技術情報誌「WEB+DB PRESS」は,2000年から2023年までの23年間という長きにわたり,現場で活躍するWeb開発者の方々に向けた技術情報を提供してまいりました。そして2023年8月発売のVol.136をもって,隔月刊誌としては休刊いたしました。 本総集編には,WEB+DB PRESSVol.1から隔月刊最終号となるVol.136までのバックナンバーと,今まで刊行した総集編7冊の書き下ろし記事を収録しています。1冊1ファイルの記

                      WEB+DB PRESS総集編[Vol.1~136]
                    • 5年やって分かった要件定義に必須な5つのスキルとその上達方法 - みんなのシステム企画

                      「要件定義のスキルを上げたいけどどうしたら良いかわからない」 こんなふうに悩んだことはないだろうか。 要件定義ではかなり幅広いスキルが求められる。さらに要件定義の対象は毎回異なるため、具体的なレベルでスキルを言語化するのがかなり難しく、どうしてもスキル定義が「コミュニケーションスキル」や「ビジネス理解スキル」といった抽象的な言葉になりがちだ。 そこでこの記事では、要件定義を第一線で実行してきた私が、要件定義を構成するスキルを以下の5つに分解し、それぞれの向上のための方策も可能な限り具体化した。 ・論理的に物事を整理するスキル ・ビジネスの数字を理解するスキル ・業務のフローを理解するスキル ・要求を具現化するスキル ・要求を達成するために必要な機能を洗い出すスキル それでは一つずつ見ていこう。 1 要件定義をするために必要な5つのスキル この章では、要件定義に必須なスキルとそれがなぜ必要な

                        5年やって分かった要件定義に必須な5つのスキルとその上達方法 - みんなのシステム企画
                      • 決済ステータス定義の最適解

                        ネットスーパーシステムの決済ステータス表現 (状態遷移) は複雑だ。 その理由は要求要件が多いことに起因しているが、多いことが悪いのではなく、それに応えなければシステムとして真の価値を発揮できないからで。逆に問題解決できなければ、著しく利便性を落としてしまうので、必須要件という位置付けにある。 前提文脈を汲み取りづらいモデリングなので、問題解決例を示すのはあまり見かけないが、自分が考えた決済ステータス定義の答えを示す。 この内容は過去にブログや登壇で話した内容の延長でもあるので、過去の内容も参考にすると良いかもしれません。 「E-Groceryにおけるカード決済処理の難しさと設計戦略」 「ネットスーパーの買い物体験を支える工夫と決済機能実現の過程」 前提条件 注文から支払い完了まで時間差がある注文後に注文内容の変更ができる品切れが発生するケースがある販売員が注文内容を変更できる0円での支払

                          決済ステータス定義の最適解
                        • いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ

                          【Unit4 ブログリレー4日目】 こんにちは、エムスリーエンジニアリンググループの福林 (@fukubaya) です。 今回は、SNSではごく一般的ないいねとその通知機能をDynamoDBを利用して実装したら思ったより大変だったので、その詳細をご紹介します。 キャナルシティ劇場は、福岡県福岡市博多区の複合商業施設「キャナルシティ博多」のシアタービル最上階に位置する劇場。本文には特に関係ありません。 m3ラウンジ m3ラウンジのいいねとその通知の要件 RDBで実装したらどうなるか いいね機能 通知機能 DynamoDBで実装する いいね機能 通知機能 いいねする いいねを取り消す 通知を表示する 未読の通知の取得 未読の通知数 未読の通知を既読にする テーブル設計むずい PKとSKに何を選ぶか LSIは途中から作れない DynamoDBをローカルで動かして設計する まとめ We are h

                            いいねとその通知機能をDynamoDBで設計したら思ったよりムズい - エムスリーテックブログ
                          • Webエンジニアがセキュアコーディングを独習できるオンライン教材「KENRO」の一部を無料公開中[PR]

                            国内の主要なSaaS企業やSIerに脆弱性診断サービスなどを提供しているFlatt Security社は、Webエンジニアがセキュアコーディングを独習できるオンライン教材「KENRO」のトライアルとしてコンテンツの一部を無料で公開中です。 メールアドレスを登録するだけで利用を開始でき、期間も無制限。 KENROでは「SQLインジェクション」「XSS(クロスサイトスクリプティング)」「ディレクトリトラバーサル」などを始めとする10種類の一般的な脆弱性についてテキストで学び、その学びを基に攻撃者として脆弱性に対する攻撃を「ハッキング演習」で試し、その脆弱性があるコードを自分で修正する「堅牢化演習」まで、オンラインで実践できるユニークな教材です。 演習の結果もKENROが自動判定してくれるため、24時間365日、いつでも学習できます。 無料トライアルでは、一般的な10種類の脆弱性の学習コンテンツ

                              Webエンジニアがセキュアコーディングを独習できるオンライン教材「KENRO」の一部を無料公開中[PR]
                            • 実務に役立つ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
                              • Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減

                                垂直スケーラビリティと効果的なテストによる金融取引システムのパフォーマンスと効率の最大化 Peter Lawrey氏はJavaチャンピオンであり、Chronicle SoftwareのCEOとして、開発者を鼓舞してソリューションのクラフトマンシップを高めることに情熱を注いでいる。経験豊富なソフトウェアエンジニアとして、Lawrey氏はソフトウェア開発プロセスにおけるシンプルさ、パフォーマンス、創造性、革新性を奨励することに努めている。

                                  Zendesk、DynamoDBからMySQLとS3へ移行し、コストを80%以上削減
                                • オブジェクト指向は業務システムで本当に不要なのか? - Qiita

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

                                    オブジェクト指向は業務システムで本当に不要なのか? - Qiita
                                  • RustでWebバックエンドを書き始めてから1年くらい経った

                                    はじめに 僕はDeno Land Inc.でDenoを利用したサーバレスエッジホスティングサービスのDeno Deployを開発するチームに所属しています。OSSのほうのDenoのメイン言語はRustで、Deno Deployのバックエンドも同様にRustで書かれています。 今年のアドベントカレンダーで一休さんから以下の記事が公開されましたが、日本でもRustをWebバックエンドの言語として採用する企業がじわじわと増えてきている印象があります。 Deno DeployのバックエンドをRustで開発してきて、RustでWebバックエンドを書くことのメリットやデメリットをいくつか感じたので、この記事で紹介したいと思います。 Deno Deployの構成 まず、ざっくりとDeno Deployのバックエンドの構成を紹介します。 多くのコンポーネントがありますが、ここではどのようにRustを利用し

                                      RustでWebバックエンドを書き始めてから1年くらい経った
                                    • 国産の日本語生成AIの無料デモ版が公開 ~「GPT-3.5 Turbo」に匹敵する性能を達成/東大初のELYZA社が700億パラメーターのLLM「ELYZA-japanese-Llama-2-70b」を開発

                                        国産の日本語生成AIの無料デモ版が公開 ~「GPT-3.5 Turbo」に匹敵する性能を達成/東大初のELYZA社が700億パラメーターのLLM「ELYZA-japanese-Llama-2-70b」を開発
                                      • DB Pilot - DuckDB GUI Client

                                        DuckDB GUI Client DB Pilot is a database GUI client for DuckDB and various other databases. Available for Mac, with Linux and Windows support coming soon. Working with SQL has never been easier - thanks to DB Pilot's integrated AI assistant.

                                          DB Pilot - DuckDB GUI Client
                                        • どのレイヤー(層)でトランザクションを実装すべきか

                                          このように、層ごとに関心事の分離を行うことで、保守性の高い(変更容易性や再利用性等)アプリケーションを実現できます。 しかし、「トランザクション」においてはどうでしょうか。 トランザクションはビジネス領域においても、技術領域においても関心事がある内容です。 そういう曖昧なものは「ひとまず usecase 層に入れてしまえ」という方針になりがちです。 ですが、DB 固有の知識を usecase 層の関心事にしてしまっては、関心事の分離をするメリットが得られません。 そのため、関心事の分離を実現しつつトランザクション実装をする方法を模索してみました。 前提 1. クリーンアーキテクチャを採用している(オニオンアーキテクチャやレイヤードアーキテクチャも含む) そもそもビジネス知識と技術知識を分離していないアーキテクチャを採用している場合、メリットは得られません。 そのため、オニオンアーキテクチャ

                                            どのレイヤー(層)でトランザクションを実装すべきか
                                          • 【ChatGPT】データサイエンティストが読むべきChatGPT関連の記事・動画まとめ - Qiita

                                            データサイエンティストにとって、ChatGPTはうまく利用することで非常に強力なツールになることは間違いありません。 近い将来、データサイエンティストの中でもChatGPTをうまく使いこなせる人とそうでない人の間には、大きな差が生まれるでしょう。 そこで、今後ChatGPTを上手に活用できるようにデータサイエンティストが必ず読むべき記事を紹介します! ChatGPTの公式プラグイン「code interpreter」 データサイエンティストの業務を大きく変える可能性のある、ChatGPT公式プラグイン「code interpreter」について解説している記事です。 ファイルのアップロード機能を使うことで、チャット上にデータをアップロードし、そのデータに対してコードを実行することができるようになります。 また、作業の結果をcsvなどでダウンロードすることが可能です。 つまり、code in

                                              【ChatGPT】データサイエンティストが読むべきChatGPT関連の記事・動画まとめ - Qiita
                                            • CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

                                              CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?

                                                CockroachDB はどのくらい「しぶとい」のか? / How tough is CockroachDB?
                                              • データ職種の課題図書リストを作りたい - 下町柚子黄昏記 by @yuzutas0

                                                この記事は datatech-jp Advent Calendar 2023 3日目の記事です。 背景・趣旨 筆者(@yuzutas0)は風音屋(@Kazaneya_PR)という会社を経営しており、データ職種の採用・育成に関心を持っています。 複数企業で少ない専門家を奪い合って疲弊するような採用活動ではなく、マーケット全体がより豊かになるような動き方はできないだろうかと模索しています。 1つの実験として、MENTAで「第2新卒が3ヶ月でデータ職種への転職を目指す講座」というトレーニングを提供し、ありがたいことに30名以上の方々に受講いただきました。 ちなみにこの講座は今では風音屋の社内研修になっています。 MENTAの受講者が30名を突破しました🎉 卒業生が風音屋に入社したり、スキルアップして「社内で提案が通るようになった」「現職で活躍できるようになった」という感想もいただいています。

                                                  データ職種の課題図書リストを作りたい - 下町柚子黄昏記 by @yuzutas0
                                                • WEBアプリケーション開発者です。 特別セキュリティのスペシャリストになりたいというわけでないですが、アプリケーション開発者として徳丸本に記載されている内容レベルのセキュリティ知識はあります。 システムのセキュリティに関してはベンダーの脆弱性診断を通して運用しており、個人的にはセキュリティに関して何か困ったことがいままでありません。 ただ、ふと考えてみると「情報漏洩やサイバー攻撃が発生した際などの有事にどのような行動をとるべきか」という観点ではあまり自信がないなと感じました。社内でもそのような場合の指針が

                                                  WEBアプリケーション開発者です。 特別セキュリティのスペシャリストになりたいというわけでないですが、アプリケーション開発者として徳丸本に記載されている内容レベルのセキュリティ知識はあります。 システムのセキュリティに関してはベンダーの脆弱性診断を通して運用しており、個人的にはセキュリティに関して何か困ったことがいままでありません。 ただ、ふと考えてみると「情報漏洩やサイバー攻撃が発生した際などの有事にどのような行動をとるべきか」という観点ではあまり自信がないなと感じました。社内でもそのような場合の指針が整っているわけではないです。 徳丸先生は、一般的な開発者には最低限どのレベルのセキュリティ知識を求められていますか? 回答の難しい質問ですが、ここは本音をさらけ出したいと思います。 私が「安全なWebアプリケーションの作り方(通称徳丸本)」を出したのが2011年3月でして、それから13年以

                                                    WEBアプリケーション開発者です。 特別セキュリティのスペシャリストになりたいというわけでないですが、アプリケーション開発者として徳丸本に記載されている内容レベルのセキュリティ知識はあります。 システムのセキュリティに関してはベンダーの脆弱性診断を通して運用しており、個人的にはセキュリティに関して何か困ったことがいままでありません。 ただ、ふと考えてみると「情報漏洩やサイバー攻撃が発生した際などの有事にどのような行動をとるべきか」という観点ではあまり自信がないなと感じました。社内でもそのような場合の指針が
                                                  • 「SQL」の読み方論争に決着? 「しーくぇる」vs「えすきゅーえる」にPostgreSQLがケリ/冠詞にはくれぐれも注意【やじうまの杜】

                                                      「SQL」の読み方論争に決着? 「しーくぇる」vs「えすきゅーえる」にPostgreSQLがケリ/冠詞にはくれぐれも注意【やじうまの杜】
                                                    • Why Is SQLite Coded In C

                                                      Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to

                                                      • 「ベクトル検索 vs 全文検索」〜Amazon Bedrockの埋め込みモデルを用いたプロトタイピング〜 - コネヒト開発者ブログ

                                                        ※ この記事は、AWS (Amazon Web Services) の技術支援を受けて執筆しています。 はじめに この記事はコネヒトアドベントカレンダー 8日目の記事です。 コネヒト Advent Calendar 2023って? コネヒトのエンジニアやデザイナーやPdMがお送りするアドベント カレンダーです。 コネヒトは「家族像」というテーマを取りまく様々な課題の解決を 目指す会社で、 ママの一歩を支えるアプリ「ママリ」などを 運営しています。 adventar.org こんにちは!コネヒトの機械学習エンジニア y.ikenoueです。 突然ですがみなさん、Amazon Bedrockをご存知でしょうか。 aws.amazon.com Amazon Bedrock(以下、Bedrock)は、テキスト生成AIをはじめとする基盤モデル (Foundation Model)*1を提供するAWS

                                                          「ベクトル検索 vs 全文検索」〜Amazon Bedrockの埋め込みモデルを用いたプロトタイピング〜 - コネヒト開発者ブログ
                                                        • モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith

                                                          モジュラモノリスにおいてトランザクションはどうあるべきなのかについて整理している資料が少ない気付きがあったので「簡易的に」整理しました

                                                            モジュラモノリスにおけるトランザクション設計の考え方 / transaction design on modular monolith
                                                          • SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ

                                                            SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ SQLiteの開発チームは、複数クライアントからの同時書き込みを可能にするBEGIN CONCURRENT文を実装していることを明らかにしました。 これまでSQLiteでは書き込みの同時実行はできず、つねに1つのクライアントだけが書き込み可能でした。 同時書き込み処理は、データベースのジャーナルモードが「wal」(Write-Ahead-log)もしくはwalを改良した「wal2」で、BEGIN CONCURRENT文を実行した場合に可能となります。 どのように同時書き込み処理が行われるのかについては、上記のWebページの説明を引用しましょう。 ロックが延期されることで同時書き込みが可能に まず、書き込み時のロックがCOMMITまで延期されることで同時書き込みが実現されると説明されて

                                                              SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ
                                                            • dbtで見やすいER図を生成する - yasuhisa's blog

                                                              背景: dbtを使っていてもER図は欲しい! どうやってER図を生成するか どうやってER図を見やすくするか まとめ 背景: dbtを使っていてもER図は欲しい! dbtはモデル間のリネージなど可視化が得意なツールではありますが、万能なわけではありません。モデルの生成過程などはリネージで担保できますが、分析時に「どれとどのモデルがJOINできて、JOINする際のキーはこれを使って」というER図で扱うような可視化はディフォルトではできません。 DWHを作っている側からすると「このテーブルはあの辺のテーブルと一緒に使うと便利で、いつもあのキーでJOINして」というのが頭の中に入っていることが多いため、ER図がなくてもどうにかなることも多いでしょう。しかし、分析に慣れていない人や分析に慣れている人であっても、普段と異なるドメインのテーブルを触るときはER図が提供してくれる情報は有用です。ちなみに

                                                                dbtで見やすいER図を生成する - yasuhisa's blog
                                                              • MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)

                                                                はじめに こんにちは、令和トラベルでバックエンドエンジニアをしている飯沼です。 MySQLでは、UUID (v4)などのランダム性の高いIDをプライマリキーに設定すると、パフォーマンスが低下すると言われています。私自身もこの問題については認識しておりアンチパターンとして避けて来ましたが、イマイチ理由を理解できず何度も調べていたので自分の理解を整理しました。 ※ この記事は令和トラベルのTech LT会で共有した内容を記事にしたものです。社外の方にもご参加いただけるTech LT会は connpass にて告知しています。 UUIDをプライマリキーにするユースケース そもそもUUIDをプライマリキーにするユースケースはどのようなものがあるのでしょうか? いくつかの観点から考えてみます。 パフォーマンス観点 大量の同時書き込みが発生するような状況でauto incrementを利用してIDを発

                                                                  MySQLでUUIDv4をプライマリキーにするとパフォーマンス問題が起きるのはなぜ?(N回目)
                                                                • 民謡コレクション

                                                                  ここは、古くから歌い続けられている日本民謡のページです。 ひと頃の「民謡ブーム」が落ち着いたようですが、ブームとは関係なく、かたくなに守られてきた民謡は、まだ生活の中に生きているように思います。 ここでは、わたくしがおすすめしたい、こだわりの民謡をご案内します。ついでに、わたくしのコレクション?のCDやら、本の類もご案内いたします。 なお、掲載している民謡は、日本の北から南から、隈無く…という訳ではなく、気まぐれにご紹介しているに過ぎません。

                                                                  • はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog

                                                                    この記事は、はてなエンジニア Advent Calendar 2023の2024年1月17日の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog id:hagihala です。先日、はてなブログの DB を RDS for MySQL 5.7 から 8.0 へアップグレードしたので、工夫した点などを共有します。 Aurora MySQL 3.x にしなかった理由 MySQL 5.7 -> 8.0 で対応した変更点 character set や collation のデフォルトが変更される explicit_defaults_for_timestamp がデフォルトで有効になる SQL mode の変更 デフォルトの認証プラグインが caching_sha2_password になり、 mysql_native_passw

                                                                      はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog
                                                                    • 安全なウェブサイトの作り方~失敗例~ - goruchan’s blog

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

                                                                        安全なウェブサイトの作り方~失敗例~ - goruchan’s blog
                                                                      • 法令データベース

                                                                        日本研究のための歴史情報 法令データベース 本データベースについて 検索 全文 法令名のみ 法律 勅令 全て選択 全て解除 詳細検索 公布日 日付指定 範囲指定 年 月 日 〜 年 月 日 法令番号 年 第 号 検索 リセット

                                                                        • 育児支援ダッシュボードを支える技術 - 人間だったら考えて

                                                                          この記事はなに? 構成・実装 育児記録 室内の温湿度 現在の天気 ダッシュボード 取得情報のデータベースへの格納 ダッシュボードに何を掲出すべきか? まとめ 参考 この記事はなに? 以下の育児支援ダッシュボードの構築ポストに触発され、自分もダッシュボートを作ってみました。 我が家の最終形態こんな 日中妻が試す→不満・希望を夕方俺に伝達→夜俺が治すみたいなサイクルを2週間回した後の図 pic.twitter.com/PHYRx7m1MS— Dr.10(どく・とぉと読んでください) (@Dr10_TakeHiro) 2023年10月2日 現時点で、自分が作ったダッシュボードは以下のようになっています。 育児支援ダッシュボード この記事では、上記の育児支援ダッシュボードを支える技術について解説します。 構成・実装 ダッシュボードには大きく分けて以下の3つの項目を載せています。 育児記録:「ぴよロ

                                                                            育児支援ダッシュボードを支える技術 - 人間だったら考えて
                                                                          • ワークフローオーケストレーション入門

                                                                            「Data Engineering Study #23 Data orchestration 特集」の発表資料です イベントページ: https://forkwell.connpass.com/event/310011/

                                                                              ワークフローオーケストレーション入門
                                                                            • アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog

                                                                              こちらの記事はカケハシ Advent Calendar 2023 Part2の24日目の記事になります。 adventar.org はじめに 反復的な開発は、変更容易性の高いソフトウェアが不可欠です。ソフトウェア開発の経験がある方なら、デリバリ後の洞察や市場環境の変化から、新しい機能の追加やアーキテクチャの進化の必要性に直面したことが一度はあるでしょう。 私自身、要求分析手法やSOLID原則等の技法を取り入れ、変更容易性に対応する多くのプロジェクトに参加しました。しかし、どれだけ優れた手法や技法を持っていても、変更が難しい要求が出てくることは避けられません。その際、「過去の出来事」を正確に記録していれば、後から見返して問題解決が容易だったと感じることがよくあります。 ドメイン駆動設計(DDD)では、「過去に起こった出来事」を表現するドメインモデルを「ドメインイベント」と呼びます。変更容易性

                                                                                アーキテクチャの進化はドメインイベントが起点になる - KAKEHASHI Tech Blog
                                                                              • ChatGPT、Bingによるプロンプトの生成・変換(NyaFuさんバージョン)|BD

                                                                                すっごいネタ来ました! この記事を読んでできるようになること ・プロンプトの自然言語←→羅列表記変換 ・適当な文章(日英問わず)のプロンプト化 ・作成したプロンプトのランダム生成 ・日本語での要約 ・プロンプトの微調整 まずは、こちらを読んでください! 間にJSON変換をかませるだとっ!? こんな面白いネタ、そりゃもうやっちゃいますよね。 てことで、半クローズな環境でNyaFuさんにすっごいGPTプロンプトを見せてもらったので、さっそくどんどんと手を入れてしまいました。(NyaFuさん、その節はすいませんでした) その後、快く了承いただけたので、今回はコラボ記事を書かせていただきます!みんなもNyaFuさん、フォローしようぜ! 仕組みと考え方についてはNyaFuさんの記事でしっかりと確認しておいてください。使い始めてから自分用にカスタマイズしやすくなります。 ChatGPT-4もしくはBi

                                                                                  ChatGPT、Bingによるプロンプトの生成・変換(NyaFuさんバージョン)|BD
                                                                                • MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス

                                                                                  はじめに MySQL(InnoDB)でSQLのパフォーマンスチューニングをするときに役に立つ知識をエッセンスとしてまとめました。結合(JOIN)やB-treeインデックスの探索の仕組み、実行計画の基本的な見方を紹介します。 想定する読者は、SQLのパフォーマンスを改善する必要があるが実行計画をみてもいまいちピンと来ない方です。インデックスの作成の経験や、複合インデックスやカーディナリティの知識があることを前提にしています。目標は、実行計画の内容がよく分からない読者が、実行計画をみただけでクエリが実行される様子をイメージでき、自信を持ってクエリの改善にあたることができるようにすることです。 ストレージエンジンはInnoDBを前提としています。また、インデックスはB-treeインデックスを想定しています。全文検索の転置インデックスや空間検索のR-treeインデックスについては触れません。 イン

                                                                                    MySQL(InnoDB)のSQLパフォーマンスチューニングのエッセンス