SlideShare une entreprise Scribd logo
1  sur  41
Ruby on Rails 와 함께하는 애자일 웹 개발 2007-05-31 유스풀 패러다임 김석준 ( [email_address] )
Start!
1.  프로젝트 준비 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
미션 (Mission) “ 사람들의   인맥관리 를 도와주는 서비스 ”
타겟팅 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
사용자 조사 “ 일주일에 한 번 ‘전화 Day’ 를 정하거나 하루 한 시간정도 시간을 내어 친지 ,  지인에 안부를 묻는다 . ” “ 상대방에 대해 지속적으로 관심을 가질 수 있어야 . ” “ 인맥관리 리스트가 있으면 좋겠다 . ” “ 인맥은 연결될수록 강해지는 근육질 같은 것 . 좋은 인맥을 많은 사람에게 소개해 줄 수 있으면 ... ” “ 처음 소개받고 명함 교환하고 정답게 인사했다 하더라도 차츰 잊혀지기 시작… 잠자는 인맥을 ‘깨우고’ , ‘ 연결하고’ , ‘ 각성시켜주는’ 그런 장치가 있으면 좋겠다 . ”
페르소나 (Persona) “ 인맥보다는 일처리가 더 중요하다고 생각했어요 .   사교적이지 못하기도 하구요 .  그러나 최근 인맥의  중요성을 실감합니다 .  이런 내가 인맥을 관리할 수   있도록 도와주는 도구가 있으면 좋겠습니다 . ” ,[object Object],[object Object],[object Object],“ 아는 사람은 많은데 ,  그렇게 친하다고는 생각되지   않습니다 .  막상 혼자 있을 때 전화를 걸거나 만날  사람을 떠올리면 ?  글쎄요 .  지속적으로 관계를 이어  나갈 수 있는 무언가가 있으면 좋을 것 같군요 . ” ,[object Object],[object Object],[object Object]
서비스  Ideation :  주요 기능 도출
서비스  Ideation : Paper Prototyping
개발 프레임워크의 선택 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Why  ?
개발 환경 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RoR 의 기본 개념들 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2. Iteration I – 1 차 개발 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
가치중심 사용자 스토리
스토리  :  선택과 추정 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],xxx xx 3 xxxxx 4 xxxxxxx 0.5 xxx 4.5 xxxx xx xxxxx xxxxxxx xxxxx xxxx xx xxx xxx 4 4 4 4 4 4
스토리  :  작업 관리 오늘 할 일 할 일 목록 xxxx xx xxxxx 4 4 완료한 일 (Wiki 에 기록 ) 적용 ( 구현 ) 테스트 배포 피드백 새로운 가치 발견
즉석 설계 ,[object Object],[object Object],[object Object]
개발 시작 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],“ 인맥 리스트 만들기 ” “ 새 스토리 추가하기 ”
사용자별 페이지 만들기 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
첫 릴리즈
사용자별 페이지 라우팅 http://localhost:3000/me http://localhost:3000/me/recent user.connect ‘ :user ’, :controller => ‘main’ map.connect ‘ :user/:action ’, :controller => ‘main’ :controller => ‘main’, :action => ‘index’, :user => ‘user’ :controller => ‘main’, :action => ‘recent’, :user => ‘user’ url_for :user => ‘me’ url_for :user => ‘me’, :action => ‘recent’ user_url ‘me’ 식별 (recognize) 생성 (generate)
사용자 로그인 기능 구현 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
자바스크립트와  Ajax ,[object Object],[object Object],[object Object],[object Object],[object Object],“ 특정인의 상세정보를 집중해서 볼 수 있었으면 .. ” “ 지난 스토리를 다 볼 수 있었으면 .. ”
Ajax,  어디까지 적용할 것인가 ?
RJS or Not? remote_form_for :user,   :update => ‘userlist’,   :position => :bottom,   :url => { :action => … } do … render :partial => :user, :locals => … 파셜 Vs. remote_form_for :user,   :url => { :action => … } do … page.insert_html  :bottom, ‘userlist’ , :partial => :user, :locals => … 액션 : rjs: <div id=“userlist”>
3. ClosedAlpha ,[object Object],[object Object]
사용자 테스트와 피드백
회고와 코드 리뷰 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],* * http://xper.org/wiki/xp/ThreeFs
4. Iteration II - 2 차 개발 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
코드 리팩터링 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
사용자 가치 추가해 나가기 “ 인맥이 한 눈에 들어오는 관계지도 ... ” “ 개인별 정보를 다운로드 받을 수 있게 ... ” “ 오늘 연락할 사람을 콕 찍어줘 ! ” “ . . . ”
vCard 와  ERb ,[object Object],[object Object],[object Object],def  export_vcard @person  = Person.find(params[ :id ]) render  :layout  =>  false ,  :content_type  => 'text/x-vcard' end BEGIN:VCARD VERSION:3.0 N:<%=  @person .name %> FN:<%=  @person .name %> BDAY:<%=  @person .birthday.strftime(&quot;%Y%m%d&quot;) %> PHOTO;VALUE=URI:http://example.com/image.png TEL:<%= @person .phone %> TEL;TYPE=office,pref:<%=  @person .phone_office %> EMAIL;TYPE=pref:<%=  @person .email %> END:VCARD
( 인맥 ) 관계지도 그리기 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],*  그림 출처 : Google  이미지 검색
미처 구현하지 못한 가치들 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
레일스 테스팅 프레임워크 ,[object Object],[object Object],[object Object],[object Object],[object Object]
5. ClosedBeta ,[object Object],[object Object],[object Object]
배포와 확장 (scaling) ,[object Object],[object Object],[object Object],[object Object],httpd mongrel Rails App. REQ static (cache) mod_proxy_balance
검색 기능과  RESTful  레일스 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
사용자테스트 ,  측정과 분석 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
6. Lessons Learned ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you!

Contenu connexe

Tendances

Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015sung yong jung
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기WebFrameworks
 
Django in Production
Django in ProductionDjango in Production
Django in ProductionHyun-woo Park
 
Why javaScript?
Why javaScript?Why javaScript?
Why javaScript?Kim Hunmin
 
Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Jay Park
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Kim Hunmin
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?Sang-ho Choi
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Kyoung Up Jung
 
T.D.D로 Flask API 맛보기
T.D.D로 Flask API 맛보기T.D.D로 Flask API 맛보기
T.D.D로 Flask API 맛보기JIHUN KIM
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Kyoung Up Jung
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
DK Lee
 
JavaSript Template Engine
JavaSript Template EngineJavaSript Template Engine
JavaSript Template EngineOhgyun Ahn
 
AngularJS In Production
AngularJS In ProductionAngularJS In Production
AngularJS In ProductionMooYeol Lee
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초Kwangyoun Jung
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)DK Lee
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기Kyoung Up Jung
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)DK Lee
 

Tendances (20)

Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015Isomorphicspring Isomorphic - spring web seminar 2015
Isomorphicspring Isomorphic - spring web seminar 2015
 
React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기React를 이용하여 멀티플랫폼에서 개발하기
React를 이용하여 멀티플랫폼에서 개발하기
 
Django in Production
Django in ProductionDjango in Production
Django in Production
 
Why javaScript?
Why javaScript?Why javaScript?
Why javaScript?
 
Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발Mean 스택을 사용한 IoT 개발
Mean 스택을 사용한 IoT 개발
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까?
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
[커빙 아키텍쳐] 커빙은 어떻게 소셜 컨텐츠를 모아올까요?
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기
 
T.D.D로 Flask API 맛보기
T.D.D로 Flask API 맛보기T.D.D로 Flask API 맛보기
T.D.D로 Flask API 맛보기
 
Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.Django, 저는 이렇게 씁니다.
Django, 저는 이렇게 씁니다.
 
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)
자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

자바 웹 개발 시작하기 (10주차 : ㅌㅗㅇ ㅎㅏ ㄹㅏ)

 
JavaSript Template Engine
JavaSript Template EngineJavaSript Template Engine
JavaSript Template Engine
 
역시 Redux
역시 Redux역시 Redux
역시 Redux
 
AngularJS In Production
AngularJS In ProductionAngularJS In Production
AngularJS In Production
 
Handlebars
HandlebarsHandlebars
Handlebars
 
장고로 웹서비스 만들기 기초
장고로 웹서비스 만들기   기초장고로 웹서비스 만들기   기초
장고로 웹서비스 만들기 기초
 
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
자바 웹 개발 시작하기 (5주차 : 스프링 프래임워크)
 
간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기간단한 블로그를 만들며 Django 이해하기
간단한 블로그를 만들며 Django 이해하기
 
자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)자바 웹 개발 시작하기 (4주차 : MVC)
자바 웹 개발 시작하기 (4주차 : MVC)
 

En vedette

Medical 2015 Mid Year Report NEW 090115
Medical 2015 Mid Year Report NEW 090115Medical 2015 Mid Year Report NEW 090115
Medical 2015 Mid Year Report NEW 090115BRIAN FLEMING, MBA
 
Eduson kak razrovarivat na yazike neftyanikov
Eduson kak razrovarivat na yazike neftyanikovEduson kak razrovarivat na yazike neftyanikov
Eduson kak razrovarivat na yazike neftyanikovEduson.tv
 
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!Daniel Cousineau
 
[Infografico] 9 Passos Para um Perfil Campeao no Linkedin
[Infografico] 9 Passos Para um Perfil Campeao no Linkedin[Infografico] 9 Passos Para um Perfil Campeao no Linkedin
[Infografico] 9 Passos Para um Perfil Campeao no LinkedinFelipe Matheus
 
JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)Peter Martin
 
Informal economy of india at a glance
Informal economy of india at a glanceInformal economy of india at a glance
Informal economy of india at a glanceJust.Jobs
 
Многомировая теория истинности
Многомировая теория истинностиМногомировая теория истинности
Многомировая теория истинностиAlexander Boldachev
 
Preview Akademi Passion
Preview Akademi PassionPreview Akademi Passion
Preview Akademi PassionIbrahim Ubaid
 
伊斯兰教和佛教 Chinese hànyǔ 中文 古文
伊斯兰教和佛教 Chinese hànyǔ 中文 古文伊斯兰教和佛教 Chinese hànyǔ 中文 古文
伊斯兰教和佛教 Chinese hànyǔ 中文 古文HarunyahyaChinese
 
67 biotechnology2008 3
67 biotechnology2008 367 biotechnology2008 3
67 biotechnology2008 3sbarkanic
 
Crossing The Chasm : l'Innovation de Rupture à la conquête du marché
Crossing The Chasm : l'Innovation de Rupture à la conquête du marchéCrossing The Chasm : l'Innovation de Rupture à la conquête du marché
Crossing The Chasm : l'Innovation de Rupture à la conquête du marchéDr Samir A. ROUABHI
 
Historiese proses oefening vier
Historiese proses oefening vierHistoriese proses oefening vier
Historiese proses oefening vierDonovanHeunis
 
Logo Netsis B2B Sunumu
Logo Netsis B2B Sunumu Logo Netsis B2B Sunumu
Logo Netsis B2B Sunumu Öner KAYA
 
Women and Social Media
Women and Social MediaWomen and Social Media
Women and Social MediabeBee
 
15.02.2016 Brainy. Органи чуття: інструменти та творці свідомості
15.02.2016 Brainy. Органи чуття: інструменти та творці свідомості15.02.2016 Brainy. Органи чуття: інструменти та творці свідомості
15.02.2016 Brainy. Органи чуття: інструменти та творці свідомостіProstirChasopys
 
[HeXathon] 발표자료 - 세모알
[HeXathon] 발표자료 - 세모알[HeXathon] 발표자료 - 세모알
[HeXathon] 발표자료 - 세모알NAVER D2
 

En vedette (20)

Ensteam proposal
Ensteam proposalEnsteam proposal
Ensteam proposal
 
Medical 2015 Mid Year Report NEW 090115
Medical 2015 Mid Year Report NEW 090115Medical 2015 Mid Year Report NEW 090115
Medical 2015 Mid Year Report NEW 090115
 
Eduson kak razrovarivat na yazike neftyanikov
Eduson kak razrovarivat na yazike neftyanikovEduson kak razrovarivat na yazike neftyanikov
Eduson kak razrovarivat na yazike neftyanikov
 
2016.вестник ран 2
2016.вестник ран 22016.вестник ран 2
2016.вестник ран 2
 
Прайс-лист на Smm услуги
Прайс-лист на Smm услугиПрайс-лист на Smm услуги
Прайс-лист на Smm услуги
 
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
NOSQL101, Or: How I Learned To Stop Worrying And Love The Mongo!
 
[Infografico] 9 Passos Para um Perfil Campeao no Linkedin
[Infografico] 9 Passos Para um Perfil Campeao no Linkedin[Infografico] 9 Passos Para um Perfil Campeao no Linkedin
[Infografico] 9 Passos Para um Perfil Campeao no Linkedin
 
JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)JCE editor optimaliseren (Joomla Den Bosc­h 2016)
JCE editor optimaliseren (Joomla Den Bosc­h 2016)
 
Informal economy of india at a glance
Informal economy of india at a glanceInformal economy of india at a glance
Informal economy of india at a glance
 
Ecuaciones
EcuacionesEcuaciones
Ecuaciones
 
Многомировая теория истинности
Многомировая теория истинностиМногомировая теория истинности
Многомировая теория истинности
 
Preview Akademi Passion
Preview Akademi PassionPreview Akademi Passion
Preview Akademi Passion
 
伊斯兰教和佛教 Chinese hànyǔ 中文 古文
伊斯兰教和佛教 Chinese hànyǔ 中文 古文伊斯兰教和佛教 Chinese hànyǔ 中文 古文
伊斯兰教和佛教 Chinese hànyǔ 中文 古文
 
67 biotechnology2008 3
67 biotechnology2008 367 biotechnology2008 3
67 biotechnology2008 3
 
Crossing The Chasm : l'Innovation de Rupture à la conquête du marché
Crossing The Chasm : l'Innovation de Rupture à la conquête du marchéCrossing The Chasm : l'Innovation de Rupture à la conquête du marché
Crossing The Chasm : l'Innovation de Rupture à la conquête du marché
 
Historiese proses oefening vier
Historiese proses oefening vierHistoriese proses oefening vier
Historiese proses oefening vier
 
Logo Netsis B2B Sunumu
Logo Netsis B2B Sunumu Logo Netsis B2B Sunumu
Logo Netsis B2B Sunumu
 
Women and Social Media
Women and Social MediaWomen and Social Media
Women and Social Media
 
15.02.2016 Brainy. Органи чуття: інструменти та творці свідомості
15.02.2016 Brainy. Органи чуття: інструменти та творці свідомості15.02.2016 Brainy. Органи чуття: інструменти та творці свідомості
15.02.2016 Brainy. Органи чуття: інструменти та творці свідомості
 
[HeXathon] 발표자료 - 세모알
[HeXathon] 발표자료 - 세모알[HeXathon] 발표자료 - 세모알
[HeXathon] 발표자료 - 세모알
 

Similaire à Ruby on Rails와 함께 하는 애자일 웹 개발

GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들Kivol
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용중선 곽
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해Terry Cho
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13hungrok
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현kdh24
 
Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Inho Kwon
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624uEngine Solutions
 
MongoDB 도입을 위한 제언
MongoDB 도입을 위한 제언MongoDB 도입을 위한 제언
MongoDB 도입을 위한 제언DongHan Kim
 
MongoDB 도입을 위한 제언 @krmug
MongoDB 도입을 위한 제언 @krmug MongoDB 도입을 위한 제언 @krmug
MongoDB 도입을 위한 제언 @krmug Ha-Yang(White) Moon
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기수보 김
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴Terry Cho
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵중선 곽
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트Dae Kim
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기Sunghyouk Bae
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...JinKwon Lee
 
이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다Jay Park
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksSunuk Park
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1YoungSu Son
 

Similaire à Ruby on Rails와 함께 하는 애자일 웹 개발 (20)

GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
 
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
프로그래밍 패러다임의 진화 및 Spring의 금융권 적용
 
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
Java script 강의자료_ed13
Java script 강의자료_ed13Java script 강의자료_ed13
Java script 강의자료_ed13
 
2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현
 
Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기Node.js에서 공공API를 활용해서 개발하기
Node.js에서 공공API를 활용해서 개발하기
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
 
MongoDB 도입을 위한 제언
MongoDB 도입을 위한 제언MongoDB 도입을 위한 제언
MongoDB 도입을 위한 제언
 
MongoDB 도입을 위한 제언 @krmug
MongoDB 도입을 위한 제언 @krmug MongoDB 도입을 위한 제언 @krmug
MongoDB 도입을 위한 제언 @krmug
 
예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기예비 개발자를 위한 소프트웨어 세상 이야기
예비 개발자를 위한 소프트웨어 세상 이야기
 
hexa core
hexa corehexa core
hexa core
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
 
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
모바일 게임과 앱을 위한 오픈소스 게임서버 엔진 프로젝트 CloudBread 프로젝트
 
좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다이벤트: 마이크로서비스 도입, 이렇게 한다
이벤트: 마이크로서비스 도입, 이렇게 한다
 
Patterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworksPatterns for effectviely documenting frameworks
Patterns for effectviely documenting frameworks
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1
 

Plus de Sukjoon Kim

워드프레스 웹사이트 제작 가이드
워드프레스 웹사이트 제작 가이드워드프레스 웹사이트 제작 가이드
워드프레스 웹사이트 제작 가이드Sukjoon Kim
 
루비, REST, jQuery 그리고 agile 웹에 관한 이야기
루비, REST, jQuery 그리고 agile 웹에 관한 이야기루비, REST, jQuery 그리고 agile 웹에 관한 이야기
루비, REST, jQuery 그리고 agile 웹에 관한 이야기Sukjoon Kim
 
루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날Sukjoon Kim
 
JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼Sukjoon Kim
 
Realtime Web 간보기
Realtime Web 간보기Realtime Web 간보기
Realtime Web 간보기Sukjoon Kim
 
페이스북 소셜 앱 개발 가이드 2011
페이스북 소셜 앱 개발 가이드 2011페이스북 소셜 앱 개발 가이드 2011
페이스북 소셜 앱 개발 가이드 2011Sukjoon Kim
 

Plus de Sukjoon Kim (7)

워드프레스 웹사이트 제작 가이드
워드프레스 웹사이트 제작 가이드워드프레스 웹사이트 제작 가이드
워드프레스 웹사이트 제작 가이드
 
루비, REST, jQuery 그리고 agile 웹에 관한 이야기
루비, REST, jQuery 그리고 agile 웹에 관한 이야기루비, REST, jQuery 그리고 agile 웹에 관한 이야기
루비, REST, jQuery 그리고 agile 웹에 관한 이야기
 
Merb tutorial
Merb tutorialMerb tutorial
Merb tutorial
 
루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날루비가 얼랭에 빠진 날
루비가 얼랭에 빠진 날
 
JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼JavaScript on Rails 튜토리얼
JavaScript on Rails 튜토리얼
 
Realtime Web 간보기
Realtime Web 간보기Realtime Web 간보기
Realtime Web 간보기
 
페이스북 소셜 앱 개발 가이드 2011
페이스북 소셜 앱 개발 가이드 2011페이스북 소셜 앱 개발 가이드 2011
페이스북 소셜 앱 개발 가이드 2011
 

Ruby on Rails와 함께 하는 애자일 웹 개발

  • 1. Ruby on Rails 와 함께하는 애자일 웹 개발 2007-05-31 유스풀 패러다임 김석준 ( [email_address] )
  • 3.
  • 4. 미션 (Mission) “ 사람들의 인맥관리 를 도와주는 서비스 ”
  • 5.
  • 6. 사용자 조사 “ 일주일에 한 번 ‘전화 Day’ 를 정하거나 하루 한 시간정도 시간을 내어 친지 , 지인에 안부를 묻는다 . ” “ 상대방에 대해 지속적으로 관심을 가질 수 있어야 . ” “ 인맥관리 리스트가 있으면 좋겠다 . ” “ 인맥은 연결될수록 강해지는 근육질 같은 것 . 좋은 인맥을 많은 사람에게 소개해 줄 수 있으면 ... ” “ 처음 소개받고 명함 교환하고 정답게 인사했다 하더라도 차츰 잊혀지기 시작… 잠자는 인맥을 ‘깨우고’ , ‘ 연결하고’ , ‘ 각성시켜주는’ 그런 장치가 있으면 좋겠다 . ”
  • 7.
  • 8. 서비스 Ideation : 주요 기능 도출
  • 9. 서비스 Ideation : Paper Prototyping
  • 10.
  • 11.
  • 12.
  • 13.
  • 15.
  • 16. 스토리 : 작업 관리 오늘 할 일 할 일 목록 xxxx xx xxxxx 4 4 완료한 일 (Wiki 에 기록 ) 적용 ( 구현 ) 테스트 배포 피드백 새로운 가치 발견
  • 17.
  • 18.
  • 19.
  • 21. 사용자별 페이지 라우팅 http://localhost:3000/me http://localhost:3000/me/recent user.connect ‘ :user ’, :controller => ‘main’ map.connect ‘ :user/:action ’, :controller => ‘main’ :controller => ‘main’, :action => ‘index’, :user => ‘user’ :controller => ‘main’, :action => ‘recent’, :user => ‘user’ url_for :user => ‘me’ url_for :user => ‘me’, :action => ‘recent’ user_url ‘me’ 식별 (recognize) 생성 (generate)
  • 22.
  • 23.
  • 24. Ajax, 어디까지 적용할 것인가 ?
  • 25. RJS or Not? remote_form_for :user, :update => ‘userlist’, :position => :bottom, :url => { :action => … } do … render :partial => :user, :locals => … 파셜 Vs. remote_form_for :user, :url => { :action => … } do … page.insert_html :bottom, ‘userlist’ , :partial => :user, :locals => … 액션 : rjs: <div id=“userlist”>
  • 26.
  • 28.
  • 29.
  • 30.
  • 31. 사용자 가치 추가해 나가기 “ 인맥이 한 눈에 들어오는 관계지도 ... ” “ 개인별 정보를 다운로드 받을 수 있게 ... ” “ 오늘 연락할 사람을 콕 찍어줘 ! ” “ . . . ”
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.

Notes de l'éditeur

  1. 브레인스토밍 과정을 통해 이 서비스에 필요한 기능을 식별 기술적인 요소와 무관 바로 구현할 수 있는 기능들도 있는 반면 , 조금 더 구체화시켜야 하는 것들도 있음
  2. 종이로 서비스에 대한 개략적인 프로토타입을 만들고 사용자들의 needs 를 다시 들음 ( 일종의 사용자 테스트 )