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
20200125_新人エンジニアが本音を語る会.pdf
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
jonakp
January 25, 2020
240
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
20200125_新人エンジニアが本音を語る会.pdf
jonakp
January 25, 2020
More Decks by jonakp
See All by jonakp
生成AIキャッチアップ会__生成AIと共に働くために個人と組織の視点から_.pdf
jonakpkp
0
150
20210611_awsecs_rev2.pdf
jonakpkp
0
32
jQuery -> React -> Vue と仕事で触った(予定込み)ので特徴を比較してみた
jonakpkp
4
140
なんでReactやらVueやら、更にはRailsでもNode.jsが必要なの?
jonakpkp
0
49
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
980
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
2
1.5k
Primal Persuasion: How to Engage the Brain for Learning That Lasts
tmiket
0
380
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
11
950
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.3k
A Tale of Four Properties
chriscoyier
163
24k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
WCS-LA-2024
lcolladotor
0
650
GitHub's CSS Performance
jonrohan
1033
470k
Ruling the World: When Life Gets Gamed
codingconduct
0
260
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
150
Transcript
20200125 ৽ਓΤϯδχΞ͕ຊԻΛޠΔձ (@kpinput)
ࣗݾհ • ໊લ: kappaz(Twitter: @kpinput) • גࣜձࣾϥάβΠΞॴଐ • डୗ։ൃͷΤϯδχΞ •
Ruby/Ruby on Rails, JavaScript/React • ͜ͷ1ͬͨ͜ͱ Rubyͷࢿ֨ͱͬͨΓɺٕज़ॻయʹຊग़ͨ͠ΓɺΞϓϦ࡞ͬͨΓ…
લ৬Ͱɻɻɻ • ωοτϫʔΫػثΛ࡞ͬͯ·ͨ͠ • ༷࡞ͬͯԼ͚ʹ͛Δܥͷ͓ࣄ
લ৬ΛࣙΊͨཧ༝
ࠓ͢ࣄ
ωλ͕͞͠
1݅དྷͳ͔ͬͨ(স)
͜ΕͰ͍͜͏!
ࠓ͢ࣄ ɾձࣾ୳͠Ͱେʹͨ͠ࣄ ɾ1ؒੜ͖ԆͼΔίπ ɾ࣮Ͱ͋ͬͨͭΒΈ
ࠓ͢ࣄ ɾձࣾ୳͠Ͱେʹͨ͠ࣄ ɾ1ؒੜ͖ԆͼΔίπ ɾ࣮Ͱ͋ͬͨͭΒΈ
ಈػͷ۷ΓԼ͛ ʹʮͳΜͰWebΤϯδχΞʹͳΓ͍ͨͷʁʯ
໎ͬͨ࣌ͷಓ͠ΔʹͳΔ • స৬׆ಈத໎͏͜ͱ͕Δ΄Ͳ͋Δ • ʮ৴པͰ͖ΔಈػʯΛ࣋ͯɺ໎ΘͣےΛ௨ܾͨ͠அͰ͖Δ
ʮ৴པͰ͖ΔಈػʯΛ࡞Δ • ʮಈػʯͷछʹࣗͰποίϛΛೖΕ·͘Δʂ ࣗͰαʔϏ εΛΓ͍ͨ ࠓ·ͰͲΜͳαʔϏε࡞͖ͬͯͨʁ ͳΜͰब৬ͳͷʁىۀ͠ͳ͍ͷʁ 8FCΤϯδχΞ͡Όͳ͍ͱμϝͳͷʁ ࣗ༝ͳಇ͖ํ Λ࣮ݱ͍ͨ͠
ʮࣗ༝ͳಇ͖ํʯͬͯ۩ମతʹԿʁ ͦͷࣗ༝Λ࣮ݱͰ͖Δձ͕ࣾ͋Δʁ 8FCΤϯδχΞ͡Όͳ͍ͱμϝͳͷʁ ɾɾɾ ৴པͰ͖Δ ಈػ ɾɾɾ
ࢲͷಈػ • ʮࣄͱϓϥΠϕʔτͷ྆ํͰɺ ಉ͡ͷࣄΛͨΊΒ͍ͳֶ͘Ϳঢ়ଶΛ࡞Γ͍ͨʯ • ͕ࣗ৺ͷఈ͔Β৴͡ΒΕΕԿͰOKʂ
۩ମతʹͲ͏ʹཱ͔ͬͨʁ • స৬׆ಈͷ࠷ऴ൫ - 5ࣾड͚ͯ… - ࿅शͷͭΓͰड͚ͨࣗࣾαʔϏε × 4ࣾ ->
ॻྨམͪ - ྑ͍͔? ͱࢥͬͯड͚ͨडୗ(ࠓͷձࣾ) -> ఆʂ - ͔ࣗࣾ͠͠αʔϏεͷاۀΛࢦ͍ͨ͠ؾ࣋ͪɻɻɻ
ʮࣗࣾαʔϏεʯʹશવܨ͕Βͳ͍ʀ ྑͦ͞͏ͳձࣾͳΒʮडୗʯͷاۀΞϦɻ ಈػ͕໌֬ͩͬͨͷͰૉૣܾ͘அͰ͖ͨ ۩ମతʹͲ͏ʹཱ͔ͬͨʁ ఆΛΒͬͨձࣾʹߦ͜͏ʂ
ʮձࣾ୳͠Ͱେʹͨ͠ࣄʯͷ͓·͚ • ͨͩɻɻɻʮಈػʯ͚ͩͩͱओ؍త͗͢Δ • ͏গ͠ʮ٬؍తͳج४ʯཉ͍͠
https://www.slideshare.net/cuzic/ss-172060603 ΤϯδχΞస৬ͷϊϋ ಇ͖͘ձࣾͷ νΣοΫϦετ (OsakaRubyKaigi02ΑΓ)
ͪͳΈʹ… ࢲͷॴଐ͢Δ גࣜձࣾϥάβΠΞ (͍͍ͩͨ) 9ݸத7ݸ ຬ͓ͨͯ͠Γ·͢ chatwork MacBookPro
None
ࠓ͢ࣄ ɾձࣾ୳͠Ͱେʹͨ͠ࣄ ɾ1ؒੜ͖ԆͼΔίπ ɾ࣮Ͱ͋ͬͨͭΒΈ
ʮੜ͖ԆͼΔʯͱ͍͏දݱେ͛͞Ͱͳ͍ (ؾ͕͢Δ) ͜͜ʹ֘͢Δਓผʀ
ྑͳରਓؔ
ʮੜ͖ԆͼΔʯࣄΛࠔʹ͢ΔোԿʁ ͋ΔఔࣗྗͰࣄ͕Ͱ͖ΔϥΠϯ ࣗͷೳྗ ࣌ؒ ೖࣾ 1ޙ͘Β͍
ʮੜ͖ԆͼΔʯࣄΛࠔʹ͢ΔোԿʁ ͋ΔఔࣗྗͰࣄ͕Ͱ͖ΔϥΠϯ ࣗͷೳྗ ࣌ؒ ೖࣾ 1ޙ͘Β͍ ͜ͷΪϟοϓ͕ ʮੜ͖ԆͼΔʯ্ͰͷোͰʁ
μϝʔδେ μϝʔδ ()খ Ϊϟοϓʹର͢ΔपғͷԠ࣍ୈͰɺ ϝϯλϧʹड͚Δμϝʔδେ͖͘มΘΔ
গ͠Ͱʮμϝʔδ(খ)ʯʹدͤͯ࣌ؒΛՔ͙ μϝʔδେ μϝʔδ ()খ
(վΊͯ) ྑͳରਓؔ
͜͏͍͏͜ͱʁʁʁ
͍ɺͲ͔ͬͪͱ͍͏ͱ͜͏
ձࣾͷՁ؍Λߠఆ͍ͯ͘͠ • ͕ࣗબΜͩձࣾΛϦεϖΫτ͠Α͏ʂ - ͦͷձ͕ࣾେʹ͍ͯ͠ΔͷΛେʹ͢Δ - पΓͷਓͱಉ͜͡ͱͬͯΈΔ - ʮྑ͍͖͍ͯͨ͘͠Ͱ͢Αʔʯ ͱ͍͏࢟Λ(Γա͗ͳ͍ఔʹ)Ξϐʔϧ͢Δ
• ຊ৺ࣗ༝ʂ(ॏཁ)
ࢲ͕࣮ࡍʹͬͨ͜ͱ • ఆޙձࣾͷΠϕϯτʹ༠ΘΕࢀՃɻ શһͷ໊લΛϝϞˍೖࣾ·Ͱʹ֮͑ͨ(20໊ऑ) • ձ͕ࣾਪ͢Δࢿ֨(RubySilver)Λೖࣾޙ1ϲ݄Ͱऔಘ - ͋ͱ1໊ͦͷࢿ֨Λऔಘ͢Εɺ ձࣾͱͯ͠RubyͷೝఆΛऔಘͰ͖ΔλΠϛϯά •
ৼΒΕͨࡶ༻(ిɾΰϛࣺͯɾװࣄ)Λ͖ͬͪΓ͜ͳͨ͠(ී௨)
৺͕ંΕͣʹܧଓͰ͖ΕΓΕΔ ͋ΔఔࣗྗͰࣄ͕Ͱ͖ΔϥΠϯ ࣗͷೳྗ ࣌ؒ ೖࣾ 1ޙ͘Β͍ ͦͦ͜͜ਅ໘ʹࣄ͍ͯ͠Ε ͍͔ͭඞͣΓΕΔ
ࠓ͢ࣄ ɾձࣾ୳͠Ͱେʹͨ͠ࣄ ɾ1ؒੜ͖ԆͼΔίπ ɾ࣮Ͱ͋ͬͨͭΒΈ(αΫοͱ)
ਖ਼࣮໘(ಛʹೖࣾॳظ)Ͱ ۃͳͭΒΈͳ͔ͬͨ ͳͥͳΒɻɻɻ
αʔΫϧΞϥϯυͷ τϨʔχϯάΛ ͜ͳ͍ͯͨ͠ͷͰ
ͰͭΒΈ0Ͱͳ͔ͬͨͷͰɺ 3ͭ΄Ͳɻɻɻ
• ʮ͜ͷ࣮ͲΕ͘Β͍ͰऴΘΓͦ͏ʁʯ ͱ͍͏࣭ʹ͑Δͷ͕࠷ॳͱͯਏ͔ͬͨɻɻɻ • ͜Ε܁Γฦ͠Δ͔͠ͳ͍ -> ͦͷ͏ͪײ֮ͰݟੵΕΔΑ͏ʹͳΔ 1. ݟੵΓ
• ࠷ॳʹೖͬͨPJͰϞσϧ͕150ݸ͘Β͍͋ͬͨʂʂʂ -> ͰͬͯΈΔͱԿͱ͔ͳΔ -> ݁ہҰʹؔΘΔϞσϧଟͯ͘10ݸະຬͳͷͰ 2. σʔλߏ͕Ϡό͗ͨ͢
• ৭ʑෳࡶͳࣄ͔Βɺ ࣮ࣗ1ਓͰɺະܦݧͷ(ˍपΓʹৄ͍͠ਓ͕͍ͳ͍) ReactͷPJʹೖΔ͜ͱʹ(͔ͳʔΓಛघͳέʔε) -> ·͊Կͱ͔ͨ͠ɻ ެࣜυΩϡϝϯτͱˠͷຊͷ͓͔͛ɻ -> ʮԿͱ͔͢Δྗʯɺ ΤϯδχΞతʹॏཁ͔͠Εͳ͍
3. ΘΓͱҰਓͰReactΔ͜ͱʹ
͍͞͝ʹ • ೖࣾલಈػʹΛ͚ͯΈΔͱ͍͍͔ • ೖࣾޙٕज़͚ͩ͡Όͳͯ͘ਓؒؔ • ͭΒΈͳΜ͔Μ͢Δ
Ҏ্Ͱ͢ɻ ͝੩ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ɻ
1:ʮ৴པͰ͖Δಈػʯ࡞Γͷҙ (ຊʹΔਓ͕͍ͨΒ) • ʮWebΤϯδχΞʹͳΓ͍ͨʂʯͱ͍͏ײਖ਼͍͠ɻ (ͷͰٙΘͳ͍) • ࠷ޙײʹண͢Δɺͱ͍͏͔ಀ͛Δɻ (◦◦͕͖͔ͩΒ) • आΓͷݴ༿ͦͷ··ආ͚Δ
2ɿ࣮ࡍೖͬͯײͨ͡डୗͷಛ • ϝϦοτ - ίʔυΛॻ͘͜ͱʹूதͰ͖Δ - ٕज़໘ʹର͢Δҙࣝߴ͍ؾ͕͢Δ(ձࣾͷڧΈʹٕज़ ͳͷͰ) • σϝϦοτ
- ྑ͘ѱ͘ʮΫϥΠΞϯτ࣍ୈʯ - αʔϏεΛҭͯΔܦݧ΄΅ظͰ͖ͳ͍