並び順

ブックマーク数

期間指定

  • から
  • まで

41 - 80 件 / 3133件

新着順 人気順

postgresqlの検索結果41 - 80 件 / 3133件

  • 本当にあったやらかしDB設計シリーズ一覧 - Qiita

    本当にあったやらかしDB設計シリーズをまとめてみました SQLアンチパターンで書かれているほど高尚な問題ではなく、もっと初歩的な、でもありがちな問題を取り上げています 初心者を脱出したと思っている人に是非読んでもらい、正しく設計してもらうことを目的としています もしここに載っていないパターンを経験したことのある方がいたら是非教えてください 本当にあったやらかしDB設計①【R無しRDB】 本当にあったやらかしDB設計②【囚人番号テーブル】 本当にあったやらかしDB設計③【ロジカルクエリー】 本当にあったやらかしDB設計④【テストチューニング】 本当にあったやらかしDB設計⑤【第三正規化病】 本当にあったやらかしDB設計⑥【見えない削除フラグ】 本当にあったやらかしDB設計⑦【ステートフルDB】 本当にあったやらかしDB設計⑧【ファンクションDB】 本当にあったやらかしDB設計⑨【文字列日付】

      本当にあったやらかしDB設計シリーズ一覧 - Qiita
    • テーブル設計の考え方とやり方 [入門編]

      「基本から学ぶテーブル設計 超入門!」 https://modeling-how-to-learn.connpass.com/event/242944/ の発表資料。 - 2つの設計スタイルの違いを理解する - 何を記録するか(資源・活動・当事者・規程) - どう記録するか(テーブルの役割を単純に保つ) - 基本ツール:CREATE TABLE文 - データ型と制約

        テーブル設計の考え方とやり方 [入門編]
      • 複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog

        最近「ああ、これ前職でも前々職でもやったことあるなぁ」という仕事があった。データエンジニア(やその関連職種)として働き始めて約5年、3社でフルタイムとして働いてきて「このスキルは業界や組織規模が変わってもデータエンジニアとしてスキルを求められることが多いな」と感じたものをまとめてみることにした。棚卸し的な意味はあるが、特に転職用などではないです。 前提 どこでも必要とされたスキル データマネジメントに関する概要レベルの知識と実行力 セキュリティや法令に関する知識 事業ドメインに関する興味関心 他職種とのコミュニケーション能力 コスト管理 / コスト削減のスキル ソフトウェアエンジニアとしてのスキル DataOpsやアラートのハンドリング能力 分析用のSQLを書く力 古いテーブルやデータパイプラインを置き換えていくスキルや胆力 あるとやりやすいスキル 関連部署の動きを何となく把握しておく力

          複数の企業でデータエンジニアとして求められたスキル - yasuhisa's blog
        • プログラミング初心者がゲーム感覚で楽しく学べる無料サービス16選|苦しんでプログラミングを学んだ柴犬(くるしば)

          こんにちは。 苦しんでプログラミングを学んだ柴犬こと、「くるしば」と申します。 元々コンサルタントの仕事をしていましたが、独学でプログラミングを学習し、Webサービスを作って起業しました。 その後個人で開発したサービスを売却したり、また別のIT系の会社を創業、経営したりしています。 去年の8月から下記のTwitterにてプログラミング学習に関して発信し始め、ありがたいことに10000人以上の方々にフォローして頂きました。 プログラミング初心者に絶対覚えてほしい、ググる時の効率が10倍上がるコツ pic.twitter.com/hK1ZhNavwh — くるしば | 読めば10倍効率が上がるプログラミング学習の教科書 (@shiba_program) September 13, 2022 技術書、Webサービス、QiitaやzennのWeb記事など、最近は本当にプログラミングを学習できるコン

            プログラミング初心者がゲーム感覚で楽しく学べる無料サービス16選|苦しんでプログラミングを学んだ柴犬(くるしば)
          • ポケモンを題材に「SQLアンチパターン」を実践してみる - kanayamaのブログ

            @tkanayama_です。「SQLアンチパターン *1」 という本を読みました。「ポケモンを題材に因果推論を実践してみる」のように、仮想的なストーリ上で実際に使ってみた感を出すことにより、自分の記憶に定着させることを狙います。 前提として、何をアンチパターンとするかは状況(ベンダーフリーである必要があるかどうか、どの程度の頻度で更新されるか・・・など)によって大きく異なるので、下記で紹介するアンチパターンは実は状況によっては問題にならないケースもあるかと思います。この投稿はあくまで「SQLアンチパターン」に忠実に従うことが目的です。 www.oreilly.co.jp 追記 登場人物 ストーリー フシギダネへの対応 ヤミカラスへの対応 ディグダへの対応 誤登録でポケモントレーナーになってしまったユーザーの削除 最後に 謝辞 追記 このブログを公開後、「外部キー制約はレコードロック周りのト

              ポケモンを題材に「SQLアンチパターン」を実践してみる - kanayamaのブログ
            • ソースコードを公開したソフトウェアで収益を得ている会社

              ソースコードを公開したソフトウェアで収益を得ている会社をまとめる。いわゆる「オープンソースソフトウェア(OSS)」という有名な言葉を使わなかったのは、OSS の定義に当てはまらない、またはその可能性があるものが含まれているため。 この記事では "OSS" の定義に当てはまらないものも含め、主要な事業を構成するソフトウェアを一定のライセンスの下で公開している会社をまとめていく。このようにソースコードを公開して利用者やフィードバックを集めるビジネスモデルは open core とか COSS: Commercial Open Source Software と呼ばれているようだ。 企業が「ソースコードが公開されているソフトウェア」を利用するメリットとしては、主に以下の2つがあると考えられる。 コア機能の開発に集中できる 自社のビジネスの核となるソフトウェアの開発に集中し、それ以外の機能的・非機

                ソースコードを公開したソフトウェアで収益を得ている会社
              • AWS 導入事例:任天堂株式会社、株式会社ディー・エヌ・エー | AWS

                全世界同時リリースする『マリオカート ツアー』の DB に Amazon Aurora を採用 高い品質が求められるゲーム配信基盤の運用工数を、大幅に削減 世界的ゲームメーカーである任天堂株式会社。2015 年ごろからスマートデバイス向けゲームアプリの開発をスタートした同社は、株式会社ディー・エヌ・エー(以下、DeNA)との協業により、全世界で 4 憶ダウンロードを超える『Super Mario Run』、『ファイアーエムブレム ヒーローズ』、『どうぶつの森 ポケットキャンプ』などにおいても、ゲームサーバーを含む各種機能を AWS 上に構築・運用してきました。2019 年に『マリオカート ツアー』をリリースするにあたり、データベースとして Amazon EC2 上で運用する MySQL から Amazon Aurora を採用。ユーザーが快適にプレイするために必要なパフォーマンスとスケーラ

                  AWS 導入事例:任天堂株式会社、株式会社ディー・エヌ・エー | AWS
                • SQLを速くするぞ―お手軽パフォーマンス・チューニング

                  このサイトでは、SQL を高速化するためのちょっとしたパフォーマンス・チューニングの技術を紹介します。と言っても、『プログラマのためのSQL 第2版』の受け売りがほとんどなので、この本を読んでいただければ、本稿を読む必要はありません。 最初に、パフォーマンス・チューニングに関する全体の方針を述べておくと、それはボトルネック(一番遅いところ)を改善することです。当たり前ですが、既に十分速い処理をもっと速くしたところで、システム全体のパフォーマンスには影響しません。従って「処理が遅い」と感じたら、最初にすることは、SQL やアプリの改修ではなく、「どこが遅いのか」を調査することです。いきなりあてずっぽうで改善をはじめても効果は出ません。医者が患者を診るとき最初にすることが検査であるのと同じです。病因が何であるかを突き止めてからでないと、正しい処方はできないのです。 その基本を承知していただいた

                  • データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)

                    これはなに ども、レバテック開発部のもりたです。最近めっちゃ元気!! 今回は『データベースについて勉強したいあなたに送る技術書17冊(+11冊1講義7link)』として、もりたがここ半年くらいでわーっと集めたデータベース周りの書籍(とか)を紹介していきます。アプリケーションって結局はデータベースみたいなところがあると思うんですが、おれは長いことデータベースをどう学んだら良いのか分かりませんでした。同じような気持ちを抱えているITエンジニアの人もいると思うので、学習ロードマップと合わせて紹介していきます。 なお具体的な対象読者は業務でなんとなくSQL書いてるけど、ウィンドウ関数とか言われると分からんな……くらいの人です。 扱う領域と扱わない領域 扱う領域としてはだいたい以下 再入門本 SQL 内部構造 論理設計 周辺知識 データベース理論 その他高度なもの モデリング、NoSQL、分散データ

                      データベースを勉強したいあなたに送る技術書17冊(+11冊1講義7link)
                    • MySQLとインデックスと私

                      2021/05/24 サイボウズ開運研修 動画が以下のサイトからリンクされています - https://blog.cybozu.io/entry/2021/07/20/100000 - これに矢印を書きながらぐりぐりやっていたわけなので、資料単体だとわかりづらいと思います…

                        MySQLとインデックスと私
                      • 『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表 - Qiita Zine

                        こんにちは。Qiita Zine 編集部です。 2019年も残りわずかとなりました。 年末年始休暇には、読書をされる方も多いのではないでしょうか。 この記事では、先日Qiitaメルマガで行った『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケートの結果を、選出理由を交えて紹介します。 ぜひ、ご自身へのクリスマスプレゼントや、年末年始の読書のお供の参考にしてください💁‍♀️

                          『Qiitaユーザーが選ぶ、2019年に読んで良かった技術書』アンケート結果発表 - Qiita Zine
                        • 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など主要なフレームワークに対応
                          • 満足して使っている有料サービスの一覧

                            こちらにリクエストがあったので整理も兼ねてまとめておく。 (技術関連以外のサービスも含めたかったのでスクラップに書くことにした) TablePlus SQLクライアント MySQL、PostgreSQ、Redis、MongoDBなどに対応 UIが良い。見やすい。操作しやすい。複数の接続先を管理しやすい ときどき「有料プランに入らない?」的なポップアップが出るので課金。これを書いてる時点ではマシン1台ごとに約$60の課金 快適なので課金してよかった

                              満足して使っている有料サービスの一覧
                            • SPAセキュリティ超入門 | ドクセル

                              スライド概要 SPA(Single Page Application)の普及が一層進んでおり、従来型のMPAを知らないウェブ開発者も生まれつつあるようです。SPA対応のフレームワークでは基本的な脆弱性については対策機能が用意されていますが、それにも関わらず、脆弱性診断等で基本的な脆弱性が指摘されるケースはむしろ増えつつあります。 本セッションでは、LaravelとReactで開発したアプリケーションをモデルとして、SQLインジェクション、クロスサイトスクリプティング、認可制御不備等の脆弱性の実例を紹介しながら、現実的な対策について紹介します。LaravelやReact以外のフレームワーク利用者にも役立つ説明を心がけます。 PHPカンファレンス2022での講演資料です。 PHPカンファレンスでの動画URL https://www.youtube.com/watch?v=jZ6sWyGxcCs

                                SPAセキュリティ超入門 | ドクセル
                              • 実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial

                                - PostgreSQLカンファレンス 2021 - チュートリアル - https://www.postgresql.jp/jpug-pgcon2021 - 詳細はこちら https://github.com/soudai/pgcon21j-tutorial

                                  実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
                                • Web APIを手作りする時代は終わった?

                                  ::: message info これは[フィヨルドブートキャンプ Advent Calendar 2022 Part.1](https://adventar.org/calendars/7760)の25日目の記事です。 昨日の記事は:@shujiwatanabe:shujiwatanabeさんの[質問しながら出来るようにしていく](https://shu91327.hatenablog.com/entry/2022/12/24/091025)と:@saeyama:saeyamaさんの[Rails/Vue 編集時に画像をD&Dで入れ替えした時のActive Storageの保存方法](https://saeyama.hatenablog.com/entry/2022/12/24/000123)でした。 ::: ↓こういうのを職人が丹精込めて一つ一つ手作りする時代は終わりました。 ```sh

                                    Web APIを手作りする時代は終わった?
                                  • websec-room.com - このウェブサイトは販売用です! - websec room リソースおよび情報

                                    This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.

                                      websec-room.com - このウェブサイトは販売用です! - websec room リソースおよび情報
                                    • SQLをはじめよう - 初心者でもわかる、構文とデータ取得の基本 - エンジニアHub|Webエンジニアのキャリアを考える!

                                      SQLをはじめよう - 初心者でもわかる、構文とデータ取得の基本 リレーショナルデータベース管理システム(RDBMS)において、データの操作や定義を行うためのデータベース言語であるSQL。“データ”の重要性が謳われるようになった昨今において、この言語はより重要性を増しています。本稿では日本MySQLユーザ会の副代表であり、データベースを中心とした業務システムの設計・コンサルティングを手掛ける坂井恵さんが、「SQLを学びはじめたばかりの若手IT技術者」や「社内のデータを利用したい非IT技術者」に向けて、SQLによるデータ操作の基礎を解説します。 企業活動において、近年ますます、蓄積されたデータの活用が重要になっています。自社の持つ大量のデータの中から必要なデータを抽出・集計するという操作は、以前はITエンジニアが用意した画面を通して限定的にのみ行うことができるのが一般的でした。 しかし最近は

                                        SQLをはじめよう - 初心者でもわかる、構文とデータ取得の基本 - エンジニアHub|Webエンジニアのキャリアを考える!
                                      • 40代プログラミング初心者がpython始めて半年!独学で勉強が続いている理由と読んだ本 - Qiita

                                        下で最新版に記事を編集しましたブログを作ったよ ツイッターアカウントフォローお願いします https://twitter.com/usagipycom こんな記事も書いてます 友達がpythonでPCゲームのレベル上げツールを作っていた それを聞いて、pythonって便利なのね。と思いその後色々あってプログラミングを勉強することにした プログラマー35歳までみたいな世の中で40代おそすぎ!ってあるかもしれない PCがあって、無料の教材はネットに転がってるし、本もたくさんあるし、挑戦するのは無料だし2022年の1月ぐらいから勉強を始めた 入門書って成果物がないからつまらないなと思ってそれ以外になんかないかなって本屋さんをふらふらしてたら python自動化 みたいな書籍がいっぱいあることに気がついた なるほど、もしかしたら仕事楽になるんじゃないかそんな思いから次の本を買った シゴトがはかどる

                                          40代プログラミング初心者がpython始めて半年!独学で勉強が続いている理由と読んだ本 - Qiita
                                        • AWS/Azure/Google Cloudサービス比較 2023.06 - Qiita

                                          はじめに こちら の AWS サービス一覧をもとに各クラウドで対応するサービスを記載しています AWS では提供されていないが、Azure/Google Cloud では提供されているサービスが漏れている場合があります 主観が含まれたり、サービス内容が厳密に一致していない場合もあると思いますが、ご容赦ください 物理的なデバイスや SDK などのツール群は記載していません Analytics AWS Azure GCP

                                            AWS/Azure/Google Cloudサービス比較 2023.06 - Qiita
                                          • 【これが無料?】無料で学べるプログラミング教材・ハンズオン一覧 - Qiita

                                            【はじめに】自己紹介とご挨拶 こんにちは、@CPAKOといいます。 普段は公認会計士として監査法人というところで働いておりますが、ひょんなことからプログラミングを学んでいる趣味趣味エンジニアです。 今回がQiita初投稿となりますが、自分が実際に勉強をしていて、「これが無料なの?」と思った教材やハンズオンの一覧をまとめていきたいと思います。 基本的に興味が爆散した結果、デザインからフロント、サーバーサイド、インフラ、DB全部手を付けているので、取り留めが無いことをお許しください。 また、秘伝のたれのように継ぎ足し継ぎ足しで書いていこうと思いますので、是非、「これもあるよ!!!」とか、「これ忘れんじゃねえ!!!」などありましたら御指摘頂けると幸いです。 コマンドライン(Linux操作)編 まずは、コマンドライン(Linux操作)です。 急にコマンドラインかよと思うかもしれませんが、残念ながら

                                              【これが無料?】無料で学べるプログラミング教材・ハンズオン一覧 - Qiita
                                            • MySQLが得意なこと、不得意なこと(仮)

                                              2021/12/17 Engineers in CARTA vol.2 #MySQL https://voyagegroup.connpass.com/event/231708/ 得意なことというより特異なことを紹介するコーナーになってしまった

                                                MySQLが得意なこと、不得意なこと(仮)
                                              • しずかなインターネットの技術構成

                                                こんなWebサービスをリリースしたので、技術的な話をまとめておこうと思います。 元々このサービスは、趣味の延長線のような感じで開発を始めました。競合にあたるnoteやはてなブログなどのサービスが確固たる地位を築いているということもあり、「お金にはならないだろうけど、自分の趣味を詰め込んだものにしよう」というゆるい気持ちで開発を続けています(楽しい)。 選定の方針 趣味と言っても文章投稿サービスなので、ユーザーが少数であったとしても長期間運営しなければなりません。そのため、ユーザー数が少なければランニングコストが数千円/月以下、ユーザー数が増えたときは段階的にコストが上がるように選定を行いました。 アプリケーション フルスタックNext.jsアプリケーションをCloud Runにデプロイしています。各APIエンドポイントはNext.jsのAPI Routesで生やしています。 Next.js

                                                  しずかなインターネットの技術構成
                                                • [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど) - Qiita

                                                  [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど)退職エントリ 皆さんごきげんよう。ういこうと申します。 これまで日本マイクロソフト株式会社で Azure のフロントエンド領域を中心としたサービスの Product Marketing Manager をしておりましたが、6/30 日をもって退職することとなりました。 きっと Microsoft 界隈以外では、あなたどなた?という感じだと思いますので、少し自己紹介と、退職エントリ(のようなもの)を書くことにした理由を紹介させてください。ちょっと、いや...かな~り長いので、おやつでも食べながら読むものがないなーというときや、今エンジニアなんだけど、マーケティングなど、テクニカル ロール外の職種に転換しようと思ってる、あるい

                                                    [いわゆる退職エントリ] Microsoft を辞めることにしました(あるいはサポートエンジニア → Product Marketing Manager になるまでなど) - Qiita
                                                  • UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita

                                                    竈門禰󠄀豆子をMySQL5.6のテーブルにinsertしようとすると正しく格納できず、竈門禰となってしまうケースがあるという話を聞き、調べてみました。 実践 まずは試しにやってみます。 mysql> show create table verification\G *************************** 1. row *************************** Table: verification Create Table: CREATE TABLE `verification` ( `name` varchar(100) COLLATE utf8_bin DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin 1 row in set (0.01 sec) mysql> inse

                                                      UTF-8のテーブル(MySQL5.6)に竈門禰󠄀豆子が格納できない問題を調べてみた - Qiita
                                                    • 無料で学ぶ『達人に学ぶSQL徹底指南書 第1版』 - Qiita

                                                      はじめに 『達人に学ぶSQL徹底指南書 第1版』は、CodeZine連載とミック氏ウェブサイトの掲載記事をもとに、加筆・編集されたものです。 CodeZine連載、および、ミック氏ウェブサイトは、どちらもオンラインの無料公開コンテンツです。 今回、「書籍と元コンテンツの対応表」を作成しました。 書籍のために書き下ろされた一部コンテンツや演習問題は見れませんが、その一方、編集で割愛された内容などが含まれるので、書籍以上のことを学べる箇所もあります。 すでに新版『達人に学ぶSQL徹底指南書 第2版』が出ていますが、各テーマは第1版でも大きく変わっておらず、現在でも通用する基本的で面白い内容なので、一見の価値はあると思います。 書籍と元コンテンツの対応表 No. 目次 CodeZine連載 ミック氏ウェブサイト テーブル定義 サポートページ

                                                        無料で学ぶ『達人に学ぶSQL徹底指南書 第1版』 - Qiita
                                                      • SQLが重いときに見るお気軽チューニング方法

                                                        SQLのチューニング方法 昔Qiitaで書いたものをzennにうつして、若干の修正、追加をしてみました。 ORACLEでの経験を元に書いていますがコストベースのリレーショナルデータべースなら大体共通の考え方だと思うので他にも使えると思います。 SQLのチューニングといえば比較的容易に済むインデックスをとりあえず作成する。といった対応を取られがちですが、数万レコード程度でのデータ量ではあまり効き目がなく(自分の経験則)、どちらかといえば、結合順が大幅に狂ってたりすることが原因のことが多かったりします。よって本当にインデックスがないことが原因なのか?を熟考する必要があります。(例えばID以外のフラグとかコードに単項目indexを貼ってるのもみたことがあります。怖いけど実話) また、インデックスを作りすぎるとオプティマイザが狂いやすくなって他のSQLにも悪影響を及ぼしたりするので結構熟慮して追加

                                                          SQLが重いときに見るお気軽チューニング方法
                                                        • データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし

                                                          こんにちは、id:shallow1729です。最近はインフラ寄りなお仕事をよくやっていますがこれまでにいくつかデータ移行やデータ基盤構築などのバッチ処理のお仕事をしてきました。以前にも一度そういった経験を元に記事を書いたのですが、MySQLやシステムに関する知識が以前よりも増えた今もう一度書き直したいなと思いました。 なので今回はバッチ処理を書く時のテクニック2022版という感じです。今の仕事の関係でMySQLやrailsを前提にしている話が多いですが、おそらく他のデータベースを使っている人にも役に立つ話が多いのではないかと思います。ただ、今回の記事は経験に基づくものが多く、あまりよくないアイデアもあるかもしれません。改善点や間違いなどあればご指摘ください。 冪等性を持つように 冪等性とは端的に言えばある操作を複数回実行しても一回しか実行しなかった時と同じ結果になる性質の事です。長時間かか

                                                            データ変更を伴うバッチ処理を書く時に考慮していること - shallowな暮らし
                                                          • SQLアンチパターンもりもりDBを設計しよう! - Qiita

                                                            概要 名著SQLアンチパターンを読み終えたので、それの復習のために悍ましいデータベースを作ろうと思った。 まず前半では、SQLアンチパターンを意図的に盛り込み、目も当てられない酷い設計をします。 そのあとリファクタリングを行なったER図に書き直していきます。 なお、真面目に書くと参考書の丸写しになってしまうので、この記事は アンチパターンもりもりのER図を見て嫌悪感を学習し、設計に役立てようという趣向のもと、詳しい説明は省きます。 とても良い本なので読んでください。 想定するシステムの概要と状況 目的において適切かはわかりませんが、とりあえず考えることの多い”お金”を扱うシステムを想定してみます。 私はブラックジョークが好きなので、今回は「ちょっと怖い金融屋さんが使う債務者管理システム」のER図を設計してみようと思います。 ざっくりした要件 債務者を登録でき、プロフィールを入力できる。 債

                                                              SQLアンチパターンもりもりDBを設計しよう! - Qiita
                                                            • pixivのブックマークに関する負荷対策をしました - pixiv inside

                                                              10/22(金) 追記 この記事で解説している内容について解説する勉強会を開催することとなりました。以下のconnpassよりお申し込みください。 pixiv.connpass.com 10/22(金) 追記 pixivのブックマークについて ブックマークDBの問題について 具体的な対策内容 論理削除廃止・index追加・ブックマークタグのテーブル分割 適応ハッシュインデックスの無効化 アプリケーションコードのリファクタリング・全発行クエリの列挙と見直し 大きな更新処理の非同期化 結果 あわせてよみたい pixivではサービスの成長に伴い、気に入った作品に対して付けることができるブックマークの総数が急速に増加しており、ユーザーの皆様に滞りなくサービスを提供し続けるためブックマークに関するデータベース(以後DB)の負荷対策が必要になりました。 2021年2月より対策を行うプロジェクトを発足し

                                                                pixivのブックマークに関する負荷対策をしました - pixiv inside
                                                              • 個人でWEB開発を15年くらいやってる者ですが

                                                                この記事を見てびっくりした。 https://laiso.hatenablog.com/entry/nope-sql 「個人開発のコストはDB次第」 まずビックリしたのは「DBってそんなにお金かかる?」という点。 もちろんDBがストレージ、CPU、メモリを食うのは分かる。 でもVPSならそんなにコストかからんだろう? 俺は1日100万PVほどのエロサイトを運営しているが、WEBサーバ1台、DBサーバ1台、画像サーバ2台で動いているぞ? VPS4台で月額6000円くらい。 次にビックリしたのは、個人開発なのに難しそうなDBサーバを使っている事。 「Cloud Firestore」「Amazon DynamoDB」「MongoDB Atlas」 ↑俺、全部知らない。。。 もちろん、こうしたDBサーバの必要性は分かるのよ。 稼働率、安定性、拡張性などなど。 でもそれって、大規模サイト向けじゃない

                                                                  個人でWEB開発を15年くらいやってる者ですが
                                                                • 100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋

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

                                                                    100万件ぐらいのレコードを扱ったらOOMEが出た話。 - 谷本 心 in せろ部屋
                                                                  • PayPayの1秒あたり1000決済への道のり

                                                                    パフォーマンス・チューニングに関するブログの第1回目です PayPayは、日本でもっともよく知られているQR決済サービスとなりました。2018年10月5日のローンチ後、2018年12月より実施した100億円あげちゃうキャンペーンは、その後のプロダクトの急成長に合わせたシステムのスケール拡張という長い道のりのスタート地点でもありました。 ここ数ヶ月の新規ユーザーの増え方[1]を見るにつけても、PayPayが驚異的な成長を続けていることは間違いありません。スタートアップ企業はまるで竹のように成長するとはこのことではないでしょうか。(竹は24時間で最大約90cmも伸びるそうです) PayPayの成長速度は? ユーザー数の伸び 2018年10月に初めてユーザーが増え、キャンペーンや日々メディアで報道されることによるユーザー数の増加もあり、1年後には1500万人を突破しました。2020年5月現在、サ

                                                                      PayPayの1秒あたり1000決済への道のり
                                                                    • サイゼリヤ1000円ガチャをつくってみた(Heroku + Flask + LINEbot) - Qiita

                                                                      Progateを一度やった程度のプログラミング初心者ですが、 何かWebアプリケーションを作りたいなぁと思い、Flaskを学ぶついでに サイゼリヤのメニューから1000円以内で組合せを出してくれるガチャを作りました。 2022.10.31 追記 Heroku有料化に伴い、以下をお知らせ致します。 LINE Bot版 サービス終了 Web版 旧アドレス(herokuapp.com)からのリダイレクト停止 2019.5.10 追記 Twitterで紹介頂いたようで、たくさんの方から反応を頂いていてびっくりしております! メニューが古いままだと、何かと店舗側にもご迷惑をおかけしそうだったので、 本日時点でのグランドメニューに更新させていただきました。 非公式であることをご了承の上、店舗ではマナーを守って楽しんで頂ければ本望です! (たくさん注文して食べ残す・・・などが起こらないことを祈ってます)

                                                                        サイゼリヤ1000円ガチャをつくってみた(Heroku + Flask + LINEbot) - Qiita
                                                                      • ゼロから作る時系列データベースエンジン

                                                                        軽量な時系列データベースエンジンをスクラッチで開発する機会があったので、どのように実装したのかを必要知識の解説を交えながらまとめていきます。 実装はGo言語によるものですが、本記事のほとんどは言語非依存な内容となっています。 モチベーション 筆者は時系列データを扱うツールをいくつか開発しています。その中の一つであるAliは負荷テスト用のcliツールで、メトリクスをクライアント側でリアルタイム描画できるのが特徴です。リクエスト毎にレイテンシーなどの計測結果が際限なく書き込まれてくる中、同時に一定のクエリパフォーマンスが求められます。 これは言ってしまえば、簡易クエリ機能付きのpush型モニタリングシステムを単一ホストで実現するようなものです。 以前までの実装ではヒープ上の可変長配列にデータポイントを追加していくだけだったので、当然ながら時間の経過とともにメモリ使用量が増加していく問題を抱えて

                                                                          ゼロから作る時系列データベースエンジン
                                                                        • 自分を必要以上に過小評価することは、あなたを認めてくれている人にとっても失礼だよって話 - そーだいなるらくがき帳

                                                                          クライアント先の社内ポエムだけど必要になることがあったので転記した。 @nekoya さんにお願いしたらそちらも公開してくれた。:圧倒的感謝: @nekoya さんの話がとても良かったので僕もポエムを書いてみる。 zenn.dev 僕もその昔はもちろん駆け出しのエンジニアで自信が無くて自分を低く見積もったり、ある程度自信があっても 謙虚であることが美徳 と思って自分を敢えて卑下するなんてことをよくやっていた。 脳ある鷹は爪を隠す、なんていうけど確かに周囲に低能力だと思われていたほうが便利なシーンもあるにはある。 しかし少なくとも社会で働く上で 自分の能力を適切に評価する ことは自分にとっても会社にとっても重要なことだ。 その前提の上で、自分を過小に評価することは、あなたの仕事の成果に対して高評価し、認めてくれている人たちにとっては裏切り行為と言える。 例えばとても良い仕事をしたのにも関わら

                                                                            自分を必要以上に過小評価することは、あなたを認めてくれている人にとっても失礼だよって話 - そーだいなるらくがき帳
                                                                          • 「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン

                                                                            この記事は DeNA 20 新卒 Advent Calendar 2020 19日目の記事です。 はじめに MySQLやPostgreSQLに代表されるRDBMSではトランザクションと呼ばれる仕組みが提供されています。多くのWebアプリケーションエンジニアはこのトランザクションを駆使してDBとやりとりをするロジックを組み立てることになります。 しかし不整合を起こしたくない処理があるからといって闇雲にトランザクションを張ったり、トランザクションが張られているからと安心してアプリケーション側で闇雲にロジックを組み立ててしまうと思わぬバグを生むことになってしまいます。 このエントリでは、「トランザクションを張っておけば大丈夫」という考え方は危険な場合もあるということを、ありがちな実装例を交えて紹介していきます。 並列に処理されるトランザクション そもそも、トランザクションは全て直列に処理されるわ

                                                                              「トランザクション張っておけば大丈夫」と思ってませんか? バグの温床になる、よくある実装パターン
                                                                            • データベースの仕組み(アーキテクチャ)をざっくり理解する

                                                                              フリーランスエンジニアをしているrevenue-hackです! 普段はGo言語でバックエンドを中心にやっています〜 ↓登壇したときの資料です! より図を入れて詳しく書いております! 今回はデータベースの特にRDBの仕組み(アーキテクチャ)についてざっくり理解して、なにかに役立てようぜ〜 というような内容になります。 ↓記事はこちらに移しました!↓

                                                                                データベースの仕組み(アーキテクチャ)をざっくり理解する
                                                                              • Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス

                                                                                読者対象 ある程度データベースに関する知識を持っている,経験年数 1 年以上のバックエンドエンジニア 特定のプログラミング言語に依存する部分は含めないため,すべての SQL 使用者を対象とする また,ゼロからの丁寧な説明というよりは,リファレンス感覚で使える記事という形にまとめる。 RDBMS の対象バージョン PostgreSQL: 9.4 以降 MySQL: 8.0.28 以降 id (データ型と INSERT 時のデフォルト埋め) 導入 一般的に採用されやすいプライマリキー用の値として,以下を考える。 連番整数 MySQL では AUTO_INCREMENT, Postgres では IDENTITY や SERIAL と呼ばれるもの UUID v1: ハードウェアごとにユニークな単調増加値 UUID v4: ランダム値 UUID v7(ドラフト): 単調増加であるタイムスタンプとラ

                                                                                  Postgres と MySQL における id, created_at, updated_at に関するベストプラクティス
                                                                                • SQLインジェクション対策不備の責任 東京地判平30.10.26(平29ワ40110) - IT・システム判例メモ

                                                                                  SQLインジェクション対策をしていなかったことについて開発会社の責任が問われた事例。 事案の概要 Xは,Yに対し,Xの提供する車・バイクの一括査定システム(本件システム)の開発を約320万円で委託し,平成24年9月に納品を受けた。 その後Xは,平成28年12月に,IPA*1から,中国のサイトに本件システムの脆弱性に関する情報が掲載されているという指摘を受けて,Yに対し,その調査と報告を依頼した。 その結果,本件システムには,SQLインジェクション対策が不十分という脆弱性が判明したことから,XはYに対し,その脆弱性はYの被用者の故意過失によって生じたものであるから,使用者であるYには使用者責任があると主張して,民法715条1項所定の損害賠償請求権に基づき,緊急対策費用47万5200円,詳細な調査,抜本的な修正費用640万円,サーバー移転費用35万6400円,セキュリティ対策のための本件システ

                                                                                    SQLインジェクション対策不備の責任 東京地判平30.10.26(平29ワ40110) - IT・システム判例メモ