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

自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜

karamaru
January 18, 2025
330

自動生成の話をしよう 〜 ProtoBuf, Cue, 1次ソースの美学 〜

Gopher's Gatheringでの発表資料です。
https://connpass.com/event/329963/

karamaru

January 18, 2025
Tweet

Transcript

  1. ݱࡏɺ31$ɾ%#ɾઃఆɾϩδοΫͳͲ͋ΒΏΔ΋ͷΛQSPUPCVGͰ؅ཧ͍ͯ͠Δ ࣍ιʔεQSPUPͷΈ ɾܕ҆શͰ͋Δ͜ͱ ɾฐࣾ͸௨৴ʹH31$ CVGDPOOFDU Λ࢖༻͍ͯ͠ΔͨΊ ɹγϯλοΫεΛ౷ҰͰֶ͖शίετ͕௿͍͜ͱ ੜ੒ର৅%#ૢ࡞΍ϩδοΫੜ੒ͳͲએݴతʹॻ͚Δ΋ͷશͯ ɾCVGHFOFSBUFͰႈ౳ͳϑΝΠϧੜ੒Λߦ͏ ࣗಈੜ੒ର৅

    ɾϚελσʔλʢ.Z42-ΦϯϝϞϦʣ ɾϢʔβʔσʔλʢ4QBOOFSʣ ɾ3BOLJOHʢ3FEJTʣ ɾ31$ʢCVGDPOOFDUʣ ɾσόοάίϚϯυʢBENJOʣ ɾ؀ڥม਺ ɾ#BUDIʢDPCSB$-*ʣ ɾ-PHʢ#JH2VFSZʣ ͳͲͳͲʜ ˣ QSPUPϑΝΠϧͬͯ͜Μͳײ͡ͷ΍ͭˣ QSPUPCVGେ౷Ұཧ࿦
  2. ੜ੒ίʔυϚελσʔλ .Z42- ϚελόϦσʔγϣϯ "ENJO ϚελʔΩϟογϡ ΦϯϝϞϦ ɾϚΠάϨʔγϣϯͳͲ༻ʹ42-Λग़ྗ͢Δ ɾͪͳΈʹEFW؀ڥͷΈએݴతϚΠάϨʔγϣϯΛߦͳ͍ͬͯΔ ɹɾ42-εΩʔϚͱ࣮ࡍͷ%#ͷEJGGΛBMUFS͢Δ ɹɾTDIFFNBMFY

    BUMBTͳͲΛ࢖༻ ɹɾNJHSBUJPOϑΝΠϧ͕૿͑ͳͯ͘޷Έ ɹʢຊ൪Ͱ͸ͪΌΜͱੵΉʣ ECEEMNBTUFSHFOTRMΧʔυϚελͷ42-εΩʔϚ $MPVE42- ʻϚελʔσʔλʼ ίϝϯτܥ΋QSPUP͔Βऔͬͯ͜ΕΔͷDPPMͩͶʂ
  3. ੜ੒ίʔυϚελσʔλ .Z42- ϚελόϦσʔγϣϯ "ENJO ϚελʔΩϟογϡ ΦϯϝϞϦ ɾϚελߏ଄ମΛੜ੒͢Δɻ1,΍ศརߏ଄ମ΋ ɾ.Z42-΁ͷૄ௨ίʔυ΍ΠϯλʔϑΣʔε΋ੜ੒͍ͯ͠Δ ɾLBXBJJϙΠϯτ ɹɹɾ1,ߏ଄ମ͸Ҿ਺औΓճ͠ศར

    ɹɹɾτϥϯβΫγϣϯͷந৅Խ͕៉ྷ QLHEPNBJOFOUJUZNBTUFSDBSEHFOHPϚελߏ଄ମ QLHEPNBJOSFQPTJUPSZNBTUFSDBSEHFOHP.Z42-ૄ௨*' QLHJOGSBNZTRMSFQPTJUPSZDBSEHFOHP.Z42-ૄ௨*'࣮૷ $MPVE42- ʻϚελʔσʔλʼ
  4. ੜ੒ίʔυϚελσʔλ .Z42- ϚελόϦσʔγϣϯ "ENJO ϚελʔΩϟογϡ ΦϯϝϞϦ ɾ؅ཧը໘ͰϚελ৘ใͷόϦσʔγϣϯΛ࣮ߦͰ͖Δ ɹɹɾ໊લ͕௕͗͢ͳ͍͔ ɹɹɾ',ઌͷϚελ͸ଘࡏ͍ͯ͠Δ͔ ɾHPQMBZHSPVOEWBMJEBUPSΛ࢖༻͠

    ɹQSPUPͷLFZWBMVFͰࢦఆͰ͖Δ ɾ',৘ใ͸ϚελҰཡը໘ͷKVNQػೳͳͲʹ΋࢖ΘΕΔ $MPVE3VO ʻ؅ཧը໘ʼ QLHEPNBJOFOUJUZNBTUFSDBSEHFOHPϚελߏ଄ମ ؅ཧը໘ϚελόϦσʔγϣϯ ؅ཧը໘ϚελҰཡ QSPUPFOUJUZNBTUFSDBSEQSPUP
  5. ੜ੒ίʔυϚελσʔλ .Z42- ϚελόϦσʔγϣϯ "ENJO ϚελʔΩϟογϡ ΦϯϝϞϦ .Z42-ʹ͋ΔϚελσʔλΛαʔόʔىಈ࣌ʹΩϟογϡ͠ *'ӽ͠ʹಡΈऔΓ͕Ͱ͖Δঢ়ଶʹͳΔ·Ͱࣗಈੜ੒͞ΕΔɻ QLHEPNBJOFOUJUZNBTUFS@DBDIFDBSEHFOHPΧʔυϚελʔΩϟογϡߏ଄ମ $MPVE3VO

    ʻήʔϜ"1*ʼ QLHJOGSBJONFNPSZNBTUFS@DBDIFSFQPTJUPSZDBSEHFOHPΧʔυϚελʔΦϯϝϞϦΩϟογϡૢ࡞*'࣮૷ QLHEPNBJOSFQPTJUPSZNBTUFS@DBDIFDBSEHFOHPΧʔυϚελʔΦϯϝϞϦΩϟογϡૢ࡞*' ࣮ࡍʹ͸HPCΤϯίʔσΟϯά͞Εͨ$MPVE4UPSBHFΛಡΈΩϟογϡม׵͢Δɻ ม׵ϩδοΫ౳΋ࣗಈੜ੒ͳͨΊɺ"1*։ൃͰNBTUFS@DBDIFҎ֎Λؾʹ͢Δ͜ͱ͸ͳ͍
  6. ·ͱΊQSPUPCVGେ౷Ұཧ࿦ ੜ੒෺Ұཡʜ ɾϚελσʔλʢ.Z42-ΦϯϝϞϦʣ ɾϢʔβʔσʔλʢ4QBOOFSʣ ɾ3BOLJOHʢ3FEJTʣ ɾ31$ʢCVGDPOOFDUʣ ɾσόοάίϚϯυʢBENJOʣ ɾ؀ڥม਺ ɾ#BUDIʢDPCSB$-*ʣ ɾ-PHʢ#JH2VFSZʣ

    ͳͲͳͲʜ ɾ࣍ιʔε͸QSPUPCVGͷΈ ɾએݴతʹ؅ཧͰ͖Δ΋ͷ͸શͯࣗಈੜ੒ର৅ʹͯ͠Δ ˠ ΋͏ఆܕจΛϨϏϡʔ͢Δඞཁ͸ͳ͍͠ɺ ٯʹఆ͚ٛͩΛϨϏϡʔʹग़͢͜ͱ͕Ͱ͖Δɻ ·ͨɺఆܕจͰώϡʔϚϯΤϥʔΛى͜͢͜ͱ΋ͳ͍ɻ ˠ͍ͬͺ͍ੜ੒͍ͯͯͬͯ͢͠͝ίϝϯτ଴ͬͯ·͢ʂ