SlideShare una empresa de Scribd logo
1 de 46
株式会社セールスフォース・ドットコム  ビジネス開発本部 Apex  コア開発者向けセミナー ~  Apex  コード編 ~
本セミナーの内容 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Apex  コード Your Code Our Servers Integer NUM = 10;  Account[] accs;  // Clean up old data  accs = [select id from account where name like 'test%'];  delete accs;  commit;  accs = new Account[NUM];  for (Integer i = 0; i < NUM; i++) {  accs[i] = new Account(name='test ' + i, outstandingshares__c=i);  }  insert accs;  Contact[] cons = new Contact[0];
Force.com  プラットフォームにおけるコンポーネント プラットフォーム データベース ユーザインターフェース ビジネスロジック
Apex  コードの基本 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Apex  コードの種類 global class HelloWorld2 {    //  パブリック  WebService  メソッドにするときは、キーワード  WebService  を付ける    WebService static String sayHelloWorld(String arg) {      return 'Hello '+arg;    } }   trigger helloWorldAccountTrigger on Account (before insert) {    Account[] accs = Trigger.new;    MyHelloWorld.addHelloWorld(accs); }
Summer’07  で何が新しくなった? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Apex  コードの文法
Apex  コードと Java の類似点、相違点 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
インライン SOQL クエリ ,[object Object],[object Object],[object Object],[object Object],[object Object],Account[] accounts = [SELECT Id, Name FROM Account]; Account a = [SELECT Id, Name FROM Account WHERE Id = :accId]; Account[] accs = [SELECT Id, Name FROM Account  WHERE Name LIKE :(s + '%')]; Account a = [SELECT Id, Name FROM Account LIMIT 1];
DML 文 ,[object Object],[object Object],[object Object],insert  <SObject>; insert  <SObject[]>;   update  <SObject>; update  <SObject[]>; delete  <SObject>; delete  <SObject[]>;
Apex コードのクラス ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SObject 型 ,[object Object],[object Object],[object Object],Account account =  new Account(Name=' 東京建設 ', NumberOfEmployees=200);
コレクションクラス: List ,[object Object],[object Object],String[] colors = new List<String>(); colors.add('red'); colors.add('white'); colors.add('green'); System.debug(colors[1]);  // => 'white'; System.debug(colors.size());  // => 3
コレクションクラス: Map ,[object Object],[object Object],Map<String, String> myStrings =  new Map<String, String>{'a' => 'b', 'c' => 'd' };
コレクションクラス: Set ,[object Object],[object Object],[object Object],[object Object],[object Object],Set<ID> accountIds = new Set<ID>(); for (Contact c : contacts) accountIds.add(c.AccountId); Account[] accounts =    [SELECT Id, Name FROM Account WHERE Id IN :accountIds];
正規表現クラス ,[object Object],[object Object],[object Object],Boolean match = Pattern.matches('a*b', 'aaaaab');
ユーザ定義クラス ,[object Object],[object Object],[object Object],[object Object],[object Object],public  class  MyClass  { public MyClass (String a, Integer b) { //  コンストラクタ }    private void   doSomething () {     //  プライベートメソッド    } }   MyClass c = new MyClass('abc', 12);
トリガの作成
トリガ ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],trigger  < トリガ名 >  on  < オブジェクト名 >  ( < イベント > ) { //  トリガの処理 }
トリガの記述方法 ,[object Object],[object Object],[object Object],trigger testTrigger on Account (after insert) { for (Account a :  Trigger.new ) { //  作成された各レコードに対して反復処理する } } trigger oppTrigger on Opportunity (before delete) {    for (Quote__c q : [SELECT Opportunity__c FROM Quote__c                     WHERE Opportunity__c IN  :Trigger.oldMap .keySet()]) { Trigger.oldMap .get(q.opportunity__c)       .addError('Cannot delete opportunity with a quote'); } }
トリガに対する注意事項 ,[object Object],[object Object],[object Object],[object Object],[object Object]
ガバナ制限( Governor Limit ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SOQL for ループ ,[object Object],[object Object],[object Object],[object Object],for (Account a : [SELECT Id, Name FROM Account                   WHERE Name LIKE :(s+'%')]) {    //  繰り返しコード }
トリガ実装の例 ,[object Object],[object Object],trigger myTrigger on Emp__c (after insert) {    Map<Id, Integer> deptEmps = new Map<Id, Integer>();    for (Emp__c emp : Trigger.new) { Integer count = deptEmps.get(emp.Dept__c); if (count==null) count=0; deptEmps.put(emp.Dept__c, count+1); } Dept__c[] depts =  [SELECT Id FROM Dept__c WHERE Id IN :deptEmps.keySet()];   for (Dept__c d : depts) { d.EmployeesNumber__c += deptEmps.get(d.Id); } update depts; } trigger myTrigger on Emp__c (after insert) {    for (Emp__c emp : Trigger.new) { Dept__c dept =  [SELECT Id, Name FROM Account WHERE Id = :emp.Dept__c]; dept.EmployeesNumber__c++; update dept; } } ループ内で DML を発行しているため、 DML 文数のガバナ制限値に抵触する ループ内でクエリを発行しているため、クエリ数のガバナ制限値に抵触する すぐにデータベースに更新するのでなく、一旦値をマップ構造に格納 ループの外側で 一括クエリ&一括 DML 処理
Web サービスの公開
Apex  コード と  Web  サービス  API 外部サーバ  or クライアント端末 SOAP WSDL WSDL WSDL SOAP ロジックをカスタム Web サービスとして公開
Web サービスとしての公開 ,[object Object],[object Object],global class HelloWorld {    //  パブリック  WebService  メソッドにするときは、キーワード  WebService  を付ける    w ebService static String sayHello (String  msg ) {      return 'Hello ,  '   +  msg ;    } }
WSDL のダウンロード ,[object Object],[object Object]
Apex コードのセキュリティについて ,[object Object],[object Object],[object Object],[object Object],[object Object]
外部 Web サービス呼び出し ( Salesforce SOA ) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
デバッグ・テスト・配備
デバッグ ,[object Object],[object Object],[object Object],[object Object],[object Object]
Apex ログウィンドウ ,[object Object],[object Object],[object Object],[object Object]
Apex コードのテスト ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
テストコードの記述 ,[object Object],[object Object],[object Object],public class MyClass {    //  ユニットテストのメソッドは  static  で宣言し、引数は定義しない static testMethod void myTest1() { //  ユニットテスト用のコード } }
Apex コードの配備 ,[object Object],[object Object],[object Object],[object Object],[object Object]
配備方法 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Apex コード と  Visualforce View Controller Model
Visualforce Page  による View の定義 <apex:page>   <h1>Hello World</h1> </apex:page> <apex:detail  subject=“ id expression ” relatedList=“false” />
Visualforce Controller ,[object Object],[object Object],[object Object],[object Object],[object Object],public class MyController {    private String name;    public String getName() {   return this.name;   }    public void setName(String name) {   this.name = name;   }    public PageReference save() {      Account newAcc = new Account(Name=this.name);      insert newAcc; return Page.success; } }
その他
Apex コードのはじめかた ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
世界初のオンデマンドプログラム言語のための IDE for Apex Code の編集 Apex Code のデバッグ Apex Project の管理
Apex コード言語リファレンス ,[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理
土岐 孝平
 

La actualidad más candente (10)

SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのかSecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
SecurityとValidationの奇妙な関係、あるいはDrupalはなぜValidationをしたがらないのか
 
Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理Spring3.1概要 データアクセスとトランザクション処理
Spring3.1概要 データアクセスとトランザクション処理
 
コードビュー中心で開発するDreamweaverテンプレート
コードビュー中心で開発するDreamweaverテンプレートコードビュー中心で開発するDreamweaverテンプレート
コードビュー中心で開発するDreamweaverテンプレート
 
HTML5最新動向
HTML5最新動向HTML5最新動向
HTML5最新動向
 
ドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDDドメイン駆動設計 の 実践 Part3 DDD
ドメイン駆動設計 の 実践 Part3 DDD
 
CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4 CSS Nite in Matsuyama vol.1 - session 4
CSS Nite in Matsuyama vol.1 - session 4
 
MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003MySQL57 Update@OSC Fukuoka 20151003
MySQL57 Update@OSC Fukuoka 20151003
 
Spring AMQP × RabbitMQ
Spring AMQP × RabbitMQSpring AMQP × RabbitMQ
Spring AMQP × RabbitMQ
 
HTML5&API総まくり
HTML5&API総まくりHTML5&API総まくり
HTML5&API総まくり
 
WordBeach @kurudrive
WordBeach @kurudriveWordBeach @kurudrive
WordBeach @kurudrive
 

Destacado

Mktg03 マーケティング戦略の策定と実行(1)
Mktg03 マーケティング戦略の策定と実行(1)Mktg03 マーケティング戦略の策定と実行(1)
Mktg03 マーケティング戦略の策定と実行(1)
Takeshi Matsui
 
20101013戦略策定プロセス
20101013戦略策定プロセス20101013戦略策定プロセス
20101013戦略策定プロセス
ATY-Japan
 
【期間限定】マーケティングオートメーションの真実
【期間限定】マーケティングオートメーションの真実【期間限定】マーケティングオートメーションの真実
【期間限定】マーケティングオートメーションの真実
FROM SCRATCH
 
【完全保存版】マーケティングオートメーション徹底解剖(ショート版)
【完全保存版】マーケティングオートメーション徹底解剖(ショート版)【完全保存版】マーケティングオートメーション徹底解剖(ショート版)
【完全保存版】マーケティングオートメーション徹底解剖(ショート版)
Anru Okaue
 

Destacado (20)

04 salesforceでのソフトフォン実装パターン
04 salesforceでのソフトフォン実装パターン04 salesforceでのソフトフォン実装パターン
04 salesforceでのソフトフォン実装パターン
 
Mktg03 マーケティング戦略の策定と実行(1)
Mktg03 マーケティング戦略の策定と実行(1)Mktg03 マーケティング戦略の策定と実行(1)
Mktg03 マーケティング戦略の策定と実行(1)
 
開発者が話すSalesforceのui設計とは?
開発者が話すSalesforceのui設計とは?開発者が話すSalesforceのui設計とは?
開発者が話すSalesforceのui設計とは?
 
20101013戦略策定プロセス
20101013戦略策定プロセス20101013戦略策定プロセス
20101013戦略策定プロセス
 
Marketo 〜マーケティング新時代へようこそ〜
Marketo 〜マーケティング新時代へようこそ〜Marketo 〜マーケティング新時代へようこそ〜
Marketo 〜マーケティング新時代へようこそ〜
 
(09)賃金管理
(09)賃金管理(09)賃金管理
(09)賃金管理
 
『人材育成の教科書』(高原 暢恭)の内容が 人事、特に研修の基礎知識として 参考になりそうなのでまとめてみた
『人材育成の教科書』(高原 暢恭)の内容が人事、特に研修の基礎知識として参考になりそうなのでまとめてみた『人材育成の教科書』(高原 暢恭)の内容が人事、特に研修の基礎知識として参考になりそうなのでまとめてみた
『人材育成の教科書』(高原 暢恭)の内容が 人事、特に研修の基礎知識として 参考になりそうなのでまとめてみた
 
モバイル検索とアプリ
モバイル検索とアプリモバイル検索とアプリ
モバイル検索とアプリ
 
マーケティングオートメーションの実装のコツ
マーケティングオートメーションの実装のコツマーケティングオートメーションの実装のコツ
マーケティングオートメーションの実装のコツ
 
「標準機能ファースト」でSalesforceを使い倒せ!
「標準機能ファースト」でSalesforceを使い倒せ!「標準機能ファースト」でSalesforceを使い倒せ!
「標準機能ファースト」でSalesforceを使い倒せ!
 
基礎*Force(セキュリティに気をつけてforce.comで開発しよう!)
基礎*Force(セキュリティに気をつけてforce.comで開発しよう!)基礎*Force(セキュリティに気をつけてforce.comで開発しよう!)
基礎*Force(セキュリティに気をつけてforce.comで開発しよう!)
 
Marketo & salesforce.comで作った マーケティングオートメーション事例 ~実体験で得た5つの教訓を共有します~
Marketo & salesforce.comで作った マーケティングオートメーション事例 ~実体験で得た5つの教訓を共有します~Marketo & salesforce.comで作った マーケティングオートメーション事例 ~実体験で得た5つの教訓を共有します~
Marketo & salesforce.comで作った マーケティングオートメーション事例 ~実体験で得た5つの教訓を共有します~
 
Lightningコンポーネント事始め
Lightningコンポーネント事始めLightningコンポーネント事始め
Lightningコンポーネント事始め
 
マーケティングオートメーション概要
マーケティングオートメーション概要マーケティングオートメーション概要
マーケティングオートメーション概要
 
UX思考の組織づくりと、その課題
UX思考の組織づくりと、その課題UX思考の組織づくりと、その課題
UX思考の組織づくりと、その課題
 
【期間限定】マーケティングオートメーションの真実
【期間限定】マーケティングオートメーションの真実【期間限定】マーケティングオートメーションの真実
【期間限定】マーケティングオートメーションの真実
 
【完全保存版】マーケティングオートメーション徹底解剖(ショート版)
【完全保存版】マーケティングオートメーション徹底解剖(ショート版)【完全保存版】マーケティングオートメーション徹底解剖(ショート版)
【完全保存版】マーケティングオートメーション徹底解剖(ショート版)
 
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメントSalesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
Salesforce開発プロジェクトの進め方とアプリケーションライフサイクルマネジメント
 
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について(Rebuild) #devlove
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について(Rebuild) #devlove 社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について(Rebuild) #devlove
社内スタートアップによる組織の成長に伴い発生する痛みとその解決策について(Rebuild) #devlove
 
Apache Big Data EU 2016: Building Streaming Applications with Apache Apex
Apache Big Data EU 2016: Building Streaming Applications with Apache ApexApache Big Data EU 2016: Building Streaming Applications with Apache Apex
Apache Big Data EU 2016: Building Streaming Applications with Apache Apex
 

Similar a Apexコアデベロッパーセミナー(Apexコード)071010

Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
SORACOM, INC
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
Amazon Web Services Japan
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Akira Inoue
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
 

Similar a Apexコアデベロッパーセミナー(Apexコード)071010 (20)

Amazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズAmazon ElastiCache - AWSマイスターシリーズ
Amazon ElastiCache - AWSマイスターシリーズ
 
Mvc conf session_2_shibamura
Mvc conf session_2_shibamuraMvc conf session_2_shibamura
Mvc conf session_2_shibamura
 
20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public20120528 aws meister-reloaded-awssd-kforjava-public
20120528 aws meister-reloaded-awssd-kforjava-public
 
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう  by SRA OSS, Inc. 日本支社 高塚遥
[db tech showcase Tokyo 2014] B26: PostgreSQLを拡張してみよう by SRA OSS, Inc. 日本支社 高塚遥
 
Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013Programming AWS with Perl at YAPC::Asia 2013
Programming AWS with Perl at YAPC::Asia 2013
 
CodeIgniter入門
CodeIgniter入門CodeIgniter入門
CodeIgniter入門
 
20120117 13 meister-elasti_cache-public
20120117 13 meister-elasti_cache-public20120117 13 meister-elasti_cache-public
20120117 13 meister-elasti_cache-public
 
BPStudy20121221
BPStudy20121221BPStudy20121221
BPStudy20121221
 
Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識Windows PowerShell 2.0 の基礎知識
Windows PowerShell 2.0 の基礎知識
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
 
Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方Amazon ElastiCacheのはじめ方
Amazon ElastiCacheのはじめ方
 
Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略Seasarプロジェクト徹底攻略
Seasarプロジェクト徹底攻略
 
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJSエンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
 
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
.NET Core と Docker コンテナー、そして Azure を使用したマイクロサービスのアーキテクチャ
 
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
基礎から見直す ASP.NET MVC の単体テスト自動化方法 ~ Windows Azure 関連もあるかも~
 
Using Windows Azure
Using Windows AzureUsing Windows Azure
Using Windows Azure
 
Node.js勉強会 Framework Koa
Node.js勉強会 Framework KoaNode.js勉強会 Framework Koa
Node.js勉強会 Framework Koa
 
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
Linux 対応だけじゃない!! sql server 2017 こんな機能が追加されています。
 
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターンAzure Cosmos DB を使った高速分散アプリケーションの設計パターン
Azure Cosmos DB を使った高速分散アプリケーションの設計パターン
 
PHP on Cloud
PHP on CloudPHP on Cloud
PHP on Cloud
 

Último

Último (7)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 

Apexコアデベロッパーセミナー(Apexコード)071010