Upgrade to Pro — share decks privately, control downloads, hide ads and more …

202111Gocon_kaminashi_kimura

kimura
November 30, 2021
2.1k

 202111Gocon_kaminashi_kimura

kimura

November 30, 2021
Tweet

Transcript

  1. 1. ΧϛφγͷαʔϏε঺հ a. ੡଄ݱ৔ͷݱঢ় b. ੡଄ݱ৔Λม͑ΔͨΊͷΧϛφγͷΞϓϩʔν 2. ͏·Έ a. ΧϛφγGoྺ

    b. ײͨ͡͏·Έ&֤ΤϯδχΞGoྺ 
 3. ։ൃʹ౰ͨͬͯͷͭΒΈ ຊ೔ͷΞδΣϯμ
  2. ઃඋɾਗ਼૟ ཱྀ٬ɾӡ༌ ݐઃ ෱ࢱࢪઃ ੡଄ۀ εʔύʔɾখച ઀٬ۀ ҿ৯ళ ݱ৔Ͱಇ͘3,100ສਓ͕ɺࢴத৺Ͱඇޮ཰ͳΦϖϨʔγϣϯʹ೔ʑ௥ΘΕ͍ͯ·͢ɻ ϓϥΠϕʔτͰ͸εϚʔτϑΥϯΛ࢖͍ͬͯΔͷʹɺ৬৔Ͱ͸ͳ͔ͥࢴͱϖϯɺσδΧϝΛ࢖͏ඞཁ͕͋Δͷ͕ݱঢ়Ͱ͢ɻ

    ೔ຊͷबۀਓޱͷ໿൒਺͕PC΍IT͕࢖͑ͳ͍؀ڥͰಇ͍͍ͯ·͢ Χϛφγ͕ղܾ͍ͨ͜͠ͱ ೔ຊʹ͓͚Δ࿑ಇਓޱͷׂ߹ 9 σεΫ ϫʔΧʔ ϊϯσεΫ ϫʔΧʔ ˋ ˋ 52 48 ※ ಠཱߦ੓๏ਓ࿑ಇ੓ࡦݚڀɾݚमػߏʮ৬ۀผबۀऀ਺ʯΑΓ౰ࣾࢉग़
  3. LOOP IF-ELSE TYPE ܁Γฦ̍͠ ܁Γฦ̎͠ ܁Γฦ̏͠ ਌ϊʔυ ճ౴ YESͷ৔߹ Noͷ৔߹

    ໦ߏ଄Ͱදݱ ɹ಺෦ͷσʔλ͸໦ߏ଄Ͱఆ͍ٛͯ͠Δ
  4. - 2017೥ͷϓϩμΫτ։ൃ։͔࢝Β4೥໨ - Goαʔόબఆཧ༝ - ඪ४tool܈ͷ๛෋͞ - ౓ॏͳΔมߋʹڧ͍ - ܧঝ͕ଘࡏ͠ͳ͍

    - Composition over inheritance (ܧঝΑΓ߹੒) - Πϯϑϥ΁ͷॊೈੑ - ΫϩείϯύΠϧ - ίϯςφԽͱͷ૬ੑ - ౰࣌Go࠾༻ࣄྫ͕গͳ͍ ɹΧϛφγͷGoྺͱ͏·Έ1
  5. ɹ։ൃʹ͓͚Δ͏·Έ2 (੩తܕ෇͚ݴޠͷதͰ΋) ະܦݧͷΤϯδχΞ͕शಘ͠΍͍͢ - ৽نೖࣾऀ্ཱ͕͙͕ͪ͢Δ - ౰ࣾ಺ͰͷGoܦݧऀׂ߹= 3/7 Go JavaScr

    ipt TypeScr ipt Python Elixir Ruby Java PHP C# C C++ VB Engineer A ◦ ◦ ◦ ◦ B ◦ ◦ ◦ C ◦ ◦ ◦ D ◦ ◦ ◦ E ◦ ◦ ◦ ◦ ◦ ◦ F ◦ ◦ ◦ G ◦ ◦ ◦ ◦ ◦ ฐࣾͷೖࣾલͷΤϯδχΞ࢖༻ݴޠ
  6. ɹͭΒΈ2 RDBͰͷੑೳ௿Լ - ؔ࿈ςʔϒϧͷ૿ՃʹΑΓɺapplication ⁶ RDBؒͷ௨৴ճ਺ͷ૿Ճ - application ⁶ RDBؒͷ௨৴଎౓͕ϘϧτωοΫʹ

    gtx. Preload("Rel-A"). Preload("Rel-B"). Preload("Rel-C"). Find(s.ctx, &mainTable).Error; ORMΛ࢖ͬͨίʔυ select ~~~ select ~~~ select ~~~ ࣮ΫΤϦ - ORMଆͰͷେྔͷΫΤϦൃߦ 
 - ࠶ىॲཧ಺ͰͷDBΞΫηεॲཧΛॻ ͍ͯ͠·͍ɺେྔͷΫΤϦൃߦ
  7. ɹͭΒΈ2 RDBͰͷੑೳ௿Լ΁ͷରԠ Application ଆ - ΫΤϦൃߦॲཧͱ࠶ىॲཧΛ෼཭ - ORM࢖༻ -> (ςʔϒϧ݁߹Λߦ͏Α͏ͳ)

    ੜΫΤϦʹมߋ → DB ΫΤϦൃߦճ਺Λ཈͑Δ͜ͱ͕Ͱ͖ͨ DB ଆ - ςʔϒϧ݁߹Ͱ࢖༻͞ΕΔ֎෦Ωʔʹର͢Δindexͷ௥Ճ → ΫΤϦ୯ମͷੑೳͷվળ