Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up
for free
【徹底比較】SIerとWeb系はココが違う!
Naoto Takai
December 15, 2012
Technology
5
1.9k
【徹底比較】SIerとWeb系はココが違う!
At #devlove2012
Naoto Takai
December 15, 2012
Tweet
Share
More Decks by Naoto Takai
See All by Naoto Takai
takai
2
620
takai
1
680
takai
3
1.5k
takai
2
810
takai
5
430
takai
37
4.8k
takai
6
940
takai
21
7.3k
takai
20
2.3k
Other Decks in Technology
See All in Technology
prog893
0
150
hponka
0
1.7k
yushiku
3
690
michigari
0
270
clustervr
PRO
0
180
kadoppe
1
240
tsuyo
0
750
ainehanta
0
110
kateinoigakukun
0
120
tutsunom
1
180
finengine
0
360
kenya888
1
110
Featured
See All Featured
dougneiner
56
5.4k
jensimmons
208
10k
eileencodes
114
25k
marcelosomers
221
15k
colly
188
14k
deanohume
294
28k
tenderlove
55
3.5k
chrislema
231
16k
hatefulcrawdad
257
17k
bkeepers
PRO
322
53k
searls
204
37k
sachag
446
36k
Transcript
ʲపఈൺֱʳ4*FSͱ8FCܥίί͕ҧ͏ʂ ฏ݄ɹߴҪɹਓ ग़੮ऀ֤Ґ ΩϟϦΞνΣϯδͨ͠ΤϯδχΞ͕ݟͨ྆ऀͷݱ͔Β
ഈܒɹو఼ʹ͓͔Ε·ͯ͠ɺ͝ਗ਼ӫͷ͜ͱͱ͓تͼਃ্͛͠ ·͢ɻ·ͨɺ͜ͷൃදͷػձΛ͍͖ͨͩ·ͯ͠ɺʹ͋Γ ͕ͱ͏͍͟͝·͢ɻ ɹࢲɺࣾձਓͱͯ͠ब৬Ҏདྷɺඍྗͳ͕ΒγεςϜΠϯς άϨʔλɺΠϯλʔωοταʔϏεاۀͳͲͰɺਚྗͯ͠ࢀΓ ·ͨ͠ɻࠓճൃදਃ্͛͠Δ༰ʹ͖ͭ·ͯ͠ɺͦͷੵ͞ ΕͨܦݧΛͱʹൃද͍ͤͯͨͩ͘͞ॴଘʹ͍͟͝·͢ɻ ɹͲ͏͔ຊൃදΛΑΖ͘͠͝ݕ౼͍͖ͨͩɺࠓޙͷو఼ͷ͝׆ ༂ͷࢀߟͱͳΒΜ͜ͱΛ͝ف೦͍ͨ͠·͢ɻ ͡Ίʹ
NAOTO TAKAI Cowboy Coder
Once upon a time…
None
None
Question ‣How old? ‣Suit or T-Shirt? ‣Contractor or In-House?
2000~ Computer Distributor 2001~ Web Production 2007~ System Integrator 2011~
Recipe Site
2000~ Suit, Contractor 2001~ T-Shirt, Contractor 2007~ Suit, Contractor 2011~
T-Shirt, In-House Memo: Talk about me
Agenda ‣SIer / Web Business ‣A Future in Development ‣Career
Changing
‣SIer / Web Business
I got a job at system integrator…
None
Excel with Square Grid
‣Requirements ‣Design documentation ‣Test Plan ‣Man-Month Calculation
Requirements System Design Module Design Implementation Acceptance Test System Test
Integration Test Unit Test Memo: Talk about customer approval
Dogma System requirements is the most important.
✓ Process Quality ✓ Code Generation
I got a job at recipe site…
None
Code without Documents
‣Hypothesis ‣Prototype ‣Release ‣Evaluation
Measure Learn Build Memo: Code, Data, Ideas
Dogma Nobody knows the requirements
✓ Rapid Prototyping ✓ Log Analysis
Chanko
None
None
% rails generate chanko like_button create app/units/like_button/like_butto create app/units/like_button/views/_sho create
app/units/like_button/spec/contr create app/units/like_button/spec/model create app/units/like_button/spec/helpe create app/units/like_button/stylesheet create app/assets/stylesheets/units/lik create app/units/like_button/javascript create app/assets/javascripts/units/lik create app/units/like_button/images/log create app/assets/images/units/like_but
app/units/like_button/like_button.rb /views/ /spec/ /stylesheets/ /javascripts/ /images/ Directory Structure Unit script
Other staff
# app/units/like_button/like_button.rb module LikeButton include Chanko::Unit active_if :logged_in do |context,
opts| context.current_user.logged_in? end scope(:view) do function(:show) do render :partial => "/show" end end end Unit Script Code
# app/units/like_button/views/_show.html.haml .copy Share this site with your friends .fb-like{:data
=> {:href => 'http://recompi #fb-root :javascript (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0] if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "//connect.facebook.net/ja_JP/all fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); Unit View Code
# app/views/photos/index.html.haml = invoke(:like_button, :show) do %address.copy Copyright © 2005-2012
Naoto Ta Original View Code # app/views/photos/index.html.haml %address.copy Copyright © 2005-2012 Naoto Taka Before: After:
Chanko Before: After:
‣works in production ‣feedback from real user ‣enables a “small
start” Chanko
Log Analysis A Log Collector Daemon
App s3 Log Storage MySQL Before: MySQL MySQL
‣heavy & slow ‣batch (sql, hadoop) ‣many database tables Problem
fluentd fluentd fluentd fluentd MongoDB TreasureData App Servers Log Storage
s3 After:
‣lightweight ‣pluggable architecture ‣schema less Fluentd
Measure Learn Build Chanko Fluentd
‣before starting the development ‣after ending the development ‛ REQUIREMENTS
Memo: Ask audience how real world is
‣A Future in Development
0 1,250,000 2,500,000 3,750,000 5,000,000 2000 2001 2002 2003 2004
2005 2006 2007 2008 2009 2010 2011 ग़యɿܦࡁ࢈ۀলʮಛఆαʔϏε࢈ۀಈଶ౷ܭௐࠪʯ
the number of transistors on a chip will double approximately
every two years. Moore’s Law
1961 IBM 7030 1 MIPS 1994 Intel Pentium 188 MIPS
2012 Google Nexus 7 13800 MIPS Moore’s Law Memo: Talk about usage of computer
Military Use Business Use Personal Use Memo: Talk about media
theory and usage
‣in any devices ‣in any context ‣with computer technology for
Personal Use
‣before starting the development ‣after ending the development ‛ REQUIREMENTS
Memo: Ask audience how real world will be
All companies become technology companies bakery, flower shop, liquor shop,
bookstore… Memo: Ask audience how SIer will be
Core competence: own business Technology Doesn't Matter
To make everyday cooking fun ‣Rapid Prototyping ‣Log Analysis
Open Source Software Memo: Talk about chanko, OSS policy
‣Career Changing
All companies become technology companies bakery, flower shop, liquor shop,
bookstore…
All companies employ software engineers bakery, flower shop, liquor shop,
bookstore…
Selling software itself with software engineering Career Changing Memo: Be
interested in their business
ޙఔ͓٬͞· Memo: Talk that only programmers can provide software
DON’T HANDS OFF THE CONTROL “upstream” sucks. “downstream” rocks.
Only you can control how you act. Thank you