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
脱Riverpod?fqueryで考える、TanStack Queryライクなアーキテクチャの可能性
ostk0069
0
270
なんとなくわかった気になるブロックテーマ入門/contents.nagoya 2025 6.28
chiilog
1
280
The Evolution of Enterprise Java with Jakarta EE 11 and Beyond
ivargrimstad
0
110
設計やレビューに悩んでいるPHPerに贈る、クリーンなオブジェクト設計の指針たち
panda_program
6
2.2k
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
VS Code Update for GitHub Copilot
74th
2
660
ふつうの技術スタックでアート作品を作ってみる
akira888
1
900
「テストは愚直&&網羅的に書くほどよい」という誤解 / Test Smarter, Not Harder
munetoshi
0
180
Startups on Rails in Past, Present and Future–Irina Nazarova, RailsConf 2025
irinanazarova
0
140
状態遷移図を書こう / Sequence Chart vs State Diagram
orgachem
PRO
1
130
Claude Code + Container Use と Cursor で作る ローカル並列開発環境のススメ / ccc local dev
kaelaela
11
6.1k
ruby.wasmで多人数リアルタイム通信ゲームを作ろう
lnit
3
490
Featured
See All Featured
The Cost Of JavaScript in 2023
addyosmani
51
8.5k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Build your cross-platform service in a week with App Engine
jlugia
231
18k
Navigating Team Friction
lara
187
15k
Building Applications with DynamoDB
mza
95
6.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
Gamification - CAS2011
davidbonilla
81
5.4k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.4k
4 Signs Your Business is Dying
shpigford
184
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Producing Creativity
orderedlist
PRO
346
40k
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ͷੈքʹೖ͠·ͤΜ͔ʁ