Share
Embed
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
■資料について
2026年1月27日のForkwell Library #118での登壇資料です。
https://forkwell.connpass.com/event/379530/
■共同発表者
・浅野 純季(https://x.com/nash_efp)
・田中 冬馬(https://x.com/fuyu_quant)
・栁 泉穂(https://x.com/suikabar_umai)
■書籍リンク
https://gihyo.jp/book/2025/978-4-297-15100-3
■関連リンク
時間内に拾いきれなかったQAにお答えしました!
https://note.com/nash_efp/n/nfeeac1cbf062
nash_efp
January 27, 2026
Transcript
83 slides
-
ࢼߦࡨޡͷ݁থΛ1ʹɻஶऀ͕ղઆ ઌഐσʔλαΠΤϯςΟετ͔Βͷࢦೆॻ Junki Asano / Toma Tanaka / Mizuho Yanagi
2026/1/27 Forkwell Library #118 -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 1ষɿ࣮Ͱੜ͖ൈͨ͘ΊͷΤϯδχΞϦϯάεΩϧ 2ষɿڥߏங 3ষɿίʔυͷ࣭ཧ 4ষɿσʔλͷ࣭֬ೝ 5ষɿػցֶशϞσϧͷ࣮ݧཧ 6ষɿϓϩτλΠϓ։ൃ 2 ઌഐσʔλαΠΤϯςΟετ͔Βͷࢦೆॻʢٕज़ධࣾ; 2025ʣ ࣮ફతͳΤϯδχΞϦϯάεΩϧΛ·ͱΊͨॻ੶Λࣥච͠·ͨ͠ʂ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 3 ࣗݾհ ઙ ७قʢ@nash_efpʣ גࣜձࣾϒϨΠϯύου σʔλαΠΤϯςΟετ ాத ౙഅʢ@fuyu_quantʣ ىۀՈʢʁʣ 㛲 ઘึʢ@suikabar_umaiʣ גࣜձࣾλΠϛʔ σʔλαΠΤϯςΟετ 2019 2022 2025 ϒϨΠϯύου ʹೖࣾ λΠϛʔʹೖࣾ LLMΞϓϦέʔγϣϯ ։ൃͳͲ ϒϨΠϯύου ʹೖࣾ ϒϨΠϯύου ʹೖࣾ લ৬Ͱ DSʹͳΔ ϓϩδΣΫτϚωδϝϯτ σʔλϚωδϝϯτ ੳɺޮՌݕূͳͲ ىۀ४උͱ ݚڀ׆ಈ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved ຊൃදʹ͍ͭͯ 4 ຊൃදΛ௨ͯ͠ɺॻ੶ͷ֓ཁΛ௫Ή͜ͱ͕Ͱ͖Δ ※ ৄࡉͳղઆͱϋϯζΦϯͰֶͿʹɺͥͻॻ੶Λ͓ങ͍ٻΊ͍ͩ͘͞ʂ σʔλαΠΤϯςΟετ͕ ࣮ͰٻΊΒΕΔΤϯδχΞϦϯάεΩϧΛɺ ॻ੶ͷ༰Λͱʹࣥචऀຊਓ͕ղઆ ͓͑͢Δ͜ͱ ͝རӹ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 5 ͲΜͳॻ੶ʁ ࣥචऀ͕ͨͪࣗʮͬͱૣ͓͖͔ͬͯͨͬͨ͘ʯΛ·ͱΊͨҰ ैདྷͷॻ੶Ͱ͋·Γ৮ΕΒΕͯ͜ͳ͔ͬͨ σʔλαΠΤϯςΟετ͕ɺݱͰ໘͢Δ ۩ମతͳ՝ ʹରԠ͢ΔͨΊͷεΩϧʹಛԽ ຊདྷͰ͋Εɺ ࣮Ͱ2ʙ3͔͚ͯͬ͘͡Γഓ͏Α͏ͳݟΛɺ ͜ͷҰͰΩϟονΞοϓͰ͖Δ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 6 QAΛืू͍ͯ͠·͢ʂ ڞײͷίϝϯτେܴͰ͢ʂ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved ࣍ 8 ୈ4ষɹσʔλͷ࣭֬ೝ ɹ4.1ɹσʔλͷ࣭֬ೝͷॏཁੑ ɹ4.2ɹੳ։࢝લͷσʔλ֬ೝ ɹ4.3ɹPanderaʹΑΔσʔλϑϨʔϜͷόϦσʔγϣϯ ɹ4.4ɹσʔλ࣭ཧͷܧଓతͳऔΓΈ ୈ5ষɹػցֶशϞσϧͷ࣮ݧཧ ɹ5.1ɹ࣮ݧཧͷҙٛ ɹ5.2ɹHydraʹΑΔύϥϝʔλཧ ɹ5.3ɹMLflowʹΑΔ࣮ݧͷൺֱ ୈ6ষɹϓϩτλΠϓ։ൃ ɹ6.1ɹϓϩτλΠϓ։ൃͷҙٛ ɹ6.2ɹStreamlitʹΑΔϓϩτλΠϓ։ൃ ୈ1ষɹ࣮Ͱੜ͖ൈͨ͘ΊͷΤϯδχΞϦϯάεΩϧ ɹ1.1ɹσʔλαΠΤϯςΟετΛऔΓר͘ڥͷมભ ɹ1.2ɹϓϩδΣΫτͰٻΊΒΕΔΤϯδχΞϦϯάεΩϧ ୈ2ষɹڥߏங ɹ2.1ɹੳͷͱͯ͠ͷڥߏங ɹ2.2ɹϦϙδτϦͷߏΛ͑Δ ɹ2.3ɹVS CodeͰͷ։ൃڥͷඋ ɹ2.4ɹDev Container ʹΑΔԾڥߏங ɹ2.5ɹuv ʹΑΔύοέʔδཧ ୈ3ষɹίʔυͷ࣭ཧ ɹ3.1ɹNotebook͚ͩͷσʔλαΠΤϯςΟετ͔Βͷଔۀ ɹ3.2ɹίʔυ࣭ͱ ɹ3.3ɹ࣭ͷߴ͍ίʔυͱͦͷ࣮ݱํ๏ ɹ3.4ɹίʔυϨϏϡʔʹΑΔ࣭ཧ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 10 ϓϩδΣΫτͰ ͜͏͍͏͜ͱ͋Γ·ͤΜ͔ʁ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 11 PoCྃʂʁ Αʔ͠ʂ ݂ͷʹ͡Ήࢼߦࡨޡͷɺ͍͍ײ͡ͷϞσϧ͕Ͱ͖ͨͧʂ ϓϩδΣΫτϝϯόʔʹڞ༗͠Α͏ʂ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 12 ΈΜͳͰ͜ͷϞσϧΛ͓͏ʂ ͍͍ײ͡ͷϞσϧ͕Ͱ͖ͨͷͰɺ ݟ͍ͯͩ͘͞ʔʂ ͍͍Ͱ͢Αʔ ϓϩδΣΫτͷ ϝϯόʔ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 13 ଟ༷ੑͷ࣌ ࢲͷڥͰಈ͖·ͤΜͶ... ͕ʔΜ... -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 14 ҼՌԠใ ࠶ݱͰ͖ͳ͍ͷͰɺӡ༻ʹ ͤΔͷҰۤ࿑Ͱ͢Ͷ... ͱ΄΄... -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 15 దͳڥߏங͕Ͱ͖͓ͯΒͣ ࡞ͨ͠ίʔυͷ࠶ݱੑ͕ͳ͍ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 16 ʮڥߏஙʯͷ՝ͱ͋Δ͖࢟ ▪ ͋Δ͖࢟ PoCʹͯڥΛߏங͢Δ࣌Ͱɺӡ༻Λݟਾ ͑ͨ࠶ݱੑΛ୲อ͢Δ 2ষʮڥߏஙʯ ʹͯղઆ ▪ ࣮ͰΑ͋͘Δ՝ దͳڥߏங͕Ͱ͖͍ͯͳ͍ͨΊɺ ίʔυͷ࠶ݱੑ͕ͳ͍ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 17 ΄͔ʹ͜͏͍͏͜ͱ ͋Γ·ͤΜ͔ʁ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 18 σʔλαΠΤϯςΟετ͕࣮Ͱ໘͢Δ՝ ʮͱʹ͔͘ಈ͚Α͍ʯͰ ॻ͍ͨίʔυʹޙ͔Βۤ͠Ή ࣮Ͱѻ͏σʔλͷɺ༧ظͤ͵ όάܽଛʹۤ࿑͢Δ ࢼߦࡨޡΛ͢Δɺ্ख͍ͬ͘ ͨաڈͷ݁ՌΛ࠶ݱͰ͖ͳ͍ ੳ݁ՌϞσϧ͕ ҙࢥܾఆ·Ͱ݁ͼ͔ͭͳ͍ ରԠํ๏Λ֤ষͰղઆ 3ষɿίʔυͷ࣭ཧ 4ষɿσʔλͷ࣭֬ೝ 5ষɿػցֶशϞσϧͷ࣮ݧཧ 6ষɿϓϩτλΠϓ։ൃ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 19 ͳͥ͜͏͍ͬͨ͜ͱ͕ ى͜Δͷ͔ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 20 ʮ࣮ͰॳΊͯ໘͢Δ՝ʯ͕ൃੜ͢ΔݪҼ σʔλαΠΤϯςΟετ͕ εΩϧΛशಘ͢Δϓϩηε σʔλαΠΤϯεϓϩδΣΫτ ಛ༗ͷ͠͞ ίʔυͷ࣭ӡ༻ཧΛݟਾ࣮͑ͨ ΛֶͿ༏ઌॱҐ͕͍ ·ͣʮཧΛਖ਼࣮͘͠Ͱ͖Δ͜ͱʯ ͕༏ઌ͞ΕΔ ଟ͘ͷσʔλαΠΤϯςΟετ͕ॳΊʹֶͿ͜ͱ લॲཧϞσϧߏஙɺͦΕΒΛNotebookͰ࣮ߦ ࢼߦࡨޡ͕લఏʹ͋Γɺෆ࣮֬ੑ͕ߴ͍ ݩσʔλʹෆඋ͕͋ͬͨΓɺޡͬͨ݁ՌΛ ग़ྗͯ͠ΤϥʔʹͳΒͳ͍ ग़ྗͨ݁͠ՌΛҙࢥܾఆαʔϏεʹ ద༻͢ΔͨΊʹɺॲཧ͕ඞཁͰ͋Δ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved ֤ষͰରԠࡦΛղઆ 21 ୈ4ষɹσʔλͷ࣭֬ೝ ɹ4.1ɹσʔλͷ࣭֬ೝͷॏཁੑ ɹ4.2ɹੳ։࢝લͷσʔλ֬ೝ ɹ4.3ɹPanderaʹΑΔσʔλϑϨʔϜͷόϦσʔγϣϯ ɹ4.4ɹσʔλ࣭ཧͷܧଓతͳऔΓΈ ୈ5ষɹػցֶशϞσϧͷ࣮ݧཧ ɹ5.1ɹ࣮ݧཧͷҙٛ ɹ5.2ɹHydraʹΑΔύϥϝʔλཧ ɹ5.3ɹMLflowʹΑΔ࣮ݧͷൺֱ ୈ6ষɹϓϩτλΠϓ։ൃ ɹ6.1ɹϓϩτλΠϓ։ൃͷҙٛ ɹ6.2ɹStreamlitʹΑΔϓϩτλΠϓ։ൃ ୈ1ষɹ࣮Ͱੜ͖ൈͨ͘ΊͷΤϯδχΞϦϯάεΩϧ ɹ1.1ɹσʔλαΠΤϯςΟετΛऔΓר͘ڥͷมભ ɹ1.2ɹϓϩδΣΫτͰٻΊΒΕΔΤϯδχΞϦϯάεΩϧ ୈ2ষɹڥߏங ɹ2.1ɹੳͷͱͯ͠ͷڥߏங ɹ2.2ɹϦϙδτϦͷߏΛ͑Δ ɹ2.3ɹVS CodeͰͷ։ൃڥͷඋ ɹ2.4ɹDev Container ʹΑΔԾڥߏங ɹ2.5ɹuv ʹΑΔύοέʔδཧ ୈ3ষɹίʔυͷ࣭ཧ ɹ3.1ɹNotebook͚ͩͷσʔλαΠΤϯςΟετ͔Βͷଔۀ ɹ3.2ɹίʔυ࣭ͱ ɹ3.3ɹ࣭ͷߴ͍ίʔυͱͦͷ࣮ݱํ๏ ɹ3.4ɹίʔυϨϏϡʔʹΑΔ࣭ཧ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 22 ͍࣮͟ʹऔΓΜͰࢥͬͨ͜ͱ ࠷ॳ͔ΒͪΌΜͱڥ ߏஙΛ͓͔ͯ͠ͳ͖Ό ίʔυ៉ྷʹ ॻ͘ͷେࣄͩͳ ࣮ࡍͷσʔλΛ৮Δͱ͖ ؾΛ͚Δ͜ͱ͕ଟ͍ͳ MLϞσϧͷ࣮ݧཧΛ ͪΌΜͱ͠ͳ͍ͱ ੳ݁ՌΛͬͯ Β͏ͷ͍͠ͳ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 23 ͍࣮͟ʹऔΓΜͰࢥͬͨ͜ͱ ੳػցֶशͷख๏ΛֶͿ͜ͱ େࣄ͚ͩΕͲɺ࣮ͰֶͿ͜ͱଟ͍ͳ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 24 ͍࣮͟ʹऔΓΜͰࢥͬͨ͜ͱ ΈΜͳࠔ͍ͬͯΔ͔ͣͩΒ ࣮ͰֶΜͩ͜ͱΛ·ͱΊͯॻ੶ʹ͠Α͏ʂ ୈ1ষɹ࣮Ͱੜ͖ൈͨ͘ΊͷΤϯδχΞϦϯάεΩϧ ɹ1.1ɹσʔλαΠΤϯςΟετΛऔΓר͘ڥͷมભ ɹ1.2ɹϓϩδΣΫτͰٻΊΒΕΔΤϯδχΞϦϯάεΩϧ ୈ2ষɹڥߏங ɹ2.1ɹੳͷͱͯ͠ͷڥߏங ɹ2.2ɹϦϙδτϦͷߏΛ͑Δ ɹ2.3ɹVS CodeͰͷ։ൃڥͷඋ ɹ2.4ɹDev Container ʹΑΔԾڥߏங ɹ2.5ɹuv ʹΑΔύοέʔδཧ ୈ3ষɹίʔυͷ࣭ཧ ɹ3.1ɹNotebook͚ͩͷσʔλαΠΤϯςΟετ͔Βͷଔۀ ɹ3.2ɹίʔυ࣭ͱ ɹ3.3ɹ࣭ͷߴ͍ίʔυͱͦͷ࣮ݱํ๏ ɹ3.4ɹίʔυϨϏϡʔʹΑΔ࣭ཧ ୈ4ষɹσʔλͷ࣭֬ೝ ɹ4.1ɹσʔλͷ࣭֬ೝͷॏཁੑ ɹ4.2ɹੳ։࢝લͷσʔλ֬ೝ ɹ4.3ɹPanderaʹΑΔσʔλϑϨʔϜͷόϦσʔγϣϯ ɹ4.4ɹσʔλ࣭ཧͷܧଓతͳऔΓΈ ୈ5ষɹػցֶशϞσϧͷ࣮ݧཧ ɹ5.1ɹ࣮ݧཧͷҙٛ ɹ5.2ɹHydraʹΑΔύϥϝʔλཧ ɹ5.3ɹMLflowʹΑΔ࣮ݧͷൺֱ ୈ6ষɹϓϩτλΠϓ։ൃ ɹ6.1ɹϓϩτλΠϓ։ൃͷҙٛ ɹ6.2ɹStreamlitʹΑΔϓϩτλΠϓ։ൃ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 26 ଟ͘ͷॻ੶Ͱʮڥߏஙʯ 10ϖʔδఔ ຊॻͰɺϓϩδΣΫτΛ ޭʹಋͨ͘Ίͷج൫ͱߟ͑ 38ϖʔδʹΘͨΓղઆ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 27 ڥߏஙͷॏཁੑ దͳڥߏஙΛߦ͏͜ͱͰɺτϥϒϧʹΘΕΔ͜ͱͳ͘ՁΛੜΈग़͢ۀʹઐ೦Ͱ͖Δ దͰͳ͍ڥߏங దͳڥߏங • ಉ͡ίʔυͰҟͳΔڍಈʹͳΔ • νʔϜͰͷ࿈ܞ͕εϜʔζʹਐ·ͳ͍ • ࠶ݱੑ͕֬อ͞Εੳͷ৴པੑ্͕ • ແବͳτϥϒϧΛݮΒ͠ɺຊ࣭తͳۀ ʹઐ೦Ͱ͖Δ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 28 • ϦϙδτϦߏ • ڥߏஙʹ༻͍ΔπʔϧʢDev Containerɺuvʣ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 29 • ϦϙδτϦߏ • ڥߏஙʹ༻͍ΔπʔϧʢDev Containerɺuvʣ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 30 ϦϙδτϦߏΛ͑ΔϝϦοτ దͳϦϙδτϦߏʹ͢Δ͜ͱͰνʔϜͰͷ࿈ܞظతͳӡ༻͕͘͢͠ͳΔ શମ૾ͷཧղ͕༰қ ϓϩδΣΫτͷશମ૾ߏΛѲ͘͢͠ͳΓೝࣝͷڞ ༗͕εϜʔζʹͳΔ νʔϜ։ൃͷ୲͕͍͢͠ ࣮ͷൣғ͕໌֬ʹͳΓɺมߋ࣌ͷίϯϑϦΫτ͕ ੍Ͱ͖Δ อकɾ֦ு͕͍͢͠ ༷มߋػೳՃͷࡍʹॊೈʹରԠͰ͖ΔͨΊɺٕज़ తෛ࠴ͷੵΛආ͚ΒΕΔ ࣗಈԽπʔϧͷಋೖɾӡ༻͕͍͢͠ CI/CDπʔϧͳͲΛಋೖ͘͢͠ӡ༻ޮΛߴΊΒΕΔ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 31 ຊॻͰհ͍ͯ͠ΔϦϙδτϦߏ ຊॻͰσʔλαΠΤϯεϓϩδΣΫτʹऔΓ Ή্Ͱɺ൚༻త͔ͭѻ͍͍͢σΟϨΫτϦ ߏͷ࣮Λ༻ҙ͠·ͨ͠ɻ ※ ֤ϑΥϧμʔͷׂʹ͍ͭͯॻ੶Ͱৄ͘͠ղઆ͓ͯ͠Γ ·͢ͷͰɺͥͻ͝ࢀর͍ͩ͘͞ɻ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 32 • ϦϙδτϦߏ • ڥߏஙʹ༻͍ΔπʔϧʢDev Containerɺuvʣ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 33 Dev Container Dev ContainerͱVS Codeͷ֦ுػೳͰ͋ΓɺDockerίϯςφΛͬͯ։ൃڥΛߏங͢ΔΈͰ ͢ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 34 Dockerʹ͍ͭͯ DockerΞϓϦέʔγϣϯ͕ಈ࡞͢ΔͷʹඞཁͳڥΛҰͭʹ·ͱΊɺཧɾ͢ΔͨΊͷԾԽ ٕज़Ͱ͢ ҎԼͷಛʹΑΓ࠶ݱੑͷߴ͍ڥ͕࡞ΕΔ • OSϨϕϧ͔ΒڥΛ࡞Ͱ͖Δ • OSͷઃఆґଘؔΛҰͭʹ·ͱΊΒΕΔ • DockerfileʹΑΔڥߏஙखॱͷίʔυԽ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 35 Dev ContainerʹͰ͖Δ͜ͱ ։ൃ࣌ͷ࣮ߦڥVSCodeͷઃఆΛڞ௨ԽͰ͖Δ VSCodeͷઃఆ • ϦϯλʔϑΥʔϚολʔͷઃఆͳͲΛڞ௨Խ VSCodeͷ֦ுػೳ • ϓϩδΣΫτશମͰڞ௨ར༻͢Δ֦ுػೳΛઃఆ VSCodeͷσόοΨͷઃఆ • ։ൃऀؒͰڞ௨ͷσόοάڥΛ࡞Ͱ͖Δ ࣮ߦڥͷڞ௨Խ VSCodeͷઃఆͷڞ௨Խ OSϨϕϧ͔Βڞ௨ͷ࣮ߦڥΛ࡞ Ͱ͖Δ OSͷڞ௨Խ ඞཁͳݴޠπʔϧͷڞ௨Խ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 36 uv • ۙ͞Ε͍ͯΔPythonͷύοέʔδͱ ԾڥΛ౷߹తʹѻ͏πʔϧ • RustͰඇৗʹߴ ◦ ཧ͢Δύοέʔδ͕ଟ͘ͳͬͯշదʂ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 37 ύοέʔδϚωʔδϟͷൺֱ uvύοέʔδཧػೳҎ֎ʹଟ͘ͷػೳΛ༗͓ͯ͠ΓɺඇৗʹߴͰಈ࡞͢Δ πʔϧ ಛ pip ࠷جຊతͳύοέʔδΠϯετʔϥ Pythonͷඪ४ػೳͱͯ͠ར༻Մೳ Poetry ύοέʔδཧ͚ͩͰͳ͘ɺԾڥཧɾґଘؔΛࣗಈͰղ ܾɾύοέʔδެ։ͳͲͷػೳඋΘ͍ͬͯΔ uv PoetryͷػೳΛΧόʔ RustͰඇৗʹߴʢpipͷ10~100ഒߴʣ ※ uvόʔδϣϯ͕0.9.27(2026/1/27)Ͱϝδϟʔόʔδϣϯ͕0Ͱ͋ΔͨΊϓϩδΣΫτͰ͏߹ʹҎԼͷՄೳੑʹҙ͢Δඞཁ͕͋Γ·͢ɻ ▪ ҆ఆੑ͕อূ͞Ε͍ͯͳ͍ ▪ ϦϦʔε४උલ ▪ ະ·ͨࢼݧతͳར༻ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 38 uvʹͰ͖Δ͜ͱ uvPython։ൃʹ͓͍ͯॏཁͱͳΔҎԼͷػೳΛඋ͍͑ͯΔ Pythonύοέʔδͷཧ ཧ͍ͯ͠ΔPythonύο έʔδPythonͷόʔδ ϣϯΛඥ͚ͮͨɺԾ ڥΛ࡞Ͱ͖Δ ։ൃͨ͠ίʔυΛPythonύ οέʔδͷܗࣜʹ·ͱΊ PyPI(Pythonͷύοέʔδ ڞ༗αʔϏε)ʹอଘ͢Δ ͜ͱ͕Ͱ͖Δ Ծڥͷߏங Pythonͷόʔδϣϯཧ Pythonύοέʔδͷ࡞ ɹɹɹ3.11 ɹɹɹ3.12 ෳͷPythonͷόʔδϣ ϯΛཧ͢Δ͜ͱ͕Ͱ͖ Δ ཧ ɾ ɾ ɾ PythonύοέʔδΛόʔ δϣϯΛࢦఆͯ͠ཧ͢ Δ͜ͱ͕Ͱ͖Δ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 40 • Notebook vs Python Script • ࣭ͷߴ͍ίʔυͱͦͷ࣮ݱํ๏ • ίʔυϨϏϡʔʹΑΔ࣭ཧ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 41 • Notebook vs Python Script • ࣭ͷߴ͍ίʔυͱͦͷ࣮ݱํ๏ • ίʔυϨϏϡʔʹΑΔ࣭ཧ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 42 σʔλαΠΤϯςΟετʹٻΊΒΕΔՁͷมԽ ٻΊΒΕΔׂ͕มԽ͠Notebook͚ͩͰՁΛग़͠ʹ͍͘ঢ়گʹͳͬͨ Notebookͷݶք • ࣮ݧతͳίʔυͱ൛ίʔυͷࠞࡏ • ߏԽͷ͠͞ͱίʔυͷෳࡶԽ • νʔϜ։ൃGitཧͷ͠͞ • σʔλͷ୳ࡧੳ • PoC • ۀϨϕϧͰͷ։ൃ • ظతͳӡ༻ ࠓ·ͰٻΊΒΕ͍ͯͨεΩϧ ՃͰٻΊΒΕΔεΩϧ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 43 ͳͥ͜͏͍ͬͨ͜ͱ͕ ى͜Δͷ͔ “Notebook͚ͩ”ͷ σʔλαΠΤϯςΟετ͔Β ଔۀ͠Α͏ ॻ੶ͷཪςʔϚ ʹͳ͍ͬͯ·͢ʂʂ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 44 Notebook vs Python Script NotebookͱPython Scriptͷదͨ͠༻్Λཧղ͍͚͠Δ͜ͱ͕ॏཁ VS ϝϦοτ • ΠϯλϥΫςΟϒʹѻ͑ɺࢼߦࡨޡΛ܁Γฦ͍͢͠ దͨ͠༻్ • ୳ࡧతσʔλੳ • σʔλͷՄࢹԽ • εϐʔυ͕ٻΊΒΕΔΞυϗοΫͳରԠ Notebook ϝϦοτ • ࠶ݱੑ͕ߴ͍ • όʔδϣϯཧ͕͍͢͠ • ίʔυશମͷߏԽ࠶ར༻͕༰қ దͨ͠༻్ • σʔλલॲཧ • ػցֶशϞσϧͷ։ൃ • ϓϩτλΠϓ։ൃ Python Script -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 45 Python Interactive Window Python Interactive WindowͷެࣜυΩϡϝϯτɿ https://code.visualstudio.com/docs/python/jupyter-support-py • VS Code্ͰPython ScriptΛNotebookͷ Α͏ʹ෦తʹ࣮ߦͰ͖Δػೳ • ʮ# %%ʯΛ͚Δ͚ͩͰ؆୯ʹར༻Ͱ ͖Δ ※ PythonͱJupyterͷ֦ுػೳͷΠϯετʔϧ͕ඞཁͰ͢ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 46 • Notebook vs Python Script • ࣭ͷߴ͍ίʔυͱͦͷ࣮ݱํ๏ • ίʔυϨϏϡʔʹΑΔ࣭ཧ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 47 σʔλαΠΤϯςΟετ͕ҙ͖ࣝ͢ίʔυ࣭ Correct Clear Concise ਖ਼֬Ͱ͋Δ͜ͱ ໌֬Ͱ͋Δ͜ͱ ؆ܿͰ͋Δ͜ͱ ى͞ΕΔৼΔ͍ͱ ࣮ࡍͷڍಈͱͷ߹ੑ ୭͕ಡΜͰ ཧղͰ͖ΔΘ͔Γ͢͞ όάΛຒΊࠐ·ͳ͍ Α͏ͳγϯϓϧ͞ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 48 ؔΛ࣮͢Δ্ͰؾΛ͚ͭΔ؍ ؔΛ࣮͢Δࡍ ࢀরಁաੑɾ෭࡞༻ͷഉআɾؔͷେ͖͞ ʹҙ ؍ ຬ͖ͨ݅͢ ҧ͢Δྫ ࢀরಁաੑ ಉ͡ೖྗʹରͯ͠ಉ͡ग़ྗΛฦ͢͜ͱ ҾΛհͣ͞άϩʔόϧͳઃఆ ʢֶशͳͲʣΛࢀর͍ͯ͠Δ ෭࡞༻ͷഉআ ؔͷ֎ଆͷঢ়ଶΛมߋ͠ͳ͍͜ͱ ҾͰ͞Εͨ pd.DataFrame Λؔ Ͱॻ͖͑Δʢinplace=Trueʣ ؔͷେ͖͞ ͕ؔ࣋ͭॲཧ͕େ͖͗͢ͳ͍͜ͱ ҰͭͷؔͰʮܽଛॲཧʯʮਖ਼نԽʯ ͳͲෳͷෳࡶͳॲཧΛߦ͍ͬͯΔ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 49 Ϋϥεͷجຊ Ϋϥεཚ༻ͤͣɺΦϒδΣΫτࢦΛҙ࣮ࣝͨ͠Λ৺ֻ͚Δ ΧϓηϧԽ ෦ͷσʔλΛ֎෦͔ΒӅṭ͠ ֎෦ʹରͯ͠ਖ਼͍͍͠ํʢϝιουʣ͚ͩΛఏڙ͢Δ͜ͱ ܧঝ ΫϥεͷػೳΛҾ͖ܧ͍Ͱίʔυͷ࠶ར༻ੑΛߴΊΔ͜ͱ ʢ˞ ཚ༻ʹҙʂʂʣ ϙϦϞʔϑΟζϜ ΦϒδΣΫτͷछྨʹԠͯ͡ ಉ͍͡ํͰҟͳΔৼΔ͍ߦΘͤΔ͜ͱ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved from abc import ABC, abstractmethod import lightgbm as lgb import pandas as pd from sklearn.linear_model import LinearRegression class ModelInterface(ABC): @abstractmethod # நϝιουʢܧঝ͢ΔΫϥεʹ࣮Λڧ੍͢Δʣ def train(self, X: pd.DataFrame, y: pd.Series) -> None: pass class LinearRegressionModel(ModelInterface): def __init__(self) -> None: ... def train(self, X: pd.DataFrame, y: pd.Series) -> None: ... class LightGBMModel(ModelInterface): def __init__(self, params: dict[str, Any]) -> None: ... def train(self, X: pd.DataFrame, y: pd.Series) -> None: ... 50 ϙϦϞʔϑΟζϜΛҙࣝͨ͠Ϋϥεͷ࣮ྫ ಉ͡ΠϯλʔϑΣʔεʹԊ࣮ͬͨʹΑΓ ϩδοΫΛަՄೳʹʢStrategyύλʔϯʣ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 51 σʔλαΠΤϯςΟετʹ͚ͨؔͱΫϥεͷ͍͚ ಠཱͨ͠ॲཧؔɺঢ়ଶΛ࣋ͭৼΔ͍͕ඞཁͳ߹ΫϥεΛ͏ ಛ Ϣʔεέʔε ؔ ঢ়ଶɾσʔλΛ࣋ͨͳ͍ ಠཱͨ͠ॲཧΛߦ͍͍ͨ߹ • σʔλͷલॲཧͳͲ Ϋϥε σʔλͱॲཧΛ·ͱ·Γͱͯ͠ѻ͑Δ σʔλͱૢ࡞͕ີʹབྷΈ߹͏߹ • MLϞσϧͳͲ • ΫϥεΠϯελϯεมΛ௨ͯ͠ϝιουؒʹ҉తͳґଘؔΛ࡞Γ͕ͪ • ෳͷॲཧΛ·ͱΊΔ͚ͩͰ͋ΕϞδϡʔϧԽʢ୯Ұͷ .py ʹ·ͱΊΔʣ͕༗ޮ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 52 ࣭ͷߴ͍ίʔυΛॻͨ͘Ίʹ ॻ੶Ͱίʔυ࣭ʹؔΘΔΑ͏ͳҎԼͷΑ͏ͳτϐοΫʹ৮Ε͍ͯ·͢ʂ ໋໊ ίϝϯτͷ ॻ͖ํ ίʔσΟϯάن Ruff mypy pytest -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 53 • Notebook vs Python Script • ࣭ͷߴ͍ίʔυͱͦͷ࣮ݱํ๏ • ίʔυϨϏϡʔʹΑΔ࣭ཧ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 54 σʔλαΠΤϯςΟετʹͱͬͯͷίʔυϨϏϡʔ PoC͔Β։ൃεϜʔζʹਐΉͨΊʹϨϏϡʔΛ௨࣭ͨ͠୲อ͕ॏཁ • ΦϨΦϨίʔσΟϯά • աڈʹͨ͠มߋͷ༰Λࢥ͍ग़ͤͳ͍ ίʔυϨϏϡʔ͕ͳ͍ঢ়ଶ ˚ ࣭ཧ͕ݸਓʹด͡ଐਓԽ • ίʔυͷ࣭Λݟ͢ػձ͕Ͱ͖Δ • มߋͦͷҙਤΛͰ͖Δ ίʔυϨϏϡʔ͕͋Δঢ়ଶ ̋ νʔϜͰίʔυ࣭ʹΛ࣋ͯΔ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 55 ίʔυϨϏϡʔʛϒϥϯνઓུΛऔΓೖΕΔ ܰྔͳGitHub FlowʹΑΔӡ༻Λ௨ͯ͠ίʔυϨϏϡʔΛΈࠐΉ GitHub Flow = main + featureϒϥϯνͰͷӡ༻ • mainɿ҆ఆͨ͠ίʔυϕʔε • featureɿՃ͢ΔػೳʹରԠ͢Δ࡞ۀ feature-a feature-b main -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 56 ίʔυϨϏϡʔʛϨϏϡʔͷ৺ಘ ࣗͷίʔυʹ͕ࣗΛ࣋ͭ ςετͳͲʹΑΓϩδοΫͷਖ਼֬ࣗ͞Ͱ୲อ ίϛοτɾPRͷҙਤΛ໌֬Խ͢Δ దͳཻɺίϛοτϝοηʔδ ϨϏϡΞʔͷཁͷ໌ࣔ͢Δ PRςϯϓϨʔτػೳͷ׆༻ ϨϏϡΠʔͷ৺ಘ ϨϏϡʔίϝϯτͷҙਤΛ໌֬Խ͢Δ prefixʹΑΔཁٻͷ໌ࣔʢMUST / IMOͳͲʣ ϙδςΟϒͳϑΟʔυόοΫ͢Δ ϨϏϡʔࢍͷͰ͋Δ ϨϏϡʔҎ֎ͷબࢶ࣋ͭ ྠಡձϖΞϓϩΛ௨ͨ͠εΩϧͷͮ͘Γ ϨϏϡΞʔͷ৺ಘ ϨϏϡΠʔɾϨϏϡΞʔͷํ͕ࣗͷׂΛཧղ͢Δ͜ͱ͕ॏཁ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 57 ίʔυϨϏϡʔʛνʔϜͰͷޮՌతͳӡ༻Λࢦͯ͠ ᘳʹͩ͜ΘΒͣڐ༰͢Δ QCDͷόϥϯεΛҙࣝ͢Δ ΨΠυϥΠϯΛࡦఆ͢Δ ϨϏϡΞʔɾϨϏϡΠʔͷظͱׂΛ໌ࣔ͢Δ ໎ͬͨͱ͖తʹཱͪฦΔ ͱ͖ʹϧʔϧࣗମΛม͑Δॊೈ͞Λ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved ݱͷσʔλԚ͍ 59 ଟ͘ͷݱͰσʔλ࣭ʹ͕͋ΔલఏͰੳΛਐΊΔඞཁ͕͋Δ ɾɾɾ ऩ ू Ճ ੵ σʔλൃੜ σʔλඋ σʔλੳ ˚ ଞ෦ͷྖҬɺׯবͮ͠Β͍ ̋ σʔλΛ৮ͬͯ֬ೝ DS -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved ݱͷσʔλԚ͍ 60 ଟ͘ͷݱͰσʔλ࣭ʹ͕͋ΔલఏͰੳΛਐΊΔඞཁ͕͋Δ ɾɾɾ ऩ ू Ճ ੵ σʔλൃੜ σʔλඋ σʔλੳ ˚ ଞ෦ͷྖҬɺׯবͮ͠Β͍ ̋ σʔλΛ৮ͬͯ֬ೝ DS Controllable -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 61 σʔλ࣭ͷධՁ࣠ʢࢀߟʣ ධՁ࣠ આ໌ ۩ମྫ ༗ޮੑ σʔλͷ͕ఆٛ͞ΕͨྖҬͷͱҰக͍ͯ͠Δ͔ ྸʹෛͷ͕ͳ͍͔ શੑ ඞཁͳσʔλ͕ͯ͢ଘࡏ͍ͯ͠Δ͔ ࢦఆͨ͠શظؒͷσʔλ͕ἧ͍ͬͯΔ͔ Ұ؏ੑ σʔλͷ༰ʹໃ६৯͍ҧ͍͕ͳ͍͔ ΧϥϜͷதͰʹදه༳Ε͕ͳ͍͔ ߹ੑ σʔλ͕Ϗδωεϧʔϧ੍ʹج͍ͮͯਖ਼͘͠ ͚ؔΒΕ͍ͯΔ͔ ෳςʔϒϧؒͰIDใ͕ਖ਼͘͠࿈ܞͰ͖͍ͯΔ͔ ࠷৽ੑ σʔλ͕ݱ࣮ੈքͷ࠷৽ͷঢ়ଶΛө͍ͯ͠Δ͔ ސ٬Ϛελ࠷৽ͷσʔλͰ͋Δ͔ ଥੑ σʔλύλʔϯ͕ظʹ߹க͍ͯ͠Δ͔ ྸͷ͕ײ֮ͱେ͖ͳဃ͕ͳ͍͔ Ұҙੑ ಉ࣮͡ମΛද͢σʔλ͕ɺಉ͡ςʔϒϧʹෳ ଘࡏ͍ͯ͠ͳ͍͔ ॏෳ͍ͯ͠ΔϨίʔυͳ͍͔ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 62 σʔλՃ࣌ͷ࣭୲อ σʔλͷՃ͕ҙਤͨ͠௨ΓʹߦΘΕ͍ͯΔ͜ͱΛ୲อ͢Δඞཁ͕͋Δ ੜσʔλ લॲཧ MLϞσϧ ͷֶश ΧϥϜͷͱͯ͠nullΛڐ༰Ͱ͖Δ͔ʁ ఆ͍ͯ͠ΔൣғͷΛऔ͍ͬͯΔ͔ʁ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 63 PanderaʹΑΔσʔλϑϨʔϜͷόϦσʔγϣϯ PanderaʹΑΔόϦσʔγϣϯΛ௨ͯ͠σʔλ͕ظ͢Δ੍Λຬ͍ͨͯ͠Δ͜ͱΛ୲อ͢Δ import pandera as pa from pandera.typing import DataFrame from .consts import MAX_PREDICT_DAYS from .schema import InferInputSchema, TaxiDatasetSchema @pa.check_types def preprocess_for_infer( df: DataFrame[TaxiDatasetSchema], max_predict_days: int = MAX_PREDICT_DAYS, ) -> DataFrame[InferInputSchema]: ... # dfΛdf_resultʹม͢Δॲཧ return df_result όϦσʔγϣϯͷ࣮ߦ import numpy as np import pandas as pd import pandera as pa from pandera.typing import Index, Series class TaxiDatasetSchema(pa.DataFrameModel): date: Series[np.datetime64] area: Series[pd.CategoricalDtype] num_trip: Series[int] class InferInputSchema(pa.DataFrameModel): ... εΩʔϚͷఆٛ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 64 ্ྲྀ͔Βͷվળ σʔλʹ৮Ε࣭ΛͬͱΑ͘ཧղ͍ͯ͠ΔDS͔ͩΒͦ͜ɺ࣭ͷ ࠜຊղܾʹد༩͢ΔՁ͕ߴ͍ ɾɾɾ ऩ ू Ճ ੵ σʔλൃੜ σʔλඋ σʔλੳ DS σʔλج൫νʔϜ ࣭ʹؔ͢ΔFB • σʔλج൫νʔϜͱͷܧଓతͳ࿈ܞ • σʔλͷ࣭ʹΛ࣋ͭ৫ͷ ʢ৫తͳղܾ͕ඞཁͳ͜ͱʣ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 66 5ষ ػցֶशϞσϧͷ࣮ݧཧ ࣮ݧཧ ʹ ࢼߦࡨޡΛ҆શ͔ͭޮతʹճͨ͢Ίͷϓϩηε • PoCͰࢼߦࡨޡ͕͖ͭͷ ◦ ϋΠύʔύϥϝʔλͷௐɺϓϩϯϓτνϡʔχϯάɺetc… • దͳ࣮ݧཧΛ͠ͳ͍ͱτϨʔαϏϦςΟͱ࠶ݱੑͷܽΛট͘ ◦ ʮͲ͜ʹԿΛه͔ͨ͠Θ͔Βͳ͍....ʯ ◦ ʮաڈͷ͏·͍࣮ͬͨ͘ݧઃఆΛ࠶ݱͰ͖ͳ͍....ʯ ॻ੶Ͱදతͳ࣮ݧཧπʔϧͱͯ͠ Hydra ͱ MLflow ʹ͍ͭͯհ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 67 6ষ ϓϩτλΠϓ։ൃ • σʔλαΠΤϯςΟετͷׂੳΛ௨ͯ͠ϢʔβʔʹՁΛಧ͚Δ͜ͱ • ϓϩτλΠϓϢʔβʔʹՁΛఏڙ͢ΔͨΊͷΞϓϩʔνͷҰͭ ◦ ਝͳϑΟʔυόοΫͷ֫ಘ ◦ ೝࣝᴥᴪͷϦεΫݮ ◦ ࣮ݱՄೳੑͷݕূ ◦ ҆৺ײϫΫϫΫײͷఏڙ ϓϩτλΠϓϢʔβʔʹੳ݁ՌͷՁΛಧ͚ΔͨΊͷ৽͍͠ܗ ͱͯ͠͞Ε͍ͯΔ ॻ੶ͰWebΞϓϦΛ࡞Ͱ͖ΔϑϨʔϜϫʔΫ Streamlit ʹ͍ͭͯհ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 71 ࣥචϓϩηεͷશମ૾ اըॻ࡞ ݪߘࣥච ൛ɾߍӾ ग़൛ ࣥච͢Δॻ੶ͷίϯ ηϓτΛݻΊΔϑΣ ʔζͰ͢ɻ ॻ੶ͷίϯηϓτ λʔήοτɺ۩ମ తͳষͷߏͳͲΛ اըॻͱͯ͠ཧ ͠ɺग़൛ࣾʹఏग़͠ ·͢ɻ اը͕ແࣄ௨Ε ɺࣥච࡞ۀ։࢝ Ͱ͢ɻ ਵ࣌ɺग़൛ࣾͷ୲ ऀͷํʹϑΟ ʔυόοΫΛ͖ ͭͭɺݪߘΛॻ͖ ্͛·͢ɻ ݪߘΛ࣮ࡍͷ ॻ੶ͷϨΠΞτ ʹམͱ͠ࠐΈ·͢ ʢ͜ͷ࡞ۀΛ൛ ͱݴ͍·͢ʣɻ ൛ޙࣥචऀͱ ग़൛ࣾͷؒͰෳ ճͷमਖ਼Λԟ෮ ͠ɺ࠷ऴతʹ༰ ͕fix͞Ε·͢ɻ ֬ఆͨ͠ݪߘ͕ҹ ॴೖߘ͞Εɺ ຊ͞Ε·͢ɻ ͦͯ͠ɺશࠃͷॻ ళʹຊ͞ΕΕ ͯץߦͱͳΓ· ͢ɻ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 72 ຊॻͷ߹ͷεέδϡʔϧ ࣥච༰ͷϘϦϡʔϜ࡞ۀʹ͔͚ΒΕΔϦιʔεʹΑΓ·͕͢ɺ ࠓճࣥචͨ͠ॻ੶͜ͷΑ͏ͳεέδϡʔϧͰਐΈ·ͨ͠ 20245݄ 20247݄ 20256݄ 20258݄ ʙ ʙ ʙ ͳΜ͔ͩΜͩͰɺ1Ҏ্͔͚ͯग़൛... اըॻ࡞ ݪߘࣥච ൛ɾߍӾ ग़൛ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 73 ݪߘཧGitHub ڞಉͰࣥච࡞ۀΛਐΊΔʹ͋ͨΓɺGitHubͰMarkdownܗࣜͷݪߘΛཧ ҆શʹόʔδϣϯཧ • ࢼߦࡨޡ͕༰қɺ؆୯ʹ෮ݩՄೳ • ࣥච్தʹग़൛ࣾͷϨϏϡʔ͢ΔࡍɺGit TagͰεφοϓγϣ οτΛه Pull RequestΛ௨ͨ͠ ϨϏϡʔϑϩʔͷཱ֬ • ֤ষ͝ͱʹϨϏϡʔ୲ऀΛΞαΠϯ͠ɺPRΛ௨ͯ͠ϨϏϡʔ • PRͷςϯϓϨʔτػೳGitHub ActionsʹΑΔCIͳͲͰɺ ࣥච༰Λඪ४Խ ݪߘͱαϯϓϧίʔυ Λซͤͯཧ • ίʔυͱݪߘΛҰݩཧ • ຊจͱࢀরίʔυͷ༰ͷဃΛ͗ͳ͕Βਐߦ GItHubͰͷཧʹΑΔϝϦοτ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 74 ϨϏϡʔϓϩηεͷৄࡉ 1ɿඇಉظϨϏϡʔ ֤ষͷ୲ऀͰ࣮ࢪ 2ɿಉظϨϏϡʔʢ௨শɿϫΠϫΠϨϏϡʔʣ ि1ճू·ΓɺϝϯόʔશһͰ௨ಡ ؾʹͳΔͱ͜ΖΛࢦఠ͠߹͏ ɹ 1.ͱ2.Λ܁Γฦͯ͠ϒϥογϡΞοϓ ಉظɾඇಉظͷ྆ํͰ࣮ࢪ ҹͯ͠ಡΉͱɺදݱͷҧײཧߏ ͷϛεʹؾ͖͍ͮ͢ ʢMarkdownΛը໘্ͰॎʹεΫϩʔϧͯ͠ ಡΉͱɺ͕Δʣ ݪߘ࡞ஈ֊Ͱগͳ͘ͱҰҹ͢Δ ͜ͱΛਪ ࢴ໘Ͱ֬ೝ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 75 ΄͔ʹࣥචϊϋΛϒϩάʹ·ͱΊ͍ͯ·͢ [ॳΊͯͷٕज़ॻࣥචͰֶΜ࣮ͩફϊϋ] @ suikabarʢ㛲ʣ https://zenn.dev/suikabar/articles/24fa9c2fe999f3 -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 80 2/10ʢՐʣʹτʔΫΠϕϯτΛ͠·͢ʂ@৽ڮ/ࣚཹ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 81 ΄͔ʹओ࠵Meetup͕2݄ͱ3݄ʹ͋Γ·͢ʂͥͻ͝ࢀՃ͍ͩ͘͞ʂ 20263݄5ʢʣ നۚ߭ۀMeetup Vol.22 ɹ Geoσʔλฤ ʢҐஔใ•ཧۭؒʣ 2/26ʢʣੜAIձ @͓ 3/5ʢʣനۚ߭ۀ Meetup @ຊҰஸ https://seisei-ai.connpass.com/event/378562/ https://brainpad-meetup.connpass.com/event/382273/ -
Copyright © Junki Asano / Toma Tanaka / Mizuho Yanagi
All Rights Reserved 83 ࢀߟ ࣥචऀ͕ॻ੶ʹࠐΊͨࢥ͍ΛޠͬͨΓɺಡऀ͔ΒͷԠΛࡌ͍ͤͯ·͢ʂ [ઌഐσʔλαΠΤϯςΟετ͔Βͷࢦೆॻ | ٕज़ධࣾ] https://gihyo.jp/book/2025/978-4-297-15100-3 [ʮઌഐσʔλαΠΤϯςΟετ͔Βͷࢦೆॻʯͷײ· ͱΊ - posfie] https://posfie.com/@nash_efp/p/VMShgtZ [ॻධϒϩά·ͱΊɿઌഐσʔλαΠΤϯςΟετ͔Β ͷࢦೆॻʛΞαϊ / asano] https://note.com/nash_efp/n/n344930f80766 [ʲ2025/08/27ൃചʳॻ੶ʮઌഐσʔλαΠΤϯςΟε τ͔ΒͷࢦೆॻʯΛࣥච͠·ͨ͠ʛΞαϊ / asano] https://note.com/nash_efp/n/n0d0ed1590790 [ॳΊͯͷٕज़ॻࣥචͰֶΜ࣮ͩફϊϋ] https://zenn.dev/suikabar/articles/24fa9c2fe999f3 [ʲॻ੶ग़൛ه೦ʳσʔλαΠΤϯςΟετͷʮ͜͏͍͏ ͜ͱΛڭ͑ͯཉ͔ͬͨ͠ʯΛ1ʹʂ࣮ફΛମܥԽ͠ ͨࢦೆॻͷཪଆΛࣥචਞ͕ޠΔ - Platinum Data Blog by BrainPad ϒϨΠϯύου] https://blog.brainpad.co.jp/entry/2025/09/10/150042