サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
TGS2024
www.chopl.in
はじめに この記事はPostgreSQL Advent Calendar 2012の21日目です。 JSON型の機能 PostgreSQLには9.2からJSON型が導入されました。JSON型が提供するのは主に次の2つです。 JSONとしてのバリデーション JSONデータ型 ROW型 配列型からのjson文字列の構築 JSON関数 非構造化データ型 ところでPostgreSQLには以前から非構造化データ型としてXML型があります。 XMLにはよく知られている通りXPathという内部の要素を指定する構文が標準化されており、libxmlなどのデファクトなライブラリを通して提供されています。 PostgreSQLでもlibxmlを利用したXPathでのアクセスが提供されています。 PostgreSQLでXMLを処理してみよう! — Let’s Postgres XML型 XML関数 新たに導入され
SQL上級者こそ知って欲しい、なぜO/Rマッパーが重要か?を受けて。 SQLがDisられたからってORMをDisりかえすより、SQLのよいところを主張してほしいな— 這い寄る債務者ゆるよろ(旧支配者)さん (@yuroyoro) 12月 7, 2012 だそうなので。 SQLのいい点 DBMSのフル機能が使える DBMSは色々便利な機能があってSQLをインターフェースとして提供されている 分かりやすいところだとストアドプロシジャとかwith句とかOLAPクエリとか ORMだとそれらの全てには対応できない(はず) DBMS依存の機能だと特に クエリチューニングしやすい SQLは抽象度が高い言語で実際に実行されるのはplanner/optimizerで作られた実行計画ではあるが、SQLからそれなりにコントロールできる ORMの気持ちが分かる人ならORMからコントロールできるのかも。自分は生SQ
はじめに 本エントリーは子育てエンジニア advent calendar 2012 : ATNDに参加しています。 アドベントカレンダーの趣旨 なぜこのアドベントカレンダーをやろうと思ったかについてです。 勉強会などで子育て中のエンジニアの方とお会いすると、技術の話をよそに子どもの話ばかりになった割りとあるんですね。話の内容にあるあると思うこともあれば、自分とは全く違う経験をされていることもあって、楽しく話をさせてもらっています。 やはり子どもがいると生活のかなりの部分は子どもに関わることで占められますし、子どもはどんどん大きくなって新鮮なことばかり起きるので、子どもを通してみなさん大なり小なり色々と思うところがあるんだと思います。 ですが、僕の場合ですとブログのメインが技術の話題なので、中々子どものことについてまとまった文章を書く機会はありません。こういう人は結構多いんじゃないかと思いま
はじめに 本エントリーはPostgreSQL Advent Calendar 2012に参加しています。 本エントリーではWindow関数がどういうものか、SQLでどう表すかについて説明します。 Window関数とは? SQLにはWindow関数と呼ばれる機能があります。SQL:2003で定義されており、PostgreSQLには8.4から導入されています。 Window関数がどういうものかというと、wikipediaを見ると次のように書いてあります。 SQL において、窓関数もしくはウィンドウ関数 (英: window function) は結果セットを 部分的に切り出した領域に集約関数を適用できる、拡張された SELECT ステートメントである。 http://ja.wikipedia.org/wiki/%E7%AA%93%E9%96%A2%E6%95%B0_(SQL)) より引用 分か
問題 以下のブログでSTOREをTextFileにしてで圧縮を有効にしていると、hive.merge.(mapfiles|mapredfiles)が無視される問題が報告されています。 Hiveのファイル圧縮とSTOREの種類とマージの関係 Hiveは圧縮されたTextFileをインプットにした場合は、複数ファイルのCombineを行わないようなので、圧縮された細かいファイルはsmall files problemによるパフォーマンスの悪化に繋がります。 また、RCFileでもマージはされるようです。が、実運用で用いているデータで試すとマージされないケースがあったので、下記のワークアラウンドを入れておくのが無難だと思います。 対応方法 ダメな形式の複数のMapper(Reducer)からファイルが出力されると、マージされずにそのまま残ります。 現状のワークアラウンドとしては Reducerを
概要 ここしばらく某社でデータの解析基盤を構築する仕事に携わっています。一からの構築になるので打てる手が多く楽しい一方で、適切な判断を下すのは難しいと実感しています。 解析基盤というのはもちろん解析を行うためのものですので、どう解析を行うかによってどういう基盤を構築していけばよいかが決まります。 ところで、データ(構造や収めているDBなども含めて)というのは寿命の長いもので、初期の設計を間違えてしまうと、その時点で戦略的な敗北は決まってしまいます。その後は運用しながら変更可能なところでゲリラ的に対応していくしか手を打てません。 そのため、実際に構築を行う前に、求められている解析がどのようなものかを十分に吟味した上で、適切なハードウェア、ミドルウェア、データ構造を選択し基盤を構築していくことが大変重要です。 着目すべき点 では解析のどのような点に着目すればよいかというと、私は次の5点を考えて
2012/11/7に開催されたCloudera World Tokyoに参加してきました。 本編については他の人がまとめてくれるはずですので省略。 懇親会では米国Cloudera社のCTO、Dr. Amr Awadallah氏に直接Impalaの疑問に答えていただきました。非常に貴重な話を聞けたのでまとめておきます。(公開許可済み) その場でメモを取っていたわけではなく思い出しながらのまとめなので、一緒に聞いていた方、clouderaの方は補足をお願いします。 Q&A Q. なぜJavaでなくてC++で実装したか? A. ImpalaのメインデザイナーがGoogleでC++を使って分散処理(Dremelのこと?)を実装した人物であるのと、JVMの起動コストがレイテンシーの増加につながるため 補足: この人でしょうか Q. 1ノードに偏ったデータを読む必要があるクエリがくると低レイテンシーを
型クラスについてつらつら考えていたことをまとめておきます。マサカリ歓迎。 型クラスって? 型クラスとは一言でいうと。 アドホック多相を実現するもの です。モから始まる名状し難いあれとは直接は関係ありません。 ではアドホック多相とは何かというと 異なる型の間で共通したインターフェースでの異なる振る舞いを 定義済みの型に対して拡張する ような多相のことです。 異なる型間での共通したインターフェースでの異なる振る舞い Javaの継承やインターフェース、Scalaのtraitを用いることで、異なる型間での共通したインターフェースを管理することができます。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 trait SomeTrait { def someMethod(): String } class Foo extends SomeTrait { def someM
Summary RubyでProcess Poolを簡単に作れるクラスを書いてみました。Ruby歴は浅いのでアホな書き方をしているかもしれません。ツッコミ歓迎。 Motivation Rubyは1.9からNative Threadにはなったんですが、GVLがあって結局コア数でスケールしないし、Multi Processで速度をかせぐライブラリがもっとあってもよさそうなんですが、あまり見つからないので自分で書くことに。 (組み込みライブラリはGVLを解放するものがあるそうなんですが、gemにあるのは対応していないものが多いような) grosser/parallelはあるんですが、配列の並行処理に機能を絞っているので用途に合わなかったのです。がっつり一枚岩で外部から触りにくいので、もう少し細かい要素に分けてほしいところですね。 Usage 使い方はこんな感じです 1 2 3 4 5 6 7 8
Intro JSXのおかげ?か俄に話題に登るようになってきたマルチプラットフォーム言語のHaxeです。 JSXよりHaxeがイケてる3つの理由 - みずぴー日記 haXe と JSX の最大の違いは null と undefined の扱い - kazuhoのメモ置き場 JSX v.s. HaXeベンチマーク戦争 - Togetter structural subtypingとか関数型のリテラルがイケてたりとか型推論とか中々良い感じですね。 Problem そんなHaxeですが、下記のブログで言及されているように、Macのhomebrewでインストールすると一部動きません。 HaxeでJavaScriptゲームを作ってみた - サンフラットの開発日記 1 2 3 4 5 6 $ brew install neko haxe $ haxelib setup dyld: Library not
Haskell Day 2012 「すごいHaskellたのしく学ぼう」の発売を記念して開催されたHaskell Day 2012に参加してきました。 発表の内容は入門から応用まで、笑いもあれば学術研究のガチ発表まで多岐に渡っており、まさにHaskell尽くしの一日でした。 感想 Haskellのイベントにも関わらず(と言っては失礼ですが)180人近くが集まる大規模なイベントでした。Haskellの存在感は日毎に増しているようです。 しかし、個人的な感触ですが、@Lost_dog_さんの発表にありましたが、Haskellは近頃の注目度に反して実用レベルのコードを書いている人はあまりいないように思います。(私が正にそうなのですが、、、) 今回の発表ではGlossやYesodのライブコーディングやPersistentの紹介、(私は理解できませんでしたが)学術的な利用など、実践に近い発表も多く、
Motivation 他CMSからOctopress + github pages で快適なブログ生活を送っている方が増えているようです。 ところで、CMSやブログサービスの重要な機能の一つに記事の下書きを挙げられます。ちょっとずつ書き進めたいひとはもちろん、情熱に任せて一気に書き上げた記事も、すぐに公開せずに下書きで一晩寝かせて読み直すと恥ずかしいことに気付いたりと、色々役に立ちますね。 Octopressでこの便利な下書き機能を利用することはできるのでしょうか? もちろん手で_postsに入れたり出したりすればできるのですが、かっこ悪いですね。 Solution Writing まず作成した記事をHTMLに含めない方法です。 新規記事を作成した後、
このページを最初にブックマークしてみませんか?
『www.chopl.in』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く