SlideShare una empresa de Scribd logo
1 de 112
Descargar para leer sin conexión
ソースツールキット
ソースツールキット
新しいコマンドテーマ (カテゴリー)
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 クライアント

Más contenido relacionado

La actualidad más candente

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
 

La actualidad más candente (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 複数レコード同時保存
 

Destacado

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
 

Destacado (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
 

Similar 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
 

Similar 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
 

Más 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
 

Más 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

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 

Último (8)

デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

2012 keynote-2