狠狠撸

狠狠撸Share a Scribd company logo
JSON SchemaとPHP
第72回 PHP勉強会@東京
自己紹介
? 中野 拓
? https://twitter.com/Hiraku
? http://blog.tojiru.net/
? PHP歴6年ぐらい
? 最近使ってるフレームワークはYafとPhalconです
? WebAPI関係のお仕事
? 最近コード書いてない。。
第一部
JSON
Schema
JSON SchemaとPHP
JSON Schema
? JSONの構造をバリデーションするための仕様

? http://json-schema.org/
? http://json-schema.org/latest/json-schemacore.html
JSON SchemaとPHP
JSONの例
{
“id”: 12345,
“name”: “Hiraku NAKANO”,
“tags”: [“PHP”,”JavaScript”]
}
JSON Schema
{

integer

“id”: 12345,
“name”: “Hiraku NAKANO”,
“tags”: [“PHP”,”JavaScript”]
}
id, name, tags という
プロパティを持った
オブジェクト

{

string

string[]

“type”:”object”,
“properties”: {
“id”: {“type”:”integer”},
“name”: {“type”:”string”},
“tags”: {
“type”:”array”,
“items”:{“type”:”string”}
}}}
もし型が違ったら、判定できる
{

integer

“id”: 12345,
“name”: “Hiraku NAKANO”,
“tags”: “PHP,JavaScript”
}
id, name, tags という
プロパティを持った
オブジェクト

{

string

string[]

“type”:”object”,
“properties”: {
“id”: {“type”:”integer”},
“name”: {“type”:”string”},
“tags”: {
“type”:”array”,
“items”:{“type”:”string”}
}}}
バリデーター実装

バリデーション仕様書
? JSONで記述する

? 仕様書を読み取って
バリデーションを実行する
? 言語ごとに存在
? PHP,JavaScript,Ruby,...

JSON
Schema
PHPでの実装
? JSON Schema for PHP がオススメ
https://github.com/justinrainbow/json-schema
? composerの内部で使われている
<?php
require ‘vendor/autoload.php’;
$json = ‘{“a”:1, “b”:2}’;
$schema = ‘{
“type”:”object”,
“properties”:{
“a”: {“type”:”integer”},
“b”: {“type”:”integer”}
}
}’;
$v = new JsonSchema?Validator;
$v->check(json_decode($json), json_decode($schema));

var_dump($v->getErrors());

エラーがあれば
指摘してくれる
JSON SchemaとPHP
超単純な例
JSON

スキーマ

{}

{“type”:”object”}

“abc”

{“type”:”string”}

123

{“type”:”integer”}

[1,2,3]

{“type”:”array”}
数値なら上限下限指定できる
JSON

スキーマ

3

{

“type”:”integer”,
“minimum”:2,
“maximum”:5
}
文字列なら正規表現が使える
JSON

スキーマ

“abcdef”

{

“type”:”string”,
“pattern”:”^a.*f$”
}
よく使うパターンはformatで
JSON

スキーマ

“hiraku@tojiru.net”

{

“type”:”string”,
“format”:”email”
}

date, time, date-time,
uri, host-name, email,
ipv6, ip-address,
color, style,
型固定の配列
JSON

スキーマ

[1,2,3]

{

“type”:”array”,
“items”:{
“type”:”integer”
}
}
配列要素数の制約
JSON

スキーマ

[1,2,3]

{

“type”:”array”,
“minItems”:1,
“maxItems”:5
}
入れ子のオブジェクト
JSON

{

スキーマ

{

“type”:”object”,
“properties”:{
“alice”: ...
“bob”: {
“type”:”object”
}
}

“alice”: 123,
“bob”: {
“charlie”: 223
}
}
}

無限に入れ子可能
未定義のプロパティ拒否
JSON

{

“alice”: 123,
“bob”: 223,
“charlie”: 323
}

スキーマ

{

“type”:”object”,
“properties”: {
“alice”: ...
“bob”: ...
},
“additionalProperties”:
false
}
一通りそろってる感じがする
? 詳しくはJSON Schema for PHPのテストを参照!
? 入れ子など、構造のバリデーションが得意なのが
JSON Schemaの特徴
まとめ
? JSON Schemaを使うと、JSONをチェックして、期待通
りの構造になっているか調べることができます。
? PHPにもJSON Schemaの実装があります。
第一部
完
...
JSON SchemaとPHP
「JSONの構造を
バリデーションし
て何が嬉しいの
か?」
についてこれから解説します
第二部
PHPと
JSON
突然ですが
PHPは
JSONで
出来ています
...
って思われそうなので
もう少し丁寧に言うと
PHPのデータ構造は
JSON互換です
JSONと言えば
? boolean, number, stringなどの基本的な型
? array, object を多段に入れ子にした構造
JSON SchemaとPHP
例1

$_GET
?a[]=1&a[]=2&a[]=3&b=hogehoge

$_GET === [
‘a’ => [‘1’,’2’,’3’],
‘b’ => ‘hogehoge’
]

JSONだよね!
{

}

“type”:”object”,
“properties”:{
“a”:{
“type”:”array”,
“maxItems”:3
},
“b”:{“type”:”string”}
}
<?php
//...
$v = new JsonSchema?Validator;
$get = json_decode(json_encode($_GET));
$v->check($get, $schema);
var_dump($v->getErrors());
普通に$_GETをバリデーションす
ると結構面倒くさい
<?php
if (
isset($_GET[‘a’], $_GET[‘b’]) &&
is_array($_GET[‘a’]) &&
count($_GET[‘a’]) <= 3 &&
is_string($_GET[‘b’])
) {
//...
}

もっと入れ子になって
いると更に厄介

issetの嵐

これだと何が原因で
駄目だったのか分か
らない
例2

関数の引数
<?php
/**
* @param int $a
* @param string $b
* @param array $config
*/
function hoge($a, $b, array $config) {
//...
}
<?php
function hoge($a, $b, array $config) {
$args = get_defined_vars();
$args === [
‘a’ => ...,
‘b’ => ...,
‘config’ => ...
];
}
{

}

“type”:”object”,
“properties”:{
“a”:{“type”:”integer”},
“b”:{“type”:”string”},
“config”:{
“type”:”object”,...
}
}
以下省略
つまり
JSON Schemaとは、
JSON相当のデータ構造なら
何でもバリデーションできる
応用範囲の超広い
ライブラリなのです
JSON SchemaとPHP
まとめ
? PHP=だいたいJSON
? ゆえに、JSON SchemaはPHPのデータ構
造ならだいたい何でもバリデーションでき
る
? 手持ちのバリデーションライブラリの1つ
として、覚えておくといいと思います
$ composer require justinrainbow/json-schema
(依存パッケージもないので割と使いやすいと思う)

完

More Related Content

What's hot (20)

Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
?
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Mineaki Motohashi
?
厂飞补驳驳别谤て?の补辫颈开発よもやま话
厂飞补驳驳别谤て?の补辫颈开発よもやま话厂飞补驳驳别谤て?の补辫颈开発よもやま话
厂飞补驳驳别谤て?の补辫颈开発よもやま话
KEISUKE KONISHI
?
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたグラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
?
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
?
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話
Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話
Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話
JustSystems Corporation
?
础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)
础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)
础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)
Masahiko Ebisuda
?
ちいさなオブジェクトでドメインモデルを组み立てる
ちいさなオブジェクトでドメインモデルを组み立てるちいさなオブジェクトでドメインモデルを组み立てる
ちいさなオブジェクトでドメインモデルを组み立てる
増田 亨
?
文字コードに起因する脆弱性とその対策(増补版)
文字コードに起因する脆弱性とその対策(増补版)文字コードに起因する脆弱性とその対策(増补版)
文字コードに起因する脆弱性とその対策(増补版)
Hiroshi Tokumaru
?
第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例
Ken Hirose
?
明日からはし?められる Docker + さくらvpsを使った開発環境構築
明日からはし?められる Docker + さくらvpsを使った開発環境構築明日からはし?められる Docker + さくらvpsを使った開発環境構築
明日からはし?められる Docker + さくらvpsを使った開発環境構築
MILI-LLC
?
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
?
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
?
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
Sho Okada
?
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
なべ
?
プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017
hirokiky
?
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Keisuke Takahashi
?
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushiGoogle Cloud Dataflow を理解する - #bq_sushi
Google Cloud Dataflow を理解する - #bq_sushi
Google Cloud Platform - Japan
?
厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう
厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう
厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう
Shinsuke Sugaya
?
Python におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころPython におけるドメイン駆動設計(戦術面)の勘どころ
Python におけるドメイン駆動設計(戦術面)の勘どころ
Junya Hayashi
?
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Snowflake Architecture and Performance(db tech showcase Tokyo 2018)
Mineaki Motohashi
?
厂飞补驳驳别谤て?の补辫颈开発よもやま话
厂飞补驳驳别谤て?の补辫颈开発よもやま话厂飞补驳驳别谤て?の补辫颈开発よもやま话
厂飞补驳驳别谤て?の补辫颈开発よもやま话
KEISUKE KONISHI
?
グラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみたグラフデータベース Neptune 使ってみた
グラフデータベース Neptune 使ってみた
Yoshiyasu SAEKI
?
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
?
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
NTT DATA Technology & Innovation
?
Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話
Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話
Spring Boot の Web アフ?リケーションを Docker に載せて AWS ECS て?動かしている話
JustSystems Corporation
?
础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)
础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)
础锄耻谤别础肠迟颈惫别顿颈谤别肠迟辞谤测の认証の话(础锄耻谤别周りの自动化编)
Masahiko Ebisuda
?
ちいさなオブジェクトでドメインモデルを组み立てる
ちいさなオブジェクトでドメインモデルを组み立てるちいさなオブジェクトでドメインモデルを组み立てる
ちいさなオブジェクトでドメインモデルを组み立てる
増田 亨
?
文字コードに起因する脆弱性とその対策(増补版)
文字コードに起因する脆弱性とその対策(増补版)文字コードに起因する脆弱性とその対策(増补版)
文字コードに起因する脆弱性とその対策(増补版)
Hiroshi Tokumaru
?
第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例第10回solr勉強会 solr cloudの導入事例
第10回solr勉強会 solr cloudの導入事例
Ken Hirose
?
明日からはし?められる Docker + さくらvpsを使った開発環境構築
明日からはし?められる Docker + さくらvpsを使った開発環境構築明日からはし?められる Docker + さくらvpsを使った開発環境構築
明日からはし?められる Docker + さくらvpsを使った開発環境構築
MILI-LLC
?
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
?
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
?
初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本初心者でもわかるActive directoryの基本
初心者でもわかるActive directoryの基本
Sho Okada
?
Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編Spring bootでweb セキュリティ(ログイン認証)編
Spring bootでweb セキュリティ(ログイン認証)編
なべ
?
プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017
プロダクト開発してわかったDjangoの深?いパーミッション管理の話 @ PyconJP2017
hirokiky
?
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Azure Database for PostgreSQL 入門 (PostgreSQL Conference Japan 2021)
Keisuke Takahashi
?
厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう
厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう
厂辞濒谤と贰濒补蝉迟颈肠蝉别补谤肠丑を比べてみよう
Shinsuke Sugaya
?

Viewers also liked (11)

JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようJSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
VOYAGE GROUP
?
JSON Schema と API テスト YAPC::Asia Tokyo 2014
JSON Schema と API テスト YAPC::Asia Tokyo 2014JSON Schema と API テスト YAPC::Asia Tokyo 2014
JSON Schema と API テスト YAPC::Asia Tokyo 2014
Naoki Shimizu
?
こわくない同时実行制御
こわくない同时実行制御こわくない同时実行制御
こわくない同时実行制御
Hiraku Nakano
?
STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015
驰补丑辞辞!デベロッパーネットワーク
?
颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか
Yoshifumi Kawai
?
10分でわかる主成分分析(笔颁础)
10分でわかる主成分分析(笔颁础)10分でわかる主成分分析(笔颁础)
10分でわかる主成分分析(笔颁础)
Takanori Ogata
?
はじめよう多変量解析~主成分分析编~
はじめよう多変量解析~主成分分析编~はじめよう多変量解析~主成分分析编~
はじめよう多変量解析~主成分分析编~
宏喜 佐野
?
肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について
肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について
肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について
Hiraku Nakano
?
奥别产础笔滨のこれまでとこれから
奥别产础笔滨のこれまでとこれから奥别产础笔滨のこれまでとこれから
奥别产础笔滨のこれまでとこれから
Yohei Yamamoto
?
笔测迟丑辞苍による机械学习の最前线
笔测迟丑辞苍による机械学习の最前线笔测迟丑辞苍による机械学习の最前线
笔测迟丑辞苍による机械学习の最前线
Kimikazu Kato
?
笔丑辫をいじり倒す10の方法
笔丑辫をいじり倒す10の方法笔丑辫をいじり倒す10の方法
笔丑辫をいじり倒す10の方法
Moriyoshi Koizumi
?
JSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めようJSON Schema で Web API のスキマを埋めよう
JSON Schema で Web API のスキマを埋めよう
VOYAGE GROUP
?
JSON Schema と API テスト YAPC::Asia Tokyo 2014
JSON Schema と API テスト YAPC::Asia Tokyo 2014JSON Schema と API テスト YAPC::Asia Tokyo 2014
JSON Schema と API テスト YAPC::Asia Tokyo 2014
Naoki Shimizu
?
こわくない同时実行制御
こわくない同时実行制御こわくない同时実行制御
こわくない同时実行制御
Hiraku Nakano
?
STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015
STAC2015 講演3 広告システム刷新よもやま話?テストが当たり前となるまでにやったこと #stac2015
驰补丑辞辞!デベロッパーネットワーク
?
颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか颁#の强み、或いは何故笔贬笔から乗り换えるのか
颁#の强み、或いは何故笔贬笔から乗り换えるのか
Yoshifumi Kawai
?
10分でわかる主成分分析(笔颁础)
10分でわかる主成分分析(笔颁础)10分でわかる主成分分析(笔颁础)
10分でわかる主成分分析(笔颁础)
Takanori Ogata
?
はじめよう多変量解析~主成分分析编~
はじめよう多変量解析~主成分分析编~はじめよう多変量解析~主成分分析编~
はじめよう多変量解析~主成分分析编~
宏喜 佐野
?
肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について
肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について
肠辞尘辫辞蝉别谤-蝉肠谤颈辫迟蝉について
Hiraku Nakano
?
奥别产础笔滨のこれまでとこれから
奥别产础笔滨のこれまでとこれから奥别产础笔滨のこれまでとこれから
奥别产础笔滨のこれまでとこれから
Yohei Yamamoto
?
笔测迟丑辞苍による机械学习の最前线
笔测迟丑辞苍による机械学习の最前线笔测迟丑辞苍による机械学习の最前线
笔测迟丑辞苍による机械学习の最前线
Kimikazu Kato
?
笔丑辫をいじり倒す10の方法
笔丑辫をいじり倒す10の方法笔丑辫をいじり倒す10の方法
笔丑辫をいじり倒す10の方法
Moriyoshi Koizumi
?

Similar to JSON SchemaとPHP (14)

ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
uedayou
?
Zabbix API
Zabbix APIZabbix API
Zabbix API
Shuhei Hayashibara
?
笔丑箩辞蝉丑(仮)プロジェクト
笔丑箩辞蝉丑(仮)プロジェクト笔丑箩辞蝉丑(仮)プロジェクト
笔丑箩辞蝉丑(仮)プロジェクト
Moriyoshi Koizumi
?
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contract
Takeshi Ogawa
?
窜补产产颈虫の础笔滨を使って运用を楽しくする话
窜补产产颈虫の础笔滨を使って运用を楽しくする话窜补产产颈虫の础笔滨を使って运用を楽しくする话
窜补产产颈虫の础笔滨を使って运用を楽しくする话
Masahito Zembutsu
?
辫谤尘诲のドキュメントが読みやすくなる话
辫谤尘诲のドキュメントが読みやすくなる话辫谤尘诲のドキュメントが読みやすくなる话
辫谤尘诲のドキュメントが読みやすくなる话
ota42y
?
Firefox Add-on SDK 入門
Firefox Add-on SDK 入門Firefox Add-on SDK 入門
Firefox Add-on SDK 入門
Shoot Morii
?
イマドキの现场で使える闯补惫补ライブラリ事情
イマドキの现场で使える闯补惫补ライブラリ事情イマドキの现场で使える闯补惫补ライブラリ事情
イマドキの现场で使える闯补惫补ライブラリ事情
takezoe
?
贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方
贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方
贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方
Shinsuke Sugaya
?
20140903驳谤辞辞苍驳补発表资料
20140903驳谤辞辞苍驳补発表资料20140903驳谤辞辞苍驳补発表资料
20140903驳谤辞辞苍驳补発表资料
Hironobu Saitoh
?
现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について
现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について
现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について
Nobukazu Hanada
?
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
ふぉとぶらり+LODAC -iPhoneアプリでのSPARQLでの活用事例-
uedayou
?
笔丑箩辞蝉丑(仮)プロジェクト
笔丑箩辞蝉丑(仮)プロジェクト笔丑箩辞蝉丑(仮)プロジェクト
笔丑箩辞蝉丑(仮)プロジェクト
Moriyoshi Koizumi
?
Spring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contractSpring data-rest-and-spring-cloud-contract
Spring data-rest-and-spring-cloud-contract
Takeshi Ogawa
?
窜补产产颈虫の础笔滨を使って运用を楽しくする话
窜补产产颈虫の础笔滨を使って运用を楽しくする话窜补产产颈虫の础笔滨を使って运用を楽しくする话
窜补产产颈虫の础笔滨を使って运用を楽しくする话
Masahito Zembutsu
?
辫谤尘诲のドキュメントが読みやすくなる话
辫谤尘诲のドキュメントが読みやすくなる话辫谤尘诲のドキュメントが読みやすくなる话
辫谤尘诲のドキュメントが読みやすくなる话
ota42y
?
Firefox Add-on SDK 入門
Firefox Add-on SDK 入門Firefox Add-on SDK 入門
Firefox Add-on SDK 入門
Shoot Morii
?
イマドキの现场で使える闯补惫补ライブラリ事情
イマドキの现场で使える闯补惫补ライブラリ事情イマドキの现场で使える闯补惫补ライブラリ事情
イマドキの现场で使える闯补惫补ライブラリ事情
takezoe
?
贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方
贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方
贰濒补蝉迟颈肠蝉别补谤肠丑プラグインの作り方
Shinsuke Sugaya
?
20140903驳谤辞辞苍驳补発表资料
20140903驳谤辞辞苍驳补発表资料20140903驳谤辞辞苍驳补発表资料
20140903驳谤辞辞苍驳补発表资料
Hironobu Saitoh
?
现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について
现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について
现在の奥别产フロントエンドの现状と愚痴と、それに対する贬补虫别フロントエンドライブラリ惭补驳别について
Nobukazu Hanada
?

More from Hiraku Nakano (7)

composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudycomposerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
?
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
?
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyScrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudy
Hiraku Nakano
?
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
?
辫别肠濒-础翱笔の绍介
辫别肠濒-础翱笔の绍介辫别肠濒-础翱笔の绍介
辫别肠濒-础翱笔の绍介
Hiraku Nakano
?
鲍搁尝で游ぼう
鲍搁尝で游ぼう鲍搁尝で游ぼう
鲍搁尝で游ぼう
Hiraku Nakano
?
composerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudycomposerの遅さをまじめに考える #phpstudy
composerの遅さをまじめに考える #phpstudy
Hiraku Nakano
?
Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt Composer並列化プラグイン #phpblt
Composer並列化プラグイン #phpblt
Hiraku Nakano
?
Scrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudyScrutinizer CIでPHPも静的解析 #phpstudy
Scrutinizer CIでPHPも静的解析 #phpstudy
Hiraku Nakano
?
PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介PSR-3 Logger Interfaceの紹介
PSR-3 Logger Interfaceの紹介
Hiraku Nakano
?
辫别肠濒-础翱笔の绍介
辫别肠濒-础翱笔の绍介辫别肠濒-础翱笔の绍介
辫别肠濒-础翱笔の绍介
Hiraku Nakano
?

JSON SchemaとPHP