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
Webアプリに ユーザー認証機能を 組み込んでみました
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
ottonove
August 07, 2019
Programming
180
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Webアプリに ユーザー認証機能を 組み込んでみました
ottonove
August 07, 2019
More Decks by ottonove
See All by ottonove
もくもく会20190829.pdf
ottonove
0
23
Other Decks in Programming
See All in Programming
[Dev Group Paris Octobre 26] Agentforce, SIforce, Claudeforce, Slackbot… on s'y retrouve ?
nabondance
0
110
GemmaをJevのように使ってみる / Use Gemma like Jev
kishida
5
800
残高管理から台帳サービスへの進化
artoy
1
200
dotNET_vulnclicker_intro.pdf
deka_morita
0
150
設計次第でAIコードの読む量は減らせる / designing-for-code-reading
minodriven
35
17k
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
190
[2026-10-14](C)Re:ゼロから始める異世界生活〜始まりの終わりと終わりの始まり〜
tosite
0
110
なぜCTOを降りてFDEを選んだのか?〜なぜプロダクト企業がFDEで顧客の現場に踏み込むのか〜
gonta
1
220
AI主導のプログラミング学習アプリを作ってみた
econanringo
0
180
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
230
TechTown - Creating Composable Callables in Contemporary C++
rollbear
0
130
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
Featured
See All Featured
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
4
1.2k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.3k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.7k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
First, design no harm
axbom
PRO
2
1.3k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
330
Thoughts on Productivity
jonyablonski
76
5.4k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
410
Transcript
8FCΞϓϦʹ ϢʔβʔೝূػೳΛ ΈࠐΜͰΈ·ͨ͠ 3FBDUษڧձ !HPNJHPSPV
ࣗݾհ ໊લɿখஐ ࣄɿ·ͳ͘ແ৬ झຯɿࣗసंɼ ɹɹɹԻָؑ ɹɹɹ ΠϯετόϯυɺήʔϜԻָ
͜ͷࡀ Ͱɺ8FCΤϯδχΞͷ స৬Λࢦ͍ͯ͠·͢ʂ ͦͷͨΊͷϙʔτϑΥϦΦͱͯ͠ɺ 8FCΞϓϦΛ։ൃͯ͠·͢ɻ
8FCΞϓϦͷ֓ཁ ʮָఱϨγϐʯʹެ։͞Ε͍ͯΔϨγϐΛ Έ߹Θͤͯɺӫཆόϥϯεͷྑ͍ݙཱΛ հ͢Δɻ
ָఱϨγϐͷެ։σʔλʹɺӫཆՁ ؚ·Ε͍ͯͳ͍ͷͰɺจ෦Պֶল͕ެ։ ͍ͯ͠Δʮ৯දʯΛ༻͍ͯɺࣗલ ͰӫཆՁΛܭࢉ͠·ͨ͠ɻ ʮେ౾ɿͻͱ͔ͭΈʯͱ͍ͬͨΞότ ͳදݱͷϨγϐʹۤ࿑͠·ͨ͠ɾɾɾ ʢͱ͍͏͔͍·ͩʹۤ࿑͍ͯ͠·͢ʣ
͓͓ΑͦͰ͖͕͋ͬͨͷ͕ͪ͜ΒͰ͢ɻ IUUQTPQUNFOVDG
༻͍ͯ͠ΔϑϨʔϜϫʔΫ ϑϩϯτΤϯυɿ3FBDU 3FEVY όοΫΤϯυɹɿ%KBOHP
3FBDUͷͬ͘͟Γͨ͠આ໌ TUBUFΛߋ৽͢Δͱɺߋ৽લޙͷࠩͷΈ͕ඳը͞ΕΔɻ શମΛ࠶ඳը͢ΔΘ͚Ͱͳ͍ͷͰɺද͕ࣔૣ͍ɻ
3FEVYͷͬ͘͟Γͨ͠આ໌ 4UPSFɿ ɹTUBUFΛҰݩཧ͢Δ "DUJPOTɿ ɹTUBUFΛมߋ͢ΔͨΊͷBDUJPO5ZQFΛੜ͢Δ 3FEVDFSɿ ɹBDUJPO5ZQFΛड͚औΓɺͦΕʹԠͯ͡TUBUFΛมߋ͢Δ $POUBJOFSɿ ɹ4UPSF"DUJPOTͱଓ͢Δίϯϙʔωϯτ
3FEVYͷͬ͘͟Γ͍ͨ͠ํɹ4UPSF JNQPSU\DSFBUF4UPSF^GSPNSFEVY JNQPSU\1SPWJEFS^GSPNSFBDUSFEVY JNQPSU/PUJpDBUJPO3FEVDFSGSPNbSFEVDFSTb DPOTUTUPSFDSFBUF4UPSF /PUJpDBUJPO3FEVDFST 3FBDU%0.SFOEFS 1SPWJEFSTUPSF\TUPSF^
"QQ 1SPWJEFS EPDVNFOUHFU&MFNFOU#Z*E SPPU 4UPSFΛੜ 1SPWJEFSͷࢠཁૉʹ"QQΛࢦఆ͢Δࣄ ʹΑΓɺ4UPSFͱ"QQΛଓͰ͖Δ
3FEVYͷͬ͘͟Γ͍ͨ͠ํɹ3FEVDFS JNQPSU BTBDUJPO5ZQFTGSPNVUJMTBDUJPO5ZQFT DPOTUJOJUJBM4UBUF\ JT0QFOGBMTF WBSJBOU NFTTBHF
^ DPOTU/PUJpDBUJPO3FEVDFS TUBUFJOJUJBM4UBUF BDUJPO \ TXJUDI BDUJPOUZQF \ DBTFBDUJPO5ZQFT4&5@/05*'*$"5*0/ SFUVSO\ TUBUF JT0QFOUSVF WBSJBOUBDUJPOWBSJBOU NFTTBHFBDUJPONFTTBHF ^ ʜུʜ ^ ^ FYQPSUEFGBVMU/PUJpDBUJPO3FEVDFS "DUJPO5ZQFʦ4&5@/05*'*$"5*0/ʧ͕ ૹΒΕ͖ͯͨΒɺ4UPSFΛ͜ͷ༷ʹߋ৽͢Δɻ
3FEVYͷͬ͘͟Γ͍ͨ͠ํɹ"DUJPOT JNQPSU BTBDUJPO5ZQFTGSPNVUJMTBDUJPO5ZQFT FYQPSUDPOTUTFU/PUJpDBUJPO WBSJBOU NFTTBHF \ UZQFBDUJPO5ZQFT4&5@/05*'*$"5*0/
WBSJBOUWBSJBOU NFTTBHFNFTTBHF ^ ʜུʜ ͜Ε͕"DUJPO5ZQFɻ ͜ΕΛ3FEVDFSʹૹͬͯ 4UPSFͷΛߋ৽͢Δɻ "DUJPO5ZQFΛૹΔͷΛɺ"DUJPO$SFBUPSͱ͍͏ɻ
3FEVYͷͬ͘͟Γ͍ͨ͠ํɹ$POUBJOFS JNQPSU\DPOOFDU^GSPNSFBDUSFEVY JNQPSU4BNQMFGSPNDPNQPOFOUT4BNQMF JNQPSU\TFU/PUJpDBUJPO^GSPNBDUJPOT DPOTUNBQ4UBUF5P1SPQT TUBUF PXO1SPQT \^
DPOTUNBQ%JTQBUDI5P1SPQTEJTQBUDI \ TFU/PUJDF WBSJBOU NFTTBHF \ EJTQBUDI TFU/PUJpDBUJPO WBSJBOU NFTTBHF ^ ^ FYQPSUEFGBVMUDPOOFDU NBQ4UBUF5P1SPQT NBQ%JTQBUDI5P1SPQT 4BNQMF "DUJPO$SFBUPSΛ$PNQPOFOUͰ ࣮ߦ͢ΔʹɺDPOOFDUΛͬͯɺ QSPQTͱͯ͠ૹͬͯ͋͛Δɻ
3FEVYͷͬ͘͟Γ͍ͨ͠ํɹ4BNQMF $PNQPOFOUT DMBTT4BNQMFFYUFOET3FBDU$PNQPOFOU\ SFOEFS \ SFUVSO 3FBDU'SBHNFOU #VUUPOPO$MJDL\
\UIJTQSPQTTFU/PUJDF lTVDDFTTz zϋϩʔ ^^ ϋϩʔϘλϯ #VUUPO 3FBDU'SBHNFOU ^ ^ $PNQPOFOUͰɺ QSPQTͱͯ͠ड͚औͬͨͷΛ࣮ߦ͢Δɻ
Ճ͔ͨͬͨ͠ػೳ ɾϩάΠϯϩάΞτ ɹϦϩʔυ࣌ͷϩάΠϯঢ়ଶͷఆ ɾϩάΠϯঢ়ଶʹΑͬͯɺϖʔδදࣔ ɹػೳར༻ͷՄ൱Λఆ /(ͳΒ ɹϩάΠϯϖʔδʹϦμΠϨΫτ ɾϦϑϨογϡτʔΫϯ͔ΒΞΫηε
ɹτʔΫϯΛऔಘ
ɾϩάΠϯϩάΞτ ɹϦϩʔυ࣌ͷϩάΠϯঢ়ଶͷఆ
ϩάΠϯॲཧɺαʔόͷଓ͕ඞཁͳͨΊඇಉظॲཧɻ ඇಉظॲཧͷBDUJPOΛEJTQBUDI͢Δͱɺ l&SSPS"DUJPOTNVTUCFQMBJOPCKFDUT6TFDVTUPN NJEEMFXBSFGPSBTZODBDUJPOTz lΤϥʔɿΞΫγϣϯී௨ͷΦϒδΣΫτͰͳ͚ΕͳΓ·ͤΜɻ ඇಉظΞΫγϣϯʹΧελϜϛυϧΣΞΛ༻͍ͯͩ͘͠͞ɻz ͱͳΔͷͰɺʮSFEVYUIVOLʯͱ͍͏ϛυϧΣΞΛՃ͢Δɻ JNQPSUUIVOLGSPNSFEVYUIVOL DPOTUTUPSFDSFBUF4UPSF
ʜུʜ BQQMZ.JEEMFXBSF ʜུʜ UIVOL
"DUJPOTͰMPHJO ϩάΠϯॲཧ Λఆٛɻ ॲཧ༰ɺαʔό͔Β+85 ˞ Λऔಘͯ͠ -PDBM4UPSBHFʹอଘɻ $POUBJOFSTͷNBQ%JTQBUDI5P1SPQTͰͦΕΛ
EJTQBUDI͢ΔؔΛఆٛɻ ͦΕΛ$PNQPOFOUTʹͯ͠PO$MJDLͰ࣮ߦɻ ˞ిࢠॺ໊ʹΑΓվ͟ΜͰ͖ͳ͍+40/ɻ ɹɹ+40/ͳͷͰɺϢʔβʔ໊ͳͲΛؚΊΔࣄ͕Ͱ͖Δɻ
"DUJPOT"VUIKT FYQPSUDPOTUMPHJO FNBJM QBTTXPSE MPDBUJPO \ SFUVSO EJTQBUDI \ ʜུʜ
VTFS4FSWJDFMPHJO FNBJM QBTTXPSE UIFO EBUB\ MFUEFDPEF"DDFTT5PLFOVTFS4FSWJDFEFDPEF+XU EBUBBDDFTT EJTQBUDI MPHJO4VDDFTT EFDPEF"DDFTT5PLFO EJTQBUDI QVTI MPDBUJPO ^ FSSPS\ʜུʜ^ ^ ^ FYQPSUDPOTUMPHJO4VDDFTT EBUB \ UZQFBDUJPO5ZQFTBVUI$POTUBOUT-0(*/@46$$&44 VTFSOBNFEBUBVTFSOBNF FNBJMEBUBFNBJM ^ BDUJPO5ZQF-0(*/@46$$&44ͱɺ σίʔυͨ͠VTFSOBNFͱFNBJMΛ EJTQBUDIͯ͠TUPSFΛߋ৽͢Δɻ +85Λσίʔυ͢Δɻ αʔόʹϢʔβʔ*%ͱύεϫʔυΛ ૹ৴͠ɺ+85Λड͚औΔɻ
3FEVDFST"VUI3FEVDFSKT DPOTU"VUI3FEVDFS TUBUFJOJUJBM4UBUF BDUJPO \ TXJUDI BDUJPOUZQF \ DBTFBVUI$POTUBOUT-0(*/@3&26&45 SFUVSO\ʜུʜ^
DBTFBVUI$POTUBOUT-0(*/@46$$&44 SFUVSO\ TUBUF MPHHJOH*OGBMTF MPHHFE*OUSVF VTFSOBNFBDUJPOVTFSOBNF FNBJMBDUJPOFNBJM ^ ʜུʜ BDUJPO5ZQF-0(*/@46$$&44ͱ Ϛονɻ ϩάΠϯঢ়ଶΛࣔ͢MPHHFE*OΛ USVFʹ͢Δɻ VTFSOBNFͱFNBJMΛɺBDUJPO5ZQF ͱҰॹʹૹΒΕ͖ͯͨͰߋ৽͢Δ
ϩάΞτ "DUJPOT"VUIKT FYQPSUDPOTUMPHPVU"OE3FEJSFDU \ SFUVSOEJTQBUDI\ VTFS4FSWJDFMPHPVU EJTQBUDI MPHPVU
EJTQBUDI QVTI ^ ^ FYQPSUDPOTUMPHPVU \ UZQFBDUJPO5ZQFTBVUI$POTUBOUT-0(065 ^ "VUI3FEVDFSKT DBTFBVUI$POTUBOUT-0(065 SFUVSO\ TUBUF MPHHFE*OGBMTF VTFSOBNFOVMM FNBJMOVMM ^ -PDBM4UPSBHF͔Β+85Λআɻ GVODUJPOMPHPVU \ MPDBM4UPSBHFSFNPWF*UFN UPLFO MPDBM4UPSBHFSFNPWF*UFN SFGSFTI@UPLFO ^ BDUJPO5ZQF-0(065ΛEJTQBUDIͯ͠ 4UPSFΛະϩάΠϯঢ়ଶʹߋ৽ɻ
ϖʔδಡࠐ࣌ɼϦϩʔυ࣌ͷϩάΠϯঢ়ଶఆ 3FEVDFS"VUI3FEVDFSKT MFUUPLFO+40/QBSTF MPDBM4UPSBHFHFU*UFN SFGSFTI@UPLFO MFUEFDPEF5PLFOUPLFO VTFS4FSWJDFEFDPEF+XU UPLFO OVMM
JG EFDPEF5PLFOEFDPEF5PLFOFYQ.BUIqPPS OFX%BUF HFU5JNF \ EFDPEF5PLFOOVMM ^ DPOTUJOJUJBM4UBUFEFDPEF5PLFO \ MPHHJOH*OGBMTF MPHHFE*OUSVF VTFSOBNFEFDPEF5PLFOVTFSOBNF FNBJMEFDPEF5PLFOFNBJM ^ \ MPHHJOH*OGBMTF MPHHFE*OGBMTF VTFSOBNFOVMM FNBJMOVMM ^ -PDBM4UPSBHF͔ΒϦϑϨογϡτʔΫϯΛऔಘɻ ϦϑϨογϡτʔΫϯ͕༗ޮظݶΕ͔ఆɻ Ε͍ͯͳ͚ΕɺϩάΠϯঢ়ଶʹ͢Δɻ ΞΫηετʔΫϯΛ༻͍ͨཧ༝ɺ ϦϑϨογϡτʔΫϯ͑͞༗ޮظݶͰ͋Εɺ ͦΕͰΞΫηετʔΫϯͷऔಘՄೳ͔ͩΒɻ
ɾϩάΠϯঢ়ଶʹΑͬͯɺϖʔδදࣔ ɹػೳར༻ͷՄ൱Λఆ /(ͳΒ ɹϩάΠϯϖʔδʹϦμΠϨΫτ
1SJWBUF3PVUFKTΛ࡞ɻ JNQPSU\3PVUF 3FEJSFDU^GSPNbSFBDUSPVUFSEPN JNQPSU\DPOOFDU^GSPNSFBDUSFEVY JNQPSU\CJOE"DUJPO$SFBUPST^GSPNSFEVY DMBTT1SJWBUF3PVUFFYUFOET$PNQPOFOU\ SFOEFS \ DPOTU\DPNQPOFOU$PNQPOFOU SFTU^UIJTQSPQT
DPOTU\MPHHFE*O^UIJTQSPQT"VUI3FEVDFS SFUVSO 3PVUF\SFTU^SFOEFS\ \ JG MPHHFE*O \SFUVSO3FEJSFDUUP\\ QBUIOBNFbMPHJO TUBUF\GSPNUIJTQSPQTMPDBUJPO^ ^^^ SFUVSO$PNQPOFOU\UIJTQSPQT^ ^^ ^ ^ʜུʜ DPOTUNBQ4UBUF TUBUF PXO1SPQT \"VUI3FEVDFSTUBUF"VUI3FEVDFS ^ GVODUJPONBQ%JTQBUDI EJTQBUDI \^ FYQPSUEFGBVMUDPOOFDU NBQ4UBUF NBQ%JTQBUDI 1SJWBUF3PVUF 4UPSF͔ΒMPHHFE*OͷΛऔಘ͢Δɻ ϩάΠϯ͍ͯ͠ͳ͚Εɺ ϩάΠϯϖʔδʹϦμΠϨΫτɻ ϩάΠϯ͍ͯ͠ΕɺQSPQTͰ ͞ΕͨίϯϙʔωϯτΛඳըɻ
1SJWBUF3PVUFͷ͍ํ SFOEFS \ SFUVSO EJWDMBTT/BNFl"QQ ʜུʜ 4XJUDI 3PVUFFYBDUQBUIDPNQPOFOU\0QUNFOV^ 1SJWBUF3PVUFFYBDUQBUIGBWPSJUFDPNQPOFOU\'BWPSJUF^
ʜུʜ 4XJUDI ʜུʜ EJW ^ ϩάΠϯ͠ͳͯ͘ΞΫηεՄೳͳϖʔδ ϩάΠϯ͕ඞཁͳϖʔδ
ɾϦϑϨογϡτʔΫϯ͔ΒΞΫηε ɹτʔΫϯΛऔಘ
VTFS4FSWJDFKT BTZODGVODUJPODIFDL+XU \ MFUUPLFO+40/QBSTF MPDBM4UPSBHFHFU*UFN UPLFO BDDFTT@UPLFO͕MPDBMTUPSBHFʹଘࡏ͠ͳ͍ͳΒɺOVMMΛฦ͢ɻ JG
UPLFO \ SFUVSOOVMM ^ BDDFTT@UPLFO͕MPDBMTUPSBHFʹଘࡏ͠ɺͭ༗ޮظݶͰ͋ΕɺͦΕΛฦ͢ɻ JG .BUIqPPS OFX%BUF HFU5JNF EFDPEF+XU UPLFO FYQ \ SFUVSOUPLFO ^ SFGSFTI@UPLFOͷऔಘ MFUSFGSFTI+40/QBSTF MPDBM4UPSBHFHFU*UFN SFGSFTI@UPLFO SFGSFTI@UPLFO͕༗ޮظݶΕͳΒɺOVMMΛฦ͢ɻ JG EFDPEF+XU SFGSFTI FYQ.BUIqPPS OFX%BUF HFU5JNF \ SFUVSOOVMM ^ ʜଓ͘ʜ ඇಉظؔͱͯ͠ఆٛ
ʜଓ͖ʜ SFGSFTI@UPLFO͔ΒBDDFTT@UPLFOΛऔಘɻ DPOTUSFRVFTU0QUJPOT\ NFUIPE1045 IFBEFST\$POUFOU5ZQFBQQMJDBUJPOKTPO ^ CPEZ+40/TUSJOHJGZ \lSFGSFTISFGSFTI^
^ USZ\ DPOTUSFTBXBJUGFUDI A\BQJ)PTU^MPHJOSFGSFTIA SFRVFTU0QUJPOT GFUDI"1*ɺωοτϫʔΫΤϥʔҎ֎ྫ֎ͱͳΒͳ͍ͨΊɺखಈͰྫ֎Λ͛Δɻ JG SFTPL \ UISPXSFTTUBUVT ^ DPOTUUPLFOBXBJUSFTKTPO MPDBM4UPSBHFTFU*UFN UPLFO +40/TUSJOHJGZ UPLFOBDDFTT MPDBM4UPSBHFTFU*UFN SFGSFTI@UPLFO +40/TUSJOHJGZ UPLFOSFGSFTI SFUVSOUPLFOBDDFTT ^ DBUDI F \ SFUVSO1SPNJTFSFKFDU F ^ ^ BXBJUΛ༻͍ͯɺॲཧ͕ྃ͢Δ ·Ͱ࣍ͷॲཧΛػɻ
FYQPSUDPOTUDPNNPO3FRVFTU ʜུʜ \ SFUVSOBTZOD EJTQBUDI \ USZ\ ʜུʜ MFUUPLFOBXBJUVTFS4FSWJDFDIFDL+XU
JG UPLFOJT5PLFO3FRVJSF \ UISPX6OBVUIPSJ[FE ^ ʜུʜ DPOTUSFTBXBJUGFUDI VSM \NFUIPE IFBEFST CPEZ ^ JG SFTPL \ UISPXSFTTUBUVT ^ ʜུʜ ^ DBUDI F \ JG F \ EJTQBUDI GFUDI'BJMVSF UZQF'BJMVSF F EJTQBUDI TFU/PUJpDBUJPO JOGP ϩάΠϯ͕ඞཁͰ͢ɻ SFUVSOEJTQBUDI QVTI MPHJO ^ SFUVSOBXBJUEJTQBUDI GFUDI'BJMVSF UZQF'BJMVSF F ^ ^ ^ BXBJUͰ࣮ߦ͢Δɻ ΞΫηετʔΫϯ͕औಘͰ͖ͣɺ ͭɺͦΕ͕ඞཁͳॲཧͳΒɺ ྫ֎ΛUISPX͢Δɻ ΛDBUDIͨ͠ΒɺϩάΠϯ ϖʔδʹϦμΠϨΫτ͢Δɻ
σϞͰ͢
ࠓޙ ɾࡉ෦ͷσβΠϯௐ ɾαʔόαΠυͰͷύεϫʔυͷόϦσʔτ ɾӫཆܭࢉͷਫ਼ڧԽ ɾιʔείʔυͷϦϑΝΫλϦϯά ͳͲɺ·ͩ·ͩΔࣄ͕ͨ͘͞Μ͋Γ·͢
ͦͷͨΊɺօ༷͕͓ྗʹͳͬͯԼ͞Δͱ େม͋Γ͕͍ͨͰ͢ʂ ͍᪴ͨࡍʹɺੋඇ͝ॿݴԼ͍͞
͝੩ௌɺ͋Γ͕ͱ͏͍͟͝·ͨ͠