SlideShare a Scribd company logo
1 of 23
Download to read offline
페어코딩으로 클린코드와
테스팅 익히기
StudioXID Jongchan Kim
Nov 16, 2016
GDG Korea Campus
E-Mail: ace.jckim@gmail.com
Speaker Intro.
Jongchan Kim
StudioXID
Software Engineering Intern
Software Engineer (Android, IOS)
- 4284 Corp Lead of Android Develop Team, 2014 - 2016
- NAVER Developer Relations Intern (a.k.a D2 Program), 2014
- GDG Korea Android Organizer, 2014
- Software Maestro 4th Mentee, 2013 - 2014
Agile Practice
75%
IOS Development
35%
Android Development
90%
E-Mail: ace.jckim@gmail.com
3 min
TDD와 테스팅 알아보기
2
3 min
애자일은 무엇인가?
3
3 min
페어코딩 알아보기
1
15 min
실습으로 익히기
5
30 sec
마무리
8
3 min
사용 사례, 이걸 왜 배울까?
4
Agenda
페어코딩 알아보기
Two is strong more than one
GDG Korea Campus
백지장도 맞들면 낫다.
- 오래 전 한국 속담,
“
5
드라이버의 역할
직접 운전대를 잡고 운전을 하는 역할.
운전 중 현재 진행하는 것을 말로 표현하며 진행하며,

네비게이터와의 대화 역시 함께 진행해야한다.
네비게이터의 역할
전체 지도를 보며 목적지에 다다르는 길을 안내.

운전 중 의문이 드는 점이나 잘못 흘러가고 있는
상황에 대해 대화로 바로잡는다.
Rally Driving
Harmony of Driver and Navigator
6
코더의 역할
직접 키보드를 잡고 코딩을 진행하는 역할.
코딩 중 현재 진행하는 것을 말로 표현하며 진행하며,

조언자와의 대화 역시 함께 진행해야한다.
조언자의 역할
프로젝트의 요구사항과 전체 구조를 이해하고
현재 구현 중인 부분에 대한 솔루션 안내.

코딩 중 의문이 드는 점이나 잘못 흘러가고 있는
상황에 대해 대화로 바로잡는다.
Pair Programming
Harmony of Coder and Adviser
7
두 사람의 실력이 비슷하다면,


코더와 조언자는 주기마다 역할을 바꿀 수 있음.
프로젝트 상황 공유
해당 코드의 책임자가 자리를 비울때
페어를 진행했던 사람이 있기에
팀차원에서 리스크를 줄일 수 있음.



더불어 코드레벨로 정확히
팀의 상황을 공유 할 수 있음.
더 좋은 구현
함께 대화를 진행하며 프로젝트의 구조를
논하고 스펙에 대한 이야기를 나누면서 개발
하면 더 효율적인 구현이 나올 가능성이 큼.
개인마다의 개발 경험이 합쳐지면
더 넓은 스펙트럼의 시야가 생김.
전체 진행속도
각자가 따로 개발을 하는 것보다는
시간이 더 들어갈수 있음.

그러나 개발자의 딴짓(?)을 막을수 있어서
시간을 효율적으로 활용이 가능하기도 함.
Gradually, One step, Two step.
TDD와 테스팅 알아보기
GDG Korea Campus
개발에서 테스트 / 테스트 코드란
= 작성한 코드가 우리가 생각했던 의도대로 잘 작동하는지
검증하는 코드
11
2 실패하는 테스트 코드를 한번에 하나 이상 작성하지 않는다.
3
현재 실패하고 있는 테스트를 통과하기에 충분한 양을 넘는
제품 코드를 작성하지 않는다.
1 실패하는 테스트를 작성하기 전에는 제품 코드를 작성하지 않는다.TDD Principle
of Robert C. Martin
12
Result - 필요한 부분만 집중해서 구현하기 때문에 코드가 얽히지 않음.

- 최대한 역할을 나누고 기능을 세분화 시키면서 TDD를 진행하면

자연스럽게 클린코드의 원칙을 수행하게 됨.

- 제품 코드와 별개로 연습코드를 짤수 있는 이면지,

혹은 Playground가 존재한다고 생각 할 수 있다.

- 결국 테스트 코드에 남는 것들이 기능들의 종류를 대변하므로

테스트 코드 자체가 결과물의 문서 그 자체가 된다.
TDD의 기대 효과
Android Testing Session in Devcamp 2016 : https://goo.gl/oqm1HP
Between Tech and Culture.
애자일은 무엇인가?
GDG Korea Campus
요구사항은 항상 바뀌며, 한정된 시간안에 그럴듯한
결과물을 내야하는 상황. 그러면서 프로젝트의 견고함
은 유지되어야하고, 그러면서 프로젝트의 이슈를 효율
적으로 팀원들과 커뮤니케이션 해야하는게
우리 개발자들의 숙명 ㅠㅠ
변화를 인정하는 빠른 대응 방법
개발 -> 테스트 -> 릴리즈 -> 피드백 적용 -> 개발

위 사이클을 빠르게 진행하기
TDD를 이용한 점진적인 방법으로 필요한 기능들 위
주로 Feature들을 구현해나가기
결과물은 빌드 자동화와 지속적 통합을 활용해서
유저에게 전달될 산출물의 건강을 수시로 체크하기
Scrum
eXtreme
Programming
Lean

Startup
팀의 상태와 프로젝트의 상황을 빠른 주기로 공유하
고, 조직이 나아갈 방향을 실용주의적으로 결정
개발과 직접적으로 연관된
애자일을 배워볼수 있는 책
조직에 애자일을 쉽게
적용 할 수 있게하는 책
익스트림 프로그래밍
켄트 벡, 신시아 안드레스 저
김창준, 정지호 역
스크럼과 XP
S헨릭 크니버그 저
심우곤, 엄위상, 한주영 역 15
Trust using case.
사용 사례, 이걸 왜 배울까?
GDG Korea Campus
E-Mail: ace.jckim@gmail.com
17
수평 문화, 팀에 대한 신뢰
과감한 피드백 수용
빠른 실행력
페어 프로그래밍 적극 권장
빡센 테스팅을 통한
프로젝트의 견고함 유지
Company Using Case
실력 다음으로 조직문화에 잘 맞는 사람이 매력적인 것이 현실.
미리 배우고 경험해본다면 좋은 결과가 있지 않을까요?
18
Pair Programming & Testing
실습으로 익히기
GDG Korea Campus
Source Down : https://github.com/acious/PairProgramming-Testing-Seminar
E-Mail: ace.jckim@gmail.com
Java
조건, 반복, 객체 이해하는 분
Algorithm
모르셔도 됨. 모르면 좋겠음.
Coding Exp.
스스로가 경험이 없다고 생각하며,
실수해도 잃을게 없다고 생각하는 분
Who is front-runner?
Session Ending
마 무 리
GDG Korea Campus
E-Mail: ace.jckim@gmail.com
내일 부터 습관화!
학교 프로젝트, 공모전
본인이 속한 개발 팀
여러분이 문화를 만드세요.
페어 프로그래밍
부끄럽다고 생각하지말고
동료와 함께 생각하며 개발
TDD, 테스팅
한번에 많은 양을 짜서 승부를
보기보다는 점진적으로 필요
한 부분에 집중해서 구현하기.

클린코드를 실천하기 쉬움.
Conclusion
Thank You
Questions?
http://fb.com/ace.jckim
23@acious
Jongchan Kim
ace.jckim@gmail.com

More Related Content

What's hot

[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화
[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화 [위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화
[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화 Daniel Juyung Seo
 
신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]Yurim Jin
 
[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기
[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기
[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기FAST CAMPUS
 
패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션Taegon Kim
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며NAVER Engineering
 
학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기재원 최
 
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기Daniel Juyung Seo
 
[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기FAST CAMPUS
 
개발자 1.5배 즐기기
개발자 1.5배 즐기기개발자 1.5배 즐기기
개발자 1.5배 즐기기용근 권
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법NAVER Engineering
 
Zeropage - wikinote 발표자료
Zeropage - wikinote 발표자료Zeropage - wikinote 발표자료
Zeropage - wikinote 발표자료NAVER D2
 
개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]
개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]
개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]Yurim Jin
 
오픈 소스와 코드 리뷰
오픈 소스와 코드 리뷰오픈 소스와 코드 리뷰
오픈 소스와 코드 리뷰Daniel Juyung Seo
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OTMinGeun Park
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략Jay Park
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로Sungwoo Park
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기NAVER Engineering
 
인터렉 리서치
인터렉 리서치인터렉 리서치
인터렉 리서치Jung Mieseul
 
SW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project KeynoteSW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project Keynote진수 한
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님NAVER D2
 

What's hot (20)

[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화
[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화 [위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화
[위드이노베이션 토크콘서트] 위드이노베이션, 삼성과 구글의 개발 문화
 
신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]신입 개발자 생활백서 [개정판]
신입 개발자 생활백서 [개정판]
 
[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기
[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기
[강의소개] 파이썬으로 시작하는 웹 프로그래밍 CAMP 1기
 
패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션
 
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
200820 NAVER TECH CONCERT 12_상반기 네이버 인턴을 돌아보며
 
학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기학생 개발자, 인턴십으로 성장하기
학생 개발자, 인턴십으로 성장하기
 
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기
[GDG DevFest Seoul 2016] 오픈 소스를 통해 개발 근육 강화하기
 
[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기[강의소개] 안드로이드 앱 개발 입문 캠프 4기
[강의소개] 안드로이드 앱 개발 입문 캠프 4기
 
개발자 1.5배 즐기기
개발자 1.5배 즐기기개발자 1.5배 즐기기
개발자 1.5배 즐기기
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
 
Zeropage - wikinote 발표자료
Zeropage - wikinote 발표자료Zeropage - wikinote 발표자료
Zeropage - wikinote 발표자료
 
개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]
개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]
개발과 디자인은 재미있어 [141025 한국우분투커뮤니티 발표]
 
오픈 소스와 코드 리뷰
오픈 소스와 코드 리뷰오픈 소스와 코드 리뷰
오픈 소스와 코드 리뷰
 
[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT[데브루키 언리얼 스터디] 스터디 안내 OT
[데브루키 언리얼 스터디] 스터디 안내 OT
 
(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략(책 소개) 레거시 코드 활용 전략
(책 소개) 레거시 코드 활용 전략
 
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
[취업특강] IT분야에서 행복하게 일하기 - SW 개발자를 중심으로
 
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
200819 NAVER TECH CONCERT 07_신입 iOS 개발자 개발업무 적응기
 
인터렉 리서치
인터렉 리서치인터렉 리서치
인터렉 리서치
 
SW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project KeynoteSW Maestro 1-1 Project Keynote
SW Maestro 1-1 Project Keynote
 
개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님개발을잘하고싶어요-네이버랩스 송기선님
개발을잘하고싶어요-네이버랩스 송기선님
 

Similar to 공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824

프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법도형 임
 
Code Review - DevOn2013
Code Review - DevOn2013Code Review - DevOn2013
Code Review - DevOn2013호정 이
 
TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기Ji Heon Kim
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)VMware Tanzu Korea
 
testing for agile?, agile for testing
testing for agile?, agile for testingtesting for agile?, agile for testing
testing for agile?, agile for testingSangIn Choung
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)SangIn Choung
 
TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기현승 배
 
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)애자일 게임 개발: 최전선의 이야기(Gamefest 2006)
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)Kay Kim
 
애자일 하라
애자일 하라애자일 하라
애자일 하라진수 허
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story호정 이
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)영기 김
 
Testing & refactoring
Testing & refactoringTesting & refactoring
Testing & refactoringLim Hosung
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기Donghyun Cho
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018devCAT Studio, NEXON
 
부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)CONNECT FOUNDATION
 
TDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDDTDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDDSuwon Chae
 
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)Kay Kim
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다이상한모임
 
손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.Kwangsung Ha
 

Similar to 공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824 (20)

프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법프로젝트 Xxx에 적용하고 싶은 개발방법
프로젝트 Xxx에 적용하고 싶은 개발방법
 
애자일의 모든것
애자일의 모든것애자일의 모든것
애자일의 모든것
 
Code Review - DevOn2013
Code Review - DevOn2013Code Review - DevOn2013
Code Review - DevOn2013
 
TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기TDD: Test Driven Development 첫번째 이야기
TDD: Test Driven Development 첫번째 이야기
 
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
꿀밋업시리즈3탄_Spring Boot를 활용한 마이크로서비스 개발과 페어프로그래밍(TDD)
 
testing for agile?, agile for testing
testing for agile?, agile for testingtesting for agile?, agile for testing
testing for agile?, agile for testing
 
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
애자일과 애자일 테스트 소개 (테스트기본교육 3장 2절)
 
TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기TDD - 테스트 주도로 개발하기
TDD - 테스트 주도로 개발하기
 
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)애자일 게임 개발: 최전선의 이야기(Gamefest 2006)
애자일 게임 개발: 최전선의 이야기(Gamefest 2006)
 
애자일 하라
애자일 하라애자일 하라
애자일 하라
 
Kakao agile 2nd story
Kakao agile 2nd storyKakao agile 2nd story
Kakao agile 2nd story
 
익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)익스트림 프로그래밍(Xp)
익스트림 프로그래밍(Xp)
 
Testing & refactoring
Testing & refactoringTesting & refactoring
Testing & refactoring
 
개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기개발자, 성장하는 '척' 말고, 진짜 성장하기
개발자, 성장하는 '척' 말고, 진짜 성장하기
 
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
홍성우, 게임 프로그래머는 어떻게 가르치나요?, NDC2018
 
부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)부스트캠프 웹・모바일 8기 설명회 (2023년)
부스트캠프 웹・모바일 8기 설명회 (2023년)
 
TDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDDTDD&Refactoring Day 02: TDD
TDD&Refactoring Day 02: TDD
 
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
실전 애자일 게임 개발 (Agile Game Agile Game Development From The Trenches)
 
EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다EMOCON 2015 - 품질과 테스트는 다르다
EMOCON 2015 - 품질과 테스트는 다르다
 
손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.손코딩뇌컴파일눈디버깅을 소개합니다.
손코딩뇌컴파일눈디버깅을 소개합니다.
 

More from AWSKRUG - AWS한국사용자모임

IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...AWSKRUG - AWS한국사용자모임
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...AWSKRUG - AWS한국사용자모임
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...AWSKRUG - AWS한국사용자모임
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021AWSKRUG - AWS한국사용자모임
 
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...AWSKRUG - AWS한국사용자모임
 
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020AWSKRUG - AWS한국사용자모임
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...AWSKRUG - AWS한국사용자모임
 
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020AWSKRUG - AWS한국사용자모임
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020AWSKRUG - AWS한국사용자모임
 
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020AWSKRUG - AWS한국사용자모임
 

More from AWSKRUG - AWS한국사용자모임 (20)

IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
IaC로 AWS인프라 관리하기 - 이진성 (AUSG) :: AWS Community Day Online 2021
 
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
Docker를 활용한 손쉬운 ECS 활용기 - 김민태 (AUSG) :: AWS Community Day Online 2021
 
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
AWS와 함께하는 무중단 배포 파이프라인 개선기 - 황성찬 (AUSG) :: AWS Community Day Online 2021
 
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
보안을 위한 AWS Network 구성 - 우수연 (AUSG) :: AWS Community Day Online 2021
 
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
자연어 처리 ML모델을 활용한 이커머스 문제 해결하기 - 진현두 (카카오스타일) :: AWS Community Day Online 2021
 
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
Athena & Step Function 으로 통계 파이프라인 구축하기 - 변규현 (당근마켓) :: AWS Community Day Onl...
 
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
자바개발자가 최대한 빠르게 서비스를 오픈하는 방법 - 최진환 (드라마앤컴퍼니) :: AWS Community Day Online 2021
 
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
스타트업 나홀로 데이터 엔지니어: 데이터 분석 환경 구축기 - 천지은 (Tappytoon) :: AWS Community Day Onlin...
 
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
커뮤니티 빌더를 아시나요? - 윤평호(AWSKRUG) :: AWS Community Day Online 2021
 
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
복잡한 권한신청문제 ConsoleMe로 해결하기 - 손건 (AB180) :: AWS Community Day Online 2021
 
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
ECS to EKS 마이그레이션 경험기 - 유용환(Superb AI) :: AWS Community Day Online 2021
 
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
복잡한 기존 시스템에 피쳐 애드업 후기 - 김태웅(브랜디) :: AWS Community Day Online 2021
 
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
EKS에서 Opentelemetry로 코드실행 모니터링하기 - 신재현 (인덴트코퍼레이션) :: AWS Community Day Online...
 
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
Amazon EKS로 간단한 웹 애플리케이션 구축하기 - 김주영 (AWS) :: AWS Community Day Online 2021
 
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
[AWS Hero 스페셜] 서버리스 기반 검색 서비스 구축하기 - 이상현(스마일벤처스) :: AWS Community Day Online ...
 
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
초기 스타트업의 AWS - 김지훈(투어라이브) :: AWS Community Day Online 2020
 
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
[AWS Hero 스페셜] Amazon Personalize를 통한 개인화/추천 서비스 개발 노하우 - 소성운(크로키닷컴) :: AWS C...
 
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
goployer, 코드 기반의 배포 도구 - 송주영 (beNX) :: AWS Community Day 2020
 
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
온라인 주문 서비스를 서버리스 아키텍쳐로 구축하기 - 김태우(Classmethod) :: AWS Community Day Online 2020
 
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C)  :: AWS Community Day Online 2020
엔터프라이즈 기업을 위한 Digital 플랫폼 구축 사례 - 권낙주(SK C&C) :: AWS Community Day Online 2020
 

공사꾼 개발부장 김종찬_페어코딩으로 테스팅 배우기_ausg_20170824

  • 1. 페어코딩으로 클린코드와 테스팅 익히기 StudioXID Jongchan Kim Nov 16, 2016 GDG Korea Campus
  • 2. E-Mail: ace.jckim@gmail.com Speaker Intro. Jongchan Kim StudioXID Software Engineering Intern Software Engineer (Android, IOS) - 4284 Corp Lead of Android Develop Team, 2014 - 2016 - NAVER Developer Relations Intern (a.k.a D2 Program), 2014 - GDG Korea Android Organizer, 2014 - Software Maestro 4th Mentee, 2013 - 2014 Agile Practice 75% IOS Development 35% Android Development 90%
  • 3. E-Mail: ace.jckim@gmail.com 3 min TDD와 테스팅 알아보기 2 3 min 애자일은 무엇인가? 3 3 min 페어코딩 알아보기 1 15 min 실습으로 익히기 5 30 sec 마무리 8 3 min 사용 사례, 이걸 왜 배울까? 4 Agenda
  • 4. 페어코딩 알아보기 Two is strong more than one GDG Korea Campus
  • 5. 백지장도 맞들면 낫다. - 오래 전 한국 속담, “ 5
  • 6. 드라이버의 역할 직접 운전대를 잡고 운전을 하는 역할. 운전 중 현재 진행하는 것을 말로 표현하며 진행하며,
 네비게이터와의 대화 역시 함께 진행해야한다. 네비게이터의 역할 전체 지도를 보며 목적지에 다다르는 길을 안내.
 운전 중 의문이 드는 점이나 잘못 흘러가고 있는 상황에 대해 대화로 바로잡는다. Rally Driving Harmony of Driver and Navigator 6
  • 7. 코더의 역할 직접 키보드를 잡고 코딩을 진행하는 역할. 코딩 중 현재 진행하는 것을 말로 표현하며 진행하며,
 조언자와의 대화 역시 함께 진행해야한다. 조언자의 역할 프로젝트의 요구사항과 전체 구조를 이해하고 현재 구현 중인 부분에 대한 솔루션 안내.
 코딩 중 의문이 드는 점이나 잘못 흘러가고 있는 상황에 대해 대화로 바로잡는다. Pair Programming Harmony of Coder and Adviser 7 두 사람의 실력이 비슷하다면, 
 코더와 조언자는 주기마다 역할을 바꿀 수 있음.
  • 8. 프로젝트 상황 공유 해당 코드의 책임자가 자리를 비울때 페어를 진행했던 사람이 있기에 팀차원에서 리스크를 줄일 수 있음.
 
 더불어 코드레벨로 정확히 팀의 상황을 공유 할 수 있음. 더 좋은 구현 함께 대화를 진행하며 프로젝트의 구조를 논하고 스펙에 대한 이야기를 나누면서 개발 하면 더 효율적인 구현이 나올 가능성이 큼. 개인마다의 개발 경험이 합쳐지면 더 넓은 스펙트럼의 시야가 생김. 전체 진행속도 각자가 따로 개발을 하는 것보다는 시간이 더 들어갈수 있음.
 그러나 개발자의 딴짓(?)을 막을수 있어서 시간을 효율적으로 활용이 가능하기도 함.
  • 9. Gradually, One step, Two step. TDD와 테스팅 알아보기 GDG Korea Campus
  • 10. 개발에서 테스트 / 테스트 코드란 = 작성한 코드가 우리가 생각했던 의도대로 잘 작동하는지 검증하는 코드
  • 11. 11 2 실패하는 테스트 코드를 한번에 하나 이상 작성하지 않는다. 3 현재 실패하고 있는 테스트를 통과하기에 충분한 양을 넘는 제품 코드를 작성하지 않는다. 1 실패하는 테스트를 작성하기 전에는 제품 코드를 작성하지 않는다.TDD Principle of Robert C. Martin
  • 12. 12 Result - 필요한 부분만 집중해서 구현하기 때문에 코드가 얽히지 않음.
 - 최대한 역할을 나누고 기능을 세분화 시키면서 TDD를 진행하면
 자연스럽게 클린코드의 원칙을 수행하게 됨.
 - 제품 코드와 별개로 연습코드를 짤수 있는 이면지,
 혹은 Playground가 존재한다고 생각 할 수 있다.
 - 결국 테스트 코드에 남는 것들이 기능들의 종류를 대변하므로
 테스트 코드 자체가 결과물의 문서 그 자체가 된다. TDD의 기대 효과 Android Testing Session in Devcamp 2016 : https://goo.gl/oqm1HP
  • 13. Between Tech and Culture. 애자일은 무엇인가? GDG Korea Campus
  • 14. 요구사항은 항상 바뀌며, 한정된 시간안에 그럴듯한 결과물을 내야하는 상황. 그러면서 프로젝트의 견고함 은 유지되어야하고, 그러면서 프로젝트의 이슈를 효율 적으로 팀원들과 커뮤니케이션 해야하는게 우리 개발자들의 숙명 ㅠㅠ 변화를 인정하는 빠른 대응 방법 개발 -> 테스트 -> 릴리즈 -> 피드백 적용 -> 개발
 위 사이클을 빠르게 진행하기 TDD를 이용한 점진적인 방법으로 필요한 기능들 위 주로 Feature들을 구현해나가기 결과물은 빌드 자동화와 지속적 통합을 활용해서 유저에게 전달될 산출물의 건강을 수시로 체크하기 Scrum eXtreme Programming Lean
 Startup 팀의 상태와 프로젝트의 상황을 빠른 주기로 공유하 고, 조직이 나아갈 방향을 실용주의적으로 결정
  • 15. 개발과 직접적으로 연관된 애자일을 배워볼수 있는 책 조직에 애자일을 쉽게 적용 할 수 있게하는 책 익스트림 프로그래밍 켄트 벡, 신시아 안드레스 저 김창준, 정지호 역 스크럼과 XP S헨릭 크니버그 저 심우곤, 엄위상, 한주영 역 15
  • 16. Trust using case. 사용 사례, 이걸 왜 배울까? GDG Korea Campus
  • 17. E-Mail: ace.jckim@gmail.com 17 수평 문화, 팀에 대한 신뢰 과감한 피드백 수용 빠른 실행력 페어 프로그래밍 적극 권장 빡센 테스팅을 통한 프로젝트의 견고함 유지 Company Using Case
  • 18. 실력 다음으로 조직문화에 잘 맞는 사람이 매력적인 것이 현실. 미리 배우고 경험해본다면 좋은 결과가 있지 않을까요? 18
  • 19. Pair Programming & Testing 실습으로 익히기 GDG Korea Campus Source Down : https://github.com/acious/PairProgramming-Testing-Seminar
  • 20. E-Mail: ace.jckim@gmail.com Java 조건, 반복, 객체 이해하는 분 Algorithm 모르셔도 됨. 모르면 좋겠음. Coding Exp. 스스로가 경험이 없다고 생각하며, 실수해도 잃을게 없다고 생각하는 분 Who is front-runner?
  • 21. Session Ending 마 무 리 GDG Korea Campus
  • 22. E-Mail: ace.jckim@gmail.com 내일 부터 습관화! 학교 프로젝트, 공모전 본인이 속한 개발 팀 여러분이 문화를 만드세요. 페어 프로그래밍 부끄럽다고 생각하지말고 동료와 함께 생각하며 개발 TDD, 테스팅 한번에 많은 양을 짜서 승부를 보기보다는 점진적으로 필요 한 부분에 집중해서 구현하기.
 클린코드를 실천하기 쉬움. Conclusion