タグ

2011年12月9日のブックマーク (11件)

  • OLAP(分析)関数について -- SQLはテストファースト指向 - SQLer 生島勘富 のブログ

    OLAP(分析)関数は考え方としては、SQLの他の構文よりも手続き型言語と差が小さい。 考え方ではなく、文法から入る人にとってはとんでもない違いに感じるかも知れませんが、答えは同じなのですから違いはないのです。 長くなるので数回に分けて書こうと思う。 ざっくりとした考え方(毎回) GROUP BY は集約するので、結果が(集約キーを出力すれば)一意になる。つまり、出力される結果が一意になるまで集約される。 しかし、OLAP(分析)関数は、SELECTされた結果を区切って処理する。そのため、レコード数に変化はない。 集約する → GROUP BY 区切る → PARTITION BY となる。これだけが分かっていれば実は簡単です。 イメージしてみましょう。 いつも例題に使っているのは少しややこしいので、以下の条件で考えてみましょう。 ■要望 ■納品書明細(テーブル) 納品書番号 行 商品ID

    OLAP(分析)関数について -- SQLはテストファースト指向 - SQLer 生島勘富 のブログ
  • 英語が書けない人のための、英語を書く方法 - 誰かの役に立てばいいブログ

    昔、サイボウズ社内のブログで公開して人気があったのをいくつか公開します。 まずは、英語が書けない人のための 書き方講座。 ---- 「英語なんて読むのも大変だし、書くのはもっと大変」という方、たくさんいるんじゃないでしょうか。 私もなかなか英語は苦手で、苦労してきました。今でも苦手は苦手ですが、読まなきゃいけなければ読めるし、書かなきゃいけなければ書ける、くらいにはなりました。 というわけで、英文をなんとか書けるメソッドをご紹介します。自己流ですし、これで「ばりばり」書けるメソッドというわけではないですが、やんなきゃいけない時には役に立つかなと。 ■読めなくても書ける 正確に言うと、「(難しい英文を)読めなくても(簡単な英文なら)書ける」。英語を読むのが苦手でも、書けます。大丈夫。書ける文章を書けばいいのです。 と、当たり前のようですが、実は書ける文章を書くというのが最初の難関だったりしま

    英語が書けない人のための、英語を書く方法 - 誰かの役に立てばいいブログ
  • 簡単!リアルタイム画像変換をNginxだけで行う方法

    先週金曜日(12/2)にクックパッドインフラ勉強会に参加しまして、そこで同社の成田さんから「今日からできるApacheモジュール開発と運用」という発表がありました。 リアルタイム画像変換モジュールの「TOFU」を開発するに至った経緯と、Apacheモジュール開発についてのお話でした。 TOFUは、S3に置かれたマスターとなる画像ファイルを取得し、与えられたパラメータでリアルタイム(オンザフライ)にリサイズ・トリミングを行うモジュール(mod_tofu)です。 料理を楽しくする画像配信システム 実際は、モジュールによる画像取得・変換をベースに、キャッシュや配信までも含めた一連の画像配信システムと言えそうです。 この仕組みをNginxを使って実装できないかと考えて、リアルタイム変換の仕組みをNginxだけで実現する方法を実験してみました。 準備するもの HttpImageFilterModul

    簡単!リアルタイム画像変換をNginxだけで行う方法
  • はじめてのCSSメタ言語はLessがおすすめ! « NAVER Engineers' Blog

    こんにちは、NAVER UIT つしまです。 Less & Sass Advent calendar 2011の8日目です。 これまでのAdvent calendarの記事で、SassやLessの概要、活用法などが見えてきました。 今回は、「Lessは機能不十分そうだし、Sassオシ多いし、Sassを使いはじめようかな・・」と思っている方に向けてはじめてのCSSメタ言語はLessがおすすめというおはなしです。 Lessって? 既にCSSとフレームワークとメタ言語(2日目記事)やLESS初心者向けのナニカ(4日目記事)でも紹介があったとおり、LessはCSSを記述するためのメタ言語です。 ただ後発であるにも関わらず、SassにあるのにLessにない機能は結構あって、例えば、ifやforなどの制御文、extendが使用できなかったり、cssへの出力形式がSassほど選べなかったり・・

  • 理想のJavaScript入門書 - L'eclat des jours(2011-12-08)

    _ 理想のJavaScript入門書 アスキーの鈴木さんから、テスト駆動JavaScriptをいただいた。 これは、実に良い。おれが考える理想のJavaScript入門書に限りなく近い(というか、おれが書くより良いから上方向から近い)。 まず、これはTDDのであり、JavaScriptの問題点は、それがRubyなどのスクリプト言語より、固いプログラミング言語(JavaとかCとか)に近い構文を持っているのが原因だと思うけど、どうしても変数とか関数名とか長く書きたくなるし(これは不思議な心理的な要求による)、言語が持つ予約語自体が長いし(functionだよ)、つまりいやでもタイプミスして死ぬ。 どうすれば良いかといえば、解決方法は2つしかない。プリプロセッサを用意して未定義変数とか利用していないかチェックするか、あるいはテストするかだ。前者よりも後者のほうがまあ有意義だ。というわけで、TD

  • adakoda.com

  • postgresql-9.1.1 にてはまる。 - いざ! Unix

    PostgreSQL-9.1.1 を DL し、textsearch_ja にて 全文検索を行おうと設定を行っていました。 textsearch_ja についてはこちらを参照(http://textsearch-ja.projects.postgresql.org/index-ja.html) 今までのリリースとおりに、textsearch_ja.sql まで実行完了、そしてtsearch2 を入れようとしたところ、 あれ。$PGHOME/share/contrib の下にファイルがない。 ということで探したところ $PGHOME/share/extension/tsearch2--1.0.sql になっていた。 まぁここまではOK。 そして以下のように対象のSQLを実行 psql -f share/extension/tsearch2--1.0.sql CREATE DOMAIN CRE

    postgresql-9.1.1 にてはまる。 - いざ! Unix
  • index 再構築 Primary key - いざ! Unix

    先日、PostgreSQLでのIndex再構築方法についてご紹介いたしました。 主にオンラインシステムでは、create index conccurently を使うことになるかと思いますが、主キーの場合には方法が少しかわります。 といっても、一行SQLが増えるだけですが。 以下のように変更します。 create table hoge(col1 int primary key, col2 varchar(10)); create unique index concurrently pk02_hoge on hoge(col1); alter table hoge add primary key using index pk02_hoge; concurrently で作成した索引に対して、alter table で新旧の索引を入れ替えることができます。 ただし、このコマンドはPostgre

    index 再構築 Primary key - いざ! Unix
  • 子プロセス制御ふたたび : PHP Advent Calendar jp 2011 Day 8 - Blog::koyhoge::Tech

    はい、7日目の @scriptwork さんのエントリ「DateTimeクラスの落とし穴と対策 : PHP Advent Calendar jp 2011 Day 7」から引き続いて、PHP Advent Calendar jp 2011の8日目なわけです。 今回は何を書こうかずいぶん悩んで、ちょうど昨晩開催されたPHP忘年会2011@関東でネタ募集したところ、@sizuhikoさんが口走ったphpQueryネタをパクるという案もあったのですが、やはり正攻法で手持ちのネタでいくことにしました。 子プロセスfork このはてなダイアリーでの数少ないPHPヒットネタとして「pcntl extensionを使って一定個数の子プロセスに作業させる方法 - Blog::koyhoge」という記事がありまして、公開した2007年以来ぼちぼちとずっとアクセスを稼いでくれております。 ただこの時に書いたサ

    子プロセス制御ふたたび : PHP Advent Calendar jp 2011 Day 8 - Blog::koyhoge::Tech
  • PostgreSQL レプリケーションの Q&A PostgreSQL Advent Calendar #8

    この記事は、PostgreSQL Advent Calendar の 12/8 担当分です。 只今 12/8 21 時。12/8 も残り 3 時間というところで何もいいネタが思い浮かばなかったので、とりあえずレプリケーション関係について Q&A を殴り書きしていきます。 Q. PostgreSQL 内蔵のレプリケーションってある? A. あります。バージョン 9.0 から使えます。 Q. レプリケーションの同期モードは? A. v9.0 は非同期のみ、v9.1 以降は同期と非同期を選択できます。 Q. スタンバイでは SQL を実行できる? A. 参照形の SQL だけですが、スタンバイで実行できます。実行できる/できない SQL は、マニュアルに記載されています。 Q. どうやってフェイルオーバさせるの? A. スタンバイで、trigger_file というパラメータに設定したファイルを

  • ソーシャルアプリのボトルネック調査例(strace編) : DSAS開発者の部屋

    KLab Advent Calendar 2011 「DSAS for Social を支える技術」の6日目です。 はじめに ソーシャルゲームの開発では、仕様変更への柔軟な対応が求められることが多い上、突発的なアクセス増加にも耐えられる応答性能が要求されます。 一昔前までは、サービスの性能を担保するにはきちんとアーキテクチャを設計し、入念に動作チェックして、負荷試験して、プロファイル取って・・・みたいなことをリリース前にひらすやるのが理想だと思っていた頃もありました。 しかし、ソーシャルゲームの世界ではリリース直後からイベントやキャンペーンなどの追加開発が入ったり、ユーザの動向やコミュニティを参考にして仕様を変更することが多いので、リリース前に頑張ってチューニングしていても、その性能を担保し続ける事が難しいといった現状があります。 まあ、これはこれで刺激があって楽しい面もありますし、遊んで

    ソーシャルアプリのボトルネック調査例(strace編) : DSAS開発者の部屋