SlideShare a Scribd company logo
1 of 24
~2周年記念LT大会~
ApexのCRUDとFLS
2019/07/30(火)
Sanuki Ikou @i_sanuki
自己紹介
2
讃岐 行(Sanuki Ikou)
株式会社テラスカイ
Tw:@i_sanuki
FB:isanuki
【コミュニティ】
• SFDG ルーキー会
• 新機能照らす会
【好きな標準系機能】
• 数式
【好きな開発系機能】
• __Share
言葉の説明①
• ユーザコンテキスト(モード)
– 現在のユーザの権限、項目レベルセキュリティ、および共有
ルールに従う
• システムコンテキスト(モード)
– 現在のユーザの権限、項目レベルセキュリティ、および共有
ルールに従わず、全部アクセス可
3
言葉の説明②
4
CRUD FLS(項目レベルセキュリティ)
突然ですが・・
5
Apexはシステムコンテキストで動作します
※exececuteAnonymousからの実行は除く
SOQL
6
List<Account> accounts
= [SELECT Phone FROM Account];
for(Account acc : accounts){
System.debug(acc.Phone);
}
結果→問題なし
Object 参照 作成 更新 削除
取引先 ✔
項目 参照アクセス権 編集アクセス権
電話
CRUD
FLS
ポイント
SOQL
7
List<Account> accounts
= [SELECT Phone FROM Account];
for(Account acc : accounts){
System.debug(acc.Phone);
}
結果→問題なし
Object 参照 作成 更新 削除
取引先
項目 参照アクセス権 編集アクセス権
電話
CRUD
FLS
ポイント
ポイント
DML
8
結果→登録可
Object 参照 作成 更新 削除
取引先 ✔ ✔
項目 参照アクセス権 編集アクセス権
電話
CRUD
FLS
Account acc =
new Account(Name ='株式会社テラスカイ',
Phone='03-5255-3410');
insert acc;
ポイント
DML
9
結果→登録可
Object 参照 作成 更新 削除
取引先 ✔
項目 参照アクセス権 編集アクセス権
電話
CRUD
FLS
ポイント
ポイント
Account acc =
new Account(Name ='株式会社テラスカイ',
Phone='03-5255-3410');
insert acc;
10
対策方法
「データ漏洩の防止」→「CRUDおよびFLS違反の防止」
11
対策方法
• DescribeSObjectResultクラスに実行ユーザの権限確認用
メソッドが用意されている
12
// オブジェクトや項目に参照権限があるか
Schema.sObjectType.Account.isAccessible();
Schema.sObjectType.Account.fields.Phone.isAccessible();
// オブジェクトや項目に作成権限があるか
Schema.sObjectType.Account.isCreateable();
Schema.sObjectType.Account.fields.Phone.isCreateable();
これらを使いながら動的にSOQLを組み立てたりDMLを実
行したりエラーにしたりする
13
14
新機能のご紹介①
• WITH SECURITY_ENFORCED(ベータ)
– SOQLで実行ユーザのCRUDおよびFLSを遵守してくれる
15
SOQL
https://developer.salesforce.com/docs/atlas.ja-
jp.apexcode.meta/apexcode/apex_classes_with_security_enforced.htm
やってみる
16
List<Account> accounts
= [SELECT Phone FROM Account WITH SECURITY_ENFORCED];
17
新機能のご紹介②
• Security.stripInaccessible(パイロット)
– SObjectから実行ユーザの権限に従って項目を取り除くなど
– つまりFLSを遵守できる
18
(主に)DML
https://releasenotes.docs.salesforce.com/ja-jp/summer19/release-
notes/rn_apex_Security_stripInaccessible.htm
やってみる
19
Object 参照 作成 更新 削除
取引先 ✔ ✔
項目 参照アクセス権 編集アクセス権
電話
CRUD
FLS
コードは次ページ↓
電話への権限無し
やってみる
20
List<Account> accounts = new List<Account>{
new Account(Name='hoge1'),
new Account(Name='hoge2', Phone='03-1111-2222')
};
SObjectAccessDecision decision = Security.stripInaccessible(
AccessType.CREATABLE, accounts);
for(SObject sobj : decision.getRecords()){
// 権限のない項目は除外されている確認
System.debug(sobj);
}
insert decision.getRecords();
結果
21
USER_DEBUG|[13]|DEBUG|Account:{Name=hoge1}
USER_DEBUG|[13]|DEBUG|Account:{Name=hoge2}
SObjectから電話が取り除かれている
電話なしで作成されている
22
まとめ
• Apexはシステムコンテキストで動作する
• Describeを使って頑張ることも可能
• 新機能に期待
23
24

More Related Content

Similar to Sfdgr19 apex 20190730

30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2uchan_nos
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Hiroyuki Wada
 
構築者に知っておいてもらいたい 運用設計者が語るAWS @Developers.IO 2015
構築者に知っておいてもらいたい運用設計者が語るAWS @Developers.IO 2015構築者に知っておいてもらいたい運用設計者が語るAWS @Developers.IO 2015
構築者に知っておいてもらいたい 運用設計者が語るAWS @Developers.IO 2015Kazuki Ueki
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624Yusuke Suzuki
 
【ログ分析勉強会】セッションアクティビティログは使えるのか
【ログ分析勉強会】セッションアクティビティログは使えるのか【ログ分析勉強会】セッションアクティビティログは使えるのか
【ログ分析勉強会】セッションアクティビティログは使えるのかHibino Hisashi
 
Quick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αQuick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αTakeshi Yamamuro
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale Japan株式会社
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜Hideki Takase
 
PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.keyPlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key泰 増田
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めYou&I
 
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -Makoto SAKAI
 
Past and Future of PowerShell
Past and Future of PowerShellPast and Future of PowerShell
Past and Future of PowerShellKazuki Takai
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~Daisuke Morishita
 
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyauroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyaKenichi Hoshi
 
正式リリースされた.Net coreに少し触れ合ってみる
正式リリースされた.Net coreに少し触れ合ってみる正式リリースされた.Net coreに少し触れ合ってみる
正式リリースされた.Net coreに少し触れ合ってみるTsukasa Kato
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama Insight Technology, Inc.
 
FSLogix アプリケーションマスク機能実験結果
FSLogix アプリケーションマスク機能実験結果FSLogix アプリケーションマスク機能実験結果
FSLogix アプリケーションマスク機能実験結果Dai Iwai
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugYuji Kubota
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)シスコシステムズ合同会社
 

Similar to Sfdgr19 apex 20190730 (20)

30分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.230分で分かる!OSの作り方 ver.2
30分で分かる!OSの作り方 ver.2
 
Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介Keycloakの実際・翻訳プロジェクト紹介
Keycloakの実際・翻訳プロジェクト紹介
 
GlusterFS Masakari Talks
GlusterFS Masakari TalksGlusterFS Masakari Talks
GlusterFS Masakari Talks
 
構築者に知っておいてもらいたい 運用設計者が語るAWS @Developers.IO 2015
構築者に知っておいてもらいたい運用設計者が語るAWS @Developers.IO 2015構築者に知っておいてもらいたい運用設計者が語るAWS @Developers.IO 2015
構築者に知っておいてもらいたい 運用設計者が語るAWS @Developers.IO 2015
 
企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624企業におけるSpring@日本springユーザー会20090624
企業におけるSpring@日本springユーザー会20090624
 
【ログ分析勉強会】セッションアクティビティログは使えるのか
【ログ分析勉強会】セッションアクティビティログは使えるのか【ログ分析勉強会】セッションアクティビティログは使えるのか
【ログ分析勉強会】セッションアクティビティログは使えるのか
 
Quick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + αQuick Overview of Upcoming Spark 3.0 + α
Quick Overview of Upcoming Spark 3.0 + α
 
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
Rescale ScaleX講習会 ~AWSクラウド環境におけるHPC利用
 
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
ロボットシステムのつくりかた 〜Robot Operating Systemというアプローチ〜
 
PlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.keyPlaySQLAlchemyORM2017.key
PlaySQLAlchemyORM2017.key
 
Cell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始めCell/B.E. プログラミング事始め
Cell/B.E. プログラミング事始め
 
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
Remineを活かしたプロセス支援 - 失敗しないプロセス支援 -
 
Past and Future of PowerShell
Past and Future of PowerShellPast and Future of PowerShell
Past and Future of PowerShell
 
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
エンジニアのためのOSSライセンス管理~OSS管理ツールの池の水全部抜く~
 
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoyauroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
uroboroSQLの紹介 (OSC2017 Nagoya) #oscnagoya
 
正式リリースされた.Net coreに少し触れ合ってみる
正式リリースされた.Net coreに少し触れ合ってみる正式リリースされた.Net coreに少し触れ合ってみる
正式リリースされた.Net coreに少し触れ合ってみる
 
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama [D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
[D37]MySQLの真のイノベーションはこれだ!MySQL 5.7と「実験室」 by Ryusuke Kajiyama
 
FSLogix アプリケーションマスク機能実験結果
FSLogix アプリケーションマスク機能実験結果FSLogix アプリケーションマスク機能実験結果
FSLogix アプリケーションマスク機能実験結果
 
OpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjugOpenJDK コミュニティに参加してみよう #jjug
OpenJDK コミュニティに参加してみよう #jjug
 
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
Cisco Modeling Labs (CML)を使ってネットワークを学ぼう!(応用編)
 

More from Ikou Sanuki

Archtect meetup sharing_territory_20190801
Archtect meetup sharing_territory_20190801Archtect meetup sharing_territory_20190801
Archtect meetup sharing_territory_20190801Ikou Sanuki
 
Sfdg spring19 flow_20190306
Sfdg spring19 flow_20190306Sfdg spring19 flow_20190306
Sfdg spring19 flow_20190306Ikou Sanuki
 
Japan Dreamin2019 Salesforce Developer Group Rookies
Japan Dreamin2019 Salesforce Developer Group RookiesJapan Dreamin2019 Salesforce Developer Group Rookies
Japan Dreamin2019 Salesforce Developer Group RookiesIkou Sanuki
 
Sfdgr 12 20180906_answer_v1.0
Sfdgr 12 20180906_answer_v1.0 Sfdgr 12 20180906_answer_v1.0
Sfdgr 12 20180906_answer_v1.0 Ikou Sanuki
 
Sfdgr04 グループ課題 v2
Sfdgr04 グループ課題 v2Sfdgr04 グループ課題 v2
Sfdgr04 グループ課題 v2Ikou Sanuki
 
SWTT2016 Salesforce × Azure machine learning
SWTT2016 Salesforce × Azure machine learning SWTT2016 Salesforce × Azure machine learning
SWTT2016 Salesforce × Azure machine learning Ikou Sanuki
 
Tsdg meetup#12 summer16 lightning_experience
Tsdg meetup#12 summer16 lightning_experienceTsdg meetup#12 summer16 lightning_experience
Tsdg meetup#12 summer16 lightning_experienceIkou Sanuki
 
Swtt2015 lt isanuki
Swtt2015 lt isanukiSwtt2015 lt isanuki
Swtt2015 lt isanukiIkou Sanuki
 
Salesforce DUG meetup09 summer15
Salesforce DUG meetup09 summer15Salesforce DUG meetup09 summer15
Salesforce DUG meetup09 summer15Ikou Sanuki
 
EventLogView 20150128
EventLogView 20150128EventLogView 20150128
EventLogView 20150128Ikou Sanuki
 
Salesforce dug meetup6_summer14apex
Salesforce dug meetup6_summer14apexSalesforce dug meetup6_summer14apex
Salesforce dug meetup6_summer14apexIkou Sanuki
 
Dev maxcrows3 02
Dev maxcrows3 02Dev maxcrows3 02
Dev maxcrows3 02Ikou Sanuki
 
Salesforce developer conference tokyo2013
Salesforce developer conference tokyo2013Salesforce developer conference tokyo2013
Salesforce developer conference tokyo2013Ikou Sanuki
 
Cloudforce2012 dev zone JFDG LT
Cloudforce2012 dev zone JFDG LTCloudforce2012 dev zone JFDG LT
Cloudforce2012 dev zone JFDG LTIkou Sanuki
 
Jfdg meetup第3回 dreamforce12について
Jfdg meetup第3回 dreamforce12についてJfdg meetup第3回 dreamforce12について
Jfdg meetup第3回 dreamforce12についてIkou Sanuki
 

More from Ikou Sanuki (16)

Archtect meetup sharing_territory_20190801
Archtect meetup sharing_territory_20190801Archtect meetup sharing_territory_20190801
Archtect meetup sharing_territory_20190801
 
Sfdg spring19 flow_20190306
Sfdg spring19 flow_20190306Sfdg spring19 flow_20190306
Sfdg spring19 flow_20190306
 
Japan Dreamin2019 Salesforce Developer Group Rookies
Japan Dreamin2019 Salesforce Developer Group RookiesJapan Dreamin2019 Salesforce Developer Group Rookies
Japan Dreamin2019 Salesforce Developer Group Rookies
 
Sfdgr 12 20180906_answer_v1.0
Sfdgr 12 20180906_answer_v1.0 Sfdgr 12 20180906_answer_v1.0
Sfdgr 12 20180906_answer_v1.0
 
SFDGR#04
SFDGR#04SFDGR#04
SFDGR#04
 
Sfdgr04 グループ課題 v2
Sfdgr04 グループ課題 v2Sfdgr04 グループ課題 v2
Sfdgr04 グループ課題 v2
 
SWTT2016 Salesforce × Azure machine learning
SWTT2016 Salesforce × Azure machine learning SWTT2016 Salesforce × Azure machine learning
SWTT2016 Salesforce × Azure machine learning
 
Tsdg meetup#12 summer16 lightning_experience
Tsdg meetup#12 summer16 lightning_experienceTsdg meetup#12 summer16 lightning_experience
Tsdg meetup#12 summer16 lightning_experience
 
Swtt2015 lt isanuki
Swtt2015 lt isanukiSwtt2015 lt isanuki
Swtt2015 lt isanuki
 
Salesforce DUG meetup09 summer15
Salesforce DUG meetup09 summer15Salesforce DUG meetup09 summer15
Salesforce DUG meetup09 summer15
 
EventLogView 20150128
EventLogView 20150128EventLogView 20150128
EventLogView 20150128
 
Salesforce dug meetup6_summer14apex
Salesforce dug meetup6_summer14apexSalesforce dug meetup6_summer14apex
Salesforce dug meetup6_summer14apex
 
Dev maxcrows3 02
Dev maxcrows3 02Dev maxcrows3 02
Dev maxcrows3 02
 
Salesforce developer conference tokyo2013
Salesforce developer conference tokyo2013Salesforce developer conference tokyo2013
Salesforce developer conference tokyo2013
 
Cloudforce2012 dev zone JFDG LT
Cloudforce2012 dev zone JFDG LTCloudforce2012 dev zone JFDG LT
Cloudforce2012 dev zone JFDG LT
 
Jfdg meetup第3回 dreamforce12について
Jfdg meetup第3回 dreamforce12についてJfdg meetup第3回 dreamforce12について
Jfdg meetup第3回 dreamforce12について
 

Recently uploaded

Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4qbm_pr
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdfkikuchi5
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こすMichael Rada
 
company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdfkeiibayashi
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』Jun Chiba
 
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略poco-c
 

Recently uploaded (6)

Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4q
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
 
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
 

Sfdgr19 apex 20190730