Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
scala introduction 2018.06.12
Search
matsutomu
June 12, 2018
Programming
0
180
scala introduction 2018.06.12
scala introduction
matsutomu
June 12, 2018
Tweet
Share
More Decks by matsutomu
See All by matsutomu
scala recommend learning materials
matsutomu
0
160
Other Decks in Programming
See All in Programming
Railsだからできる 例外業務に禍根を残さない 設定設計パターン
ei_ei_eiichi
0
920
CSC305 Lecture 05
javiergs
PRO
0
220
CSC509 Lecture 04
javiergs
PRO
0
300
All About Angular's New Signal Forms
manfredsteyer
PRO
0
170
CSC509 Lecture 06
javiergs
PRO
0
260
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
220
Cursorハンズオン実践!
eltociear
2
1.1k
ソフトウェア設計の実践的な考え方
masuda220
PRO
4
590
Software Architecture
hschwentner
6
2.3k
Devoxx BE - Local Development in the AI Era
kdubois
0
130
Things You Thought You Didn’t Need To Care About That Have a Big Impact On Your Job
hollycummins
0
230
Featured
See All Featured
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
140
34k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
How GitHub (no longer) Works
holman
315
140k
Designing Experiences People Love
moore
142
24k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Balancing Empowerment & Direction
lara
4
690
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
980
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
Fireside Chat
paigeccino
40
3.7k
BBQ
matthewcrist
89
9.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Transcript
4DBMB*OUSPEVDUJPO .BUTVNPUP5TVUPNV !NBUTVUPPN
͡Ίʹ ࣗݾհ ɹɹদຊɹ ɹɹձࣾһʢ౦ژຊࣾͷاۀۈʣ ɹɹόϦόϦ։ൃʂͯ͠·ͤΜ ɹɹ͕ɺݸਓతʹ4DBMBʹڵຯΛ͕࣋ͬͯͨͪ·ͨ͠ ɹɹͬͱ4DBMBͷྗΛʹ͚͍ͨதஉͰ͢
͡Ίʹ 4DBMBʢεΧϥʣͱʁ
͡Ίʹ εΠε࿈Պେֶ &1'- ϚʔςΟϯɾΦʔμεΩʔڭत ൚༻ݴޠεέʔϥϒϧͰͳͯ͘ͳΒͳ͍ɻ ಉ֓͡೦Ͱɺখ͍͞ϓϩάϥϜେ͖ͳϓϩάϥϜهड़Ͱ͖Δ͖Ͱ͋Δɻ εέʔϥϏϦςΟؔܕݴޠͱΦϒδΣΫτࢦݴޠͷ ͭͷϓϩάϥϛϯάͷ֓೦Λ౷߹͠ɺҰൠԽ͢Δ͜ͱʹΑΓ࣮ݱͰ͖Δɻ #Z8JLJQFEJB
͡Ίʹ ྺ࢙ ࠒʹطʹઃܭ͕ਐΊΒΕ͓ͯΓ ʹެ։͞Ε͍ͯΔɻ ࠒʹUXJUUFSͷόοΫΤϯυʹ࠾༻ ʹେ෯ͳมߋͷ4DBMB͕ϦϦʔε ݱࡏͷόʔδϣϯ IUUQTXXXTDBMBMBOHPSH
͡Ίʹ ΦϒδΣΫτࢦɹͱɹؔܕݴޠͷಛΛ ߹Θͤ࣋ͭϓϩάϥϛϯάݴޠ +7.Ͱಈ࡞͠·͢
͡Ίʹ ͱݴ͍ग़͢ͱɺएׯখ͍͠ͷͰ
͡Ίʹ ֶͼॳΊ͙ͯ͢ʹಈ͔ͤΔ ߏจͷޡΓίϯύΠϧ࣌ʹ ͔ͬ͠ΓνΣοΫͯ͘͠ΕΔ ༏͍͠ϓϩάϥϛϯάݴޠ
͡Ίʹ ͱݴ͏ࣄͰ ·ͣಈ͔ͯ͠Έ·͠ΐ͏
4DBTUJF IUUQTTDBTUJFTDBMBMBOHPSH
4DBTUJF )FMMP4DBMB
4DBTUJF มએݴར༻
3&1- ଞʹ
3&1- ؆୯ʹ4DBMBͷίʔυยΛ࣮ߦՄೳ
3&1- ৭ʑͳߏจ͕ࢼͤ·͢
3&1- ৭ʑͳߏจ͕ࢼͤ·͢ WBMOBNFl!NBUTVUPNVz WBSNPOFZ
3&1- ৭ʑͳߏจ͕ࢼͤ·͢ GPS YUP \ QSJOUMO Y ^
3&1- WBMDPOEJUJPOlѱ͍ DPOEJUJPONBUDI\ DBTFྑ͍QSJOUMO ͘·Ͱࣄ͢Δ DBTFѱ͍QSJOUMO ̎̍࣌͝Ζʹؼ͢Δ ^
3&1- WBM BHF DPOEJUJPO த ѱ͍ BHF DPOEJUJPO
NBUDI\ DBTF த ྑ͍ QSJOUMO ૣ৸ૣى͖ʹͳΔ DBTF த ѱ͍ QSJOUMO ૣ৸ૣى͖ʹͳΔ DBTF த @ QSJOUMO ૣ৸ૣى͖ʹͳΔ DBTF @ ྑ͍ QSJOUMO ૣ৸ૣى͖ʹͳΔ DBTF @ ѱ͍ QSJOUMO ૣ৸ૣى͖ʹͳΔ DBTF @ @ QSJOUMO ૣ৸ૣى͖ʹͳΔ ^
4VSQSJTF ಥવͰ͕͢ɾɾɾ
4VSQSJTF ͜͜ͰΫΠζͰ͢
4VSQSJTF ϕΫτϧ a, b ͕ߦ͢Δ͔Λఆ͢Δࣜʁ (ax1, ay1 ) (ax0 ,
ay0 ) (bx0 , by0 ) (bx1 , by1 ) a b ʢࢀߟʣʰϓϩάϥϛϯάίϯςετ߈ུͷͨΊͷΞϧΰϦζϜͱσʔλߏʱɹ *4#/
4VSQSJTF
4VSQSJTF ϕΫτϧ a, b ͕ߦ͢Δ͔Λఆ͢Δࣜʁ (ax1, ay1 ) (ax0 ,
ay0 ) (bx0 , by0 ) (bx1 , by1 ) a b ͑ ϕΫτϧͷੵ͕̌ͷ߹ʹߦ͢Δɻ aɾb = |a||b|cosθ = ax * bx + ay * by
4VSQSJTF PCKFDU$HM4BNQMF\ DBTFDMBTT1PJOU Y%PVCMF Z%PVCMF \ EFG Q1PJOU 1PJOU1PJOU UIJTY
QY UIJTZ QZ ^ UZQF(FP7FDUPS1PJOU ੵ EFGEPU B1PJOU C1PJOU %PVCMFBY CY BZ CZ EFGJT0SUIPHPOBM B(FP7FDUPS C(FP7FDUPS #PPMFBOEPU B C ^
࣮༻ྫ Ͳ͏Ͱ͠ΐ͏͔ʁ ༏͍͠ϓϩάϥϛϯάݴޠ ͷΠϝʔδΛ࣋ͯ·͔ͨ͠ʁ
࣮༻ྫ ࣮ࡍͷͱ͜Ζʁ اۀɾ044
࣮༻ྫ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹʢࢀߟʣʲ4DBMBΛ࠾༻͍ͯ͠Δاۀ ϓϩμΫτ Ұཡʳɹɹɹ IUUQTRJJUBDPNPVCBLJPVJUFNTGEDBEBF ւ֎ 5XJUUFS -JOLFE*O 'PVS4RVBSF 1BZ1BM
$PVSTFSB 5IF(VBSEJBO UVNCMS
࣮༻ྫ ɹɹɹɹɹɹɹɹɹɹɹɹɹɹɹʢࢀߟʣʲ4DBMBΛ࠾༻͍ͯ͠Δاۀ ϓϩμΫτ Ұཡʳɹɹɹ IUUQTRJJUBDPNPVCBLJPVJUFNTGEDBEBF ࠃ υϫϯΰ ͯͳ ηϓςʔχɾΦϦδφϧ ϏζϦʔν
$IBU8PSL ΤϜεϦʔ /VMBC αΠόʔΤʔδΣϯτ
࣮༻ྫ اۀ͚ͩͰͳ͘ 044݁ߏ͋Γ·͢
࣮༻ྫ 4DBMBͷ044Ұཡ ʢࢀߟʣʲ5IJTJTBNPTUQPQVMBSSFQPTJUPSZMJTUGPS4DBMBTPSUFECZOVNCFSPGTUBSTʳɹɹɹ IUUQTHJUIVCDPNLBYBQBSMCMPCNBTUFS3&"%.&4DBMBNE
࣮༻ྫ 1MBZ'SBNFXPSL 8FCΞϓϦέʔγϣϯ ϑϨʔϜϫʔΫ
࣮༻ྫ σʔλϕʔεΞΫηε༻ ʢؔܕʣ
࣮༻ྫ TDBMBUSB 8FCϚΠΫϩϑϨʔϜϫʔΫ
࣮༻ྫ 4LJOOZ'SBNFXPSL 8FCΞϓϦέʔγϣϯ ϑϨʔϜϫʔΫ
࣮༻ྫ 4DBMJLF+%#$ σʔλϕʔεΞΫηε༻
࣮༻ྫ ෛՙࢼݧπʔϧʢ8FCʣ
࣮༻ྫ ϝοηʔδϕʔεͷඇಉظॲཧΛ࣮ݱ
࣮༻ྫ ετϦʔϛϯάॲཧ༻
࣮༻ྫ େྔσʔλΛฒྻࢄॲཧ
࣮༻ྫ ػցֶश༻ΞϓϦέʔγϣϯͷ։ൃࢧԉ
࣮༻ྫ 4DBMBͷ(JUϓϥοτϗʔϜ
·ͱΊ ͪΐͬͱͨ͠εΫϦϓτ 8FCΞϓϦέʔγϣϯ σʔλϕʔεΞΫηε ฒྻॲཧ େྔσʔλॲཧ ։ൃࢧԉʢ(JU 6OJU5FTU ίʔυॻࣜʣ ͳͲͳͲ
4DBMB৭ʑͳιϑτΣΞ͕ଘࡏ
·ͱΊ ͦͷഎܠʹ ΦϒδΣΫτࢦ ͱ ؔܕݴޠ ͱݴͬͨߟ͑ํ͚ͩͰͳ͘ ৭ʑͳར͕͋Δͷͩͱࢥ͍·͢
·ͱΊ ͜Ε͔ΒҰॹʹ4DBMBΛֶͼ·ͤΜ͔ʁ ͦͯ͠044ͷੈքʹೖ͠·ͤΜ͔ʁ