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
Protocol Buffersの型を超えて拡張性を得る / Beyond Protocol Buffers Types Achieving Extensibility
linyows
0
110
研究開発と実装OSSと プロダクトの好循環 / A virtuous cycle of research and development implementation OSS and products
linyows
1
540
コードジェネレーターで 効率的な開発をする / Efficient development with code generators
linyows
0
340
研究を支える拡張性の高い ワークフローツールの提案 / Proposal of highly expandable workflow tools to support research
linyows
0
470
非コンテナ環境において宣言的Deploymentを手軽に実現する / Declarative deployment in non-container environments
linyows
0
260
メール送信サーバの集約における透過型SMTP プロキシの定量評価 / Quantitative Evaluation of Transparent SMTP Proxy in Email Sending Server Aggregation
linyows
0
1k
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
500
研究の再現性を高める 仕組みをGoでつくる / Creating a system to improve the reproducibility of research using go
linyows
1
260
奥が深いメールのシステム / The depth of Email system
linyows
4
630
Other Decks in Programming
See All in Programming
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
アルテニア コンサル/ITエンジニア向け 採用ピッチ資料
altenir
0
110
アプリの "かわいい" を支えるアニメーションツールRiveについて
uetyo
0
270
How Android Uses Data Structures Behind The Scenes
l2hyunwoo
0
450
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
390
Amazon RDS 向けに提供されている MCP Server と仕組みを調べてみた/jawsug-okayama-2025-aurora-mcp
takahashiikki
1
110
旅行プランAIエージェント開発の裏側
ippo012
2
910
Deep Dive into Kotlin Flow
jmatsu
1
340
go test -json そして testing.T.Attr / Kyoto.go #63
utgwkk
3
300
🔨 小さなビルドシステムを作る
momeemt
4
680
2025 年のコーディングエージェントの現在地とエンジニアの仕事の変化について
azukiazusa1
24
12k
rage against annotate_predecessor
junk0612
0
170
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
33
8.8k
Building Applications with DynamoDB
mza
96
6.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.6k
Done Done
chrislema
185
16k
How to Ace a Technical Interview
jacobian
279
23k
It's Worth the Effort
3n
187
28k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.9k
Building an army of robots
kneath
306
46k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Mobile First: as difficult as doing things right
swwweet
224
9.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
33
2.4k
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