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
DataformでPythonする / dataform-de-python
Search
snhryt
July 27, 2025
Programming
0
230
DataformでPythonする / dataform-de-python
Dataform Meetup #1 登壇資料
https://dataform-jp.connpass.com/event/359348/
snhryt
July 27, 2025
Tweet
Share
More Decks by snhryt
See All by snhryt
マイベストのシンプルなデータ基盤の話 - Googleスイートとのつき合い方 / mybest-simple-data-architecture-google-nized
snhryt
0
140
ヤバい(わるい意味)データでヤバい(いい意味)ことしようとしている話 / yabai-yabai-data-yabai
snhryt
0
130
寿命の短いデータ分析コードにも、ちょっとだけ優しくしてあげたい話 / kindness-for-short-lifespan-codes
snhryt
1
91
【令和最新版】Python実行環境の選択肢 / Modern Python Env Management 20240628
snhryt
0
130
マテリアルズ・インフォマティクスの先端で起きていること / What's Happening at the Cutting Edge of Materials Informatics
snhryt
1
260
Other Decks in Programming
See All in Programming
問題の見方を変える「システム思考」超入門
panda_program
0
200
オフライン対応!Flutterアプリに全文検索エンジンを実装する @FlutterKaigi2025
itsmedreamwalker
2
210
AI駆動開発ライフサイクル(AI-DLC)のホワイトペーパーを解説
swxhariu5
0
930
All(?) About Point Sets
hole
0
150
AIを駆使して新しい技術を効率的に理解する方法
nogu66
1
620
AI 時代だからこそ抑えたい「価値のある」PHP ユニットテストを書く技術 #phpconfuk / phpcon-fukuoka-2025
shogogg
1
460
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
170
AsyncSequenceとAsyncStreamのプロポーザルを全部読む!!
s_shimotori
1
280
Functional Calisthenics in Kotlin: Kotlinで「関数型エクササイズ」を実践しよう
lagenorhynque
0
130
しっかり学ぶ java.lang.*
nagise
1
370
モビリティSaaSにおけるデータ利活用の発展
nealle
0
190
CloudNative Days Winter 2025: 一週間で作る低レイヤコンテナランタイム
ternbusty
4
650
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
KATA
mclloyd
PRO
32
15k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
320
Writing Fast Ruby
sferik
630
62k
Practical Orchestrator
shlominoach
190
11k
Code Reviewing Like a Champion
maltzj
527
40k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Why You Should Never Use an ORM
jnunemaker
PRO
60
9.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
370
20k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Transcript
%BUBGPSNͰ1ZUIPO͢Δ %BUBGPSN .FFUVQσʔλΤϯδχΞ ݪ༔ై
1ZUIPOͰ1ZUIPO͢Δ
%BUBGPSNͰ1ZUIPO͢Δʁ🤔 ʮ%BUBGPSN42-Ͱσʔλͷ5SBOTGPSNBUJPO͢ΔπʔϧͰ͢ΑͶʁʯ ˠ ͱͯͦ͏ ʮ͍͍ຐվԵɻ༻్ʹ͋Θͤͯπʔϧ͍͚·͠ΐ͏Ͷ͆ʯ ˠ Ͳ͔ͪΒͱ͍͑ͦ͏ ʮ͔͍ͯಓͳ͘Ͷʁʯ ˠ ͦΜͳ͜ͱͳ͍
ઌʹ͓அΓ • ॳาతͳͱ͜Ζͬ͢ඈ͍͖ͯ͠ͳΓԠ༻ͷʹೖΓ·͢🙏 • ϦϦʔε͞Ε͔ͯΒ·͕ͩઙ͍χονͳػೳͷΛ͠·͢🙏
5",&"8": ຊ͝հ͢Δ%BUBGPSNͰ1ZUIPO͢Δखஈͭ %BUBGPSNͰ1ZUIPO6%'ʢϢʔβʔఆٛؔʣΛཧ͢Δ ˠ ͓͢͢Ί˒˒˒˒ˑ %BUBGPSNܦ༝Ͱ/PUFCPPLΛఆظ࣮ߦ͢Δ ˠ ͓͢͢Ί˒ˑˑˑˑ
ࣗݾհ • ݪ༔ైʢ!TOISZUEFTVʣ • σʔλΤϯδχΞ!ϚΠϕετ ˡσʔλαΠΤϯςΟετ!ΞΠσϛʔ ˡωοτϫʔΫΤϯδχΞ!/̋5 ˡभେֶ • ຊʹਓ͙Β͍͔͍͠ͳ໊͍ࣈ
• %BUBGPSNͷढറʹनΘΕ͍ͯΔਓˠ
None
None
%BUBGPSNͰ1ZUIPO6%'Λཧ͢Δ
લఏlPQFSBUJPOTzUZQFΛ͑%BUBGPSNͰ6%'ͷཧ͕Ͱ͖Δ ௨ৗͷ%.-ͱಉ༷ʹ%BUBGPSNλάΛઃఆͨ͠͏͑ͰɺϫʔΫϑϩʔ্Ͱ%%-ͷ࣮ߦ͕Մೳ
લఏ6%'Λ1ZUIPOͰॻ͚ΔΑ͏ʹͳͬͨ ैདྷͷ42- +BWB4DSJQUʹՃͯ͠1ZUIPOͰॻ͚ΔΑ͏ʹͳͬͨ 1SF(" ͪ͜Βͷ;FOOهࣄʹ ۩ମతͳ͍ํҙΛ ·ͱΊ͍ͯ·͢
1ZUIPO6%'ͷར1ZUIPOͷ๛ͳϥΠϒϥϦ܈ʹ͔͋ΕΔ 1Z1*ʹެ։͞Ε͍ͯΔϥΠϒϥϦΛΠϯετʔϧͯ͠ར༻Մೳ ˠ 42-Ͱ࣮͕͍͠Ͱ͖ͳ͍͜ͱͰ͖ΔΑ͏ʹɻՄೳੑ 𝙄𝙉𝙁𝙄𝙉𝙄𝙏𝙔 ˡ 1ZUIPO6%'Ͱ$MPVE5SBOTMBUJPO αʔϏεΛݺͼग़ͯ͠༁ͤ͞Δྫ
ϚΠϕετͰͷ׆༻ྫ 4DJ1ZͷྗΛआΓͯɺαΫοͱ౷ܭݕఆ͕Ͱ͖Δ6%'Λ࡞ɻ%BUBGPSNͰίʔυཧ͠ɺϫʔΫϑϩʔ্Ͱߋ৽ EFGJOJUJPOTPQFSBUJPOVEGTTRMY
%BUBGPSN º 1ZUIPO6%'ࡶײ • ͚ͬ͜͏͍͍ • +BWB4DSJQU6%'ΑΓѻ͍͍͢ • ࠔΓ͝ͱ •
1ZUIPOͷίʔυࣗମͷಈ࡞֬ೝ༧ΊผͷॴͰࡁ·͓ͤͯ͘ඞཁ͕͋Δ • ίʔυΛจࣈྻͱͯ͠ཧ͢ΔͷͰɺ4ZOUBY)JHIMJHIU͕ޮ͔ͳ͍ • ͘͝كʹ6%'ͷCVJMEʹࣦഊͯ͠ɺ6%'Λࢀর͍ͯ͠ΔΫΤϦ͕ࣦഊ͢Δ͜ͱ͕͋Δ • Έ͚ͱͯ͠ɺػցֶश(FNJOJͳͲ#2.-ʹҕͶΔͷ͕Αͦ͞͏
%BUBGPSNܦ༝Ͱ/PUFCPPLΛఆظ࣮ߦ͢Δ
લఏ%BUBGPSNʹॲཧͤ͞Δલஈ֊Ͱ&YUSBDU-PBE͕ඞཁ • %BUBGPSNͰσʔλΛՃ͢ΔͨΊʹɺ#JH2VFSZ#JH2VFSZ͕ ֎෦ςʔϒϧͱͯ͠ѻ͑ΔॴʢFH($4ʣʹσʔλ͕ஔ͔Ε͍ͯΔ ඞཁ͕͋Δ • &YUSBDU-PBEͷखஈେ͖͚͘Δͱͭ • σʔλιʔεʹରԠ͢ΔϨσΟϝΠυͷίωΫλ͕͋Δ&-5πʔϧ ʢFH530$$0
'JWFUSBO "JSCZUFʣΛ͏ ˠ ଟ͘ͷέʔεͪ͜ΒͰରԠՄʹͳ͖ͬͯͨ • ࣗલͰόονΛΉ ˠ ϚΠφʔͳαʔϏεɺ"1*͕ఏڙ͞Ε͍ͯͳ͍αʔϏεґવ͜Ε͕ඞཁ
%BUBGPSNºࣗલόονͷ՝ σʔλऔಘ෦ͷ࣮ࣗମੜ"*Ͱ؆୯ʹॻ͚ΔΑ͏ʹͳ͍ͬͯΔ͕ɺ࣮֎ͷ՝͕ґવͱͯ͠Δ • όονͱ%BUBGPSN͕ؒಠཱ͘͢͠ͳΔ • -PBEʹࣦഊͨ͠ͷʹ5SBOTGPSNBUJPOΛ࣮ߦ ˠ ҙਤ͠ͳ͍ςʔϒϧͷதʹʜ • 8PSLGMPXTΛ͑ղܾ͢Δ͕ɺͦͷ߹%BUBGPSN
"1*Λୟ͘Α͏ͳ ΞʔΩςΫνϟͱͳΓɺ%BUBGPSN $MPVEͷϫʔΫϑϩʔػೳʹ͔͋Εͳ͘ͳΔ • Πϯϑϥͷཧ • (PPHMF$MPVEϢʔβʔͩͱ$MPVE3VO 'VODUJPOT º $MPVE4DIFEVMFSͰ όονΛΉέʔεଟ͍ͣ ˠ ແݶʹ૿͑ଓ͚Δ$MPVE4DIFEVMFS • ϚωʔδυίϯιʔϧΆͪΆͪͰ࡞͢Δͱӡ༻͕ͭΒ͍ • ҰํͰɺ5FSSBGPSNΛͬͯ·͡Ίͳ*B$ΛΉͷͦΕͦΕͰେม • ඞͣ͠σʔλΤϯδχΞ͕ίʔυΛॻ͘ͱݶΒͳ͍ • ֘σʔλΛ৮Δ෦ॺͷਓʹϕʔεͷ࣮Λ͍ͤͨ߹͋Δ
͋ͳ͖ͨͬͱ͜͏ࢥͬͨͣͰ͢ ʮ%BUBGPSNͰ&YUSBDU-PBEͰ͖ͨΒศརͳͷʹͳ͊ʯˣΠϝʔδ
None
None
࣮ɺ%BUBGPSN͢Ͱʹ1ZUIPOͷఆظ࣮ߦʹରԠࡁ • ॳࣖͳΜ͕ͩʂ ˠ ͦΕͦͷͣ • WͷϦϦʔε࣌ʹࡶͳϦϦʔεϊʔτͱࡶͳαϯϓϧίʔυͰ ͵ΔͬͱΒ͞ΕͯҎ߱ɺެࣜυΩϡϝϯτʹಛʹهࡌͳ͠ ˡ ϦϦʔεϊʔτͷ֘Օॴશจ
IUUQTHJUIVCDPNEBUBGPSNDPEBUBGPSNSFMFBTFTUBH ˡ ެࣜͷαϯϓϧίʔυҰࣜɻিܸͷจ3&"%.& IUUQTHJUIVCDPNEBUBGPSNDPEBUBGPSNUSFFNBJOFYBNQMFTFYUSFNF@XFBUIFS@QSPHSBNNJOH
࣮ɺ%BUBGPSN͢Ͱʹ1ZUIPOͷఆظ࣮ߦʹରԠࡁ • /PUFCPPL JQZOC ܗࣜͷ1ZUIPOίʔυ͕ର • $PMBC &OUFSQSJTFʹͱͱ/PUFCPPLͷఆظ࣮ߦػೳ͋Γ • %BUBGPSN্Ͱ1ZUIPOͷڥ͕࡞ΒΕΔΘ͚Ͱͳ͘ɺ
$PMBC &OUFSQSJTFͷ1ZUIPOϥϯλΠϜΛ࣮ͬͯߦ͢Δ ˠ ཁɺ$PMBC &OUFSQSJTFͷ8SBQQFSతͳҐஔ͚ ͷཧ /PUFCPPL
۩ମతʹ͜͏͠·͢ • $PMBC &OUFSQSJTFͰ%BUBGPSNͷ࣮ߦϩέʔγϣϯͱಉ͡ϩέʔγϣϯͰ ϥϯλΠϜςϯϓϨʔτΛ࡞͓ͯ͘͠ • XPSLGMPX@TFUUJOHTZBNM ʹ͜Μͳײ͡Ͱॻ͘ ࣮ߦޙͷ/PUFCPPLΛ
ॻ͖ग़͢($4όέοτ $PMBCͷϥϯλΠϜ ςϯϓϨʔτ
۩ମతʹ͜͏͠·͢ • EFGJOJUJPOTԼʹҎԼΛηοτͰஔ͢Δ • ࣮ߦ͍ͨ͠/PUFCPPL • BDUJPOTZBNM • ΞΫγϣϯ໊Λࢦఆͯ͠
42-ͱಉ͡ϊϦͰ࣮ߦ ˠ ಈ͖·͢🎉 EFQFOEFODZΛ ࢦఆ͢Δ͜ͱՄೳ
͔ͯ͠͠ UBHTͰϫʔΫϑϩʔͷ࣮ߦཧͰ͖Δɾɾɾͬͯίτ • ೦ͳ͕Βࠓ/P • ͨͩɺ͍ۙʹमਖ਼͞ΕͯϦϦʔε͞ΕΔΒ͍͠ ʹฦ͖ͬͯͨฦࣄ
ͨͩ͠ɺ69͕ɾɾɾ $MPVE൛ΤσΟλͰ+40/ϑΝΠϧѻ͍ ΤσΟλͰˢ͕ग़͖ͯͨͱ͖সͬͨɻ ฤू͢Δͱ͖ϩʔΧϧ %BUBGPSN $-* ɺ ࣮ߦ࣌ͷΈ%BUBGPSN $MPVEΈ͍ͨͳΈ͚͕ඞཁ ΤϥʔϋϯυϦϯά͕ͮ͠Β͍
Τϥʔৄࡉ$PMBC &OUFSQSJTFଆͷ࣮ߦϩά·Ͱ જΒͳ͍ͱݟ͑ͳ͍
%BUBGPSN º/PUFCPPLࡶײ • ͓ੈࣙʹʮΊͪΌͪ͘Ό͑Δʯͱݴ͑ͳ͍ • ͔ͭɺݱঢ়ͷվमεϐʔυΛݟΔݶΓɺ೦ͳ͕Β͙͢ʹվળ͞ΕΔ ݟࠐΈബ͍ؾ͕͍ͯ͠Δɾɾɾ • ͦΕͰɺ͜ΜͳέʔεͰྗΛൃشͦ͠͏ •
σʔλΤϯδχΞҎ֎͕࣮ݧతʹॻ͍ͨίʔυΛྲྀ༻ͯ͠ɺͱʹ͔͘༏ઌͰ σʔλ࿈ܞ͍ͨ͠ͱ͖ ˠ $PMBC &OUFSQSJTFͰ/PUFCPPLΛεέδϡʔϧ࣮ߦ͢ΔΑΓɺ %BUBGPSNܦ༝ʹͨ͠΄͏͕͍উख͕͍͍ʢϚγʣ • (16ΠϯελϯεͰόονΛಈ͔͢ඞཁ͕͋Δͱ͖
$PODMVTJPO
·ͱΊ %BUBGPSNͰ1ZUIPO͢Δͤ͞ΔखஈΛͭ͝հ͠·ͨ͠ %BUBGPSNͰ1ZUIPO6%'ʢϢʔβʔఆٛؔʣΛཧ͢Δ ˠ ͓͢͢Ί˒˒˒˒ˑ ΘΓͱԠ༻ޮ͘ͱࢥ͍·͢ʂ1SF("ͷʹҙ %BUBGPSNܦ༝Ͱ/PUFCPPLΛఆظ࣮ߦ͢Δ ˠ
͓͢͢Ί˒ˑˑˑˑ 0QT؍Ͱѻ͍ͮΒ͍ͷͰ͋·Γ͓͢͢ΊͰ͖ͳ͍ɻUBHTʹظ
࠷ޙʹએ • σʔλαΠΤϯςΟετɾσʔλΤϯδχΞ྆৬छͱʹੵۃืूதͰ͢ • %4νʔϜʹͯ/PUFϚΨδϯΛ͍͍݄ͩͨʙϖʔεͰߋ৽͍ͯ͠ΔͷͰɺ ͥͻϑΥϩʔˍ-JLFΛ͓ئ͍͠·͢ʂ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠