Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
(\esa/) 2015-11-28 DevLOVEؔ ͨͷ͍͠
Slide 2
Slide 2 text
ࣗݾհ 2
Slide 3
Slide 3 text
3 શࣾһ(2໊)Ͱདྷ·ͨ͠ (\( ⁰⊖⁰)/) ϓϩάϥϚͷํˠ σβΠφʔͷํˠ
Slide 4
Slide 4 text
https://esa.io
Slide 5
Slide 5 text
esa.ioͱ 5
Slide 6
Slide 6 text
• νʔϜͷͨΊͷใڞ༗αʔϏε • ϚʔΫμϯͰॻ͚Δ • WikiͬΆ͍ઃܭࢥ • ॻ͘ෑډΛԼ͛ɺָ͑͘͠Δ • ๛ͳΠϯςάϨʔγϣϯ • (\( ⁰⊖⁰)/) ͬ͘͟Γ
Slide 7
Slide 7 text
7 શࣾһ(2໊)Ͱདྷ·ͨ͠ (\( ⁰⊖⁰)/) ϓϩάϥϚͷํˠ σβΠφʔͷํˠ
Slide 8
Slide 8 text
ಛతͳػೳ͜ͷΜ
Slide 9
Slide 9 text
ใΛҭ͍ͯͨ 9
Slide 10
Slide 10 text
10 ใΛҭ͍ͯͨ
Slide 11
Slide 11 text
11 ใΛҭ͍ͯͨ • ࠷ॳ͔ΒᘳΛࢦͣ͞ • ͱΓ͋͑ͣ࠷ॳग़͚ͩͩͯ͢͠ • ޙ͔ΒΑ͍͚͍͍ͯ͘͠͡ΌΜ • Done is better than perfect
Slide 12
Slide 12 text
WIP 12
Slide 13
Slide 13 text
WIP ʹ Work in Progress ਐߦதɾ࡞ۀதɾॲཧதɾະ ෆશͰ͋Δ͜ͱΛप͢Δه߸ͱͯ͠ΘΕΔ řŎŕŲƅ
Slide 14
Slide 14 text
ͱΓ͋͑ͣɺڞ༗ ࡶʹڞ༗ ·ͩͰ͖ͯͳ͍͚Ͳڞ༗
Slide 15
Slide 15 text
อଘϘλϯ͕ 2ͭʁʁ
Slide 16
Slide 16 text
࡞ۀதͷͱ͖ɺWIPͰอଘ Լॻ͖ஈ֊͔Βଞਓʹݟ͑ΔΑ͏ʹͳͬͯΔ
Slide 17
Slide 17 text
8*1Ͱอଘ͢Δͱɺ λΠτϧ͕άϨʔΞτ w 8*1Ͱߋ৽ͯ͠8FCIPPLͰ4MBDLͱ͔ʹ௨͕ඈͳ͍ w Կߋ৽͢Δ͜ͱ͕Ͱ͖Δʢ㵰4ʣ w ϩʔΧϧͷΤσΟλʹॻ࣌͘Έ͍ͨͳײ͡Ͱॻ͚Δ w ΈΜͳʹੵۃతʹΒͤ͠ͳ͍͚Ͳɺڵຯ͋ΔਓΘ͟Θ ͟ݟʹདྷΕݟΔ͜ͱ͕Ͱ͖Δঢ়ଶ
Slide 18
Slide 18 text
͍͍ͩͨͰ͖ͨΒɺShip It!
Slide 19
Slide 19 text
Ship It! ͢Δͱ Webhook ͷ௨͕ඈͿ ƻ ΈΜͳ͕ݟʹདྷΔ
Slide 20
Slide 20 text
͜Μͳײ͡ͷ͜ͱΛߟ͍͑ͯΔ͚Ͳɺ ·ͩ'*9͡Όͳ͍ΜͰɻ ͜Ε͔Βͬͱྑ͘ͳΔΜͰɻ 8*1Λ͚ͭΔͱ͖ͷ͖ͪ • ͳͷͰࡉ͔͗͢Δποίϛ·ͩצหͯ͠Ͷ • ͚ͲɺؒҧͬͯͨΒڭ͑ͯͶ • ࠔͬͯͨΒॿ͚ͯͶ • Δؾ͋ͬͯ͜Ε͔ΒΔͭΓͰ͋ΔΜͩΑ • ͬ͘͟Γ͜͏͍͏͜ͱߟ͑ͯΔ͔ΒͳΜͱͳͬͯͯ͘Ͷ • େମ߹ͬͯͨΒ͞Γؾͳ͘΄Ίͯ͘ΕͨΒΔؾग़Δ͔ • ·ͣࣗͷϝϞతʹॻ͍ͯΔ͚ͩͳΜͩ
Slide 21
Slide 21 text
ͭ·Γɺ8*1ͱ ΤΫεΩϡʔζͷҰछ ʢݴ͍༁ɾหղʣ Excuse me
Slide 22
Slide 22 text
ΤΫεΩϡʔζҙਤతͳ੍ݶΛՃ͠ɺ Έʹ͋ΔछͷʮϢϧ͞ʯΛ༩͑Δ͜ͱͰɺ ݁Ռɺ͏ਓָ͕͍͖͍͖͘͠ͱ͢Δ w ࠓ·Ͱݴ͑ͳ͔ͬͨ͜ͱ͕ݴ͑Δ w ॻ͚ͳ͔ͬͨਓ͕ॻ͚Δ w Ͱ͖ͳ͔ͬͨ͜ͱ͕Ͱ͖Δ
Slide 23
Slide 23 text
• ϩʔΧϧͷςΩετΤσΟλ • ݸਓ༻ͷEvernote • ࣗѼͯͷϝʔϧ ࣗͷͨΊʹॻ͘ʮυΩϡϝϯτʯ උɾϝϞɾTODOϦετɾاըΞΠσΞɾઃܭΞΠσΞ ༩݅ͷཧɾվળҊɾࠒࢥ͍ͬͯΔ͜ͱɾ ॻ్͖தͷΖΖ… ྫ͑͜Μͳͱ͜Ζʹ
Slide 24
Slide 24 text
ࣗͷΛ ཧͯ͠Πϯλʔωοτʹ UP͘͢͢͠ΔΤϯδϯ
Slide 25
Slide 25 text
Ϣʔβʔʹ͍ͭͯ 25
Slide 26
Slide 26 text
Ϣʔβʔଐੑ • νʔϜن: 1~126 Ϣʔβʔ • ༗ྉར༻ͷׂ߹ • νʔϜ: 200 / 1200 • Ϣʔβʔ: 1700 / 7500 • શ༗ྉνʔϜͷ30%͕ ݸਓར༻ 26
Slide 27
Slide 27 text
։ൃνʔϜҎ֎ͷ৭ʑͳΘΕํ • 1ਓϢʔβʔ͕ଟ͍ • ϝϞཧɾΞΠσΞ·ͱΊɾݪߘࣥච • alt Evernote? • ʮՈఉesaʯ්ΧοϓϧͰͷར༻ • ҭࣇ༦৯ͷ࿈བྷ • ήʔϜɾझຯͷू·Γɾֶੜஂମɾ࣏ஂମɾNPOɹ 27
Slide 28
Slide 28 text
ϓϩάϥϚ͚ʁ 28
Slide 29
Slide 29 text
ϓϩάϥϚΈͷػೳɾઃܭ ඇϓϩάϥϚ͠Έ͍͢ϧοΫε 29 Ұݟ૬͢Δ͜ͱΛ ଥڠ͠ͳ͍Ͱ྆ํେࣄʹ͍ͨ͠
Slide 30
Slide 30 text
ϓϩάϥϚΈͷػೳɾઃܭ • ߴ͍ΧελϚΠζੑ • (but Α͍σϑΥϧτΛ༻ҙ) • API • γϯϓϧͰϑϥοτͳઃܭ • UIجຊӳޠ 30
Slide 31
Slide 31 text
ϓϩάϥϚΈʹ͍ͨ͠ཧ༝ ϓϩάϥϚ͕Πέͯͳ͍ͱࢥ͏ͷΛɺϓ ϩάϥϚҎ֎ͷਓͷͨΊʹզຫͯ͠͏ ϓϩάϥϚ͕߹ཧతͩͱࢥ͑Δಓ۩Λϓϩ άϥϚҎ֎͑ΔΑ͏ʹͳΔ 31 ☓ • ϓϩάϥϚ͕͖ͳͷׂͱָ͕͍ࣗͨͪͬͯͯ͠ • ใπʔϧʹର͢ΔϓϩάϥϚͷηϯεͩ͜ΘΓʹର͢Δ৴པ • ϓϩάϥϚʹ͔ΕΔΑ͏ͳಓ۩Λ࡞Γ͍ͨ (e.g. GitHub)
Slide 32
Slide 32 text
ඇϓϩάϥϚͰ͠Έ͍͢ • ͔Θ͍͞ • (\( ⁰⊖⁰)/) • ࣄΆ͘ͳ͍ • ϊϯόʔόϧͰײతͳUI • ӳޠͰͳΜͱͳ͑͘Δ 32
Slide 33
Slide 33 text
։ൃͷ༷ࢠ 33
Slide 34
Slide 34 text
34 ָ͍͔͠Βɺຖ࡞Γ͚ͭͮͯΔ 5713 commits 3995 issues 1932 Pull Requests 1728 Deployed 982 feedbacks from users 10.2 commits/day 7.1 issues/day 3.4 PR/day 3.1 Deploys/day
Slide 35
Slide 35 text
35 2015ͷ2݄·ͰfukayatsuϑϧλΠϜͰesaͱผͷࣄ Λ͍͕ͯͨ͠ɺ࣠ΛesaʹҠͯ͠Ҏ߱ͷํ͕commitͰݟ Δͱগͳ͍ɻ
Slide 36
Slide 36 text
36 ͕׆ൃɾ࣍Ͱ༵ʢཧ༝͕Ṗʁʣ
Slide 37
Slide 37 text
37 100 Release notes / year (1~2 notes / week)
Slide 38
Slide 38 text
ϦϦʔεαΠΫϧ • ৽ػೳϢʔβʔϑΟʔυόοΫ → GitHub Issues • GitHub Flowʹ͕ͨͬͯ͠ϒϥϯνΛ࡞Γɺదٓpush͠ͳ͕Β࣮ • pushຖʹCIΛߦ͍ɺςετͷΧόϨοδ͕90%ΛԼճ͍ͬͯͨ߹ʹ ςετ͕ࣦഊ • ςετ͕ͯ͢ޭ͍ͯ͠Δ߹ͷΈ master branchʹϚʔδՄೳ • ػೳ͕ग़དྷ্͕ͬͨΒɺmaster branchʹϚʔδ → ຊ൪σϓϩΠ • ϦϦʔεϊʔτެ։ → @esa_io ͰπΠʔτ 38
Slide 39
Slide 39 text
ຖ͕υοΫϑʔσΟϯά • पғͷؒͨͪͱesaͰใΛڞ༗ • ۀҕୗઌͷձࣾͰesa • esaࣾͷesa • ࣮Ոͷ࿈བྷesa 39
Slide 40
Slide 40 text
εέδϡʔϧɾϊϧϚͳ͠ • కΊΓʹΑΔ৺ཧతෛ୲ΛݮΒͯ͠ɺΑΓΑ͍બΛ͍ͨ͠ɻ • ͦͷ࣌ʹ࡞Γ͍ͨͷΛ࡞Δͷ͕ޮతΑ͘ɺ࠷ऴతʹօ͕ͤ ʹͳΕΔͱ৴͍ͯ͡Δɻ • அΛΒͤΔͱΑ͍ղܾࡦΛࢥ͍ͭ͘͜ͱ͋Δ • ͬ͘͟Γͨ͜͠Ε͔ΒΓ͍ͨ͜ͱϦετ͋Δ • →Ϣʔβʔʹڞ༗͍ͨ͠ 40
Slide 41
Slide 41 text
bundle updateͷࣗಈԽ 41
Slide 42
Slide 42 text
Stagingڥ • ·ͩͳ͍ • ຊͷσʔλͰ֬ೝ • ։ൃऀݶఆϦϦʔεΛ͢Δ͜ͱ͋Δ 42
Slide 43
Slide 43 text
ӡ༻ͷ༷ࢠ 43
Slide 44
Slide 44 text
44 stackshare.io/esa/esa
Slide 45
Slide 45 text
Heroku • Πϯϑϥۀͷෛ୲Λେ෯ ʹݮΒ͢ • USϦʔδϣϯ • ΩϟύγςΟΛεέδϡʔ Ϧϯά 45
Slide 46
Slide 46 text
োࢹ • Pingdom + PagerDuty • αʔϏεμϯͨ͠ ߹ ిֻ͕͔ͬ ͯ͘Δ • status.esa.io 46
Slide 47
Slide 47 text
ϦϦʔεϊʔτ • esa্ͰӡӦͯ͠υο ΫϑʔσΟϯά • webhookͰड͚औΔ ͜ͱ͕Ͱ͖Δ • ϝʔϧͰϦϦʔε ϊʔτΛૹΒͳ͍ 47
Slide 48
Slide 48 text
ΧελϚʔαΫηε 48
Slide 49
Slide 49 text
Ϣʔβʔͱզʑ͕ ͤʹͳΔ͜ͱΛͳΜͰ • ยํ͚ͩͤͰଓ͖͠ͳ͍ • खஈʹनΘΕͳ͍ 49
Slide 50
Slide 50 text
ϑΟʔυόοΫʹ5Ͱฦ৴͢Δ • 5ͨͩͷ҆ • Ͱ͖Δ͚ͩ͘͢ • ஸೡͳݴ༿ݣ͍͋Δఔ٘ਜ਼ʹ͢Δ 50
Slide 51
Slide 51 text
࣭ʹରͯ͠ɺ ʮ͍/͍͍͑ʯΑΓྑ͍ฦࣄ͕͋Δ • ʮ̋̋ػೳ͋Γ·͔͢ʁʯ • ϢʔβʔͷͳΜͩΖ͏͔ • ͦΕΛݱঢ়ͷػೳͰղܾͰ͖ΔͩΖ͏͔ • ଞʹԠٸॲஔతͳࡦ͋Δ͔ 51
Slide 52
Slide 52 text
όάमਖ਼؆୯ͰޮՌతͳػೳՃ ͦͷͰ࣮͙ͯ͢͠ʹϦϦʔε͢Δ • αϙʔτத͋ΔҙຯҰ൪Ϟνϕʔγϣϯ͕ ߴ͍ • ϢʔβʔʹզʑʹΑ͍Өڹ • ҉ࠇ໘ʹͱΒΘΕΔͱແବػೳΛ࡞Γ͕ͪ 52
Slide 53
Slide 53 text
͍Ζ͍ΖͳνϟϯωϧΛ͏ • Web/e-mail/Twitter/ • ࠷ऴతʹGitHub Issuesʹू • Τΰαʔν 53
Slide 54
Slide 54 text
એɾใ 54
Slide 55
Slide 55 text
ΠϕϯτͰϓϨθϯΛ͢Δ • ಛʹٕज़ܥͷΠϕϯτͰͷొஃ • ࢀՃऀ͕Ϣʔβʔͱ͍ۙ • ͦ͏͍͏ΠϕϯτʹࢀՃ͢Δͷָ͕͍͠ 55
Slide 56
Slide 56 text
ٕज़ܥͷΠϕϯτɾίϛϡχςΟ ʹπʔϧఏڙͷεϙϯαʔΛ͢Δ • ӡӦνʔϜ͚ʹ esa ͷ1νʔϜΛແঈఏڙ͢Δ • ౦ژNodeֶԂࡇ2015 • RubyKaigi 2015 • WikiΨν͔ΒͷϑΟʔυόοΫ 56
Slide 57
Slide 57 text
WebࠂΛग़͞ͳ͍ • ͋·Γ͖Ͱͳ͍ͷͰ... • Կ͔ผͷܗͰ໘ന͍ࠂΛग़͍ͨ͠ • (\( ⁰⊖⁰)/) ͕ग़ͯͨΒָ͍͠ॴ 57
Slide 58
Slide 58 text
TwitterͰ༡Ϳ • (\( ⁰⊖⁰)/)͕దͳ͜ͱΛ֯Χφ Ͱtweet • ϦϦʔεϊʔτͷ͓Βͤ • Τΰαʔν͔ΒͷϢʔβʔαϙʔτ • ࡞ۀ࣌ͷؾస 58
Slide 59
Slide 59 text
Ϟνϕʔγϣϯ 59
Slide 60
Slide 60 text
motivated teams =Α͍νʔϜ
Slide 61
Slide 61 text
61 ࠷ॳ “for small teams” ͩͬͨͷ͚ͩͲɺ ेਓنͷνʔϜͰશવ͍͑ͯͨͷͰɺ ͜͜ʹೖΔ͖୯ޠΛվΊͯߟ͑ͳ͓ͨ͠ɻ ϫϨϫϨͲΜͳνʔϜʹͬͯཉ͍͠ͷ͔ʁ ʢesaΛ͏ͱͲΜͳνʔϜʹͳΔͷ͔ʁʣ
Slide 62
Slide 62 text
Ϟνϕʔγϣϯ͕େ 62 ͏ਓ ࡞Δਓ
Slide 63
Slide 63 text
ϑΟʔυόοΫΛ Β͏ • ΫϨʔϜๅ • ͲΜͳʹݫ͍͠ҙݟͰɺࣗ ͷαʔϏεʹ͍ͭͯݴٴ͠ ͍͚ͯͨͩΔͷ͋Γ͕͍ͨ • ҙతͳײຊʹخ͍͠ 63
Slide 64
Slide 64 text
ϦϦʔεϊʔτ ॻ͖͍ͨ • ॻ͘ͷָ͕ɺָ͍͠ • ϦϦʔεϊʔτۦಈ։ൃ • ݄ؒ࠷ଟ: 15ຊ (2015/01) 64
Slide 65
Slide 65 text
(\( ⁰⊖⁰)/)άοζΛ ࢁͭ͘Δ • shop.esa.io • εςοΧʔ/؈όοδ/Tγϟπ /ύʔΧʔ/τʔτόοά/ম͖ ҹ(new) • ʮԿ͔ͷؒҧ͍Ͱάοζͷച ্͚ͩͰੜ׆Ͱ͖ΔΑ͏ʹͳ Βͳ͍͔ͳʯ 65
Slide 66
Slide 66 text
Γ͍ͨ࣌ʹΓ͍ͨࣄΛΔ • ແཧͳָ͘͘͠ • Ұ൪ޮత 66
Slide 67
Slide 67 text
esaΒ͠͞ 67
Slide 68
Slide 68 text
ʮesaΒ͍͠ʯ͜ͱ • ্͔ΒԿ͔Λڧ੍͠ͳ͍ɺϑϥοτͳઃܭ • ͲΜͳཱͰָ͠ΜͰؾ࣋Α͑͘Δ • ࣄͰͬͯΔπʔϧͳͷʹࣄײ͕ͳ͍ • ŰƃŜŞ (\( ⁰⊖⁰)/) ͰͭͿ͘ 68
Slide 69
Slide 69 text
ʮesaΒ͠͞ʯ ࠷ॳʹ͖ͪΜͱϧʔϧΛઃఆͨ͠Θ͚Ͱͳ͘ ؾ͍ͮͨΒͦ͜ʹ͋ͬͨ • ͕ࣗͨͪղܾ͢Δͱ͖ͷύλʔϯߟ͑ํɺʮͳͥʁʯΛ͍ଓ͚Δ ͏ͪʹɺঃʑʹͦͷྠֲ͕͖ͬΓ͖ͯͨ͠ײ͡ • ݟ͖͑ͯͨྠֲΛ͔ͬ͠Γั·͑ͯʮ໋Λ༩͑Δʯ • ͳΜͱͳ͘طʹͦ͜ʹ͋ΔࢥΛͰ͖Δ͚ͩݴޠԽ͢Δ • → ϙΤϜۦಈ։ൃ • Ωϟϥ (\( ⁰⊖⁰)/) ϏδϡΞϥΠζॏཁͳͷ͔ 69
Slide 70
Slide 70 text
70
Slide 71
Slide 71 text
71
Slide 72
Slide 72 text
esaΒ͠͞ = ʮແ໊ͷ࣭ʯʁ 72
Slide 73
Slide 73 text
esa LLC ʹ͍ͭͯ 73
Slide 74
Slide 74 text
74 ϓϩάϥϚͱσβΠφͷ2໊ ϓϩάϥϚͷํˠ σβΠφʔͷํˠ
Slide 75
Slide 75 text
2ਓͰ৭ʑΔ • ։ൃऀͰ͋Γ • اըऀͰ͋Γ • ΧελϚʔαϙʔτͰ͋Γ • ӦۀͰ͋Γ • ܦӦऀͰ͋Γ • ϢʔβʔͰ͋Δ 75 2ਓͱ
Slide 76
Slide 76 text
2ਓͩͱ։ൃεϐʔυ͍ʁ • ҙࢥܾఆεϐʔυͷ͞ • ฉͰͳ͘ਖ਼֬ͳҰ࣍ใʹ৮ΕΒΕΔ • ৭ʑͳαʔϏεΛར༻ͯ͠ޮԽ (e.g. Heroku, MFΫϥυ) • ٕज़ސɾ֎෦ͷΞυόΠβʔ • ଟগۤखͩͬͨ͜ͱΕΔˠࢹ͕Δ • Ք͙͖͓͕ۚগͳͯ͘ࡁΉ • ܾఆݖ50ɾ50 76 ݱஈ֊Ͱͦ͏Ͱͳ͍ײ͡
Slide 77
Slide 77 text
ͱͱझຯ͔Β͡Ίͨ • 20145݄ ։ൃ߹॓ • पғͷ༑ୡͱใڞ༗ʹ͏ • 2014 Ն͔ΒΓ߹͍ͷձࣾʹͬͯΒ͏ • 2014 11݄ ๏ਓԽ & Φʔϓϯβ • 20151݄ ਖ਼ࣜ༗ྉ൛ϦϦʔε 77
Slide 78
Slide 78 text
ձࣾΑΓϓϩμΫτ͕ઌ 78 esaͷαʔϏείϯηϓτͦͷ··esaࣾͷߟ͑ํ • ָ͠͞ • Ϟνϕʔγϣϯ • Done is better than perfect • ͔Θ͍Έ
Slide 79
Slide 79 text
ΦϑΟεʢ෦ࣨʣ • ෦൪߸͕404 • ਓ(ࣾ)ͰआΓͯΔ෦ • ͨ·ΓΆ͍ײ͡ • ॎʹͨΒ͍ 79
Slide 80
Slide 80 text
We are not startup. • ग़ࢿΛड͚͓ͯΒͣɺٸܹͳΛࢦͯ͠ ͍ͳ͍ • ͲͪΒ͔ͱݴ͏ͱɺதখاۀʁ • esaͱɺesaΛ࡞ΔզʑͱɺesaΛ͏ਓʑ͕ݎ ࣮ʹ͍ͯ͘͜͠ͱΛࢦ͍ͨ͠ 80
Slide 81
Slide 81 text
ܦࡁঢ়گ • डୗ ͱ esa ͷऩӹൺ → डୗͷํ͕·ͩଟ͍ • िʹελʔτΞοϓͷ͓ख͍ • ϑϧίϛοτͷडୗड͚ΒΕͳ͍ • esaͷऩӹ͚ͩͰ৯͍ͯ͘͜ͱ͕໘ͷඪ 81
Slide 82
Slide 82 text
͜Ε͔Β 82
Slide 83
Slide 83 text
͜Ε͔Β • ωΠςΟϒΞϓϦ( Mac, iPhone, Android • ܾࡁ࿈݁ػೳ • ݕࡧվળ • εϐʔυΞοϓ • alt Wiki తͳՄೳੑ 83
Slide 84
Slide 84 text
ʮָ͍͠esaʯͰ͋Γ͍ͨ 84
Slide 85
Slide 85 text
ָ͘͠ 85 ͏ ࡞Δ ָ͘͠ esa
Slide 86
Slide 86 text
झຯ͔Β͡Ίͨʮָ͠͞ʯ ΛͲ͜·Ͱҡ͍࣋ͨ͠ɻ 86
Slide 87
Slide 87 text
87 (\esa/) ͨͷ͍͠