$30 off During Our Annual Pro Sale. View Details »
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
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
160
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
730
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
380
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
540
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
1
400
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1.1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
560
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
300
奥が深いメールのシステム / The depth of Email system
linyows
4
720
Other Decks in Programming
See All in Programming
手軽に積ん読を増やすには?/読みたい本と付き合うには?
o0h
PRO
1
170
WebRTC と Rust と8K 60fps
tnoho
2
2k
Socio-Technical Evolution: Growing an Architecture and Its Organization for Fast Flow
cer
PRO
0
320
ID管理機能開発の裏側 高速にSaaS連携を実現したチームのAI活用編
atzzcokek
0
220
C-Shared Buildで突破するAI Agent バックテストの壁
po3rin
0
380
【CA.ai #3】Google ADKを活用したAI Agent開発と運用知見
harappa80
0
300
TypeScript 5.9 で使えるようになった import defer でパフォーマンス最適化を実現する
bicstone
1
1.3k
dnx で実行できるコマンド、作ってみました
tomohisa
0
150
俺流レスポンシブコーディング 2025
tak_dcxi
14
8.6k
sbt 2
xuwei_k
0
270
Rediscover the Console - SymfonyCon Amsterdam 2025
chalasr
2
160
AIコーディングエージェント(Gemini)
kondai24
0
210
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
970
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Practical Orchestrator
shlominoach
190
11k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.1k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
700
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.7k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
A designer walks into a library…
pauljervisheath
210
24k
Navigating Team Friction
lara
191
16k
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