タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとDBとdeferredに関するagwのブックマーク (63)

  • 大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ

    モノリシックなプロジェクトにおいて、トップレベルのディレクトリ構成が異なる 2 つのディレクトリ構成を考え、それらの違いは何で、どちらが優れているか?という問いについて考えた。そして、「複雑な概念をトップレベルのディレクトリ構成にした方が良いのでは?」という結論に落ち着いた話をする。 はじまり ちょっとしたシナリオを想像してみよう。 プロジェクト立ち上げ期 「最近のトレンドはレイヤードアーキテクチャだ!」 そう言って、プロジェクトはスタートした。 . ├── application │ ├── xxx_usecase.go │ ├── xxx_repository.go │ ├── yyy_usecase.go │ └── yyy_repository.go ├── domain │ ├── xxx.go │ └── yyy.go ├── infrastructure │ └── xxx_

    大規模システムにおけるディレクトリ構成をRDBのカーディナリティを参考に考える - ぷらすのブログ
  • アルゴリズムとデータ構造から理解するRedis / Learn Redis from Internal Algorithms and Data Structures

    2019年新卒研修で使った資料です。 内部実装の雰囲気を感じとりながら、Redisについて理解を深める研修を行いました。 以下の内容について学びました。 1. Redisの概要 2. 社内での利用方法 3. 正しい用法用量 Redis についての前提知識は必要としていません。…

    アルゴリズムとデータ構造から理解するRedis / Learn Redis from Internal Algorithms and Data Structures
  • サイトを37倍に高速化した7つの手法 - オールアバウトTech Blog

    今回はオールアバウトのnnmrが弊社サイトAll About Japanの速度を高速化した経緯についてまとめます。 All About Japanとは そもそもAll About Japan(以下AAJ)とは何かといいますと、弊社が提供している訪日外国人向けの日紹介サイトです。 外国人向けサイトで、英語中国語(繁体字)、中国語(簡体字)、タイ語、韓国語の5か国語に対応しております。 「Anime」「Izakaya」「Ninja」といったような特集や、実際に観光する人向けのモデルルート記事が特色です。 ■ 特集 (url : http://allabout-japan.com/en/tag/sushi/ ) ■ モデルルート記事 (url : http://allabout-japan.com/en/article/222/ ) 技術的な紹介 LAMP環境です。 (サーバー構成は後に記述

    サイトを37倍に高速化した7つの手法 - オールアバウトTech Blog
  • ドラゴンクエストXは「世界は一つ」を実現するためにどのようなサーバ構成にしているのか?

    スクウェア・エニックスの人気RPG「ドラゴンクエスト」シリーズの最新作「ドラゴンクエストX(ドラクエ10)」はシリーズ初のオンライン作品となりましたが、その舞台裏は一体どうなっていたのか。ゲームの世界観を支えるサーバシステムがどのように構成されているのかということや、ドラゴンクエストⅩならではの仕組みや機能から開発の苦労話まで、株式会社スクウェア・エニックス開発部プログラマ森山朋輝さんが語っています。 タイトル | CEDEC 2012 | Computer Entertaintment Developers Conference http://cedec.cesa.or.jp/2012/program/NW/C12_P0040.html 森山朋輝: 皆様、日はお集まり頂きどうもありがとうございます。このセッションを担当させて頂きます、株式会社スクウェア・エニックス開発部所属の森山朋輝と

    ドラゴンクエストXは「世界は一つ」を実現するためにどのようなサーバ構成にしているのか?
  • SQLite4: The Design Of SQLite4

    1.0 Executive Summary SQLite4 is a compact, self-contained, zero-adminstration, ACID database engine in a library, just like SQLite3, but with an improved interface and file format. The run-time environment is encapsulated in an object. A greatly simplified Key/Value storage engine is used: A single large key space - not separate key spaces for each table and index as in SQLite3. Keys sort in lexi

  • ORM is an anti-pattern | Seldo.com

    I tweeted about ORM last week, and since then several people have asked me to clarify what I meant. I have actually previously written about ORM, but it was in the context of a larger discussion about SQL and I shouldn't have confused the two issues. So here I'm going to focus on ORM itself. I'm also going to try to be very brief, since it became very apparent from my SQL article that people tend

  • 第7回 集合論――数学の「集合論」に,RDBの正体を見る

    リレーショナル・データベース(RDB)のデータ構造やSQL命令による様々なデータ操作については,多くの人が知っていることだろう。しかしRDB技術の根底にある「集合論」を詳しく語れる人は少ないはずだ。集合論とRDBの結びつきを理解すれば,RDB質が見えてくる。 ITエンジニアの皆さんなら,米IBMサンノゼ研究所に在籍していたE.F.コッド博士(Edger.F.Codd,1923~2003)をご存知だろう。コッド博士は1970年,「A Relational Model of Data for Large Shared Banks(大規模共有データバンクのためのリレーショナル・モデル)」という有名な論文を発表した。現在の「リレーショナル・データベース(RDB)」(「関係データベース」とも呼ぶ)は,この論文が起源となって誕生したものだ。 コッド博士が数学の「集合論」を基に,表を使うRDBの仕組

    第7回 集合論――数学の「集合論」に,RDBの正体を見る
  • SQLite3 のインデックスと検索速度

    2007-01-25 Rails + SQLite3 を使って、 DB のレコードを検索する場合の速度を測った。 調べたのは、インデックスを張る前後でどれくらい速度が変わるかということ。 インデックスを張らない場合 まず、普通にモデルを作り、インデックスを張らない状態で検索する。 データは10万件程度。 検索回数は100回。 検索は完全一致と前方一致 (LIKE 演算) の2種類。 実行環境は VMware 上の Debian sarge 。 SQLite は 3.2.1 。 前方一致検索のために、 search_by_name メソッドを作成している。 class Item def self.search_by_name(name) if name.blank? [] else find(:all, :conditions => ["name like ?", name + '%'])

    SQLite3 のインデックスと検索速度
  • [PostgreSQLウォッチ]第17回 新しい実行プラン・タイプによるPostgreSQL 8.1の性能向上

    前回は開発中のPostgreSQL 8.1で,バッファ・マネージャに改良が加えられて,大幅な性能向上があったことを述べた。今回は同じく性能面で大きな前進となるビットマップ・ベースの実行プラン・タイプが追加されたことを報告する。なお,稿で検証に使用したのは5月3日時点のバージョンである。 オプティマイザと実行プラン その前に,PostgreSQLにおけるオプティマイザと実行プランについて復習しておこう。 テーブルにはアクセスを高速化するためにインデックスを追加することができる。インデックスとは日語で「索引」のことである。例えば書籍を例にとって考えてみよう。ある書籍の中から,「神奈川県」について書かれたページを探したいとする。もし索引がなければ書籍の1ページ目から丹念に読んでいくしかない。しかし索引があれば,「神奈川県」について書かれたページがすぐに分かるので,素早く目的のページにたどり着

    [PostgreSQLウォッチ]第17回 新しい実行プラン・タイプによるPostgreSQL 8.1の性能向上
  • 【特集】期待度大のバージョンアップ - PostgreSQL 8.3の改良点を徹底分析 | エンタープライズ | マイコミジャーナル

    Copyright (C) Mainichi Communications Inc. All rights reserved. 掲載記事の無断転載を禁じます

  • 『PostgreSQL(ポストグレス)のメンテナンス』

    # -------------------------------------- # ポストグレスメンテナンス # -------------------------------------- PostgreSQLは追記型のデータベースです。 updateやdeleteを行っても物理的にデータが削除されるわけではありません。 不要になったデータを削除するためにはvacuum処理が必要です。 vacuum処理には下記の2種類があります。 スーパーユーザ(postgresなど)で行ってください。 PostgreSQL の VACUUM コマンドは以下の理由より定期的に実行させる必要があります。 ・更新、あるいは、削除された行によって占められたディスク領域の復旧。 ・PostgreSQL 問い合わせプランナによって使用されるデータ統計情報の更新。 ・トランザクション ID の送り込みによる非常に

    『PostgreSQL(ポストグレス)のメンテナンス』
  • インデックスの基礎知識

    ■ インデックスとは データベースの世界で、インデックス(索引)とはテーブルに格納されているデータを 高速に取り出す為の仕組みを意味します。 インデックスを適切に使用することによってSQL文の応答時間が劇的に改善 される可能性があります。 インデックスにはB-Treeインデックスをはじめ、ビットマップインデックス、 関数インデックスなどの種類がありますが、ここでは最も一般的に使われ、かつ ほとんどのDBMSでサポートされているB-Treeインデックスについて解説します。 ※ CREATE INDEX文でオプションを指定しない場合は通常B-Treeインデックスが 作成されます。 ■ B-Treeインデックスのしくみ B-Tree(Balanced Tree)インデックスは次のようなツリー状の構造になっています。 ツリーの先頭はヘッダブロックと呼ばれています。ヘッダブロックでは、キー値の 範囲

  • MySQL InnoDBだけで全文検索 - SH2の日記

    実験エントリです。 予習してみる 「転置インデックス」というキーワードで検索して、しばらく勉強してみます。 転置インデックス - Wikipedia mixi Engineers’ Blog » 転置インデックスを実装しよう ASCII.jp:悟空、秘剣「転置インデックス」を手に入れる |Googleはなぜ的確に探せるのか? [を] 転置インデックスによる検索システムを作ってみよう! 転置インデックスで学ぶ検索エンジンの中身アプリ - 睡眠不足?! うーんなるほど。分かったような分からないような。 作ってみる とりあえず、Twitter4Jを使ってこんなデータを用意しました。ちなみに人選は漢(オトコ)のコンピュータ道: MySQLerのTwitterアカウントまとめ。を参考にさせていただきました。 5707049458,2009-11-14 20:28:34,sakaik,@hbstudy

    MySQL InnoDBだけで全文検索 - SH2の日記
  • INNER JOINとCROSS JOINの違い - 豆無日記

    今までJOIN構文をなんとなくで使ってきたので、INNER JOINとCROSS JOINの違いがよくわからないでいる今日この頃。 いまさらながら調べてみた。 CROSS JOIN: ON, USING を指定しない場合、左右のテーブルの直積を返します。 つまり、左右のテーブルにそれぞれ2行のレコード、3行のレコードが格納されている場合、結果は全てのレコードの組合せになり合計 2x3=6 行のレコードになります。 PostgreSQLMySQL では ON, USING を指定すると INNER JOIN と等価になります。 SELECT * FROM table1 CROSS JOIN table2 は次の SQL 文と等価です。 SELECT * FROM table1, table2 また、PostgreSQL, MySQL では SELECT * FROM table1 CR

    INNER JOINとCROSS JOINの違い - 豆無日記
  • http://www.ecoop.net/memo/2007-11-14-1.html

    http://www.ecoop.net/memo/2007-11-14-1.html
  • 直積集合 - Wikipedia

    この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。 出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方) 出典検索?: "直積集合" – ニュース · 書籍 · スカラー · CiNii · J-STAGE · NDL · dlib.jp · ジャパンサーチ · TWL (2016年11月) A = {x, y, z} と B = {1, 2, 3} との直積の図示 数学において、集合のデカルト積(デカルト­せき、英: Cartesian product)または直積(ちょくせき、英: direct product)、直積集合、または単に積(せき、英: product)、積集合は、集合の集まり(集合族)に対して各集合から一つずつ元をとりだして組にしたもの(元の族)を元として持つ新たな集合である。 具体的に二つの集合 A, B に対し、それらの直積と

    直積集合 - Wikipedia
  • 転置インデックスを実装しよう - mixi engineer blog

    相対性理論のボーカルが頭から離れないmikioです。熱いわっふるの声に応えて今回はTokyo Cabinetのテーブルデータベースにおける検索機能の実装について語ってみたいと思います。とても長いのですが、最後まで読んだあかつきには、自分でも全文検索エンジンを作れると思っていただければ嬉しいです。 デモ モチベーションをあげていただくために、100行のソースコードで検索UIのデモを作ってみました。Java 6の日語文書を対象としているので、「stringbuffer」とか「コンパイル」とか「倍精度浮動小数」とかそれっぽい用語で検索してみてください。 インデックスがちゃんとできていれば、たった100行で某検索エンジン風味の検索機能をあなたのデータを対象にして動かすことができます。ソースコードはこちら(テンプレートはこちら)です。 でも、今回はUIの話ではないのです。ものすごく地味に、全文検索

    転置インデックスを実装しよう - mixi engineer blog
  • 第1回 連番の特性を利用してデータ操作をもっと自由に SQLで連番を扱う (4)連番の生成 | gihyo.jp

    連番の生成~どうしてもループが嫌と言うならしかたない~ これまで、あらかじめ複数行を保持するテーブルを対象に連番を割り当てていました。今度は動的に連番を生成する方法を考えます。 ループを使わずに1行のデータをn行に増やす 表7のような1行だけデータを持つテーブルがあります。データの中身は重要ではないので気にしないでください。 表7 OneRow みなさんに考えてほしいのは、この1行のデータを3行に増やしてもらうことです。しかもその際、図6のように連番を付与します。 図6 連番列「seq」が追加されている seq col1 col2 col3 --- ---- ---- ---- 1 test data col 2 test data col 3 test data col ここで条件が1つあります。それは、3行に限らずn行に簡単に一般化できる方法であることです。もしこの問題を手続き型言語で

    第1回 連番の特性を利用してデータ操作をもっと自由に SQLで連番を扱う (4)連番の生成 | gihyo.jp
  • GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ

    GT Nitro: Car Game Drag Raceは、典型的なカーゲームではありません。これはスピード、パワー、スキル全開のカーレースゲームです。ブレーキは忘れて、これはドラッグレース、ベイビー!古典的なクラシックから未来的なビーストまで、最もクールで速い車とカーレースできます。スティックシフトをマスターし、ニトロを賢く使って競争を打ち破る必要があります。このカーレースゲームはそのリアルな物理学と素晴らしいグラフィックスであなたの心を爆発させます。これまでプレイしたことのないようなものです。 GT Nitroは、リフレックスとタイミングを試すカーレースゲームです。正しい瞬間にギアをシフトし、ガスを思い切り踏む必要があります。また、大物たちと競いつつ、車のチューニングとアップグレードも行わなければなりません。世界中で最高のドライバーと車とカーレースに挑むことになり、ドラッグレースの王冠

    GT Nitro: カーレーシング・ドラッグレーシングゲーム - Google Play のアプリ
  • データベースを用いたセッションデータ管理について - LukeSilvia’s diary

    Web アプリケーションとは切っても切れないセッション機構。DB ベースでセッション管理を行なって得られた知見と、それを元に考察した結果をまとめてみます。 セッションデータの特性 DB で管理される他のデータに比べ、セッションデータはかなり特殊です。主な特徴は次のような感じ。 データが増加するのが速い 定期的な削除が必要 頻繁に更新される リクエスト毎に読みに行く必要がある このデータを読めないとアプリケーション全体にアクセスできない アクセス頻度が高いということです。あと、1つ目の特徴からセッションデータについては意識的に管理してやる必要があります。 現在の環境 アプリケーションの領域が少し特殊で、セッションデータがやたらたまります(ユーザ数何百万のサービスとかそういうのではないです)。 RDBMS MySQL 4.0.22 ストレージエンジン InnoDB レコード数 6千万 テータサ

    データベースを用いたセッションデータ管理について - LukeSilvia’s diary