Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Salesforceのツールの作り方
Search
tzmfreedom
September 26, 2019
Technology
770
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Salesforceのツールの作り方
Salesforce World Tour Tokyo 2019で登壇したときの資料です
tzmfreedom
September 26, 2019
More Decks by tzmfreedom
See All by tzmfreedom
Alpine.js を活用した Laravel MPA フロントエンド最適化戦略 / Alpine.js MPA
tzmfreedom
1
2.3k
PHPStan拡張のコードから読み解く静的解析の威力と可能性 / PHPStan extension code reading
tzmfreedom
3
610
php-srcを読んでみよう / php-src codereading
tzmfreedom
1
3.2k
DBGpを使って PHPのデバッガーをつくろう / DGBp PHP Debugger
tzmfreedom
2
3.1k
独自フレームワークPHPアプリケーションの改善戦略 / Original Framework PHP Kaizen
tzmfreedom
5
5.9k
PHPでPHPを実装する〜プログラミング言語実装入門〜
tzmfreedom
0
1.1k
Other Decks in Technology
See All in Technology
Reticulum, le réseau cypherpunk dont vous avez besoin !
rlifchitz
0
110
TSKaigi Sendai 2026 - tsgo時代のTypeScript Playgroundはどう動くか
teamlab
PRO
0
110
Software Engineering in an AI-Driven World
erikjhordan_rey
0
130
AIがGISを代替する日:〜すべてをAIが創る時代に、私たちがFOSS4Gに関わる意味〜
lehupa
1
210
SREのためのFinOps入門
muziyoshiz
1
250
eBPF 簡介 2026 版
shunghsiyu
0
190
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
470
コードレビューをなくして見えたもの
henteko
0
140
Active Directory と Entra ID のむむむな関係
murachiakira
PRO
4
1.7k
公共分野での生成AI活用
toru_kubota
1
310
IBC 2026 動画技術関連レポート / IBC 2026 Report
cyberagentdevelopers
PRO
2
450
バックオフィスに染み出すTypeScript ── clasp で安全に仕組みを作る
nealle
1
200
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
VelocityConf: Rendering Performance Case Studies
addyosmani
331
25k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1.1k
Utilizing Notion as your number one productivity tool
mfonobong
4
640
Between Models and Reality
mayunak
4
570
Everyday Curiosity
cassininazir
0
400
Build your cross-platform service in a week with App Engine
jlugia
234
19k
30 Presentation Tips
portentint
PRO
1
460
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
530
Faster Mobile Websites
deanohume
310
32k
Transcript
Salesforceͷπʔϧͷ࡞Γํ ా࣮
ࣗݾհ • Twitter: @tzm_freedom • GitHub: tzmfreedom • Blog: https://blog.freedom-man.com
• ࣄۀ։ൃձࣾͷαʔόʔαΠυΤϯδχΞ • Ruby/Rails, PHP/Symfony, ... • ࠷ۙϨΨγʔΞϓϦվળۀ • Ϟϊͮ͘Γେ͖ܥΤϯδχΞ • Salesforceͷܦݧલ৬Ͱ5͘Β͍ • Salesforceͷࢿ֨શࣦͯޮʘ(^o^)ʗ • ࠓۀͰSalesforceΛશ͘৮͍ͬͯͳ͍
ࠓ·Ͱ࡞͖ͬͯͨπʔϧ • go-soapforce: GoͷSalesforce SOAP APIΫϥΠΞϯτ • hsforce: HaskellͷSalesforce APIΫϥΠΞϯτ
• fluent-plugin-sforce: fluentdͷSalesforceϓϥάΠϯ • embulk-output-salesforce: embulkͷSalesforceϓϥάΠϯ • hubot-chatter: hubotͷSalesforceΞμϓλ • spm: SalesforceͷύοέʔδϚωʔδϟʔ • land: ApexͷϩʔΧϧ࣮ߦڥ • alt-apex: ApexΛKotlinͰॻ͚ΔΑ͏ʹ͢ΔτϥϯεύΠϥ
ࠓ͢͜ͱ • πʔϧΛ࡞ΔʹͲ͏͍͏ࣝɾٕज़ɾࢹ͕ඞཁͳ ͷ͔ʁ • ಛʹπʔϧ։ൃʹ͓͚ΔϞνϕʔγϣϯʹ͍ͭͯ • πʔϧΛ࡞Δ۩ମతͳํ๏Ͱͳ͘ɺϝλͳࢹͰ͓ ͠·͢
※͜ͷηογϣϯͷεϥΠυ จࣈ͔͠ग़͖ͯ·ͤΜʂ
Salesforce։ൃΛࢧ͑Δπʔϧͨ͘͞Μ͋Δ • Apex։ൃʢGUIɾEditorʣ • ݹ͘ force.com IDEɺݱࡏVS Codeʴplugin • Salesforceૢ࡞؆қԽʢChrome
Extension) • Salesforce Devtools • σʔλೖʢGUIʣ • Salesforce Dataloader • σϓϩΠͷࣗಈԽʢCUIʣ • ant, sfdx, jsforce • APIΛୟ͘ϥΠϒϥϦ • jsforce(JavaScript), restforce(Ruby), go-soapforce(Go), ...
πʔϧΛ࡞ΔͨΊʹ ඞཁͳࣝɾٕज़ɾࢹ
1. SalesforceΛΔ
Salesforceʹ͍ͭͯΔ • SalesforceͰग़དྷΔ͜ͱग़དྷͳ͍͜ͱ • ։ൃͤͣʹͰ͖ΔྖҬͱͰ͖ͳ͍ྖҬͷཧղ • SalesforceΛΧελϚΠζɾ։ൃ্͍ͯ͘͠ͰͲ͏͍͏ۀ ͕සൃ͢Δͷ͔ • SalesforceϓϥοτϑΥʔϜԿ͕ۤखͳͷ͔
• ۤखͳྖҬʹରͯ͠ผͷΞϓϩʔνͰิ͑Δͷͳͷ͔ • Salesforce͕ެࣜʹఏڙ͍ͯ͠Δπʔϧ • Dataloader, SFDX, VS Code Plugin... • ෆศͰͳ͍͔ʁࣗࣾυϝΠϯʹϑΟοτ͍ͯ͠Δ͔ʁ
2. ՝Λղܾ͢ΔͨΊͷ ٕज़ΛΔ
՝Λղܾ͢ΔͨΊͷٕज़ΛΔ • Salesforceͷը໘ΛΑΓ͍͍ͨ͘͢͠ => Chrome֦ுɾϒοΫϚʔΫϨοτɾϢʔβʔεΫϦϓτ • CLIͰSalesforceΛૢ࡞͍ͨ͠ => CLIπʔϧʢCLIϑϨʔϜϫʔΫ oclifͱ͔Thorͱ͔ʣ
• WebΞϓϦͰSalesforceͷAPIΛୟ͘ => APIΫϥΠΞϯτʢRESTɾSOAPɾMetadataɾToolingʣ • σʔλΛ͍͍ײ͡ʹ͢ΔGUIΛ࡞Γ͍ͨ => WebΞϓϦɾσεΫτοϓΞϓϦɾεϚϗΞϓϦ • ੌ͍OSS͕ग़͚ͨͲSalesforce༻ͷϓϥάΠϯ͕ແ͍ʂ => OSSͷϓϥάΠϯ
՝Λղܾ͢ΔͨΊͷٕज़ΛΔ • ެ։ɾΠϯετʔϧํ๏ • GitHub • ֤छύοέʔδཧγεςϜ • WebΞϓϦ •
Heroku Button • Salesforce Button • bashϫϯϥΠφʔ • Πϯετʔϥʔ • ·͊ͰͿͬͪΌ͚ٕज़ͳΜͯޙͰ͓̺ʢޙड़
3. ϞνϕʔγϣϯΛҡ࣋ͯ͠ ࡞ΓΔྗ
࣮πʔϧΛ࡞ΔٕྔΑΓ ϞνϕʔγϣϯΛҡ࣋ͯ͠ ࡞ΓΔͷ͕Ұ൪͍͠
πʔϧ։ൃͷϞνϕʔγϣϯ • ԿΛ࡞͍͍ͬͯͷ͔Θ͔Βͳ͍… • ࣅͨΑ͏ͳπʔϧ͕͋Δ͠ंྠͷ࠶ൃ໌ʹͳͬͯ͠ ·͏ͷͰ… • ៉ྷͳίʔυॻ͚ͳ͍͠ɺίʔυΛެ։͢Δͷ͕ஏ ͔͍ͣ͠… •
ͦͦ͜ͷπʔϧ࡞ͬͯҙຯ͋ΔͷͩΖ͏͔… • ࡞Γ͍ͨͷ͕͋Δ͚Ͳқ͕ߴ͍…
ԿΛ࡞͍͍ͬͯͷ͔Θ͔Βͳ͍…
ԿΛ࡞ͬͯྑ͍ͷ͔Θ͔Βͳ͍ • ෆศʹؾͮ͘ɻͨΓલΛٙ͏ɻ • ৗʹ٬؍తʹݟͯΈΔɻ • Salesforce˓˓ͳ༷͔ͩΒ͠ΐ͏͕ͳ͍ɺఘΊΔ… Ͱͳ͘ɺ։ൃͰϑΥϩʔͰ͖ͳ͍ͷͳͷ͔ɺͲ͏ͳ Εͬͱศརʹ͑Δͷ͔Λߟ͑Δɻ •
SalesforceAPI͕ॆ࣮͍ͯ͠ΔͷͰ։ൃͰϑΥϩʔͰ ͖Δൣғ͍ • ӡ༻ऀɾ։ൃऀʹෆศͳ͕ແ͍͔ฉ͍ͯΈΔ • తSalesforceΛΑΓศརʹ͑ΔΑ͏ʹ͢Δ͜ͱ
ࣅͨΑ͏ͳπʔϧ͕͋Δ͠ ंྠͷ࠶ൃ໌ʹͳͬͯ͠·͏ͷͰ…
ࣅͨΑ͏ͳπʔϧ͕͋Δ͠ंྠͷ࠶ൃ໌ʹͳͬͯ͠·͏ͷͰ… • ंྠͷ࠶ൃ໌্ • શʹಉ͡πʔϧͱ͍͏ͷଘࡏ͠ͳ͍ • ࡉ͔͍͍উखɺඞཁͳϥϯλΠϜ • ಉ͡Α͏ͳπʔϧ͕Կݸ͋ͬͯྑ͍ •
ࣗͷٕज़ྗ࣮֬ʹ্͕Δ • ࣅͨΑ͏ͳπʔϧʹର͢Δཧղྗ্͕Δ • ཧղྗ্͕͕ΔͱτϥϒϧγϡʔςΟϯάʹڧ͘ͳΔ
៉ྷͳίʔυॻ͚ͳ͍͠ ίʔυΛެ։͢Δͷஏ͔͍ͣ͠…
៉ྷͳίʔυॻ͚ͳ͍͠ɺίʔυΛެ։͢Δͷஏ͔͍ͣ͠… • ͦͦ࠷ॳ͔Β៉ྷͳίʔυͳΜͯॻ͚ΔΘ͚͕ͳ͍ • ແཧʹެ։͠ͳͯ͘ྑ͍͠ɺ࠷ॳࣾπʔϧͰશ͘ ͳ͍ • ͕ɺίʔυΛެ։͢ΔϝϦοτ͔ͳΓ͋ΔͷͰ͓͢͢Ί • ঝೝཉٻΛຬͨ͢
• ιʔγϟϧίʔσΟϯάΛମݧͰ͖Δ • ެ։͢Δͱ͍͏ϓϨογϟʔͰ্࣭͕͕Δ • ҙ֎ͱଞͷਓʹͱͬͯ༗༻ͳπʔϧͰ͋Δ͜ͱ͕ଟ͍ • ެ։ͯ͠ҙ֎ͱ୭ݟ͍ͯͳ͍ͷͰؾʹ͢Δඞཁ͕ͳ͍ • ެ։ʹଛͰͳ͍ɻ
ͦͦ͜ͷπʔϧΛ࡞ͬͯ ҙຯ͋ΔͷͩΖ͏͔…
ͦͦ͜ͷπʔϧΛ࡞ͬͯҙຯ͋ΔͷͩΖ͏͔… • ҙຯ࡞ͬͨ͋ͱʹߟ͑ͯྑ͍ • ͱΓ͋͑ͣϓϩτλΠϐϯάతʹਖ਼ৗܥ͚ͩ࡞ͬͯΈΔ • ҙຯΛߟ͑Δલʹͤ͞Δ • ҙ֎ͱͬͯ͘ΕΔਓ͕͍ͨΓ͢Δͷ •
ʹཱͨͳͯ͘ྑ͍ɻָ͚͠ΕOK • ϓϩάϥϛϯάָ͍͠
࡞Γ͍ͨͷ͕͋Δ͚Ͳ қ͕ߴ͍…
࡞Γ͍ͨͷ͕͋Δ͚Ͳқ͕ߴ͍… • қ͕ߴ͍ͷΛ࡞Γ͍ͨͱࢥͬͨͱ͖ࣗͷٕ ज़ྗΛߴΊΔେ͖ͳνϟϯε • ن͕େ͖͍ɺқ͕ߴ͍ͷఔɾඞཁͳٕज़ ཁૉΛղ͢Δ • ̍ʙ̍िؒ͘Β͍ͰୡͰ͖Δখ͍͞ඪΛ࡞ͬͯ ͓͘
• ·ͣ؆୯ͳਖ਼ৗܥΛಈ͔͢ɻ͔ͦ͜Β͍͛ͯ͘ • ࡞Γͳ͕ΒֶͿɺֶͿͨΊʹ࡞Δ
πʔϧΛ࡞Δ্Ͱ େࣄʹ͍ͯ͠Δ͜ͱ
πʔϧΛ࡞Δ্Ͱେࣄʹ͍ͯ͠Δ͜ͱ • ͍͔ͭΔɺͰͳ͘ࠓΔɻίʔυΛॻ͘ɻ • Γͨ͘ͳͬͨͱ͖͕νϟϯεɻ৸͔͢ͱϞνϕʔγϣϯԼ ͕ͬͯΒͳ͘ͳΔɻνϟϯεΛಀ͞ͳ͍ • ϞνϕʔγϣϯԼ͕Δͷɻਖ਼ৗܥ͚ͩͰҰؾʹ࡞ΓΔ • ධՈʹͳΒͳ͍ɺ·ͣखΛಈ͔͢ɻ
• ΞΠσΞΛΞΠσΞͰऴΘΒͤͳ͍ɻ ࣮ͯ͠۩ݱԽͰ͖Δͷ͕ΤϯδχΞͷڧΈ • ۩ݱԽͰ͖ΔͷΛ૿͍͚ͯ͠Δͷ͕ΤϯδχΞͷָ͠Έ Ͱ͋ΓՁʹͳΔ • ԿΑΓɺϓϩάϥϛϯάΛָ͠ΉɻϞϊͮ͘Γָ͍͠ɻ ϓϩάϥϛϯά͕తʹͳͬͯྑ͍ɻ
·ͱΊ • SalesforceͷπʔϧΛ࡞Δͷʹඞཁͳࣝɾٕज़ɾࢹ • SalesforceΛΔ • ՝ղܾ͢ΔͨΊͷٕज़ΛΔ • ϞνϕʔγϣϯΛҡ࣋ͯ͠࡞ΓΔ •
ΞΠσΞΛ࣮ݱͰ͖Δͷ͕ΤϯδχΞͷՁɻ ίʔυΛॻ͍͍͖ͯ·͠ΐ͏ʂ
Enjoy Programming!!