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
エンジニアにとっての地方と東京 ─ あるいはエンジニアのキャリア形成に環境が与える影響について
Search
Naoya Ito
August 29, 2015
Technology
87
29k
エンジニアにとっての地方と東京 ─ あるいはエンジニアのキャリア形成に環境が与える影響について
"首都「圏」から島根「県」へエンジニア・ワークシフト2015" での講演資料です
Naoya Ito
August 29, 2015
Tweet
Share
More Decks by Naoya Ito
See All by Naoya Ito
Functional TypeScript
naoya
13
5.5k
TypeScript 関数型スタイルでバックエンド開発のリアル
naoya
63
27k
シェルの履歴とイクンリメンタル検索を使う
naoya
7
3k
20230227-engineer-type-talk.pdf
naoya
85
40k
関数型プログラミングと型システムのメンタルモデル
naoya
61
87k
TypeScript による GraphQL バックエンド開発
naoya
28
30k
フロントエンドのパラダイムを参考にバックエンド開発を再考する / TypeScript による GraphQL バックエンド開発
naoya
66
23k
「問題から目を背けず取り組む」 一休の開発チームが6年間で学んだこと
naoya
144
58k
一休の現在と、ここまでの道のり
naoya
90
41k
Other Decks in Technology
See All in Technology
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
23
11k
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
20241214_WACATE2024冬_テスト設計技法をチョット俯瞰してみよう
kzsuzuki
3
440
AWS re:Invent 2024 ふりかえり
kongmingstrap
0
130
オプトインカメラ:UWB測位を応用したオプトイン型のカメラ計測
matthewlujp
0
170
NilAway による静的解析で「10 億ドル」を節約する #kyotogo / Kyoto Go 56th
ytaka23
3
370
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
540
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
Storage Browser for Amazon S3
miu_crescent
1
130
podman_update_2024-12
orimanabu
1
260
あの日俺達が夢見たサーバレスアーキテクチャ/the-serverless-architecture-we-dreamed-of
tomoki10
0
420
スタートアップで取り組んでいるAzureとMicrosoft 365のセキュリティ対策/How to Improve Azure and Microsoft 365 Security at Startup
yuj1osm
0
210
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
298
20k
A better future with KSS
kneath
238
17k
A Philosophy of Restraint
colly
203
16k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
6.9k
Product Roadmaps are Hard
iamctodd
PRO
49
11k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Building Applications with DynamoDB
mza
91
6.1k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
665
120k
Writing Fast Ruby
sferik
628
61k
Transcript
ΤϯδχΞʹͱͬͯͷํͱ౦ژ ͋Δ͍ΤϯδχΞͷΩϟϦΞܗʹڥ͕༩͑ΔӨڹʹ͍ͭͯ टʮݍʯ͔ΒౡࠜʮݝʯΤϯδχΞɾϫʔΫγϑτ /BPZB*UP ,BJ[FO1MBUGPSN *OD
͍ͨ͜͠ͱ • ౡࠜ๚ͱͦͷײ • ʮํͱ౦ژʯߟ • ษڧձʹ͍ͭͯ •
݁ͼ
݄ʹͯ • ౡࠜݝ౦ژࣄॴా͞Μ – ʮౡࠜͷ6λʔϯɾ*λʔϯΠϕϯτΛ։࠵ ͢ΔͷͰ͕͢Կ͔͍ͬͯͩ͘͞ʯ • ࢲ – ʮΉ͔͠ژͰಇ͍ͯͨ͠ํͱ౦ژͱ͍͏ ͓ͳΒͤΔ͔ͳʯ – ͔͠͠ɺౡࠜʹߦͬͨ͜ͱ͕ͳ͍
ͦΜͳΘ͚Ͱౡࠜদߐʹ ߦ͖ͬͯ·ͨ͠
None
None
None
͑ΜΉ͢ͼdΔ
None
None
None
None
None
ΨϦϨΦείʔϓ͞Μ
None
None
͜Ε͕ΦϑΟεŋŋŋͩͱŋŋŋ
None
None
None
αϚʔΥʔζ͔
ςΫϊΞʔΫ͠·Ͷ source: h*p://www.techno-‐arc-‐shimane.jp/guide/ins8tu8on-‐show/
None
ιχοΫϜʔϒ͞Μ
None
None
None
None
None
None
None
None
ϞϯελʔϥϘ͞Μ
None
None
ίϛϡχςΟษڧձ ͜ͷ։ൃ߹॓ɺদߐͰಇ ͘ਓʑͷ׆ಈใࠂͳͲ͕ςʔ ϚͰͨ͠
None
None
h*p://engineer.crowdworks.jp/2014/10/30/development-‐camp-‐2014.html
h*p://blog.fenrir-‐inc.com/jp/2015/01/mihonoseki.html
h*p://shimane.monstar-‐lab.com/hasumin/1432254260
h*p://ir3.hatenablog.com/entry/2015/05/14/211914
ߦ͕3VCZͷΓ্͛։ ൃ߹॓ͷαϙʔτΛܦӦϚω δϝϯτख๏ΛऔΓೖΕϚ ωʔδ͍ͯ͠Δ
ʮຊͰ࠷ॳʹ։ൃ߹॓ͨ͠ ͷԶͨͪ υϠʯ ˠ৴ͯ͡Β͑ͳ͔ͬͨ
ڶഴ͕͏·͍ͱ͔ŋŋŋ
࢈ͷ࠷ߴɺҾͬӽ͖ͯ͠ ͯྑ͔ͬͨͱ͔ŋŋŋ
μδϟϨ·Ͱग़Δ࢝ େ͞Μ
࠙ձʹ͚ͯߴ·Δظ
ౡࠜݝிਿݪ͞Μ ࠙ձձӺલͷ ʰΧϓϦνϣʔβʱͰ͢
͑ͬ
h*p://www.capricciosa.co.jp/
None
ϓϨϛΞϜϞϧπΛඒຯ͘͠ ͍͖ͨͩ·ͨ͠ɻ
None
None
೦ئͷ࢈ྉཧ
None
None
None
None
͓࢈ʹങͬͯؼΓ·ͨ͠
ߟ
• ߦ͕3VCZͰ • Φʔϓϯιʔε • Β͢͠͞ • ࣗવ • ѹతͳαϚʔΥʔζײ
• Ͱ߹॓ • ίϛϡχςΟ • ΧϓϦνϣʔβ
ͻͱͼͱ • ౡࠜʹΏ͔Γͷͳ͍ਓͰߏ͞Ε͍ͯΔ νʔϜଟ͍ – ౦ژͷاۀͷϒϥϯνͩͬͨΓ • ϑοτϫʔΫ͕͍ܰɺ৺
ΫϥυɾϦϞʔτϫʔΫ ͷීٴ͕ޙԡ͠ • ཧΠϯϑϥΛ͍࣋ͬͯͳ͍νʔϜଟ͍ – "84($1ͷීٴ – ۀ༻4BB4ͷ͓͔͛ͰΠϯτϥ͍Βͣ • ϦϞʔτϫʔΫΛී௨ʹ͍ͯͨ͠ ཧతͳ੍͕ গͳ͘ͳͬͨ
ϦϞʔτϫʔΫ • ,BJ[FO1MBUGPSN *ODͰ࣮ࢪ – ํͰϑϧϦϞʔτͷਓ݁ߏ͍Δ • ژɺେࡕɺԬɺ࢛ࠃ • Ҏલͱҧ͏͜ͱŋŋŋಓ۩ͷίϞσΟςΟԽ
– 1$Χϝϥ .BDʹඪ४ࡌ – ҆ՁͳϏσΦձٞ4BB4 • (PPHMF)BOHPVU ;PPNVT BQQFBSJO – Α͘Ͱ͖ͨใڞ༗πʔϧ • 4MBDL • 2JJUB5FBNɺFTB ཧతʹΕ͍ͯͯ৬ ༰͕ͦΕʹࠨӈ͞ΕͮΒ ͘ͳͬͨɻ
ͨͩ͠ࢀߟ • ϦϞʔτϫʔΫ৴ऀͰͳ͍ – ϦϞʔτϫʔΫʹ͋͠͞Δ • ྫϓϩδΣΫτॳظʹإΛಥ͖߹Θͤͨํ͕ Γ͍͢ • ࡶஊػձ͕ ૬ରతʹ
͍͠ŋŋŋ์͓ͬͯ͘ͱૄ ͳਓؒؔ – σϝϦοτΛΧόʔ͢ΔΤωϧΪʔඞཁ 参考: h*ps://speakerdeck.com/naoya/rimotowakufalsehua
ϑοτϫʔΫ͕͍ܰ • খ͞ͳνʔϜ • ࣄࣗͨͪͰσβΠϯ • ͦͷΛָ͠ΜͰࣄɾੜ׆ – ࣗવͰ߹॓ – ϩʔυόΠΫͰ௨ۈ – ܠɾՖՐɾാɾαϚʔΥʔζ
Ϟνϕʔγϣϯ ɾࣗੑ ɾϚελϦʔ ख़ୡ ɾత
৽͍͠ಇ͖ํ • ࣄϓϩηεΛࣗͰσβΠϯ – ϦϞʔτʔϫʔΫ – ࣌ؒ – ΦϑΟεڥ
– ಓ۩ FHιϑτΣΞπʔϧྨ – ࣄͷਐΊํ FH։ൃϓϩηε – ࠔ͏͕ࣗΒͷҙࢤͰ બ͢Δ͜ͱʹΑΔతϞ νϕʔγϣϯΛ༠ൃ
৽͍͠ಇ͖ํ࣮ݱͰ͖Δ͔ • ౦ژͰŋŋŋ – ʮελʔτΞοϓPSେاۀʯͷೋ߲ରཱͱͯ͠ଊ͑ΒΕ͕ͪ – ͕Ή͠ΌΒPS҆ఆͨ͠ੜ׆ • τϨʔυΦϑ
– ͕͠ΒΈͳ͘৽͍͠ಇ͖ํΛࢦɺҰํɺελʔτϑΣʔζ Ϗ δωεͱͯ͠ະख़ Ͱ͋ΔͨΊϫʔΫϩʔυۃΊͯߴ͍ – ख़ͨ͠اۀͰϫʔΫϩʔυ҆ఆ͍ͯ͠Δ͕ɺ৫తͳϑο τϫʔΫ͕ॏ͘ैདྷత৬ۀײ ܦࡁతҡ࣋ίετ͕ߴ͘ɺ ͳ͔ͳ͔ͦͷதؒΛࢦͰ ͖ͳ͍
দߐʹ͋ͬͨͷ • ϫʔΫϥΠϑόϥϯε ͋Γ͖ͨΓͳݴ༿Ͱ͕͢ŋŋŋ – ϑοτϫʔΫͷܰ͞৽͍͠ಇ͖ํ – దͳϫʔΫϩʔυ – ʮࣄͷ౦ژʯ͔ʮੜ׆ͷాࣷʯͱޠΒΕ͕ ͕ͪͩɺͦ͏͍͏Θ͚Ͱͳ͔ͬͨ •
ࣄʹੜ׆ʹΛ͍࣋ͬͯΔਓʑ ྆ऀͷཱ͕྆ൺֱత༰қͰ ͋Δ͜ͱ͕৽ͩͬͨɻ
ػձͷࠩ • اۀͱͯ͠ – اۀͱͯ͠ͷϏδωεػձ ϏδωεͷόϦΤʔγϣϯ ౦ژ ʹΞυόϯςʔδ • Ӧۀػձਓޱ͔ΒདྷΔଟ༷ੑ
• ݸਓͱͯ͠ – ΤϯδχΞͱͯ͠৬༰ͷࠩ͋·Γͳͦ͞͏ͩͬͨ • Ή͠Ζಇ͖ํΛબՄೳͳɺ͕ߴ͍ਓ – ܦࡁతͳࠩେ͖͘ͳ͍ • ಉڅ༩ਫ४ͷاۀ • ੜ׆ҡ࣋ίετ͕͍
ษڧձ • ʮษڧձͳͲଞͷٕज़ऀͱ͢Δػձ͕ ౦ژʹൺֱͯ͠ ѹతʹগͳ͍ʯ – ݱͷօ͞Μɺ΄΅શһ͕ޱʹ ͜ͷʹ͍ͭͯগ͠۷Γ Լ͛·͢
ιϑτΣΞΤϯδχΞ ͱͯ͠ͷΩϟϦΞͱڥ
*5ษڧձ • ʮษڧձʯͱݴ͍ͭͭษڧͷʹͳ͍ͬͯΔ͔ – ࣗͷ࣮ײ࣮ͳͬͯͳ͍ • εΩϧΞοϓܨ͕Βͳ͍ • ݁ہͻͱΓͰखΛಈ͔֮ͯ͑͠Δ
• ؒతʹ࣮Γͷଟ͍ – ใ͕ཧ͞ΕΔ͖͔͚ͬ • ࣝऀ͕εϥΠυʹݟΛ·ͱΊ֦ͯࢄ͢Δػձʹ – ٕज़τϨϯυͷݟ͑ΔԽ – ωοτϫʔΩϯά – ࣗݾεΩϧͷ૬ରԽ
ࣗݾεΩϧͷ૬ରԽ • εΩϧϨϕϧͷ૬ରԽػձ – ࣝྔ͕ө͞Εͨपғͷձ – ίϛϡχςΟͰͷৗࣝײ – τοϓϓϨΠϠʔͱͷࠩ •
͋Δ͍ࣗͷํ͕͏·͘Ͱ͖͍ͯΔ͜ͱ͔Δ • যΓ – ʮ৽͍͜͠ͱΛ֮͑ΒΕͯྑ͔ͬͨʯΑΓʮੈͷதͱͷࠩΛ ײͯ͡যͬͨʯ – ํमਖ਼ͷ͖͔͚ͬʹ ʮܹʯͱ͔Α͘ݴΘΕΔ ͷͷਖ਼ମ ݁Ռɺ༕ᓔʹͳΔਓ
ҰํͰ͜Μͳ͜ͱ͋Γ·ͤΜ͔ • 8FC͔ΒೖͬͯདྷΔใͰܹɺযΔ • ͋Ε͜ΕͬͯΈΔ – ʮ"1*ͩʯ – ʮΫϥυͩʯ
– ʮ)5.-ͩʯ – ʮϏοάσʔλͩʯ • ͍Ζ͍Ζ֮͑ͯΔׂʹযΓ ྼײ ղফ͞Εͳ ͍ŋŋŋ
ʮຊʹ͜ΕΛଓ͚͍ͯͯɺ͋ ͷਓΈ͍ͨʹͳΕΔͷ͔ ʯ
ࢲͦΜͳ࣌ظ͕͋Γ·ͨ͠ • ͋ͪͪ͜ͷษڧձʹग़Δ • ༕ᓔʹͳΔ • ͍Ζ͍ΖͳτϨϯυʹखΛग़͢ • Ͱʹͭ͘ͷʮ)PX5Pʯ͔Γŋŋŋ •
γεςϜͷࠜຊΛଊ͑ͨࣄ͕Ͱ͖ͳ͍ – ো͕ىͬͯ͜ରྍ๏ – ෛՙࢄܦݧଇͷΈͰ – େ͖ͳσʔλΛ͏·͘ѻ͑ͳ͍
;ͱ͖͔͚ͨͬ͠ Α͘͜ͷΛ͢ ΔΜͰ͚͢ͲͶ
ͦ͏͍͑ɺͱ͋Δਓͷຊ୨ • ͕ࣗಡΜͰΔΑ͏ͳϋπʔຊ͕ͳ͔ͬ ͨ • ฒΜͰ͍ͨͷݹయ͔Γ
None
None
None
None
ޛͬͨ͜ͱ • ࣗʹͱͬͯඞཁͳʮٕज़ʯ୭ʹͯ͠ ͍ͳ͔ͬͨ – ෛՙࢄʹΧʔωϧͷ͕ࣝඞཁͩͬͨͳΜͯ ࠓࢥ͑ ͨΓલͷ͜ͱ •
ʮٕज़ʯΛʹ͚ͭΔͷʹ࣌ʹܹ͕अຐ – ඞͣ͠पғͷਓ͕ʹ͍ͯ͠ͳ͍͜ͱʹɺજΓ ଓ͚Δඞཁ – ݽಠ
ژ
ྑ͔ͬͨ • ଟ͗͢Δ౦ژͷܹ͔ΒΕ͔ͨͬͨ • ੩ᨰͳڥͰɺજΔ • ܭࢉػՊֶɺֶɺՌͯཧֶ·Ͱί πίπࣗशͨ͠
ಘΒΕͨͷ • ϓϩάϥϚͱͯ͠ͷԼʹͳΔࣝ – ΞϧΰϦζϜͱσʔλߏ – 04ɾΧʔωϧ – ωοτϫʔΫαʔϏεΞʔΩςΫνϟ –
ࣗવݴޠॲཧ – ػցֶश – ઢܗɾ֬౷ܭ – ŋŋŋ • ਂ͘જٕͬͯज़Λशಘ͢Δश׳ • ྼײͷ؇ ࣌ʹ͚͍ͭͨࣝ· Խ͍ͯ͠ͳ͍
͕ͩɺԿ͔͕͓͔͍͠ŋŋŋ
• ࢲʮ݁ߏͳنͷσʔλͩͶɻ4V⒏Y "SSBZͰࡧҾ࡞Ζ͏͔ɻιʔτ*4๏ Ͱŋŋŋʯ • "ʮŋŋŋ࣮݁ߏ͔͔࣌ؒͬͯ·͢ʯ • #ʮϒϥβͷTRMJUFʹೖΕͯMJLFͰҾ ͍ͨΒരͩͬͨοεʯ ͋Εͬ
ंͷσΟʔϥʔͷ/͞Μ • /ʮҏ౻͞ΜαϯγϟΠϯͬͯ·͔͢ʯ • ҏ౻ʮ͡ΊͨΑʔɻҭ͖ͬͯͨʯ • /ʮۙࠒΫϦϊοϖ͕ʯ • ҏ౻ʮ͡ΊͯΈͨʯ •
/ʮࠓո౪ϩϫΠϠϧͰ͢Αʯ ͓ŋŋŋ
͜ΕͰྑ͍ͱࢥ͍͕ͬͯͨŋŋŋ • ʮྲྀߦ͔ΒΕͯਂ͘જΔɺͦΕ͚ͩΛଓ͚ͯ ͍Ε͍͍ʯ • ͔͠͠ɺͦΕͦΕͰؒҧ͍ͩͬͨ – ࣄʹ࣌ʹ)PX5Pॏཁ • ಉ͡ࣄΛɺ৽͍͠ιϑτΣΞͰ͋ͬͱ͍͏ؒʹ࣮ͯ͠
͠·͏ಉ྅ – ৽͍͠Ϗδωε͕ຄڵ • 8FCϏδωεͷసظ • ήʔϜɺεϚʔτϑΥϯ
ଢ଼ᆵԽ • ৬ͷಉ྅ʹ͔͠ձͬͯͳ͔ͬͨ • ʮऑ͍ឺͷڧΈʯΛΕ͍ͯͨ
૬ରԽͰ͖͍ͯͳ͔ͬͨ • ࣗΛ૬ରԽ͢ΔػձΛࣦ͍ͬͯͨ – ݹయʹજΔ͜ͱʹ߆Γա͗ͯࢹڱࡥʹ – Ϗδωεײٕज़ࢿͷํੑ͕ɺͲ͔͜Β͔͢͜ ͣ͠Ε͍ͯΔͷʹؾ͍ͮͯͳ͔ͬͨ • ࠶ͼޛͬͨ͜ͱ
– ࣌ʹܹʹຒΕΔ͜ͱඞཁ – ݁ہɺόϥϯε
࣮ࡍʹ͋ͬͨɺྫ͑ • ถͰΕͯࣄ • 64ʹग़ுʹ͍ͬͨಉ྅ɺͳ͔ͥͦͷʹ͍Δ ͱ͖64ࢹʹ – ຊਓ͋·Γͦͷ͜ͱʹؾ͍ͮͯͳ͍ – ཧɺ࣌ࠩ㱺64ίϯςΩετͷใ͕༏ઌͯ͠ೖͬ
ͯདྷΔ ڥɺຊਓ͕ࢥ͏Ҏ্ʹ ӨڹΛ༩͑Δ
3VCZ͕ੜ·Εͨڥ ͓ͦΒ͘ 3VCZ͕দߐͰੜ·ΕͨͷۮવͰͳ͍
͡Ό͋ɺͲͬͪͷ ڥ͕͍͍ͷ
ڥʹ͍ͭͯ • ࣗͷ݁ – ݁ہͷͱ͜Ζɺษڧձਓͱͷަྲྀ͋ͬͯͳͯ͘ ՝͕͋Δ • ౦ژͰଟ͗ͯ͢ࡶԻʹײ͡Δ • ํͰ૬ରԽͷػձΛࣦ͏ɺḵᆵԽ͕ى͜Δ
– ͕͍ࣗ·͍ΔڥͰಘΒΕͳ͍ଆ໘ΛɺͲ͏ଊ ͑ͯຒΊ߹ΘͤΔ͔࣍ୈͰͳ͍͔ ษڧձʹݶΒͳ͍
݁ͼվΊͯɺํͱ౦ژ • τϨʔυΦϑ • ͕ࣗ༏ઌͯ͠બ͍ͨ͠ͷԿ͔ – ࣄ͔ɺੜ׆͔ – ܹ͔ɺ੩ᨰͳڥ͔ • ͲͪΒ͕ྑ͍ѱ͍Ͱͳ͍ – ͦͷબʹΑͬͯܽམ͢ΔͷΛɺਖ਼໘͔Β
ݟͭΊଓ͚Δश׳͕ͦ͜େ
ౡࠜɺদߐ • ָ͔ͬͨ͠ – ඒ͍͠ொฒΈɺࣗવɺ৯ࣄ – 3VCZɺΦʔϓϯιʔε • ݱͷΈͳ͞Μ͕ͱͯͩͬͨ • ͋Γ͕ͱ͏͍͟͝·ͨ͠
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠