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
新しく言語を学ぶ私のやり方 / My way of learning a new lang
Search
linyows
January 22, 2019
Programming
3
1.6k
新しく言語を学ぶ私のやり方 / My way of learning a new lang
Jan 22, 2019 / Fukuoka.rsでLT発表した資料
linyows
January 22, 2019
Tweet
Share
More Decks by linyows
See All by linyows
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
240
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
250
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
380
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
150
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
850
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
380
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
190
奥が深いメールのシステム / The depth of Email system
linyows
4
550
IaCにおけるテスト考察 / Tests in IaC
linyows
2
620
Other Decks in Programming
See All in Programming
VitestのIn-Source Testingが便利
taro28
6
2.1k
サービスレベルを管理してアジャイルを加速しよう!! / slm-accelerate-agility
tomoyakitaura
1
180
Defying Front-End Inertia: Inertia.js on Rails
skryukov
0
490
[NG India] Event-Based State Management with NgRx SignalStore
markostanimirovic
1
160
Strategic Design (DDD)for the Frontend @DDD Meetup Stuttgart
manfredsteyer
PRO
0
160
設計の本質:コード、システム、そして組織へ / The Essence of Design: To Code, Systems, and Organizations
nrslib
4
630
Vibe Codingをせずに Clineを使っている
watany
17
6.3k
Rollupのビルド時間高速化によるプレビュー表示速度改善とバンドラとASTを駆使したプロダクト開発の難しさ
plaidtech
PRO
1
180
「”誤った使い方をすることが困難”な設計」で良いコードの基礎を固めよう / phpcon-odawara-2025
taniguhey
0
160
Cursor/Devin全社導入の理想と現実
saitoryc
14
9.2k
Road to RubyKaigi: Making Tinny Chiptunes with Ruby
makicamel
4
410
RuboCop: Modularity and AST Insights
koic
2
1.4k
Featured
See All Featured
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
16k
Into the Great Unknown - MozCon
thekraken
37
1.7k
Bash Introduction
62gerente
611
210k
[RailsConf 2023] Rails as a piece of cake
palkan
54
5.4k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
GraphQLの誤解/rethinking-graphql
sonatard
71
10k
Measuring & Analyzing Core Web Vitals
bluesmoon
7
390
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
41
2.2k
A better future with KSS
kneath
239
17k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
VelocityConf: Rendering Performance Case Studies
addyosmani
328
24k
Transcript
৽͘͠ݴޠΛֶͿࢲͷΓํ 5PNPIJTB0EB(.01FQBCP *OD 'VLVPLBST+BO
Fukuoka.rs #1 !MJOZPXT CMPHUPNPIJTBPEBDPN (.0ϖύϘ ϓϦϯγύϧΤϯδχΞ 2
Fukuoka.rs #1 3 8&# %#13&44WPM )BTIJ$PSQ7BVMUͷهࣄدߘ Ԭͷ(PMBOHίϛϡχςΟ 'VLVPLBHPͷओ࠵ͷਓ MJOVYϢʔβͷ໊લղܾΛ (JU)VC͔ΒϚοϐϯά͢Δ
ιϑτΣΞͷ։ൃ
Fukuoka.rs #1 QSJOUMO )FMMP3VTUBDFBOT 4
Fukuoka.rs #1 3VTUͱࢲ w /P3VOUJNFɺ/P($ ͢͝ʔʔʔ͍ w ͳ͔ͳ͔ίϯύΠϧ௨Βͳ͍ͬͯฉ͘ w
(PͬͯͯࠔΔ͜ͱͳ͍ΑʁԿ͕خ͍͠ͷʁ w ͣͬͱ͜ͷௐࢠͳͷͰɺൃදυϦϒϯͰษڧΛ։࢝͠Α͏ʂ w ΜͰɺؾ͍ͮͨΒਖ਼݄ऴΘͬͯษڧձͷिؒલ 5
Fukuoka.rs #1 ͋͞ษڧΛ࢝ΊΔͧ w ͱΓ͋͑ͣڥͷߏஙʢ3VTUVQೖΕͨΓɺWJNQMVHJO୳ͨ͠Γʜʣ w ͱΓ͋͑ͣ3VTUͷ5IF#PPLΛಡΈ࢝ΊΔ w ͙͢ʹ಄ʹೖͬͯ͜ͳ͘ͳͬͨͷͰखΛಈ͔࢝͠ΊΔ w
ϦϙδτϦ࡞ͬͯࣸܦHJUIVCDPNMJOZPXTSVTUMFBSOJOH w ͖ͦͯͯ͠ɺHJUIVCDPNͰ⭐ͷࢁ͍ͭͨ3VTUϦϙδτϦΛோΊΔ w ऴྃʜ 6
Fukuoka.rs #1 aϞνϕʔγϣϯ͕ଓ͔ͳ͍κ 7
Fukuoka.rs #1 ϞνϕʔγϣϯΛ୳ཱྀ͢ w Α͏͠ɺϞνϕʔγϣϯΛͻͶΓग़ͧ͢ w 3VTUͬͯԿ͕͍͍ͷʂʢ࠶ʣΦϑΟγϟϧαΠτʹ͋Δͣ w ͔͍ͭͲ͜ΖͲ͜ʁʁʢ࣮ʣ͜ΕɺΦϑΟγϟϧαΠτʹ͋Δͣ w
ࣗͩͬͨΒͲ͏͏ 8
Fukuoka.rs #1 3VTUͷಛ w ͱͯߴͰϝϞϦޮ͕Α͍ͷͰϋΠύϑΥʔϚϯεɺͦͯ͠ΈࠐΈ ͱ͔؆୯ʹଞݴޠͱ౷߹Ͱ͖Δ w ๛ͳܕͱ0XOFSTIJQϞσϧʹΑΓϝϞϦεϨου͕҆શͰ͋Δ͜ͱΛ อূ͢Δɺ͔ͩΒଟ͘ͷछྨͷόάΛίϯύΠϥͰഉআͰ͖Δ w
๛ͳυΩϡϝϯτɺݡ͍ίϯύΠϥɺ౷߹͞ΕͨύοέʔδπʔϧͰੜ ࢈ੑߴ͍ 9
Fukuoka.rs #1 3VTUͷΩϟονίϐʔ ৴པੑޮੑͷߴ͍ιϑτΣΞΛ ୭͕ॻ͚ΔྗΛ༩͑ΔΑʂ ·͔͡ʜ 10
Fukuoka.rs #1 3VTUWT(P 11 Rust Go Performance Great Good Simple
and Readable Code OK Great Concurrency Yes Yes Forcing error checking Yes No
Fukuoka.rs #1 ϚγϯϦιʔεΛΒ͍ͣΔ·Ͱ ύϑΥʔϚϯεΛॏࢹ͍ͨ͠ͷͳΒ3VTUʂ 12
Fukuoka.rs #1 3VTUͷ͔͍ͭͲ͜Ζ w ύϑΥʔϚϯεॏࢹͰ҆શͳιϑτΣΞͷ։ൃͰ͋ΕҰͰ͠ΐ͏ʂ ʢύϑΥʔϚϯεͬͯ͋ͱ͔Βཁٻ͞ΕΔʁʣ w 3VTUͰͦΕͳΓʹੜ࢈ੑߴΊΔʹ࿅͕ඞཁͦ͏ͳͷͰɺڭҭମ੍͋ Δ։ൃɺ·ͨख़࿅ूஂͰͷ։ൃ w
ະख़ऀɺ044ͱ͔ɺԶಘ$-*πʔϧͱ͔ͽͬͨΓͳͷͰʁ 13
Fukuoka.rs #1 ఆΊͨΰʔϧ w ·ͣಈ͘ͷΛ࡞Ζ͏ w ࣮ͷਖ਼͠͞ɺεϚʔτ͞ؾʹ͠ͳ͍ w ࣮͍ͯ͘͠தͰɺͭ͗ʹͭͳ͕Δ՝Λݟ͚ͭΔ w
ΰʔϧΛ໌֬ʹ͢ΔͱΔ͜ͱ͕ఆ·ͬͯΔؾ͕ग़Δ w Α͠ʂʂʂʂʂʂʂʂʂʂʂ 14
Fukuoka.rs #1 15
Fukuoka.rs #1 ࡞ͬͨ$-* w (FP*1ͷཧใΛ*1Ͱݕࡧͯ͠දࣔ͢Δ͘Μ IUUQTHJUIVCDPNMJOZPXTHMJQ w XFFLͰಈ͘ͷͰ͖ͨʂ w ͦͯ͠ɺDSBUFTJPͰύοέʔδΛެ։Ͱ͖ͨʂ
16
Fukuoka.rs #1 ͭ·͍ͣͨͱ͜Ζ w ϑΝΠϧׂͨ͠ࡍͷNPEVMFͷ֓೦ w ϥΠϒϥϦͱ$-*ͷ྆ํΛఏڙ͢ΔύοέʔδͷσΟϨΫτϦߏ w ΤϥʔνΣοΫڧ੍ͷͨΊͷΤϥʔॲཧ w
VOXSBQ͔ͬΓʹͳͬͯɺԿͳͷ͜Εʁʁʁ w JGͷதͰNVUBCMFͳมߋ৽ͰౖΒΕΔ 17
Fukuoka.rs #1 18
Fukuoka.rs #1 ݟ͖͑ͯͨ՝ w ςετॻ͍ͯͳ͍ͷʢDPWFSBHFͱΔͧʣ w ͏·͘ॻ͚ͯͳ͍ͷʢHFOFSJDTUSBJU͑៉ྷʹͳΔͣʣ w ͦͦɺͬͯΔ͜ͱ͋ͬͯΔʁʁ w
ʹDBSHPJOTUBMM͡Όͳͯ͘$SPTT$PNQJMJOH͓͖͍ͯͨ͠Μ w ฒߦͯ͠ɺΓͯͳ͍ࣝΛʮ5IF#PPLΛཏʯʮຊΛಡྃʯͰಘΔ 19
Fukuoka.rs #1 ։ൃυϦϒϯͷԿ͕ྑ͍͔ w ࣗ͝ͱʹͳΔͷͰ࠳͠ʹ͍͘ͳͯͬͯ͠·͏ w ͠ΐ͏ͳ͍͜ͱͰΑͭ͘·ͣ͘ϑϥετϨʔγϣϯཷ·Δ w ମܥతʹֶͿҙཉ͕༙͘ʂ w
ͬͨ݁Ռ͕Δ͍ͷ͕ग़དྷͯஏ͔͍ͣ͠ w ͍ίʔυΛͪΌΜͱ͢Δҙཉ͕༙͘ʂ- 20
Fukuoka.rs #1 aͳΜ͔ͩΜͩ݁Ռతʹྑ͍ ☺ 21
Fukuoka.rs #1 ·ͱΊ ৽͘͠ݴޠΛֶͿͨΊʹҎԼͷखॱͰ͢͢Ί·ͨ͠ɻ w ·ֶͣͿཧ༝Λ୳͢ɺͳ͚Ε࡞Δ w ։ൃυϦϒϯͰखΛಈ͔͠ͳ͕ΒֶͿʢ໌֬ͳΰʔϧʣ w ڵຯ͕༙͍͖ͯͨΒମܥతʹֶͿ
w ͦͯ͠·ͨ࡞Δʂ 22
Fukuoka.rs #1 'VLVPLBSTͷΈͳ͞Μ 3VTUڭ͍͍͍͍͑ͯͩ͘͞ ίʔυϨϏϡʔر ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ 23
Fukuoka.rs #1 3FGFSFODFT w 5IF#PPLIUUQTEPDSVTUMBOHPSHCPPL w 3VTUIUUQTXXXSVTUMBOHPSH w 4IPVME*3VTU PS4IPVME*(PIUUQTDPEFCVSTUJPTIPVMEJSVTUPSTIPVMEJ
HPBFFB w 3JQ(SFQIUUQTHJUIVCDPN#VSOU4VTIJSJQHSFQ w #BUIUUQTHJUIVCDPNTIBSLEQCBU w ϓϩάϥϛϯά3VTUIUUQTXXXPSFJMMZDPKQCPPLT 24