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
৽ଔͷΪʔΫἧͬͯ ϓϩάϥϛϯάݚम @bash0C7 @FromAtom
Slide 2
Slide 2 text
• ϐΫγϒͱʁ • ͲΜͳձࣾͳͷ͔ • Ͳ͏͍͏ਓ͕ಇ͍͍ͯΔͷ͔ • ৽ଔ࠾༻ͱݚमͲ͏ͳ͍ͬͯΔͷ͔ • ϓϩάϥϛϯάݚमʹ͍ͭͯ • ͕͜͜ຊ ΞδΣϯμ
Slide 3
Slide 3 text
No content
Slide 4
Slide 4 text
No content
Slide 5
Slide 5 text
࡞ΓΛ୲͖ͬͯͨ • ٕज़৬ͷධՁ੍վળ • "ϙΤϜ"πʔϧͱͯ͠esa.ioಋೖ • ֤छΠϯλʔϯγοϓاը • ٕज़ަྲྀɾڭҭਪਐ • ٕज़ใൃ৴Ϛωδϝϯτ • ٕज़৬࠾༻Ϛωδϝϯτ
Slide 6
Slide 6 text
࡞׆ಈ͕ΑΓָ͘͠ ͳΔΑ͏ͳࣄۀΛఏڙ • Πϥετ • খઆ • ອը • ͓ֆ͔͖ • Իָ • ൢച • ͷͮ͘Γ • ίεϓϨ • ΞΠυϧ • ΪϟϥϦʔӡӦ
Slide 7
Slide 7 text
w ʢ֤αʔϏεͷεΫγϣΔʣ
Slide 8
Slide 8 text
w ʢ֤αʔϏεͷεΫγϣΔʣ
Slide 9
Slide 9 text
w ʢ֤αʔϏεͷεΫγϣΔʣ
Slide 10
Slide 10 text
w ʢ֤αʔϏεͷεΫγϣΔʣ
Slide 11
Slide 11 text
w ʢ֤αʔϏεͷεΫγϣΔʣ
Slide 12
Slide 12 text
w ʢ֤αʔϏεͷεΫγϣΔʣ
Slide 13
Slide 13 text
w ʢ֤αʔϏεͷεΫγϣΔʣ
Slide 14
Slide 14 text
No content
Slide 15
Slide 15 text
No content
Slide 16
Slide 16 text
͜͏͍͏ਓͨͪ • ࣾһ100ਓͰେଟ͕։ൃΤϯδχΞ • ࣮๛Ͱ͕͔֬ͳϧʔΩʔਞ • Ұบೋบ͋ΔΩϟϦΞਞ • օ͕ʮϙΤϜʯΛॻ͘
Slide 17
Slide 17 text
৽ଔ࠾༻ • ݚڀɾ׆ಈ࣮๛Ͱʹ֮͑ͷ͋Δֶੜ • ֶߍɺಉਓɺݸਓ׆ಈͳͲϑΟʔϧυΘͣ • ଈܴ͑ೖΕ͍ͨͱ։ൃνʔϜ͔Βϥϒίʔϧ • ޓ͍ͷೲಘΛॏࢹ • Ϋη͕ڧ͍ͷͰɺ߹͏ਓੌ͘߹͏͕ • ΠϯλʔϯΛඞͣܦͯ͝Ұॹͯ͠Δ • ྡͰಇؒ͘Զ͕ܾͨͪΊΔɺݱओಋͷબߟ • ࠾༻ཧ༝ෆ࠾༻ཧ༝͖ͪΜͱݴޠԽ
Slide 18
Slide 18 text
৽ଔݚम • OJT + Off-JTݚम • ʹΑΔ͕3:2ͷൺ • ݚमύʔτظؒ̎ϲ݄ • ݱ৽ଔਓૣ͘pixiv࡞Γ͍ͨͱҳΔ͕ɺ ൣͳࣝεΩϧΛʹ͚ͭͯΒ͑ΔΑ͏झΛڽΒ͢ • OJTଐઌνʔϜͰϝϯλʔ͕ͭ͘ • Ϧʔμʔ/Ϛωʔδϟͱผ
Slide 19
Slide 19 text
ݚम༰ • Ϗγωεύʔιϯͱͯ͠ͷجૅɺձࣾʹ͍ͭͯͷࣝ ଐઌ͡Όͳ͍෦ॺͷॏཁͳࣝΛֶͿ • ࣝɾεΩϧΛֶͿ: 7ɺϓϩάϥϛϯάΛֶͿ: 7 • ϚφʔΛֶͿ: 2ɺ৫ΛֶͿ: 2 • ձࣾͷཧ೦ΛֶͿ: 3ɺձࣾͷྺ࢙ΛΔ: 1 • ݚम૯ׅ: 1 • தݎɺϕςϥϯϝϯόʔ͕ત·ͦ͠͏ʹݟʹ͘Δ • ٕज़ܥͷϏδωεܥͷԶࣗɺͬ͘͡Γड͚͍ͨΑʂ
Slide 20
Slide 20 text
Ͱࠂࣄۀ
Slide 21
Slide 21 text
ϓϩάϥϛϯάݚमͷ
Slide 22
Slide 22 text
ͷલʹ
Slide 23
Slide 23 text
͓લͩΕΑʁ
Slide 24
Slide 24 text
@FromAtom 2013 Hatena Intern -> Arbeit 2015 iOS Developer at pixiv Inc. 2006 Start Programing
Slide 25
Slide 25 text
No content
Slide 26
Slide 26 text
No content
Slide 27
Slide 27 text
Ͳ͏ɺ৽ଔͰ͢
Slide 28
Slide 28 text
ʮ͜ͷਓ͕ఋࢠαΠυ͔ʯ
Slide 29
Slide 29 text
NO NO NO
Slide 30
Slide 30 text
ఋࢠͰ͋Γ ࢣঊͰ͋Δ
Slide 31
Slide 31 text
No content
Slide 32
Slide 32 text
͕ࢣఋͰ͢
Slide 33
Slide 33 text
ʁʁʁ
Slide 34
Slide 34 text
ϓϩάϥϛϯάݚमͷ
Slide 35
Slide 35 text
ॾҙ
Slide 36
Slide 36 text
pixiv = PHP
Slide 37
Slide 37 text
1)1ͷ͠·ͤΜ ͔͍ͨ͜ͱແ͍͠
Slide 38
Slide 38 text
• HTML, CSS, JavaScript • Ruby, Java, Scala • Git • etc... Ұൠతͳϓϩάϥϛϯάݚमʢ૾ʣ
Slide 39
Slide 39 text
Ұൠతͳϓϩάϥϛϯάݚमʢ૾ʣ
Slide 40
Slide 40 text
Ұൠతͳϓϩάϥϛϯάݚमʢ૾ʣ ࢣঊͰ͢
Slide 41
Slide 41 text
Ұൠతͳϓϩάϥϛϯάݚमʢ૾ʣ ࢣঊͰ͢ ఋࢠͰ͢
Slide 42
Slide 42 text
Ұൠతͳϓϩάϥϛϯάݚमʢ૾ʣ
Slide 43
Slide 43 text
Ұൠతͳϓϩάϥϛϯάݚमʢ૾ʣ Ϗγόγ
Slide 44
Slide 44 text
Ұൠతͳϓϩάϥϛϯάݚमʢ૾ʣ Ϗγόγ ͻ͑ʔ
Slide 45
Slide 45 text
ࡶͳ૾Ͱ͢
Slide 46
Slide 46 text
pixivͷϓϩάϥϛϯάݚम
Slide 47
Slide 47 text
৽ଔ͕ ৽ଔʹ ڭ͑Δ
Slide 48
Slide 48 text
৽ଔʢΤϯδχΞʣ͕ ৽ଔʢ૯߹৬ʣʹ ڭ͑Δ
Slide 49
Slide 49 text
৽ଔͨͪ • ΤϯδχΞɿ6໊ ‣ WebΞϓϦɿ4໊ ‣ iOSΞϓϦɿ2໊ • ૯߹৬ɿ5໊ ‣ σβΠφɿ2໊ ‣ اըɿ1໊ ‣ Ӧۀɿ1໊
Slide 50
Slide 50 text
ͲΜͳ༰ʁ
Slide 51
Slide 51 text
7ؒ
Slide 52
Slide 52 text
14࣌ؒ
Slide 53
Slide 53 text
߹ܭ28࣌ؒͰ
Slide 54
Slide 54 text
pixivΛ࡞Δ
Slide 55
Slide 55 text
ը૾ߘܝࣔ൘Λ࡞Δ
Slide 56
Slide 56 text
ཁٻ༷ • ը૾ͱίϝϯτ͕ߘͰ͖Δ • ߘ͞Εͨը૾ͱίϝϯτҰཡ͕ݟΕΔ • ը૾ʹΛ͚ͭΒΕΔ
Slide 57
Slide 57 text
༰·ͱΊ • 7ؒ • 14࣌ؒ ‣ 1࣌ؒʙ2࣌ؒߨٛ ‣ ͬͨ࣌ؒͰߨٛதʹग़͞Εͨ՝ΛΔ • ࠷ऴతʹ༷Λຬͨͨ͠ը૾ܝࣔ൘Λ࡞ͬͯൃද
Slide 58
Slide 58 text
૯߹৬֤Ґͷݴ༿
Slide 59
Slide 59 text
ʮແཧʯ
Slide 60
Slide 60 text
ٕज़৬֤Ґͷݴ༿
Slide 61
Slide 61 text
ʮ͍͚Δ͍͚Δʯ
Slide 62
Slide 62 text
ߨٛ༰ ͬ͘͟Γ
Slide 63
Slide 63 text
ϓϩάϥϛϯάΛ࢝ΊΑ͏ 1 Day
Slide 64
Slide 64 text
ϓϩάϥϛϯάΛ࢝ΊΑ͏ 1 Day • OSͱ ‣ ͳͥΤϯδχΞMacLinuxΛ͏ͷ͔ • γΣϧͱ ‣ ࠇ͍ը໘ڪාΛແ͘͢ ‣ `cd`ɺ`ls`ɺ`pwd`ͳͲΛͬͯΈΔ • ΤσΟλͱ ‣ શһAtom EditorΛར༻ ‣ ΠϯσϯτγϯλοΫεϋΠϥΠτʢ৭͚ػೳʣͷࢫຯ • ϓϩάϥϛϯάͱ ‣ rubyΛirbͰ͍ͬͯ͡ΈΔ ‣ มɺϋογϡɺ݅ذ͔Βؔ·Ͱجૅ͔Βڭ͑Δ
Slide 65
Slide 65 text
ϓϩάϥϛϯάΛ࢝ΊΑ͏ 1 Day rubyͰ"HelloWorld"ͯ͠تͿ ૯߹৬ͨͪΛݟͯ ٕज़৬ʹͬ͜Γ
Slide 66
Slide 66 text
Git ͱ GitHub 2 Day
Slide 67
Slide 67 text
GitͱGitHub 2 Day • Gitͱ ‣ ͳͥDropboxͰμϝͳͷ͔ ‣ ༣ศہϝιουΛར༻ͨ֓͠೦ͷઆ໌ ‣ جຊతͳίϚϯυʢadd, commit, push, pullʣͷઆ໌ • GitHubͱ ‣ ΞΧϯτͷ࡞ɾSSH伴ͷొ ‣ git push ͯ͠ΈΔ ‣ README.mdΛมߋͯ͠pushͯ͠ΈΔ ࢀߟจݙɿIUUQRJJUBDPNZVOJDPKQJUFNTCEEFGCC
Slide 68
Slide 68 text
WebΛ࢝ΊΑ͏ 3 Day
Slide 69
Slide 69 text
WebΛ࢝ΊΑ͏ 3 Day • WebαʔόʹϦΫΤετΛૹΖ͏ ‣ αʔόͱΫϥΠΞϯτͱ ‣ εςʔλείʔυʹ͍ͭͯ ‣ 500͕ग़ͨΒ͙͢ʹΤϯδχΞݺΜͰ͘ΕΑͳʂ • WebαʔόΛ্ཱͪ͛ͯΈΑ͏ ‣ sinatraΛར༻ ‣ ༧Ί༻ҙͨ͠ϦϙδτϦΛGitHub͔Βclone࣮ͯ͠ߦ
Slide 70
Slide 70 text
DatabaseΛֶ΅͏ 4 Day
Slide 71
Slide 71 text
DatabaseΛֶ΅͏ 4 Day • σʔλϕʔεΛΖ͏ ‣ ͳͥExcel͡Όμϝͳͷ͔ ‣ σʔλͷਖ਼نԽ ‣ τϥϯβΫγϣϯ ‣ ݕࡧɾιʔτ • SQLจΛൃߦͯ͠ΈΑ͏ ‣ ϩʔΧϧͰSQLiteΛ্ཱ࣮ͪ͛ͯߦ ‣ ςʔϒϧ࡞ͬͨΓɺσʔλΛૠೖͨ͠Γͯ͠ࢼ͢
Slide 72
Slide 72 text
͜͜ΒΜ͔ΒͩΜͩΜ ݸਓ͕ࠩग़ͯ͘Δ DatabaseΛֶ΅͏ 4 Day
Slide 73
Slide 73 text
؆୯ͳݴ༿Λͬͯ ͍ͯͶ͍ʹϝϯλϦϯά͢Δ DatabaseΛֶ΅͏ 4 Day
Slide 74
Slide 74 text
POSTͱJavaScript 5 Day
Slide 75
Slide 75 text
POSTͱJavaScript 5 Day • POST ‣ ը૾Λखݩ͔Βܝࣔ൘ʹΞοϓϩʔυ͢ΔͨΊʹ ‣ formͷ͍ํ ‣ SinatraଆͰड͚औͬͯDBʹอଘ͍ͨ͠ • JavaScript ‣ JavaͱผͰ͢Αʢˡॏཁʣ ‣ ͳͥJavaScript͕ඞཁͳͷ͔ ‣ ܝࣔ൘ͷը૾ʹΛ͚ͭΔॲཧΛՃ
Slide 76
Slide 76 text
Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 77
Slide 77 text
Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day • XSS • SQLΠϯδΣΫγϣϯ • σΟϨΫτϦτϥόʔαϧ
Slide 78
Slide 78 text
`ruby main.rb -e production ` Λ࣮ߦͯ͠IPΞυϨεΛڭ͑ͯԼ͍͞ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 79
Slide 79 text
͜Ε͔ΒΈͳ͞ΜͷαΠτΛ ΤϯδχΞ͕ഁյ͠·͢ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 80
Slide 80 text
ʮ2ͪΌΜͶΔ͕දࣔ͞ΕΔʂʯ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 81
Slide 81 text
ʮ2ͪΌΜͶΔ͕දࣔ͞ΕΔʂʯ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day ʮΊͬͪΌΞϥʔτ͕ͰΔʂʯ
Slide 82
Slide 82 text
ʮ2ͪΌΜͶΔ͕දࣔ͞ΕΔʂʯ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day ʮmain.rb͕ফ͑ͨʂʯ ʮΊͬͪΌΞϥʔτ͕ͰΔʂʯ
Slide 83
Slide 83 text
ʮ2ͪΌΜͶΔ͕දࣔ͞ΕΔʂʯ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day ʮDBͷத͕ফ͑ͨʂʯ ʮmain.rb͕ফ͑ͨʂʯ ʮΊͬͪΌΞϥʔτ͕ͰΔʂʯ
Slide 84
Slide 84 text
ΤϯδχΞ֤Ґʮͨͷ͍͠ʯ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 85
Slide 85 text
͔͑ͨͬͨ͜ͱ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 86
Slide 86 text
όάා͍ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 87
Slide 87 text
NO NO NO
Slide 88
Slide 88 text
ো͕͓͖ͨ࣌ʹࠔΔͷϢʔβ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day
Slide 89
Slide 89 text
ΤϯδχΞʹͰ͖ͳ͍͜ͱΛ ϢʔβͷͨΊʹͯ͠ཉ͍͠ Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day ςϯύͬͯΔ
Slide 90
Slide 90 text
Ε͍͚ͯͳ͍ηΩϡϦςΟ 6 Day • ࣾʹঢ়گΛΒͤΔ • Twitter͓ΒͤͰϢʔβʹใΛಧ͚Δ • ͱʹ͔͘ϢʔβΛ҆৺ͤ͞Δ
Slide 91
Slide 91 text
ͻͨ͢Β࣮ 7 Day
Slide 92
Slide 92 text
ͻͨ͢Β࣮ 7 Day • ༷͕ຬ͍ͨͤͯΕྑ͍ • ͓͠ΖػೳศརػೳΛ͚࢝͠ΊΔ • jQueryϥΠϒϥϦΛೖΕͯ٧·ͬͨΓ͢Δ • ͩ͜ΘΓ࢝ΊͯؤுΓ͗͢
Slide 93
Slide 93 text
ࢀՃऀͷײ
Slide 94
Slide 94 text
ࢲσβΠφʔͳͷͰɺ ීஈ͡Θ͡ΘͱλʔϛφϧΛͬͨΓͯ͠ΔͷͰ͕͢ɺ ݚमͷ͓͔͛Ͱʮλʔϛφϧ͜Θ͍ʯͱࢥΘͣʹ͢ΜͰ·͢ɻ ʢݚमલࠇ͍ը໘ා͔ͬͨʣ l
Slide 95
Slide 95 text
googleϏοάΫΤϦͰσʔλऔಘ͢Δͱ͖ɺ SQLΛແࣄʹ͑ͯ·͢ʂ ࠓSQLͰΞυϨεσʔλऔಘͯ͠ ͍ΖΜͳϢʔβʔʹϝʔϧૹΓ·ͨ͠ʂ l
Slide 96
Slide 96 text
l ࣌ؒ͑͋͞Ε σΟϨΫτϦΛ࡞ͬͨΓҠಈͨ͠Γ ࿅शΛ͍ͯ͠·͢ɻ
Slide 97
Slide 97 text
ͦͷޙͷޮՌ
Slide 98
Slide 98 text
εΫϨΠϐϯάษڧձ͠·ͤΜʁ HTML5ɾCSS3ͷษڧձ͠ͳ͍ʁ jQueryͷษڧ࠶։ͨ͠Α
Slide 99
Slide 99 text
͏Ε͍͠
Slide 100
Slide 100 text
ؾΛ͚ͭͨ Ingenuity
Slide 101
Slide 101 text
ؾΛ͚ͭͨ Ingenuity • Mac͔͠Θͤͳ͍ ‣ OSࠩʹΑΔϋϚΓຊ࣭త͡Όͳ͍͠ਏ͍ ‣ WindowsͰrubyॻ͔ͤΔͷߥߦ ‣ ձ͔ࣾΒΛआΓͯରԠ • ΤσΟλAtomΛ͏ ‣ modeͱ͔Α͘Θ͔Βͳ͍ ‣ Ctrl-x sͰอଘͱ͔Α͘Θ͔Βͳ͍
Slide 102
Slide 102 text
ؾΛ͚ͭͨ Ingenuity • zshellͱoh-my-zshΛ͏ ‣ ༧Ίٕज़৬͕ಋೖ͓ͯ͘͠ ‣ ৭͍ͭͯΔ͔Βා͘ͳ͍ʢˡॏཁʣ • ڥߏஙٕज़৬͕͓ͬͯ͘ ‣ Homebrewɼrbenvɼgem ‣ ϋϚΓ͍͢ͷʹͲ͏Ͱ͍͍Օॴ • PHP͔ͭΘͳ͍ ‣ pixivͷ৽نαʔϏεPHPͬͯͳ͍ ‣ Ruby on RailsɺScalaɺNode.js
Slide 103
Slide 103 text
ؾΛ͚ͭͨ Ingenuity • ͑Λڭ͑ͳ͍ ‣ ʮ͜Ε͜͏͢Δͱಈ͖·͢ʯͱڭ͑ͳ͍ ‣ άάΔҝͷώϯτίπΛڭ͑Δ ‣ ޙ͔ΒάάΕΔΑ͏ʹ͢Δ • ͪΐͪ͘ΐ͘ݟ·ΘΔ ‣ ʮͳΜ͔ࠔͬͯͳ͍Ͱ͔͢ʁʯͱฉ͍ͯճΔ • ࠜؾΑ͑͘Δ ‣ ಉ͜͡ͱΛ10ճҎ্ฉ͔ΕΔ ‣ ͦΕ͕ਓ͋Δ ‣ ౖΒͳ͍
Slide 104
Slide 104 text
ͳͥݚमΛ͢Δͷ͔ Why?
Slide 105
Slide 105 text
ͳͥݚमΛ͢Δͷ͔ Why? • ৽ଔಉ͕࢜ྑ͘ͳΔͨΊ • ૯߹৬Ͱ࠷ݶͷٕज़ΛಘΔͨΊ • ۀʹඞཁ࠷ݶͳࣝΛಘΔ • ΤϯδχΞͷࣄͷେม͞ΛΔ • ΤϯδχΞҒ͍ɾ͍͢͝ɾ͏·͑
Slide 106
Slide 106 text
MAYBE NO
Slide 107
Slide 107 text
ͷߟ͑ҧ͏
Slide 108
Slide 108 text
ΤϯδχΞͱ ʮ͖ͪΑ͘ʯ ࣄ͕Ͱ͖ΔΑ͏ʹͳΔ
Slide 109
Slide 109 text
ϓϩάϥϛϯά͍͠
Slide 110
Slide 110 text
ਓ͕ؒΔͷ͡Όͳ͍
Slide 111
Slide 111 text
ΤϯδχΞ≠ਓؒ
Slide 112
Slide 112 text
ΤϯδχΞਓؒ͡Όͳ͍ͷͰ ίϛϡχέʔγϣϯେม
Slide 113
Slide 113 text
গ͠ͰΤϯδχΞͷ ݴ༿Λ͑ΔΑ͏ʹ
Slide 114
Slide 114 text
ݴ༿͕Θ͔Δͱ ࣄΛཔΊΔ
Slide 115
Slide 115 text
Ұॹʹࣄ͕Ͱ͖Δ
Slide 116
Slide 116 text
ݴ༿͕Θ͔Δͱ ίϛϡχέʔγϣϯ͕ ָʹͳΔ
Slide 117
Slide 117 text
Ұॹʹ ʮ͖ͪΑ͘ʯ ࣄ͕Ͱ͖Δ
Slide 118
Slide 118 text
ͦͷҝͷݚम
Slide 119
Slide 119 text
·ͱΊ Summary
Slide 120
Slide 120 text
·ͱΊ Summary • pixivͰ৽ଔ͕৽ଔʹϓϩάϥϜΛڭ͑Δ • pixivͰ૯߹৬pixiv͕ͭ͘ΕΔ • ΤϯδχΞͱʮ͖ͪΑ͘ʯࣄ͕Ͱ͖Δ • Զ͕ࢣఋʹͳΔΜͩΑ͓͓͓͒ʂʂ
Slide 121
Slide 121 text
࠷ߴ