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
2020年度 ミクシィ新卒研修 -設計・テスト- / 2020 design test mix...
Search
rockname
April 15, 2020
Programming
0
1.5k
2020年度 ミクシィ新卒研修 -設計・テスト- / 2020 design test mixi training
2020年度の株式会社ミクシィ における新卒研修の資料です
repository:
https://github.com/mixi-inc/2020TDDTraining
rockname
April 15, 2020
Tweet
Share
More Decks by rockname
See All by rockname
Unlock the Potential of Swift Code Generation
rockname
0
350
生成AIを活用したレシート読み取り機能のアプリ開発の裏側 / AI Receipt Scan App Development
rockname
0
79
ゼロから理解するDependency Injection / Understanding Dependency Injection from the Ground Up
rockname
2
3.9k
サブスクリプション機能制御の設計における勘所
rockname
0
1.1k
Anatomy of Dynamic color
rockname
1
1.2k
キャッシュによる状態管理のアーキテクチャ / Cache-based state management architecture
rockname
10
20k
Optimistic Updatesで UXを向上させる / Improve UX with Optimistic Updates
rockname
3
1.4k
モバイルアプリのリストUIにおける 理想的なState表示について / The ideal state display in a mobile app list UI
rockname
7
2k
オンデバイスで学習可能になったCreate MLで画像分類器を作ってみた💪 / Developing an app to train an image classifier on iOS Device using Create ML
rockname
4
510
Other Decks in Programming
See All in Programming
Railsアプリケーションと パフォーマンスチューニング ー 秒間5万リクエストの モバイルオーダーシステムを支える事例 ー Rubyセミナー 大阪
falcon8823
5
1.1k
童醫院敏捷轉型的實踐經驗
cclai999
0
210
AIコーディング道場勉強会#2 君(エンジニア)たちはどう生きるか
misakiotb
1
280
deno-redisの紹介とJSRパッケージの運用について (toranoana.deno #21)
uki00a
0
180
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
890
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
1.9k
初学者でも今すぐできる、Claude Codeの生産性を10倍上げるTips
s4yuba
13
8.2k
WindowInsetsだってテストしたい
ryunen344
1
230
Is Xcode slowly dying out in 2025?
uetyo
1
250
なぜ適用するか、移行して理解するClean Architecture 〜構造を超えて設計を継承する〜 / Why Apply, Migrate and Understand Clean Architecture - Inherit Design Beyond Structure
seike460
PRO
3
740
Team topologies and the microservice architecture: a synergistic relationship
cer
PRO
0
1.2k
たった 1 枚の PHP ファイルで実装する MCP サーバ / MCP Server with Vanilla PHP
okashoi
1
220
Featured
See All Featured
Being A Developer After 40
akosma
90
590k
Building a Modern Day E-commerce SEO Strategy
aleyda
42
7.4k
Producing Creativity
orderedlist
PRO
346
40k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
Side Projects
sachag
455
42k
A Tale of Four Properties
chriscoyier
160
23k
The Language of Interfaces
destraynor
158
25k
Six Lessons from altMBA
skipperchong
28
3.9k
Statistics for Hackers
jakevdp
799
220k
How GitHub (no longer) Works
holman
314
140k
The Invisible Side of Design
smashingmag
300
51k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.4k
Transcript
ϛΫγΟ৽ଔݚम ઃܭɾςετ גࣜձࣾϛΫγΟΈͯͶࣄۀ෦ ϩΫωϜ!@SPDLOBNF
NJYJ *OD ࠓճͷݚमͷΰʔϧ w ྑ͍ઃܭ ѱ͍ઃܭΛཧղ͢Δ w ςετͷجຊతͳॻ͖ํΛཧղ͢Δ
NJYJ *OD ͳͥྑ͍ઃܭ͕ٻΊΒΕΔͷ͔ w ઃܭͷ࣭͕ྑ͚Εɺ৽͍͠ϦϦʔεͷͨͼʹඞཁͳ࿑ྗগͳ͑͘ΒΕ·͢ w ࣭͕ѱ͚ΕɺࠣࡉͳมߋͰ͑͞େྔͷϑΝΠϧ܈ʹ·͕ͨͬͯෳՕॴΛमਖ਼͠ɺͦ ͷӨڹൣғ͚ͩಈ࡞֬ೝΛ͢Δඞཁ͕͋ͬͨΓ͠·͢ w ܦӦऀࢹͰͷཁٻεϐʔυΛຬͨͤͳ͘ͳΓɺڝ߹ଞࣾͱͷ૪͍ʹഊ͢ΔҰҼʹ͢
ΒͳΓ͔Ͷ·ͤΜ
NJYJ *OD ྑ͍ઃܭΛྺ࢙ʹֶͿ w ϓϩάϥϛϯάݴޠͷύϥμΠϜҎԼͷΑ͏ͳਐԽΛ͖͛ͯ·ͨ͠ ߏԽϓϩάϥϛϯά ΦϒδΣΫτࢦϓϩάϥϛϯά
ؔܕϓϩάϥϛϯά
NJYJ *OD ߏԽϓϩάϥϛϯά w ॱ࣍ɾ෮ɾબͷ੍ޚߏʹΑͬͯϓϩάϥϜΛهड़Ͱ͖ΔΑ͏ʹ͠·ͨ͠ w ॱ্͔࣍ΒԼʹॲཧ͕࣮ߦ͞Ε͍ͯ͘ w ෮EPXIJMFͷΑ͏ʹ݅Λຬͨ͢ݶΓॲཧΛ܁Γฦ͢ w
બJGUIFOFMTFͷΑ͏ʹ݅ʹԠͯ͡ॲཧΛ͔ͭ w ࢦఆͨ͠ҙͷҐஔʹҠಈ͢ΔHPUPจΛഇࢭͯ͠ɺ্هͷ੍ޚߏΛ༻͍Δ͜ͱͰɺ ূՄೳͳϓϩάϥϛϯάͷ୯ҐΛ࡞Ͱ͖ΔΑ͏ʹ͠·ͨ͠ ʮ$MFBO"SDIJUFDUVSFୡਓʹֶͿιϑτΣΞͷߏͱઃܭʯୈষΑΓ
NJYJ *OD ΦϒδΣΫτࢦϓϩάϥϛϯά w ΦϒδΣΫτࢦݴޠ͕ొ͢ΔҎલɺϙϦϞʔϑΟζϜΛؔͷϙΠϯλʹΑͬͯද ݱ͍ͯ͠·ͨ͠ w ͔͠͠ɺʮϙΠϯλܦ༝ͰؔΛݺͼग़͢ʯͱ͍͏͜ͱΛҙࣝͯ͠ίʔυΛѻΘͳ͚Ε ͳΒͣɺඇৗʹյΕ͍͢ঢ়ଶͰͨ͠ w
ΦϒδΣΫτࢦݴޠܧঝʹΑΔ҆શͳϙϦϞʔϑΟζϜख๏ͷఏڙʹΑΓɺ͜ͷΑ͏ ͳؒతͳ੍ޚͷҠߦΛ੍͠·ͨ͠ ʮ$MFBO"SDIJUFDUVSFୡਓʹֶͿιϑτΣΞͷߏͱઃܭʯୈষΑΓ
NJYJ *OD ؔܕϓϩάϥϛϯά w ม͕࠶ೖՄೳͰ͋Δ͜ͱʹΑͬͯɺڝ߹ঢ়ଶσουϩοΫ ฒߦߋ৽ͳͲɺҙࣝ͢ ͖͕ଟ͍Ͱ͢ w ؔܕݴޠɺมʹҰೖ͞ΕͨΛෆมʹ͢Δ͜ͱͰ͜ͷΑ͏ͳΛؾʹ͢Δ ඞཁΛഉআ͠·ͨ͠
ʮ$MFBO"SDIJUFDUVSFୡਓʹֶͿιϑτΣΞͷߏͱઃܭʯୈষΑΓ
NJYJ *OD ྑ͍ઃܭΛྺ࢙ʹֶͿ w ʮԿΛ͖͢Ͱͳ͍͔ʯͱ͍͏نΛ՝͢͜ͱͰɺϓϩάϥϛϯάͷύϥμΠϜਐԽΛ ͖͛ͯ·ͨ͠ ߏԽϓϩάϥϛϯάˠHPUPจͷഇࢭ తͳ੍ޚͷҠߦʹର͢Δن
ΦϒδΣΫτࢦϓϩάϥϛϯάˠ ϙΠϯλܦ༝ʹΑΔؔݺͼग़͠ͷഇࢭ ؒతͳ੍ޚͷҠߦʹର͢Δن ؔܕϓϩάϥϛϯάˠมͷ࠶ೖͷഇࢭ ೖʹର͢Δن w نΛ੍࣋ͬͯݶ͢ΔൣғΛ͛Δ͜ͱͰɺίʔυͷՄಡੑͱอकੑΛ୲อ͖ͯͨ͠ͷͰ͢
ྑ͍ઃܭ໌ྎͳن
NJYJ *OD ΞʔΩςΫνϟʹΑΔن w ΞʔΩςΫνϟɺγεςϜʹ͓͚Δίϯϙʔωϯτಉ࢜ͷؔΛߏԽͯ͠ఆٛͨ͠ ͷͰ͢ w ֤ίϯϙʔωϯτͷؔʹରͯ͠نΛ՝͢͜ͱͰɺγεςϜͷதظతͳอकੑΛ୲อ ͠·͢ w
ྑ͍ΞʔΩςΫνϟΛߟ͑Δ্ͰɺҎԼͷͭͷํ͕ॏཁͰ͢ w ίϯϙʔωϯτؒͷґଘ॥ͤ͞ͳ͍ w ίϯϙʔωϯτΑΓ҆ఆͷߴ͍ํґଘͤ͞Δ
NJYJ *OD ίϯϙʔωϯτؒͷґଘ॥ͤ͞ͳ͍ w ίϯϙʔωϯτͷؔʹ॥ґଘ͕ଘࡏ͍ͯͨ͠ ߹ɺมߋͷӨڹൣғ͕ෆ໌ྎ͔ͭɺෳਓʹΑΔ։ ൃنͷεέʔϧ͕࣮ݱͰ͖·ͤΜ w ίϯϙʔωϯτಉ࢜ͷڥքΛ໌֬ʹܾΊͯɺґଘͷ ํΛ୯ํʹ͢Δ͜ͱ͕େͰ͢
NJYJ *OD ίϯϙʔωϯτΑΓ҆ఆͷߴ͍ํґଘͤ͞Δ w ίϯϙʔωϯτؒͷґଘͷํΛߟ͑Δࡍʹɺ҆ఆͷߴ͍ํґ ଘΛ৳͠·͢ w ҆ఆͱʮมΘΒͳ͍͜ͱʯɺݴ͍͑Εʮมߋ͠ʹ͍͘͜ͱʯΛࢦ ͠·͢ w
8FCΞϓϦέʔγϣϯͰߟ͑Δͱɺ7JFX"1*มߋͷසߴ͘ ෆ҆ఆͰ͋Δͱݴ͑·͢ w ٯʹ%#εΩʔϚͳͲҰఆٛ͢Δͱมߋ͠ʹ͍͘ͷͰ҆ఆ͕ߴ ͍ͱݴ͑ΔͰ͠ΐ͏ w มߋස͕ߴ͍ίϯϙʔωϯτʹґଘ͢ΔίϯϙʔωϯτΛগͳ͘͢Δ ͜ͱͰɺͷमਖ਼ൣғΛڱΊΔ͜ͱ͕Ͱ͖·͢
NJYJ *OD ϨΠϠʔυΞʔΩςΫνϟ w Ҏ্ͷΛߟྀͨ͠༗໊ͳΞʔΩςΫνϟͱͯ͠ɺϨΠϠʔυΞʔ ΩςΫνϟ͕ଘࡏ͠·͢ w ͷϨΠϠʔʹίϯϙʔωϯτΛ۠ΓɺґଘؔΛํʹἧ͑Δ ͷͰ͢ w
6*6*ͷϨΠΞτΛߦ͏ w ΞϓϦέʔγϣϯ6*ͷঢ়ଶཧυϝΠϯͱͷڮ͠Λߦ͏ w υϝΠϯυϝΠϯʹ͓͚ΔϏδωεϩδοΫΛ࣮͢Δ w Πϯϑϥ%#֎෦γεςϜͷΞΫηεΛߦ͏
NJYJ *OD ࠓճͷݚमʹ͍ͭͯ w ͯ͞ɺຊͷࠓճͷݚमʹ͍ͭͯͰ͢ w Έͳ͞Μʹࠓ͔Βɺ3VCZPO3BJMTʹΑͬͯ࡞ΒΕͨαϯϓϧΞϓϦέʔγϣϯʹɺ ΞʔΩςΫνϟΛద༻͠ͳ͕ΒϦϑΝΫλϦϯάͯ͠Β͍·͢ w ৄࡉIUUQTHJUIVCDPNNJYJJOD5%%5SBJOJOHͷ3&"%.&Λࢀরͯͩ͘͠
͍͞
NJYJ *OD ࠷ऴతͳΞʔΩςΫνϟ
NJYJ *OD ςετΛॻ͍ͯΈͯ w ͔ͨ͠͠Βςετʹରͯ͠ɺҎԼͷΑ͏ͳΘ͠͞Λײͨ͡ਓ͍Δ͔͠Ε·ͤΜ w ॻ͘ίʔυྔ͕୯७ʹഒ w ςετίʔυΛॻ͘ڥͷߏங อकʹίετ͕͔͔Δ
w ςετΛॻ͘͏͑Ͱඞཁͱ͞ΕΔࣝͷֶशίετ͕͔͔Δ
NJYJ *OD ͳͥςετΛॻ͘ͷ͔ w ςετΛॻ͘͜ͱʹΑͬͯಘΒΕΔԸܙΛཧղ্ͨ͠Ͱॻ͘͜ͱ͕େͰ͢ w જࡏతʹଘࡏ͢Δෆ۩߹ʹରͯ͠ૣ͍ஈ֊Ͱؾ͚Δ w ςετΛʮॻ͚ΔΑ͏ʹ࣮͢Δʯ͜ͱͰίʔυ͕៉ྷʹͳΔ w
෭࡞༻Λ࣋ͨͤͳ͍ w ґଘੑΛ෦ͰॳظԽͤͣ֎͔Β͢ w ػೳՃ मਖ਼ʹΑΓҙਤ͠ͳ͍ͱ͜ΖͰطଘ༷͕յΕͯɺςετ͕མͪΔ͜ͱʹ Αͬͯؾ͚Δ w ςετίʔυʹΑ࣮ͬͯͷ༷ΛυΩϡϝϯτԽͰ͖Δ
NJYJ *OD ͨͩ͠ w ݴޠϓϥοτϑΥʔϜʹΑͬͯςετͷॻ͘ྔવมΘΓ·͢ w ಈతܕ͚Ͱ͋ΕΓͷܕ·Ͱςετ͍ͨ͠ w ੩తܕ͚ͰίϯύΠϥʹΑͬͯࣗ໌ͳৼΔ͍ςετ͢Δඞཁͳ͍ w
ϓϩδΣΫτͷϑΣʔζํʹΑͬͯςετͷॻ͖ํมΘΓ·͢ w ϓϩτλΠϓʹରͯ͠ॏްʹςετΛॻ͘ඞཁͳ͍
NJYJ *OD ࠷ޙʹ w ࠓճ3BJMTʹΑͬͯ࡞ΒΕͨ8FCΞϓϦέʔγϣϯΛɺΞʔΩςΫνϟΛద༻ͭͭ͠5%%ͰϦϑΝ ΫλϦϯάͯ͠Β͍·ͨ͠ w ͔͠͠ɺߏԽ͞ΕͨΞʔΩςΫνϟͷಋೖ͕ඞͣ͠ਖ਼ղͰ͋ΔͱݶΓ·ͤΜ w ϏδωεతͳཁٻͰڝ߹ΑΓઌʹͱʹ͔͘ϦϦʔε͢Δ͜ͱ͕༏ઌ͞ΕΔͷͰ͋Εɺ3BJMTͷϨʔ
ϧʹͬͯߴͰՌΛग़͢ͷ͕ྑ͍߹͋Γ·͢ w ͨͩ͠ɺͦͷ߹ʮෛ࠴ΛआΓೖΕ͍ͯΔʯͱ͍͏ҙࣝΛ࣋ͭ͜ͱ͕େͰ͢ɺকདྷෛ࠴Λฦ͢ඞཁ ͕͋Δ͜ͱΛཹҙ͠ɺͦΕΛεςʔΫϗϧμʔʹཧղͯ͠Β͍ͳ͕Β։ൃΛਐΊΔ͜ͱ͕ཧͰ͢ w ·ͨɺࠓճͷΑ͏ͳΞʔΩςΫνϟΛ͍͟ಋೖ͢Δ߹ɺඞͣಠΓΑ͕ΓʹͳΒͣɺνʔϜͰ߹ҙ ΛऔΓͳ͕ΒυΩϡϝϯτʹઃܭͷҙਤΛ͢ɺͱ͍͏͜ͱΛΕͳ͍Α͏ʹ͠·͠ΐ͏
NJYJ *OD ࢀߟॻ੶ $MFBO"SDIJUFDUVSF ୡਓʹֶͿιϑτΣΞͷߏͱઃܭ 3PCFSU̘.BSUJO ஶ ֯య ஶ
NJYJ *OD ࢀߟॻ੶ ςετۦಈ։ൃ ,FOU#FDI ஶ ాਓ ༁