2015.08.24 リブセンス様社内勉強会LT資料
![GoでWeb APIを作る - JSON Hyper-Schemaからいろいろ生成する](https://cdn-ak-scissors.b.st-hatena.com/image/square/b228cd766f476f8288a785474d0ddad9522d71b5/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F2ba864cea08d477e8237e8c18500ba71%2Fslide_0.jpg%3F5162400)
2016年1月5日現在において、JSONを受け取り、返却するWeb APIを書くときに、人が作った規格に乗って楽をしようぜと考えた。 その過程で調べた、JSON Schemaについてメモ書き。間違ってたらツッコミよろ。 概要 JSONの構造を記述する規格。構造の記述そのものもJSONで書かれる。 Draft v4現在では、JSON Schemaは以下の3つの規格の総体を指す。 JSON Schema Core JSON Schema Validation JSON Hyper-Schema そもそも提案された初期のJSON Schemaは、JSON Schema Core+JSON Schema Validationとほぼ同じ領域をカバーしていた。整理・発展の上3仕様に分割された。よって、JSON Schema Core+JSON Schema Validationにあたるものを単にJSO
現在、JSONスキーマはIETFのインターネットドラフトとなっています。 http://tools.ietf.org/html/draft-zyp-json-schema-01 僕がはじめてJSONスキーマを紹介した時(2009年4月)と比べて、一番大きな変化はハイパースキーマ(hyper schema)と呼ばれる仕様が加わったことです。ハイパースキーマは、JSONデータをハイパーメディアと見なすための仕様です。個人的には欲しかった機能ですが、ちょっと「こりゃダメかも感」がただよっています。ハイパースキーマはいずれ話題にすることがあるかも知れませんが、今日の話は従来からあったコアスキーマ仕様に限定します。 この記事では、現状のJSONコアスキーマ仕様に基づき、スキーマの書き方を解説します。なお、我々のCatyスキーマ記述言語のこともしばしば「JSONスキーマ」と呼んでいますが、この記事で単
Rails is great for making traditional server-rendered web applications. It has support for cookies, sessions, and other browser-specific functionality right out of the box. It's also great for building JSON APIs, but why include a whole bunch of functionality that we aren't going to use if what we want is to simply build a JSON API? That's where using Rails in --api mode comes in handy. It gives u
既に mattn さんが、「Big Sky :: ヘッダファイルだけでC++から使えるJSONパーサ「picojson」が凄い!」で紹介してくださっています (mattn さん、アドバイス&バグ情報ありがとうございます!) が、いまさら C++ で JSON パーサを作りました。それは、以下の3点を満たすものがなかったから。 ヘッダファイル only boost 等、他の重たいライブラリに依存しない array や object が STL にマッピングされる コードは、coderepos に置いてありますので、よろしければお使いください (picojson.h)。 なお、現時点での制限事項として、 \n や \r, \uXXXX といったエスケープの処理が未実装rev. 34232 で対応しました (含サロゲートペア) 空白文字の判断基準が RFC と異なるrev. 34277 で空白と
JSのデータをJSON文字列化したいー、なんて時があるならば json.orgが公式で出しているjson.jsを使うのが世間では多いみたいなんですが、 これはCoreオブジェクトのprototypeにメソッド追加してるんで、場合によってはハマる人が多い*1みたいです。 http://search.cpan.org/dist/MozRepl/lib/MozRepl/Plugin/JSON.pmでもjson.jsを使っていたのですが、それが嫌だったので止めました。 別の選択としては下記のような物があります。 http://code.google.com/p/trimpath/wiki/JsonLibrary (trimpathの一部?) http://www.thomasfrank.se/json_stringify_revisited.html (上の拡張らしい) で今はjsonString
Cascading Style Sheets (CSS) is a simple mechanism for adding style (e.g. fonts, colors, spacing) to Web documents. JSON (JavaScript Object Notation) is a lightweight data-interchange format. CSS may easily be expressed in JSON notation (CSS JSON). CSS JSON is a powerful and flexible approach allowing for inheritance and logical constructs within CSS. CSS JSON Structure { "selector-1":{ "property-
Douglas Crockford douglas@crockford.com 2006-04-17 (Updated 2012-08-10) Abstract XMLHttpRequest has a security model that is inadequate for supporting the next generation of web applications. JSONRequest is proposed as a new browser service that allows for two-way data exchange with any JSON data server without exposing users or organization to harm. It exchanges data between scripts on pages with
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Enterprise Strategy Group: Go-to-market Expertise to Help You Win
http://dev.conio.net/repos/prototype/pkg/ JSONサポートしたよ!つってたので期待して見たらダメダメだった。 普通xmlhttprequest(xhr)のresponseTextで取得した文字列からJavaScriptで使えるオブジェクトにしたい場合、 eval('var result = ' + result.responseText); とやる必要があった。ここら辺をライブラリでラッピングしてくれてんのかなと思ってソースみたらevalJSONって関数が定義してあってキタコレ!と思ったら全然用途違ったよ! evalJSON: function() { var json = this.transport.getResponseHeader('X-JSON'), object; if (json) { try { object = eval(json
JSONの文法などについて、今年の2月1月からインターネットドラフト(I-D)が出されているが、はやくもInformational RFCとすることが決まった(I-Dは現在04版draft-crockford-jsonorg-json-04.txt)。MIMEタイプはapplication/jsonとされている。 このI-D/RFCは、JSONの構文とMIMEタイプをオフィシャルな形で定義しようというもので、内容は基本的には既に知られている文法と違いはない。大まかに言えば、次のようなことが書かれている。 JSONは4つの基本型(string, number, boolean, null)と、2つの構造型(object, array)で表現される。 objectは、名前:値 の組の順不同のコレクションで、これらの組を , で区切り、{ と } で囲む。名前はstringで、値は上記6つの型の
前回、JSONとRDF/Turtleは親和性が高そうであることを見たが、単純な置き換えではうまく行かなかったり、意味が正確に伝わらなかったりすることもある。ここでは名前空間宣言について考えてみよう。 まず、空白ノードを主語にした前回のグラフをもう一度確認。 この図でも分かるように、RDFでは基本的にURI参照でトリプルの名前付けを行うから、簡潔な記述には名前空間接頭辞が欠かせない。XML構文におけるxmlns属性の役割は、Turtleでは @prefix という特別な指示子が担う。デフォルト名前空間URIをhttp://example.org/ns/とすれば、Turtleでは接頭辞を:として@prefixで宣言する。 [例1] @prefix : <http://example.org/ns/> [ :studentid "10108068"; :name "John Barleycorn
JSONのデータ記法は、RDF/Turtleで主語を明記しない(空白ノードである)トリプルの書き方によく似ている。多くの人やサービスがデータをJSONの形で提供してくれれば、これをTurtleに変換してRDFとして扱うこともできるだろうし、JSONに馴染んだ人なら、案外Turtleを(そしてRDFを)抵抗なく受け入れられるのではなかろうか、などと考えたりしていた。 Turtleは、RDFのグラフを、XML構文ではなくて、主語、目的語、述語をシンプルに列挙する形で記述する。たとえば、ある学生の学籍番号をURIに仕立てて主語を名前付けし、その名前を目的語/述語で表すRDFトリプルがあるとしよう。 グラフのXML構文は次のようになる(http://example.org/ns/はデフォルト名前空間として宣言されているとする)。 [例1] <rdf:Description rdf:about="h
JSON を Template-Toolkit で展開する Jemplate という記事を書いたんですが、Jemplate を使うと何がいいかってのをもう少し詳しく書いてみます。 Jemplate は TT で JavaScript 上の JSON を展開できるんですが、それだけ聞いてもしかすると「これで普段サーバーサイドでやってるテンプレートの展開をクライアントサイドに持って行けて負荷がクライアントに移ってウマー」っていうのが使いどころのようにも思えちゃいますけど、そうじゃない。検索エンジンに引っかからなくなったりとか、アプリケーションの使い勝手が悪くなったりとか色々弊害があります。 そうじゃなくて、Jemplate は JavaScript のためのテンプレートとして使います。 試しに Catalyst で簡単なアプリケーションを作ってみました。ちょっと動かしておく環境がないのでソース
IntroductionWeb applications have made huge leaps and bounds in improving user experience thanks to a lot of recently developed fancy-pants technology. In an effort to help you take it up a notch, we’d like to share a method for helping your site anticipate a user’s next move. On most sites, there are usually only a handful of options that can be done at any given moment and often some of these op
Using JSON (JavaScript Object Notation) with Yahoo! Web Services JSON (JavaScript Object Notation) is a lightweight data format based on the object notation of the JavaScript language. It does not require JavaScript to read or write; it is easy to parse by any language and libraries and tools exist in many languages to handle JSON. For a complete description of JSON and its many uses, we sugges
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く