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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
matsutomu
June 12, 2018
Programming
190
0
Share
scala introduction 2018.06.12
scala introduction
matsutomu
June 12, 2018
More Decks by matsutomu
See All by matsutomu
scala recommend learning materials
matsutomu
0
170
Other Decks in Programming
See All in Programming
My daily life on Ruby
a_matsuda
3
190
ハーネスエンジニアリングにどう向き合うか 〜ルールファイルを超えて開発プロセスを設計する〜 / How to approach harness engineering
rkaga
28
19k
Liberating Ruby's Parser from Lexer Hacks
ydah
2
2.6k
検索設計から 推論設計への重心移動と Recall-First Retrieval
po3rin
5
1.6k
「OSSがあるなら自作するな」は AI時代も正しいか ── Build vs Adopt の新しい判断基準
kumorn5s
7
2.3k
Spec-Driven Development with AI Agents (Workshop, May 2026)
antonarhipov
3
330
Kubernetesを使わない環境にもCloud Nativeなデプロイを実現する / Enabling Cloud Native deployments without the complexity of Kubernetes
linyows
3
330
ついに来た!本格的なマルチクラウド時代の Google Cloud
maroon1st
0
390
Agent Skills を社内で育てる仕組み作り
jackchuka
1
1.6k
From Formal Specification to Property Based Test
ohbarye
0
2.4k
WebAssembly を読み込むベストプラクティス 2026年春版 / Best Practices for Loading WebAssembly (Spring 2026)
petamoriken
5
1.1k
継続的な負荷検証を目指して
pyama86
2
900
Featured
See All Featured
Exploring the relationship between traditional SERPs and Gen AI search
raygrieselhuber
PRO
2
3.9k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
110
Become a Pro
speakerdeck
PRO
31
5.9k
Amusing Abliteration
ianozsvald
1
160
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.4k
How to Think Like a Performance Engineer
csswizardry
28
2.6k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Between Models and Reality
mayunak
3
280
Chasing Engaging Ingredients in Design
codingconduct
0
190
How to Grow Your eCommerce with AI & Automation
katarinadahlin
PRO
1
180
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ͷੈքʹೖ͠·ͤΜ͔ʁ