If you’re here for the short answer — JSON is 25 times faster in reading (loads) and 15 times faster in writing (dumps). I’ve been thinking about this since I wrote the ObjectProperty and JsonProperty classes for Google App Engine. They’re both easy to use and work as expected. I did have some trouble with ObjectProperty but I figured it out in the end. As my previous posts mention, the ObjectProp
今日、Scalaって強力だなぁ〜と思ったことを2つ。 まず、コレクションの扱い。 JavaだとIteratorにして、nextで・・・みたいな実装をすることがあるが、Scalaだとこれがめんどい。 foreach使いたいのに・・・というときはこの一行を! import scala.collection.JavaConversions._ これで、Listだとしても、foreachメソッドが追加されます。 (Scalaのバージョンが2.8の場合) 参考URL ■ Twitter / Kota Mizushima: @itoasuka import ….JavaC … http://twitter.com/kmizu/status/12477994337 import ….JavaConversions._ すれば、あとは、scalaの*mutableな*SetからJavaのSetへ
この記事は、http://d.hatena.ne.jp/higayasuo/20090612/1244772658 の「Ctrl+1とCtrl+Spaceうんぬん」の話にインスパイアされて書いた。Eclipse可愛いよ。Eclipse。 記事長いから、さくっと読み飛ばして、アニメーションgifがあるところから読んでも十分訳にたつと思う。 あと、新人さんとかに写経させるのもいいかも。というか、半分ぐらいうちの新人に勉強のためと思って書いたから。で、実際に写経させて役にたった。 Java は Eclipse などの IDE も含めて言語というか、環境というか…だと僕は思ってる。Commons, Maven なども含めたい(まぁ、そのあたりは、CPANも含めてperlだろ。とか、これは否定する人だらけだろうけど、Rails=rubyということを言う人もいるよね)。 少なくとも僕は、Eclipse
Jaql(a query language desired for JSON:JSON用に位置づけられたクエリ言語)は、JSON型式のデータを処理するためのクエリ言語で、Apache HadoopのMapReduceを処理するための実装が存在します。日本語では「じゃっくる」と発音します。ジャッカルに似ているため、一部のサイトにはジャッカルの写真が掲載されていました。 もともとはIBMのアルマデン研究所で研究・開発され、オープンソースへ提案されました。本原稿執筆時点では、Apache Incubatorプロジェクトになっており、Google Codeのサイトで開発が進められています。 IBMアルマデン研究所のサイト Apache Hadoop用実装のダウンロードサイト 本記事執筆時点では、つい先頃リリースされた、Jaql 0.5.1をベースに解説しています。 1. JSONの基礎 JSON(
ウォーターフォール型で重視する要素(価値)とアジャイル開発で重視する価値を対比。ウォーターフォール型の価値を否定しているのではなく、重要であることを認めつつ、新たな価値にも目を向けることを促している アジャイル開発の各手法の提唱者が合意した宣言で、アジャイルの根幹ともいうべき精神を表す。ウォーターフォール型開発で重視すべき要素(価値)を四つ挙げ、それぞれに対するアジャイルの価値を提示している(図1)。 新しい四つの価値が、あたかも既存の四つの価値を置き換えるように見えるがそうではない。これまでの価値の重要性は認めつつ、別の新しい価値に目を向けることを促している。 word2 自己組織化 アジャイル開発が目指す行動規範のこと。チームを構成する各メンバーは自分自身をコントロールして自律的に行動し、目標に向かってチームの成長に貢献する。この成長を「自己組織化」と呼び、変化への適応能力を高める上で
これはappengine ja night #12のプレゼン資料です。 Channel APIとは Channel APIは、App Engineで動作するプッシュ通信サービスです。詳しくはこちら: #appengine でComet! Channel APIでpushできるぞ Channel API on Google App Engine Matcher APIとは Matcher APIとは、「スケーラブルなリアルタイムマッチングサービス」です。 マッチングの条件を独自のクエリ構文で記述して登録 エンティティやdictの内容が条件に合致すると、タスクで通知 数千、数万件の条件を数秒でチェックし通知できます Matcher APIとは 簡単に言うと。。 DB/Datastoreのクエリは「過去に対するクエリ」 Matcherのクエリは「未来に対するクエリ」 例えばこんなdb.Model
有限会社ITプランニングに勤務するプログラマー。型理論などの応用である関数型言語MLや証明支援器Coqを使った、高信頼なシステム開発の技術に興味がある。 LiftはScalaでウェブアプリケーションを作るためのフルスタックなフレームワークです。Liftを使えば、テンプレートシステムやORマッピング、セッション管理などウェブアプリケーションに便利なものはすべてそろっている環境で開発をすることができます。 さらに、それだけでなく、LiftはScalaの機能を生かしたすばらしい特徴があります。 スニペットと呼ばれる関数を主体としたビューの構築 高階関数を使ったシンプルなインタフェースの設計 Scalaコンソールによる対話的なデバッグとメンテナンス 型推論による簡潔なコードの記述 型検査によるプログラムの誤りの検出 nullがないことによって、実行時エラーを大幅に削減 まだLiftは新しい技術です
データベースの世界でいま注目されているのがNoSQL。特にキーバリュー型データストアは、グーグルのBigTable、FacebookやTwitterが内部で利用しているCassandraやAmazonクラウドが提供しているSimpleDBなど、すでに実際に使われ始めています。 ではそのNoSQLをリレーショナルデータベースの代わりに使ってシステムを構築するとどうなるのか? 身をもって体験したことを記したShinya Kawanaka氏によるプレゼンテーション「間違った方向にCassandraを使ってみた」が公開されています。 NoSQLを用いたシステム構築は、リレーショナルデータベースによる構築どう違うのか? とても分かりやすくまとめられています。ご本人の承諾もいただいたので、その内容を紹介しましょう。 NoSQLを使ったときに起こる恐ろしい事例 プレゼンテーションのテーマは「NoSQLを
GAEアプリって結構Objectのシリアライズ使うことあるよね?(俺だけ?) 転置インデックスとか、ビュー(クエリの結果をまるごとシリアライズして1エンティティに保持してるやつ)とか、 結構いろいろと使ってるんだけど、微妙に遅いので速くならないかなーと。 Javaの標準シリアライズ以外に、シリアライズのライブラリって色々あるみたいです。 Apache Thrift GoogleのProtocol Buffer http://code.google.com/intl/ja/apis/protocolbuffers/ HadoopのWritable Message Pack http://msgpack.org/ 等 んで、速そうな奴&簡単に使えそうな奴って事で、 HadoopのWritableと、Message Packを試してみました。 サイズ的には、 Java標準 > HadoopのWr
Webサイトの制作では、なるべくどのようなユーザー環境であっても同じように見えることが要求されます。PCサイトであればOSやブラウザー、モバイルサイトであればキャリアや端末が違っていても、制作者の意図どおりに表示され、JavaScriptやFlashなどのプログラムが正常に実行されるかをチェックするのが「ブラウザーテスト」です。 ブラウザーの種類とブラウザーテストの方法 Webページを表示するブラウザーは、Internet Explorer(IE)、Firefox(ff)、Opera、Google Chromeなど、Windowsだけでも数多く存在します。さらに、リリースされた歴史が古ければ古いほど、特有のバグがあったり、最新のHTMLやCSSの仕様に対応していなかったり、といったバージョンによる違いもあります。Web標準の仕様に則って制作したページであっても、ブラウザーが抱えるバグや表示
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く