ݺߣ

ݺߣShare a Scribd company logo
1
회사에서 새로운 기술 도입하기
(부재: Ruby On Rails와 vue.js의 기술 변화와 애자일 활용)
중앙일보
JunSeok.Jung
2
정준석
korcosin@gmail.com
2011.01 ~ 2011.10 : LG전자 R&D연구소 ( JAVA / C# )
2011.11 ~ 2015.05 : WISEnut ( JAVA / C# )
2015.05 ~ 2016.07 : 에듀윌 ( C# )
2016.07 ~ ING : 중앙일보 (C# / Ruby )
- Crawling Technical Specialist
- Web Developer
- Polyglot Programmer… 가 되고 싶은…
- .NET과 JAVA 이중 스파이
- 요즘은 루비 홀릭
INDEX
3
1. 인트로
2. 기술 변화
3. 방법론 변화
4. TIP : TMDB API / 영진위 API
5. 결론
오늘 할 이야기
4
인트로
5
〃http://www.slideshare.net/saltynut/how-do-we-
drive-tech-changes〃
“기술적 변화를 이끌어가기”
라는 슬라이드 를 감명 깊게 보고
직접 실행에 옮겨봤습니다.
인트로
6
회사에서의 새로운 기술 도입
인트로
7
“이거 이렇게 짜 놓으면 나중에 유지보수 누가해”
“책임 질 꺼야?”
(제일 힘 빠지게 하는 대사.)
인트로
8
“공부 좀 해라. 나만 하냐??”
(마음 같아서는)
인트로
9
새로운 기술에 대한 거부감이 있는 사람들이 많다.
인트로
10
그럼에도 불구하고 우리는 새로움을 추구해야 한다.
인트로
11
매년 최소한 새로운 언어 하나를 익혀라.
같은 문제를 다른 언어를 사용하여 다른 방식으로 풀라.
여러 접근방법을 배우게 되면 사고를 확장하는 데 도움이 되고,
문제와 삽질을 피할 수 있다.
〃Andrew Hunt, David Thomas - 실용주의 프로그래머〃
인트로
12
지금 현재 자신이 주로 삼고 있는 언어 이외에,
새로운 프로그래밍 언어를 배우라.
새 언어를 배우고, 새 언어의 표현 방식을 배우라.
그렇게 하면 사고의 영역이 확장 될 수 있다.
〃Chad Fowler - 사랑하지 않으면 떠나라〃
인트로
13
개인적인 공부는 쉽다.
= 시간만 있으면, 흥미만 있으면…
- 시간이 없어도 의지만 있으면 개인 스터디는 쉽다.
- 그만큼 포기도 관대하게 빨리 할 수 있다.
인트로
14
회사에서 새로운 것을 시도 해보는 것
= 팀원 / 팀장의 도움(지원)
인트로
15
회사에서 새로운 것을 시도 해보는 것
= 내가 얼마나 알고 있는가?(설득력)
인트로
16
회사에서 새로운 것을 시도 해보는 것
= 하고자 하는 개인 의지
인트로
17
회사에서 새로운 것을 시도 해보는 것
= 하고자 하는 개인 의지
인트로
18
하고자 하는 개인의지를 강하게 어필하여
(의지력 40% + 땡깡 50% + 설득력 10%)
인트로
19
기존과는 다른 기술 방식으로
담당하게 된 프로젝트
“영화 추천 서비스”
(베타 오픈. 계속 열일 중…)
인트로
20
• 슬라이드를 통해 보여주고 싶은 것
- 언론사는 보수적인 경향이 있어서 독특한 기술이 없을 거야
- 회사에서는 “안정”이 중요 하기 때문에,
결국엔 한 기술로만 작업이 진행 될 거야.
- 개인 발전을 위해서는 업무 외의 시간에서만 활용해야 하는 걸까?
… 라는 편견을 없애고 싶습니다.
인트로
21
기술 변화
22
• 기존 시스템
- Architecture
ASP.NET(C#)의 웹 폼을 이용 하여, 데이터를 뿌려준다.
Front-End와 Back-End의 경계 역할이 제대로 나누어져 있지 않다.
기술 변화
Web Application
ASP.NET
(Web Form)
database
jQuery
23
• 기존 시스템
- Architecture
Web Form 방식은 웹 개발을 할 때 아직도 많이 사용 되는 기능.
하지만 이 방식에 너무 익숙해지면 “복-붙 프로그래머”가 되어,
개발에 흥미가 떨어진다.
기술 변화
Web Application
ASP.NET
(Web Form)
database
jQuery
24
• 기존 시스템
- Architecture
jQuery를 비하하는 것은 아니지만,
Ajax 통신을 하는 부분의 구조가 복잡해지면 html 그려내기 어렵다.
(잘 못하면 스파게티 코드 될 가능성도…)
기술 변화
Web Application
ASP.NET
(Web Form)
database
jQuery
25
• 새로운 시스템
- Architecture
기술 변화
Front-End
Vue.js
jQuery
bootstrap
Back-End
Ruby(Rails)
json
database
WEBrick
26
• 새로운 시스템
- Architecture
기술 변화
Front-End
Vue.js
jQuery
bootstrap
Back-End
Ruby(Rails)
json
database
WEBrick
27
• 새로운 시스템
- Architecture
기술 변화
Front-End
Vue.js
jQuery
bootstrap
Ajax 를 이용하여,
Back-End에서 가공한 json 데이터를
Vue.js를 이용 하여 화면에 뿌려준다.
28
기술 변화
메인 리스트 화면( html )
29
기술 변화
메인 리스트 화면( script )
30
기술 변화
공지사항 같은 일반 게시판 형은 이 정도로 소스 완성
31
기술 변화
메인 공지사항
32
• 새로운 시스템
- Architecture
기술 변화
Front-End
Vue.js
jQuery
bootstrap
관리자 페이지는 bootstrap을 사용하여,
심플하게 화면을 구성 한다.
- bootstrap admin template 선정
선택1) adminlte
선택2) matrix-admin
=> matrix-admin template 선택
=> 이유? adminlte는 많이 써 봐서 식상함.
무조건 새로운 것!ㅎㅎ
33
기술 변화
34
• 새로운 시스템
- Architecture
기술 변화
Front-End
Vue.js
jQuery
bootstrap
Back-End
Ruby(Rails)
json
database
WEBrick
35
• 새로운 시스템
- Architecture
기술 변화
Back-End
Ruby(Rails)
json
WEBrick
Ruby On Rails 를 이용 하여,
데이터베이스 조회 및, json 데이터를 가공 한다.
ORM 방식을 도입.
조금만 쉽게(?) 가자. 프로시저 사용
( 다른 사람들도 나 없을 때, 수정을 할 수 있도록… )
36
기술 변화
37
• 새로운 시스템
- Architecture
기술 변화
Back-End
Ruby(Rails)
json
WEBrick
WEBrick을 이용하여 웹 서버를 구동 한다.
38
• 새로운 시스템
- Architecture
기술 변화
Front-End
Vue.js
jQuery
bootstrap
Back-End
Ruby(Rails)
json
databaseWEBrick
39
• 새로운 시스템
- Architecture
기술 변화
database
프로시저 사용
한 가지 이슈
- 프로시저에서 SELECT 구문을 여러 개로 구성 하면
json 가공하기 어려워 진다.
(현재 정책은 1 Procedure 1 ResultSet)
40
• 새로운 시스템
- 기술 선정 이유
- Ruby
1) 빠른 생산성
2) 타 프레임워크에 비해 설정에 손이 많이 안 간다.
3) 최근 급 성장 하고 있는 스타트업에서 많이 채택한 언어.
( http://rorlab.org/websites?per_page=100 )
그리고…
새로운 언어 학습의 즐거움!
기술 변화
41
• 새로운 시스템
- 기술 선정 이유
- Vue.js
1) 발음대로 철저히 뷰(View)에 최적화된 프레임워크
(철저히 Front 에서 단독으로 사용)
2) 가볍고 빠르다.
3) 한글 레퍼런스 문서도 있고, 러닝 커브가 빠르다.
(http://kr.vuejs.org/v2/guide/ )
그리고…
새로운 언어 학습의 즐거움!
기술 변화
42
• 새로운 시스템
- 해야 할 일!( 베타 오픈 => 정식 오픈 )
- Vue.js의 Component를 사용 하여, 공통 모듈 병합
- Ruby와 친해진 후, ORM 기법을 이용하여 고도화 예정
(ORM을 안 쓰면 Ruby를 쓸 이유도 없다.)
- Puma Web Server로 교체
- 이슈!
- 부트스트랩 템플릿에 Vue.js를 사용하다 보니(관리자페이지),
( 내장 라이브러리와 충돌되는 부분이 많다. )
( 하지만 사용자 페이지는 퍼블리싱이 되어 문서가 나오기 때문에, 반영 하기 쉬웠다. )
- 루비 하는 사람이 나 뿐이다…( 휴가 어떻게 가지?? )
기술 변화
43
방법론 변화
44
• 기존 시스템
- “PMS”에 TASK를 등록 한다.
- 디자인을 진행 한다.
- 퍼블리싱을 진행 한다.
- 개발을 진행 한다.
- 테스트를 한다.
- 실 서버에 배포 한다.
모든 작업의 히스토리는 PMS에서 확인이 가능 하다.
전형적인 “Water Fall” 방식!!
방법론 변화
45
• 새로운 시스템
- “Trello”를 이용하여 1주 ~ 2주 정도의 TASK를 리스트 업 하고
- 개발을 진행 한다. (디자인, 기획과는 상관 없이)
모든 작업의 히스토리는 Confluence를 이용하여 문서화 한다.
( TO-DO 리스트 / 리서치 문서 / 설계 문서 /
개발 문서 / 종료 회의록 등등 )
전형적인 “Agile” Scrum 방식!!
방법론 변화
46
• 새로운 시스템
- Trello
방법론 변화
47
• 새로운 시스템
- Trello
방법론 변화
48
• 새로운 시스템
- Confluence ( 메뉴 트리 )
방법론 변화
일정 산정
문서 정리
종료 회의
49
• 새로운 시스템
- Confluence ( 계획 )
방법론 변화
50
• 새로운 시스템
- Confluence ( 문서 정리 )
방법론 변화
51
• 새로운 시스템
- Confluence ( 문서 정리 )
방법론 변화
52
• 새로운 시스템
- Confluence ( 종료 회의록 )
방법론 변화
53
• 새로운 시스템
- trello + confluence를 이용해서 느낀 장점
- 계획성 있게 프로젝트가 진행 된다.
( trello의 to-do list / confluence의 상세 일정 체크 )
- 문서 정리를 깔끔하게 할 수 있다.
( confluence 의 매크로 기능 )
방법론 변화
54
• 새로운 시스템
- 다음에 시도 해 보고 싶은 것
- Slack의 도입 ( 도입 완료 )
- 현재는 독고다이로 개발을 하기 때문에 메신저가 필요 없다.
- 추후 루비 영혼의 파트너를 만나면 슬랙을 통한 커뮤니케이션
- Jira의 도입
- 이슈 트래킹
- 테스트
- 실패 한 부분
- 100% 잘 진행 되고 있었던, 스프린트 개념이 마지막 베타 오픈 전에 무너짐.
- 급 추가 수정 개발사항을 처리하면서 프로세스가 꼬임.
- 지금부터 마음잡고 다시 진행
방법론 변화
55
TIP : TMDB API
56
• TMDB란
- https://www.themoviedb.org/
- 영화 정보를 가지고 올 수 있는 오픈 API
- 영화 기본 정보( 제목, 스토리, 개봉 년도 등등 )
- 배우 정보
- 감독 정보
* 영화 뿐만 아니라 TV 프로그램도 가지고 올 수 있다.
TIP : TMDB API
57
• TMDB 테스트 URL
https://developers.themoviedb.org/3
TIP : TMDB API
58
• TMDB 사용 방법
사이트에서 회원 가입 후, API키를 발급 받은 후,
찾고자 하는 API 페이지에서 필수 파라미터를 집어 넣으면…
TIP : TMDB API
59
• TMDB 사용 방법
위와 같이 결과가 json 형식으로 리턴이 된다.
TIP : TMDB API
60
• TMDB 실제 활용 사례 ( Vue.js를 활용 )
TIP : TMDB API
61
• TMDB 실제 활용 사례 ( Vue.js를 활용 )
TIP : TMDB API
62
• TMDB 실제 활용 사례
TIP : TMDB API
관리자 페이지에서 영화 검색(TMDB)을 한 후, 해당 포스터를 클릭 하면
63
• TMDB 실제 활용 사례
TIP : TMDB API
64
• TMDB 실제 활용 사례
TIP : TMDB API
65
• TMDB 실제 활용 사례
TIP : TMDB API
영화 메타 데이터를 자동으로 넣어준다.
66
그런데…
67
외국 쪽 WIKI 라서 그런지…
배우 이름(특히 외국배우), 영화 성분들이 한글화가 잘 안되어 있다.
결국… 영화진흥위원회로 갈아탐.( 뒤엎음 )
정확히 말해서는 영화진흥위원회 + TMDB의 콜라보…
TIP : TMDB API
68
영화진흥위원회 TIP
( http://www.kobis.or.kr/kobisopenapi/homepg/board/findTutorial.do )
* TMDB 사용하는 방법과 거의 비슷하다.
TIP : 영진위 API
69
• 영진위 API 실제 활용 사례
TIP : 영진위 API
70
• 영진위 API 실제 활용 사례
TIP : 영진위 API
영화 메타 데이터(영화제목, 개봉년도 등등)는 영진위 API를 통해,
영화 부가 데이터(포스터,썸네일 등등)은 TMDB API를 통해 데이터 작업
71
결론
72
• 보여 준 것
- 한 기술 분야만 고집해서 할 필요는 없다.
- 가끔은 팀의 활력을 불어 넣는 데는 새로운 기술 도입 만큼 효과적인 처방전
은 없다.
- 좀 더 강하게 밀어 붙이기 위해서는 서비스가 잘 되야 할 텐데…
현재 정식 서비스 런칭을 위해 대 규모 수정 작업 중…^^
결론
73
• (감당 할 수 있는)힘든 것
- 맨 땅에 헤딩
- 코드 구조 잡기
- 코딩 컨벤션
- 환경설정( Ruby를 윈도우에서 돌려요…^^;;; )
- IDE ( notepad++로 개발… 음? )
- 문서화
- 처음 해 본 기술이라,
내가 정리 한 이 문서가 정말 활용 성 있는 좋은 정보일까?
- 서버 관리
- 레일즈 서버 관리 초보.
- 설정 몇 개 차이로 서버 성능이 모뎀 급에서 LTE급으로 변화.
결론
74
• (감당 할 수 없이)힘든 것
- 늘어나지 않았던 추가 개발 일정
- 일주일 정도의 수정 일정이 발생. 하지만 오픈 일정은 + 7 이 아닌 “0”
- 무엇인가 요구사항이 바뀌었다면, 그 일정을 남겨놔야 하는데…
결론
75
회사에서의 새로운 기술 도입
결론
76
하고자 하는 의지 + 팀의 협조
결론
77
충분히 가능합니다.
결론
78
결정권자: 무조건 안 된다고 하지 말고,
실무자: 설득 불가능하다 포기하지 말고,
결론
79
새로운 기술을 통해,(꼭 새로운 기술이 아니더라도 도전을 통해)
다 함께 발전하는 개발자가 됩시다.
결론
80
Thank You !!
〃
잔잔한 바다에서는
좋은 뱃사공이 만들어지지 않는다.
- 영국 속담 -
〃

More Related Content

회사에서 새로운 기술_적용하기

  • 1. 1 회사에서 새로운 기술 도입하기 (부재: Ruby On Rails와 vue.js의 기술 변화와 애자일 활용) 중앙일보 JunSeok.Jung
  • 2. 2 정준석 korcosin@gmail.com 2011.01 ~ 2011.10 : LG전자 R&D연구소 ( JAVA / C# ) 2011.11 ~ 2015.05 : WISEnut ( JAVA / C# ) 2015.05 ~ 2016.07 : 에듀윌 ( C# ) 2016.07 ~ ING : 중앙일보 (C# / Ruby ) - Crawling Technical Specialist - Web Developer - Polyglot Programmer… 가 되고 싶은… - .NET과 JAVA 이중 스파이 - 요즘은 루비 홀릭
  • 3. INDEX 3 1. 인트로 2. 기술 변화 3. 방법론 변화 4. TIP : TMDB API / 영진위 API 5. 결론 오늘 할 이야기
  • 5. 5 〃http://www.slideshare.net/saltynut/how-do-we- drive-tech-changes〃 “기술적 변화를 이끌어가기” 라는 슬라이드 를 감명 깊게 보고 직접 실행에 옮겨봤습니다. 인트로
  • 7. 7 “이거 이렇게 짜 놓으면 나중에 유지보수 누가해” “책임 질 꺼야?” (제일 힘 빠지게 하는 대사.) 인트로
  • 8. 8 “공부 좀 해라. 나만 하냐??” (마음 같아서는) 인트로
  • 9. 9 새로운 기술에 대한 거부감이 있는 사람들이 많다. 인트로
  • 10. 10 그럼에도 불구하고 우리는 새로움을 추구해야 한다. 인트로
  • 11. 11 매년 최소한 새로운 언어 하나를 익혀라. 같은 문제를 다른 언어를 사용하여 다른 방식으로 풀라. 여러 접근방법을 배우게 되면 사고를 확장하는 데 도움이 되고, 문제와 삽질을 피할 수 있다. 〃Andrew Hunt, David Thomas - 실용주의 프로그래머〃 인트로
  • 12. 12 지금 현재 자신이 주로 삼고 있는 언어 이외에, 새로운 프로그래밍 언어를 배우라. 새 언어를 배우고, 새 언어의 표현 방식을 배우라. 그렇게 하면 사고의 영역이 확장 될 수 있다. 〃Chad Fowler - 사랑하지 않으면 떠나라〃 인트로
  • 13. 13 개인적인 공부는 쉽다. = 시간만 있으면, 흥미만 있으면… - 시간이 없어도 의지만 있으면 개인 스터디는 쉽다. - 그만큼 포기도 관대하게 빨리 할 수 있다. 인트로
  • 14. 14 회사에서 새로운 것을 시도 해보는 것 = 팀원 / 팀장의 도움(지원) 인트로
  • 15. 15 회사에서 새로운 것을 시도 해보는 것 = 내가 얼마나 알고 있는가?(설득력) 인트로
  • 16. 16 회사에서 새로운 것을 시도 해보는 것 = 하고자 하는 개인 의지 인트로
  • 17. 17 회사에서 새로운 것을 시도 해보는 것 = 하고자 하는 개인 의지 인트로
  • 18. 18 하고자 하는 개인의지를 강하게 어필하여 (의지력 40% + 땡깡 50% + 설득력 10%) 인트로
  • 19. 19 기존과는 다른 기술 방식으로 담당하게 된 프로젝트 “영화 추천 서비스” (베타 오픈. 계속 열일 중…) 인트로
  • 20. 20 • 슬라이드를 통해 보여주고 싶은 것 - 언론사는 보수적인 경향이 있어서 독특한 기술이 없을 거야 - 회사에서는 “안정”이 중요 하기 때문에, 결국엔 한 기술로만 작업이 진행 될 거야. - 개인 발전을 위해서는 업무 외의 시간에서만 활용해야 하는 걸까? … 라는 편견을 없애고 싶습니다. 인트로
  • 22. 22 • 기존 시스템 - Architecture ASP.NET(C#)의 웹 폼을 이용 하여, 데이터를 뿌려준다. Front-End와 Back-End의 경계 역할이 제대로 나누어져 있지 않다. 기술 변화 Web Application ASP.NET (Web Form) database jQuery
  • 23. 23 • 기존 시스템 - Architecture Web Form 방식은 웹 개발을 할 때 아직도 많이 사용 되는 기능. 하지만 이 방식에 너무 익숙해지면 “복-붙 프로그래머”가 되어, 개발에 흥미가 떨어진다. 기술 변화 Web Application ASP.NET (Web Form) database jQuery
  • 24. 24 • 기존 시스템 - Architecture jQuery를 비하하는 것은 아니지만, Ajax 통신을 하는 부분의 구조가 복잡해지면 html 그려내기 어렵다. (잘 못하면 스파게티 코드 될 가능성도…) 기술 변화 Web Application ASP.NET (Web Form) database jQuery
  • 25. 25 • 새로운 시스템 - Architecture 기술 변화 Front-End Vue.js jQuery bootstrap Back-End Ruby(Rails) json database WEBrick
  • 26. 26 • 새로운 시스템 - Architecture 기술 변화 Front-End Vue.js jQuery bootstrap Back-End Ruby(Rails) json database WEBrick
  • 27. 27 • 새로운 시스템 - Architecture 기술 변화 Front-End Vue.js jQuery bootstrap Ajax 를 이용하여, Back-End에서 가공한 json 데이터를 Vue.js를 이용 하여 화면에 뿌려준다.
  • 30. 30 기술 변화 공지사항 같은 일반 게시판 형은 이 정도로 소스 완성
  • 32. 32 • 새로운 시스템 - Architecture 기술 변화 Front-End Vue.js jQuery bootstrap 관리자 페이지는 bootstrap을 사용하여, 심플하게 화면을 구성 한다. - bootstrap admin template 선정 선택1) adminlte 선택2) matrix-admin => matrix-admin template 선택 => 이유? adminlte는 많이 써 봐서 식상함. 무조건 새로운 것!ㅎㅎ
  • 34. 34 • 새로운 시스템 - Architecture 기술 변화 Front-End Vue.js jQuery bootstrap Back-End Ruby(Rails) json database WEBrick
  • 35. 35 • 새로운 시스템 - Architecture 기술 변화 Back-End Ruby(Rails) json WEBrick Ruby On Rails 를 이용 하여, 데이터베이스 조회 및, json 데이터를 가공 한다. ORM 방식을 도입. 조금만 쉽게(?) 가자. 프로시저 사용 ( 다른 사람들도 나 없을 때, 수정을 할 수 있도록… )
  • 37. 37 • 새로운 시스템 - Architecture 기술 변화 Back-End Ruby(Rails) json WEBrick WEBrick을 이용하여 웹 서버를 구동 한다.
  • 38. 38 • 새로운 시스템 - Architecture 기술 변화 Front-End Vue.js jQuery bootstrap Back-End Ruby(Rails) json databaseWEBrick
  • 39. 39 • 새로운 시스템 - Architecture 기술 변화 database 프로시저 사용 한 가지 이슈 - 프로시저에서 SELECT 구문을 여러 개로 구성 하면 json 가공하기 어려워 진다. (현재 정책은 1 Procedure 1 ResultSet)
  • 40. 40 • 새로운 시스템 - 기술 선정 이유 - Ruby 1) 빠른 생산성 2) 타 프레임워크에 비해 설정에 손이 많이 안 간다. 3) 최근 급 성장 하고 있는 스타트업에서 많이 채택한 언어. ( http://rorlab.org/websites?per_page=100 ) 그리고… 새로운 언어 학습의 즐거움! 기술 변화
  • 41. 41 • 새로운 시스템 - 기술 선정 이유 - Vue.js 1) 발음대로 철저히 뷰(View)에 최적화된 프레임워크 (철저히 Front 에서 단독으로 사용) 2) 가볍고 빠르다. 3) 한글 레퍼런스 문서도 있고, 러닝 커브가 빠르다. (http://kr.vuejs.org/v2/guide/ ) 그리고… 새로운 언어 학습의 즐거움! 기술 변화
  • 42. 42 • 새로운 시스템 - 해야 할 일!( 베타 오픈 => 정식 오픈 ) - Vue.js의 Component를 사용 하여, 공통 모듈 병합 - Ruby와 친해진 후, ORM 기법을 이용하여 고도화 예정 (ORM을 안 쓰면 Ruby를 쓸 이유도 없다.) - Puma Web Server로 교체 - 이슈! - 부트스트랩 템플릿에 Vue.js를 사용하다 보니(관리자페이지), ( 내장 라이브러리와 충돌되는 부분이 많다. ) ( 하지만 사용자 페이지는 퍼블리싱이 되어 문서가 나오기 때문에, 반영 하기 쉬웠다. ) - 루비 하는 사람이 나 뿐이다…( 휴가 어떻게 가지?? ) 기술 변화
  • 44. 44 • 기존 시스템 - “PMS”에 TASK를 등록 한다. - 디자인을 진행 한다. - 퍼블리싱을 진행 한다. - 개발을 진행 한다. - 테스트를 한다. - 실 서버에 배포 한다. 모든 작업의 히스토리는 PMS에서 확인이 가능 하다. 전형적인 “Water Fall” 방식!! 방법론 변화
  • 45. 45 • 새로운 시스템 - “Trello”를 이용하여 1주 ~ 2주 정도의 TASK를 리스트 업 하고 - 개발을 진행 한다. (디자인, 기획과는 상관 없이) 모든 작업의 히스토리는 Confluence를 이용하여 문서화 한다. ( TO-DO 리스트 / 리서치 문서 / 설계 문서 / 개발 문서 / 종료 회의록 등등 ) 전형적인 “Agile” Scrum 방식!! 방법론 변화
  • 46. 46 • 새로운 시스템 - Trello 방법론 변화
  • 47. 47 • 새로운 시스템 - Trello 방법론 변화
  • 48. 48 • 새로운 시스템 - Confluence ( 메뉴 트리 ) 방법론 변화 일정 산정 문서 정리 종료 회의
  • 49. 49 • 새로운 시스템 - Confluence ( 계획 ) 방법론 변화
  • 50. 50 • 새로운 시스템 - Confluence ( 문서 정리 ) 방법론 변화
  • 51. 51 • 새로운 시스템 - Confluence ( 문서 정리 ) 방법론 변화
  • 52. 52 • 새로운 시스템 - Confluence ( 종료 회의록 ) 방법론 변화
  • 53. 53 • 새로운 시스템 - trello + confluence를 이용해서 느낀 장점 - 계획성 있게 프로젝트가 진행 된다. ( trello의 to-do list / confluence의 상세 일정 체크 ) - 문서 정리를 깔끔하게 할 수 있다. ( confluence 의 매크로 기능 ) 방법론 변화
  • 54. 54 • 새로운 시스템 - 다음에 시도 해 보고 싶은 것 - Slack의 도입 ( 도입 완료 ) - 현재는 독고다이로 개발을 하기 때문에 메신저가 필요 없다. - 추후 루비 영혼의 파트너를 만나면 슬랙을 통한 커뮤니케이션 - Jira의 도입 - 이슈 트래킹 - 테스트 - 실패 한 부분 - 100% 잘 진행 되고 있었던, 스프린트 개념이 마지막 베타 오픈 전에 무너짐. - 급 추가 수정 개발사항을 처리하면서 프로세스가 꼬임. - 지금부터 마음잡고 다시 진행 방법론 변화
  • 56. 56 • TMDB란 - https://www.themoviedb.org/ - 영화 정보를 가지고 올 수 있는 오픈 API - 영화 기본 정보( 제목, 스토리, 개봉 년도 등등 ) - 배우 정보 - 감독 정보 * 영화 뿐만 아니라 TV 프로그램도 가지고 올 수 있다. TIP : TMDB API
  • 57. 57 • TMDB 테스트 URL https://developers.themoviedb.org/3 TIP : TMDB API
  • 58. 58 • TMDB 사용 방법 사이트에서 회원 가입 후, API키를 발급 받은 후, 찾고자 하는 API 페이지에서 필수 파라미터를 집어 넣으면… TIP : TMDB API
  • 59. 59 • TMDB 사용 방법 위와 같이 결과가 json 형식으로 리턴이 된다. TIP : TMDB API
  • 60. 60 • TMDB 실제 활용 사례 ( Vue.js를 활용 ) TIP : TMDB API
  • 61. 61 • TMDB 실제 활용 사례 ( Vue.js를 활용 ) TIP : TMDB API
  • 62. 62 • TMDB 실제 활용 사례 TIP : TMDB API 관리자 페이지에서 영화 검색(TMDB)을 한 후, 해당 포스터를 클릭 하면
  • 63. 63 • TMDB 실제 활용 사례 TIP : TMDB API
  • 64. 64 • TMDB 실제 활용 사례 TIP : TMDB API
  • 65. 65 • TMDB 실제 활용 사례 TIP : TMDB API 영화 메타 데이터를 자동으로 넣어준다.
  • 67. 67 외국 쪽 WIKI 라서 그런지… 배우 이름(특히 외국배우), 영화 성분들이 한글화가 잘 안되어 있다. 결국… 영화진흥위원회로 갈아탐.( 뒤엎음 ) 정확히 말해서는 영화진흥위원회 + TMDB의 콜라보… TIP : TMDB API
  • 68. 68 영화진흥위원회 TIP ( http://www.kobis.or.kr/kobisopenapi/homepg/board/findTutorial.do ) * TMDB 사용하는 방법과 거의 비슷하다. TIP : 영진위 API
  • 69. 69 • 영진위 API 실제 활용 사례 TIP : 영진위 API
  • 70. 70 • 영진위 API 실제 활용 사례 TIP : 영진위 API 영화 메타 데이터(영화제목, 개봉년도 등등)는 영진위 API를 통해, 영화 부가 데이터(포스터,썸네일 등등)은 TMDB API를 통해 데이터 작업
  • 72. 72 • 보여 준 것 - 한 기술 분야만 고집해서 할 필요는 없다. - 가끔은 팀의 활력을 불어 넣는 데는 새로운 기술 도입 만큼 효과적인 처방전 은 없다. - 좀 더 강하게 밀어 붙이기 위해서는 서비스가 잘 되야 할 텐데… 현재 정식 서비스 런칭을 위해 대 규모 수정 작업 중…^^ 결론
  • 73. 73 • (감당 할 수 있는)힘든 것 - 맨 땅에 헤딩 - 코드 구조 잡기 - 코딩 컨벤션 - 환경설정( Ruby를 윈도우에서 돌려요…^^;;; ) - IDE ( notepad++로 개발… 음? ) - 문서화 - 처음 해 본 기술이라, 내가 정리 한 이 문서가 정말 활용 성 있는 좋은 정보일까? - 서버 관리 - 레일즈 서버 관리 초보. - 설정 몇 개 차이로 서버 성능이 모뎀 급에서 LTE급으로 변화. 결론
  • 74. 74 • (감당 할 수 없이)힘든 것 - 늘어나지 않았던 추가 개발 일정 - 일주일 정도의 수정 일정이 발생. 하지만 오픈 일정은 + 7 이 아닌 “0” - 무엇인가 요구사항이 바뀌었다면, 그 일정을 남겨놔야 하는데… 결론
  • 76. 76 하고자 하는 의지 + 팀의 협조 결론
  • 78. 78 결정권자: 무조건 안 된다고 하지 말고, 실무자: 설득 불가능하다 포기하지 말고, 결론
  • 79. 79 새로운 기술을 통해,(꼭 새로운 기술이 아니더라도 도전을 통해) 다 함께 발전하는 개발자가 됩시다. 결론
  • 80. 80 Thank You !! 〃 잔잔한 바다에서는 좋은 뱃사공이 만들어지지 않는다. - 영국 속담 - 〃