SlideShare uma empresa Scribd logo
1 de 112
Baixar para ler offline
ソースツールキット
ソースツールキット
新しいコマンドテーマ (カテゴリー)
METHOD
METHOD
METHOD
METHOD
METHOD
METHOD
METHOD
METHOD
METHOD
METHOD

GET PATHS
RESOLVE PATH
Get path
GET NAMES
GET NAMES FORM
GET PATHS FORM
GET MODIFICATION DA
SET ACCESS MODE
GET FOLDERS
OPEN PATH

ソースツールキット

新しいコマンドテーマ (カテゴリー)
ソースツールキット

•メソッド
ソースツールキット

•

メソッド

‣ 全タイプ
ソースツールキット

•

メソッド

‣ 全タイプ

プロジェクトメソッド
フォームメソッド
オブジェクトメソッド
トリガ
データベースメソッド
ソースツールキット

•

メソッド

‣ 全タイプ
‣ Get/Set
ソースツールキット

•

メソッド

‣ 全タイプ
‣ Get/Set
‣ パス
ソースツールキット

•

メソッド

‣ 全タイプ
‣ Get/Set
‣ パス

"[Invoices]/input_form/save"
"[trigger]/Invoices”
"[databasemethod]/onSystemEvent"
ソースツールキット

•メソッド
•コンテキスト
ソースツールキット

•メソッド
コンテキスト ‣ フォルダ
•
ソースツールキット

•メソッド
コンテキスト ‣ フォルダ
•
‣ フォーム名
ソースツールキット

•メソッド
コンテキスト ‣ フォルダ
•
‣ フォーム名
‣ フィルタリング
ソースツールキット

•メソッド
•コンテキスト
ソースツールキット

•メソッド
•コンテキスト
•コメント
ソースツールキット

•メソッド
•コンテキスト
•コメント
属性
•
ソースツールキット

•メソッド
•コンテキスト
•コメント
属性
•
ソースツールキット

•メソッド
•コンテキスト
•コメント
属性
•
•*
ソースツールキット

•メソッド
•コンテキスト
•コメント
属性
•
•*
ソースツールキット

•メソッド
•コンテキスト
•コメント
属性
•
•*

!

リモートモード
でもOK!!
ソースコードの取り出し
• ソースツールキッド
ソースコードの取り出し
• ソースツールキッド
• 任意のバージョンコントロールシステム
ソースコードの取り出し
• ソースツールキッド
• 任意のバージョンコントロールシステム
• バージョン管理 vs 履歴
ソースツールキット
望み通りの開発ツールが設計できます。
ソースツールキット
望み通りの 素晴らしい 開発ツールが設計できます。
新しいWebサーバー
新しいWebサーバー
ベンチマーク
_
_
_ 一 ど い
, て
体 っ ?
な の
う る

新しいWebサーバー
ベンチマーク

な

驚異
的!

!!
い

れ
v13 Webサーバーは 超高速!
ら
じ

信

反
違
ド
ー
ピ
ス

ディ 15%
ス
2月 カウ
1日 ン
まで

ト
新しいWebサーバー
v12 vs v13
新しいWebサーバー
v12 vs v13
(リクエスト/秒)

41
v12
新しいWebサーバー
v12 vs v13
(リクエスト/秒)

169

41
v12

x4!
v13
新しいWebサーバー
新しいWebサーバー
モダンなデザイン
新しいWebサーバー
モダンなデザイン

• Unicode
• Carbon 不使用
• プリエムプティブ
• IPV6
• RFC準拠
•...
Webサーバー再開発計画
Webサーバー再開発計画
自作の強み

•無駄を省いて高出力
•自由にチューニング
•一体型
Webサーバー再開発計画
必要に応えるものに

•簡単 設定

簡単 管理

簡単 運用

•パフォーマンス重視
ネットワークレイヤー
ネットワークレイヤー

Mac
IPX

AppleTalk
ネットワークレイヤー

Mac / Windows
IPX

AppleTalk

TCP/IP
ネットワークレイヤー
Mac / Windows
SSL
IPX

AppleTalk

TCP/IP
ネットワークレイヤー
Mac / Windows
SSL
IPX

AppleTalk

TCP/IP
ネットワークレイヤー
• 機能の絞り込み:
‣ TCP/IP

Mac / Windows

‣ POSIXソケット

•
• 保守の容易性
エラー処理

SSL
IPX

AppleTalk

TCP/IP
ネットワークレイヤー
• 機能の絞り込み:
‣ TCP/IP
‣ POSIXソケット

• エラー処理
• 保守の容易性

TCP/IP
POSIXソケット
速度の追求
速度の追求
• 圧縮
‣ gzip, 自動
速度の追求
• 圧縮
‣ gzip, 自動

• キャッシュ
速度の追求
• 圧縮
‣ gzip, 自動

• キャッシュ
• プリエンムティブ
v12

CPU

Webサーバー

CPU

CPU

CPU
v12

CPU

Webサーバー

CPU

CPU

CPU
v12

CPU

Webサーバー

CPU

CPU

CPU
v13

CPU

Webサーバー

CPU

CPU

CPU
v13

CPU

Webサーバー

CPU

CPU

CPU
v13

CPU

Webサーバー

CPU

CPU

CPU
リクエスト
リクエスト
リクエスト

解析

スタティック

キャッシュのチェック
(圧縮)

結果を送信

プリエムティブスレッド
リクエスト

解析

スタティック

ダイナミック

キャッシュのチェック
(圧縮)

コオペラティブスレッドの
プールに転送

完了するまで停止

結果を送信

プリエムティブスレッド
v12 vs v13 ベンチマーク
新しいWebサーバー
v12 vs v13

169
x4!

41
v12

v13
新しいWebサーバー
v12 vs v13
スタティックページ
169
x4!

41
v12

v13

2 コア

リクエスト/秒
新しいWebサーバー
v12 vs v13
スタティックページ

リクエスト/秒

169
x4!

41
v12

v13

2 コア

v13

4 コア
新しいWebサーバー
v12 vs v13
スタティックページ

リクエスト/秒

482

x12!

169
x4!

41
v12

v13

2 コア

v13

4 コア
スタティック 対 ダイナミック
スタティック 対 ダイナミック

• スタティックリクエスト: スピード重視
スタティック 対 ダイナミック

• スタティックリクエスト: スピード重視
• テンプレート
スタティック 対 ダイナミック

• スタティックリクエスト: スピード重視
• テンプレート
• PROCESS HTML TAGS
スタティック 対 ダイナミック

• スタティックリクエスト: スピード重視
• テンプレート
• PROCESS HTML TAGS
スタティック 対 ダイナミック

• スタティックリクエスト: スピード重視
• テンプレート
• PROCESS 4D TAGS
コマンド
コマンド
• WEB get body parts count
• WEB GET BODY PART
新しいWebサーバー

まだまだ続く
If($1="/cart@")
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
End if
If($1="/cart@")
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
End if C_TEXT($1;$value)

C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)
!
$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
If($1="/cart@")
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
web_DoNewSession
End if
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
web_DoNewSession
End if
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
If($1="/cart@")
GET HTTP HEADER
$idx:=
If ($idx>0)
T_sessionID:=
End if
If(T_sessionID="")
web_DoNewSession
End if
End if

C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

!

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER
web_DoNewSession
$idx:=
If ($idx>0)
T_sessionID:=
$L_custID:=web_L_CustIDFromQueryStr ($T_url)
End if
QUERY([Customers];[Customers]ID=$L_custID)
If(T_sessionID="")
CREATE RECORD([Orders])
web_DoNewSession
[Orders]CustomerID:=$L_custID
End if
SAVE
End if RECORD([Orders])
!
CREATE RECORD([Sessions])
    //  UUIDは⾃自動的に発⾏行行される  
SelectionsToSession
!
SAVE RECORD([Sessions])
!
    //  このセッションIDでクッキーをセット  
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER
web_DoNewSession
$idx:=
If ($idx>0)
T_sessionID:=
$L_custID:=web_L_CustIDFromQueryStr ($T_url)
End if
QUERY([Customers];[Customers]ID=$L_custID)
If(T_sessionID="")
CREATE RECORD([Orders])
web_DoNewSession
[Orders]CustomerID:=$L_custID
End if
SAVE
End if RECORD([Orders])
!
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
!
SAVE RECORD([Sessions])
!
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER
web_DoNewSession
$idx:=
If ($idx>0)
T_sessionID:=
$L_custID:=web_L_CustIDFromQueryStr ($T_url)
End if
QUERY([Customers];[Customers]ID=$L_custID)
If(T_sessionID="")
CREATE RECORD([Orders])
web_DoNewSession
[Orders]CustomerID:=$L_custID
End if
SAVE
End if RECORD([Orders])
!
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
!
SAVE RECORD([Sessions])number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record
!
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
// LONGINT($rL_recNums;0)
ARRAYSet a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)
$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
web_DoNewSession
End if
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
!
web_DoNewSession
End if
!
!
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
!
web_DoNewSession
End if
!
!
Case of
: ($1="cart_addTo")
Web_AddToCart($1)
!
: (...その他...)
!
End case
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
!
web_DoNewSession
End if
!
!
Case of
: ($1="cart_addTo")
Web_AddToCart($1)
!
: (...その他...)
!
End case
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
If($1="/cart@")
GET HTTP HEADER
$idx:=
If ($idx>0)
T_sessionID:=
End if
If(T_sessionID="")
web_DoNewSession
End if
Case of
: ($1="cart_addTo")
Web_AddToCart
!
: (...other cases...)
!
End case
End if

C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

!

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])

!
!
!

CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

Web_AddToCart
If($1="/cart@")
!
GET HTTP HEADER
$T_url:=$1
$idx:=
$L_productID:=web_L_ProductIDFromQueryStr ($T_url)
If ($idx>0)
ARRAY LONGINT($rL_recNums;0)
T_sessionID:=
LONGINT
End if ARRAY FROM SELECTION([OrderLines];$rL_recNums)
!
If(T_sessionID="")
!
CREATE RECORD([OrderLines])
web_DoNewSession
[OrderLines]OrderID:=[Orders]ID
End if
!
!
[OrderLines]ProductID:=$L_productID
Case of
SAVE($1="cart_addTo")
: RECORD([OrderLines])
APPEND TO ARRAY($rL_recNums;Record number([OrderLines]))
Web_AddToCart
!
CREATE SELECTION FROM ARRAY([OrderLines];$rL_recNums)
: (...other cases...)
!
SET BLOB
End case SIZE([Sessions]Content;0)
LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
End if
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
SAVE RECORD([Sessions])
!
ARRAY TEXT($rT_names;0)
RELATE ONE SELECTION([OrderLines];[Products])
SELECTION TO ARRAY([Products]Name;$rT_names)
.  .  .  カートの内容を更更新  .  .  .
$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])

// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
!
web_DoNewSession
End if
!
!
Case of
: ($1="cart_addTo")
Web_AddToCart($1)
!
: (...その他...)
!
End case
End if

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
!
web_DoNewSession
End if
!
!
Case of
: ($1="cart_addTo")
Web_AddToCart($1)
!
: (...その他...)
!
!
End case
End if
!
!

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)

$T_url:=$1
$L_productID:=web_L_ProductIDFromQueryStr ($T_url)
ARRAY LONGINT($rL_recNums;0)
LONGINT ARRAY FROM SELECTION([OrderLines];$rL_recNums)
CREATE RECORD([OrderLines])
[OrderLines]OrderID:=[Orders]ID
[OrderLines]ProductID:=$L_productID
SAVE RECORD([OrderLines])
APPEND TO ARRAY($rL_recNums;Record number([OrderLines]))
CREATE SELECTION FROM ARRAY([OrderLines];$rL_recNums)
SET BLOB SIZE([Sessions]Content;0)
LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
SAVE RECORD([Sessions])

!

ARRAY TEXT($rT_names;0)
RELATE ONE SELECTION([OrderLines];[Products])
SELECTION TO ARRAY([Products]Name;$rT_names)
. . . return the result . . .
C_TEXT($1;$value)
C_TEXT($0)
C_LONGINT($L_pos1;$L_pos2)

If($1="/cart@")
!
GET HTTP HEADER($headers;$values)
$idx:=Find in array($headers;"cookie")
If ($idx>0)
T_sessionID:=web_GetSessionCookie ($values{$idx})
End if
If(T_sessionID="")
!
web_DoNewSession
End if
!
!
Case of
: ($1="cart_addTo")
Web_AddToCart($1)
!
: (...その他...)
!
!
End case
End if
!
!

$value:=$1
$L_pos1:=Position("MYCOOKIE=";$value)
If ($L_pos1>0)
$L_pos2:=Position(";";$value;$L_pos1+1)
If ($L_pos2>0)
$0:=Substring($value;$L_pos1+11;$L_pos2-$L_pos1-1)
Else
$0:=Substring($value;$L_pos1+1)
End if
$0:=s_CleanupWebStr($0)
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])
CREATE RECORD([Sessions])
// UUID is automatically generated
SelectionsToSession
SAVE RECORD([Sessions])
// Set a cookie with this session UID
T_sessionID:=[Sessions]SessionUID
$T_header:="Set-Cookie: MYCOOKIE="+ T_sessionID
SET HTTP HEADER($T_header)

LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
ARRAY LONGINT($rL_recNums;0)
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)

$T_url:=$1
$L_productID:=web_L_ProductIDFromQueryStr ($T_url)
ARRAY LONGINT($rL_recNums;0)
LONGINT ARRAY FROM SELECTION([OrderLines];$rL_recNums)
CREATE RECORD([OrderLines])
[OrderLines]OrderID:=[Orders]ID
[OrderLines]ProductID:=$L_productID
SAVE RECORD([OrderLines])
APPEND TO ARRAY($rL_recNums;Record number([OrderLines]))
CREATE SELECTION FROM ARRAY([OrderLines];$rL_recNums)
SET BLOB SIZE([Sessions]Content;0)
LONGINT TO BLOB(Record number([Customers]);[Sessions]Content;...
LONGINT TO BLOB(Record number([Orders]);[Sessions]Content;...
VARIABLE TO BLOB($rL_recNums;[Sessions]Content;*)
SAVE RECORD([Sessions])

!

ARRAY TEXT($rT_names;0)
RELATE ONE SELECTION([OrderLines];[Products])
SELECTION TO ARRAY([Products]Name;$rT_names)
. . . return the result . . .
If($1="/cart@")
If(T_sessionID#WEB Get current session ID)
web_DoNewSession
End if
Case of
: ($1="cart_addTo")
Web_AddToCart($1)
!
: (...その他...)  
!
End case
End if

$L_custID:=web_L_CustIDFromQueryStr ($T_url)
QUERY([Customers];[Customers]ID=$L_custID)
CREATE RECORD([Orders])
[Orders]CustomerID:=$L_custID
SAVE RECORD([Orders])

$T_url:=$1
$L_productID:=web_L_ProductIDFromQueryStr ($T_url)
ARRAY LONGINT($rL_recNums;0)
LONGINT ARRAY FROM SELECTION([OrderLines];$rL_recNums)

!

CREATE RECORD([OrderLines])
[OrderLines]OrderID:=[Orders]ID
[OrderLines]ProductID:=$L_productID
SAVE RECORD([OrderLines])
APPEND TO ARRAY($rL_recNums;Record number([OrderLines]))

!
!

CREATE SELECTION FROM ARRAY([OrderLines];$rL_recNums)
ARRAY TEXT($rT_names;0)
SELECTION TO ARRAY([Products]Name;$rT_names)
. . . return the result . . .
セッション管理
セッション管理
• 自動処理
• 各種設定
• WEB GET/SET OPTION

•

• Webserver
• Webserver
• Webserver
• Webserver
微調整も

Keep session
inactive session timeout
Max sessions
Session cookie name

• WEB CLOSE SESSION
•

データベースメソッド

On Web Session Suspend
v13 新しいWebサーバー
• モダンでスタイリッシュ
• 簡単 ∼セットアップから運用まで∼
• パフォーマンス重視
• セッション管理
新しいWebサーバー
とにかくスゴイ!
HTTP クライアント
HTTP クライアント
HTTP クライアント
•HTTP

Get
HTTP クライアント
•HTTP

Get

$resp:=HTTP Get($url;$result)
HTTP クライアント
•HTTP

Get
HTTP クライアント
•HTTP
•HTTP

Get
Request
HTTP クライアント
•HTTP
•HTTP

Get
Request

DELETE	

GET	

HEAD	

OPTIONS	

POST	

PUT	

TRACE
HTTP クライアント
•HTTP
•HTTP
•HTTP

Get
Request
GET/SET OPTION
HTTP クライアント
•HTTP Get
•HTTP Request
•HTTP GET/SET OPTION
•認証,プロキシ(システム設定)
HTTP クライアント

デモンストレーション
HTTP クライアント
HTTP クライアント
とっても簡単!
HTTP クライアント
新しいWebサーバー
HTTP クライアント

Mais conteúdo relacionado

Mais procurados

Yapc -asia 2012 lt @studio3104
Yapc -asia 2012 lt @studio3104Yapc -asia 2012 lt @studio3104
Yapc -asia 2012 lt @studio3104Satoshi Suzuki
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーyoku0825
 
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~Akabane Hiroyuki
 
PHP classの教室
PHP classの教室PHP classの教室
PHP classの教室Yusuke Ando
 
PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠Takaaki Hirano
 
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向azuma satoshi
 
Drupal8 DBに保存して読み込む
Drupal8 DBに保存して読み込むDrupal8 DBに保存して読み込む
Drupal8 DBに保存して読み込むiPride Co., Ltd.
 
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみようKentaro Matsui
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門Takashi Kitano
 
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104Satoshi Suzuki
 
HCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくるHCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくるHiroshi Tanaka
 
CakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみようCakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみようTomo Mizoe
 
CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存Tomo Mizoe
 

Mais procurados (18)

Yahoo!ボックスAPI Hackathon向け資料
Yahoo!ボックスAPI Hackathon向け資料Yahoo!ボックスAPI Hackathon向け資料
Yahoo!ボックスAPI Hackathon向け資料
 
Yapc -asia 2012 lt @studio3104
Yapc -asia 2012 lt @studio3104Yapc -asia 2012 lt @studio3104
Yapc -asia 2012 lt @studio3104
 
Where狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキーWhere狙いのキー、order by狙いのキー
Where狙いのキー、order by狙いのキー
 
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
ビギナーだから使いたいO/Rマッパー ~Tengを使った開発~
 
jQuery勉強会#2
jQuery勉強会#2jQuery勉強会#2
jQuery勉強会#2
 
PHP classの教室
PHP classの教室PHP classの教室
PHP classの教室
 
PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠PHP foreachでの参照渡しに潜む罠
PHP foreachでの参照渡しに潜む罠
 
大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向大ざっぱにオブジェクト指向
大ざっぱにオブジェクト指向
 
Drupal8 DBに保存して読み込む
Drupal8 DBに保存して読み込むDrupal8 DBに保存して読み込む
Drupal8 DBに保存して読み込む
 
「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう「Html sql」で図書館hpにアクセスしてみよう
「Html sql」で図書館hpにアクセスしてみよう
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門
 
swooleを試してみた
swooleを試してみたswooleを試してみた
swooleを試してみた
 
もにかじ2 lt @studio3104
もにかじ2 lt @studio3104もにかじ2 lt @studio3104
もにかじ2 lt @studio3104
 
Dom
DomDom
Dom
 
あらためてPHP5.3
あらためてPHP5.3あらためてPHP5.3
あらためてPHP5.3
 
HCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくるHCEでなんちゃってType4のNDEFタグをつくる
HCEでなんちゃってType4のNDEFタグをつくる
 
CakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみようCakePHP でお小遣い帳をつくってみよう
CakePHP でお小遣い帳をつくってみよう
 
CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存CakePHP 2.x 複数レコード同時保存
CakePHP 2.x 複数レコード同時保存
 

Destaque

Wakanda#4
Wakanda#4Wakanda#4
Wakanda#4kmiyako
 
About 4D 2013-01-15
About 4D 2013-01-15About 4D 2013-01-15
About 4D 2013-01-15kmiyako
 
4D Write Pro
4D Write Pro4D Write Pro
4D Write Prokmiyako
 
リストフォーム⼤改造
リストフォーム⼤改造リストフォーム⼤改造
リストフォーム⼤改造kmiyako
 
MONET研究会 #14
MONET研究会 #14MONET研究会 #14
MONET研究会 #14kmiyako
 
解決! メール送信
解決! メール送信解決! メール送信
解決! メール送信kmiyako
 
ラベルエディター
ラベルエディターラベルエディター
ラベルエディターkmiyako
 
カスタマイズできる⼊力画面
カスタマイズできる⼊力画面カスタマイズできる⼊力画面
カスタマイズできる⼊力画面kmiyako
 
01. a. salinan permendikbud no. 54 tahun 2013 ttg skl
01. a. salinan permendikbud no. 54 tahun 2013 ttg skl01. a. salinan permendikbud no. 54 tahun 2013 ttg skl
01. a. salinan permendikbud no. 54 tahun 2013 ttg sklBudi Purnomo
 
Wakanda#5
Wakanda#5Wakanda#5
Wakanda#5kmiyako
 
Web area 2013-07-16
Web area 2013-07-16Web area 2013-07-16
Web area 2013-07-16kmiyako
 
Auto Update
Auto UpdateAuto Update
Auto Updatekmiyako
 
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~kmiyako
 
2010 in-depth-v11
2010 in-depth-v112010 in-depth-v11
2010 in-depth-v11kmiyako
 
20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션병용 병용
 
20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션병용 병용
 
Journaling slides
Journaling slidesJournaling slides
Journaling slideskmiyako
 

Destaque (19)

Wakanda#4
Wakanda#4Wakanda#4
Wakanda#4
 
About 4D 2013-01-15
About 4D 2013-01-15About 4D 2013-01-15
About 4D 2013-01-15
 
4D Write Pro
4D Write Pro4D Write Pro
4D Write Pro
 
リストフォーム⼤改造
リストフォーム⼤改造リストフォーム⼤改造
リストフォーム⼤改造
 
MONET研究会 #14
MONET研究会 #14MONET研究会 #14
MONET研究会 #14
 
Xslt
XsltXslt
Xslt
 
解決! メール送信
解決! メール送信解決! メール送信
解決! メール送信
 
ラベルエディター
ラベルエディターラベルエディター
ラベルエディター
 
カスタマイズできる⼊力画面
カスタマイズできる⼊力画面カスタマイズできる⼊力画面
カスタマイズできる⼊力画面
 
01. a. salinan permendikbud no. 54 tahun 2013 ttg skl
01. a. salinan permendikbud no. 54 tahun 2013 ttg skl01. a. salinan permendikbud no. 54 tahun 2013 ttg skl
01. a. salinan permendikbud no. 54 tahun 2013 ttg skl
 
Wakanda#5
Wakanda#5Wakanda#5
Wakanda#5
 
Web area 2013-07-16
Web area 2013-07-16Web area 2013-07-16
Web area 2013-07-16
 
Auto Update
Auto UpdateAuto Update
Auto Update
 
Regex
RegexRegex
Regex
 
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
初心者からプロフェッショナルまで~データベース開発ソフト4Dの魅力を徹底紹介~
 
2010 in-depth-v11
2010 in-depth-v112010 in-depth-v11
2010 in-depth-v11
 
20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션
 
20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션20112602윤병용+자기소개+프리젠테이션
20112602윤병용+자기소개+프리젠테이션
 
Journaling slides
Journaling slidesJournaling slides
Journaling slides
 

Semelhante a 2012 keynote-2

WordPress のキャッシュ機構
WordPress のキャッシュ機構WordPress のキャッシュ機構
WordPress のキャッシュ機構katanyan
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2Atsuo Yamasaki
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるjamadam
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb APIYuko Toriyama
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜Sotaro Omura
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia鉄次 尾形
 
Zend Db Table拡張説明資料
Zend Db Table拡張説明資料Zend Db Table拡張説明資料
Zend Db Table拡張説明資料co-hey japan
 
ブログメディアにおけるData APIの活用について
ブログメディアにおけるData APIの活用についてブログメディアにおけるData APIの活用について
ブログメディアにおけるData APIの活用についてHatsuhito UENO
 
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017Shigeru Hanada
 
Haskellday rf
Haskellday rfHaskellday rf
Haskellday rfrf0444
 
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEtsuji Nakai
 
XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3Hikawa Kilica
 

Semelhante a 2012 keynote-2 (13)

WordPress のキャッシュ機構
WordPress のキャッシュ機構WordPress のキャッシュ機構
WordPress のキャッシュ機構
 
[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2[東京] JapanSharePointGroup 勉強会 #2
[東京] JapanSharePointGroup 勉強会 #2
 
Mojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてるMojoliciousをウェブ制作現場で使ってみてる
Mojoliciousをウェブ制作現場で使ってみてる
 
WordPressで提供するWeb API
WordPressで提供するWeb APIWordPressで提供するWeb API
WordPressで提供するWeb API
 
omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜omoon.org の裏側 〜FuelPHP の task 活用例〜
omoon.org の裏側 〜FuelPHP の task 活用例〜
 
モダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasiaモダンmod_perl入門 #yapcasia
モダンmod_perl入門 #yapcasia
 
Zend Db Table拡張説明資料
Zend Db Table拡張説明資料Zend Db Table拡張説明資料
Zend Db Table拡張説明資料
 
Ci tutorial
Ci tutorialCi tutorial
Ci tutorial
 
ブログメディアにおけるData APIの活用について
ブログメディアにおけるData APIの活用についてブログメディアにおけるData APIの活用について
ブログメディアにおけるData APIの活用について
 
PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017PostgreSQL 10 新機能 @オープンセミナー香川 2017
PostgreSQL 10 新機能 @オープンセミナー香川 2017
 
Haskellday rf
Haskellday rfHaskellday rf
Haskellday rf
 
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみましたEucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
EucalyptusのHadoopクラスタとJaqlでBasket解析をしてHiveとの違いを味わってみました
 
XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3XOOPS Cube Conference 2012 Developer Workshop 3
XOOPS Cube Conference 2012 Developer Workshop 3
 

Mais de kmiyako

Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4Dkmiyako
 
4D WORLD TOUR 2017
4D WORLD TOUR 20174D WORLD TOUR 2017
4D WORLD TOUR 2017kmiyako
 
Inside Multi-Threading
Inside Multi-ThreadingInside Multi-Threading
Inside Multi-Threadingkmiyako
 
Mirroring
MirroringMirroring
Mirroringkmiyako
 
Objects Fields
Objects FieldsObjects Fields
Objects Fieldskmiyako
 
Code Optimisation
Code OptimisationCode Optimisation
Code Optimisationkmiyako
 
Classic Query Editor
Classic Query EditorClassic Query Editor
Classic Query Editorkmiyako
 
Web area-phone-home
Web area-phone-homeWeb area-phone-home
Web area-phone-homekmiyako
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5kmiyako
 
Unicode-v11-0
Unicode-v11-0Unicode-v11-0
Unicode-v11-0kmiyako
 
アップグレードセミナー
アップグレードセミナーアップグレードセミナー
アップグレードセミナーkmiyako
 
バックアップと復元
バックアップと復元バックアップと復元
バックアップと復元kmiyako
 
⾼解像度ディスプレイ
⾼解像度ディスプレイ⾼解像度ディスプレイ
⾼解像度ディスプレイkmiyako
 
正しいクエリの書き⽅
正しいクエリの書き⽅正しいクエリの書き⽅
正しいクエリの書き⽅kmiyako
 
Data conversion
Data conversionData conversion
Data conversionkmiyako
 

Mais de kmiyako (19)

Build an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4DBuild an iOS app with Ionic and 4D
Build an iOS app with Ionic and 4D
 
4D WORLD TOUR 2017
4D WORLD TOUR 20174D WORLD TOUR 2017
4D WORLD TOUR 2017
 
Leaflet
LeafletLeaflet
Leaflet
 
Inside Multi-Threading
Inside Multi-ThreadingInside Multi-Threading
Inside Multi-Threading
 
4D Tags
4D Tags4D Tags
4D Tags
 
Mirroring
MirroringMirroring
Mirroring
 
Objects Fields
Objects FieldsObjects Fields
Objects Fields
 
Code Optimisation
Code OptimisationCode Optimisation
Code Optimisation
 
Classic Query Editor
Classic Query EditorClassic Query Editor
Classic Query Editor
 
Web area-phone-home
Web area-phone-homeWeb area-phone-home
Web area-phone-home
 
4d
4d4d
4d
 
Unicode-v11-5
Unicode-v11-5Unicode-v11-5
Unicode-v11-5
 
Unicode-v11-0
Unicode-v11-0Unicode-v11-0
Unicode-v11-0
 
アップグレードセミナー
アップグレードセミナーアップグレードセミナー
アップグレードセミナー
 
バックアップと復元
バックアップと復元バックアップと復元
バックアップと復元
 
⾼解像度ディスプレイ
⾼解像度ディスプレイ⾼解像度ディスプレイ
⾼解像度ディスプレイ
 
正しいクエリの書き⽅
正しいクエリの書き⽅正しいクエリの書き⽅
正しいクエリの書き⽅
 
4D Tags
4D Tags4D Tags
4D Tags
 
Data conversion
Data conversionData conversion
Data conversion
 

Último

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Último (10)

TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

2012 keynote-2