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
150
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
130
Other Decks in Programming
See All in Programming
Deep Dive 大規模システムアーキテクチャ/開発組織エンジニアリング / Deep Dive Large-Scale System Architecture, Development Organization Engineering
nrslib
15
2.9k
フロントエンドパフォーマンス 入門
shouta2
7
1.5k
品質が高いコードって何?Rev2.1
ickx
1
490
htmx is fun!
codehex
2
190
上手な探索的テストとその上達方法について
matsu802
4
660
CircleCIを活用して AWSへの継続的デリバリーを 実践する
coconala_engineer
1
110
クソコード動画『カプセル化 Mk-II』 で考える 上手くカプセル化できない理由 / encapsulation2
minodriven
11
8k
両面どころかインフラもTSでできるよ ~ 全方位TypeScriptによるプロダクト開発 ~
myfinder
9
2.5k
品質とスピードを両立: TypeScriptの柔軟な型システムをバックエンドで活用する
kosui
5
1.1k
Crafting a Own PHP - ウキウキ手作りミニマリストPHP
uzulla
4
1.1k
C# 大統一理論推進委員会 会員のための Unity Package Manager プロジェクト構成案
monry
PRO
0
580
チームでモデリングを育てるうえで 考えたこと・気づいたこと / Cultivating Modeling in Teams: Thoughts and Insights
mackey0225
5
2.4k
Featured
See All Featured
KATA
mclloyd
14
11k
Ruby is Unlike a Banana
tanoku
95
10k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
8
8.2k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.2k
GitHub's CSS Performance
jonrohan
1023
450k
Building Flexible Design Systems
yeseniaperezcruz
317
37k
Done Done
chrislema
178
15k
Fontdeck: Realign not Redesign
paulrobertlloyd
75
4.8k
Building a Scalable Design System with Sketch
lauravandoore
455
32k
Bootstrapping a Software Product
garrettdimon
PRO
302
110k
Mobile First: as difficult as doing things right
swwweet
215
8.5k
Designing for Performance
lara
601
67k
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ͷੈքʹೖ͠·ͤΜ͔ʁ