SlideShare une entreprise Scribd logo
1  sur  60
Télécharger pour lire hors ligne
프로그라피 정기 세션 공통 강연

Git 협업

Issue, Pull Request, 협업 규칙, Flow
Github로 협업하기
들어가기 앞서..

주의! 회사마다 협업 방식은 매우매우매우 다릅니다!

오늘 실습할 방식은 제 경험을 바탕으로 구성했습니다!
간단 로직
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
이렇게 합니다
할 일 작성하기

(버그 해결..

이거 만들기..

저거 고치기..)
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
이렇게 합니다
브랜치 파서 코딩코딩코딩…

	 다하고

	 git add

	 git commit

	 git push
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
이렇게 합니다
리뷰 해달라고

같이 일하는 팀원들에게 요청!
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
이렇게 합니다
정성스레 한 땀 한 땀

리뷰해주십니다..
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
이렇게 합니다
내 코드가

머지되었어요!

아이 씐나
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
이렇게 합니다
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
사실은.. 이렇게 합디다..
CI 통과 실패!!!테스트 고치고

다시 푸시하고

…

무한반복
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
사실은.. 이렇게 합디다..
ㄴㄴ 이거 고치
셈
Add

Commit 

Push

무한반복..
CI 통과 실패!!!테스트 고치고

다시 푸시하고

…

무한반복
이슈 파기 	 이슈 해결	 풀리퀘 보내기	 코드 리뷰	 Merge! :)
간단 로직
사실은.. 이렇게 합디다..
ㄴㄴ 이거 고치
셈
Add

Commit 

Push

무한반복..
CI 통과 실패!!!테스트 고치고

다시 푸시하고

…

무한반복
실전 꼬고!

옆자리 짝궁과 사이좋게 Github 레파지토리를 팝시다!
브랜치 전략 정하기
Example.

- 이슈마다 브랜치를 생성한다.

- 각 브랜치는 develop 브랜치에 merge 한다.

- 마일스톤 목표가 끝나면 master브랜치로 develop브랜치를 merge한다. 

- 혹은 front는 이렇게, back은 이렇게 한다.
이슈 생성
이슈가 뭔가요?

- 새로운 추가될 가능 , 개선 해야할 가능 , 버그 등등

- 할 일 전부 이슈로 등록하고 그 이슈기반으로 작업을 진행

상품 리스트 페이지 로딩 속도 개선

상품 상세 페이지 이미지 안 뜨는 버그 고치기

메일 안 보내지는 버그 고치기



이슈 생성
저희는 간단하게 트렐로를 사용해봅시다. :)


이슈 생성
각자 개인 보드를 생성해주세요!


이슈 생성
이슈 리스트들을 구성합니다.


이슈 생성
카드를 생성해주세요!


이슈 생성
카드를 생성해주세요!
Description은 최대한 구체적
으로!

누가 봐도 무슨 일을 할건지 알
수 있게 작성하면 좋습니다!


이슈 생성
카드를 생성해주세요!
Members에 자기자신을 

지정해주세요!


이슈 생성
카드를 생성해주세요!
Labels에 언제 마일스톤에 

해당되는지 달아줍니다!

그 외에도 ‘back’ ‘front’혹은 

‘bug’같은 것들을 달아주셔도
됩니다.


이슈 생성
카드를 생성해주세요!
단계 별로 일을 해결해야한다면

checklist도 만들 수 있어요


이슈 생성
카드를 생성해주세요!
꼭 해결해야할 날짜가 있다면
날짜도 기입해줍시다.


이슈 생성
이슈 해결
이제 이슈를 해결하기로 했으니

카드를 ‘IN PROGRESS’단계로 옮겨둡니다.


이슈 해결
이 이슈를 처리할

새로운 브랜치를 만들어 checkout 합니다.
git checkout -b fix-bug-in-user-page
브랜치 이름은 이슈에 대해 파악할 수 있도록 

간략하게 지으면 좋습니다!


이슈 해결
vim(vi or nano 그냥 편집기 아무거나) fix_bug.py
이슈를 해결(하는 척)합시다!


이슈 해결
이슈 해결
버그를 해결했으니 푸쉬합시다!
git add .

git commit -m “버그 고침”

git push --set-upstream origin fix-bug-in-user-page


이슈 해결
풀리퀘 날려보기
Pull request
Github 레포지토리에 들어가서 Pull request를 날려봅시다!
브랜치를 어디서 어디로 합칠것인지 확실하게 정해주세요!


Pull request
파일이 어떻게 달라졌는지 확인할 수 있습니다.


Pull request
풀리퀘스트를 생성하고 한 일들을 작성합니다.


Pull request
Github에서는 대부분 텍스트를 마크다운으로 작성가능해요!


Pull request
코드리뷰를 위해 옆자리 짝궁을 리뷰어로 지정해주세요!


Pull request
코드 리뷰 해주기
이제 리뷰할 시간! 상대방의 코드를 맘 껏 털어보세요.


코드 리뷰
코드리뷰를 하며 러버덕 효과를 누릴 수 있습니다!


코드 리뷰
Add your review를 누르면 

확인할 수 있습니다!
Github에서는리뷰어가 코드리뷰에대해 

3가지의 의사표현을 할 수 있어요!


코드 리뷰
Github에서는리뷰어가 코드리뷰에대해 

3가지의 의사표현을 할 수 있어요!
그냥 코멘트만 달아줍니다.

찬성도 반대도 아니에요
코드에서 버그를 발견했습니
다!

고쳐달라고 요청을합니다!
이 코드가 합쳐지는 것을 동의
합니다!


코드 리뷰
저는 보통 다음과 같은 단계로 코드 리뷰를 진행해요!

1. File changed에서 변경사항 확인

2. 이해가 안되면 local에 받아서 돌려보기

3. File changed에서 한 줄 한 줄 마다 댓글을 답니다.

4. 의사표현을 남깁니다( Approve/ Request changes / 그냥 comment)


코드 리뷰
어떻게?? 이상한게 보이면 코멘트를 달아줍니다.

	 자문자답한거 안비밀..
번호에 마우스를 갖다대면 +
버튼이 뜹니다. 그럼 원하는 줄
에 코멘트를 달 수 있어요


코드 리뷰
코드 리뷰
어떻게?? 이상한게 보이면 코멘트를 달아줍니다.

	 자문자답한거 안비밀..
ADD Single comment를 누
르면 즉시 코멘트가 달립니다.
Start a review를 누르면

코멘트가 달리고 pending 상
태가 됩니다.

Pending 상태는 나만 볼 수 있
는 상태에요!
코드 리뷰
만약에 변경사항 생겨서 다시 커밋, 푸쉬하더라도

	 풀리퀘를 다시 만들 필요가 없어요!

git add .

git commit -m “주석 처리함”

git push
코드 리뷰

해당 브랜치에서 커밋, 푸쉬하면 자동으로 풀리퀘 안에 포함되어 올라갑니다.
드디어 Merge!!!
Merge
이제 별다른 문제가 없다면 Merge 해줍시다!
원하시는 merge를 선택해서

머지하면 됩니다.
Merge
트렐로에서도 Done으로 옮겨주세요!
근데.. 왜.. 왜 이렇게 일하나요?

그냥 막 코딩쿠다다다다다 하고싶다..
모든게 기록으로 남는다.

우리는 망각의 동물이니.. 일주일만 지나도 내가 한 코딩인지 기억안나더라구요..

	 (이게 내가 짠 코드라고? 눼가?? 진짜??? 이런 더러운 코드가??)
나중에.. 이력서 쓸 때 좋습니다..

무슨 일했는지 이슈기반으로 작성하면 매우 좋음
서로가 서로를 감시함
이 이슈 언제 팠는

데 아직 해결 못함?
니가 이 이슈 맡은거 다

알고 있드아아
나중에 무슨 문제 생기면???

	 에비 난 모르는일일세!

니가 짠 코드아잉겨!!
ㅋㅋㅋㅋㅋㅋ방관꿀잼서버	터졌다!!!
코드리뷰 했으니 1/n 책임제

리뷰하는 순간 이미 한 배를 탄 것이야..
리뷰할수록 아름다워지는 코드
이런 장점들이 있으니..

모두 열심히 협업합시당 :)

Contenu connexe

Tendances

NLU / Intent Detection Benchmark by Intento, August 2017
NLU / Intent Detection Benchmark by Intento, August 2017NLU / Intent Detection Benchmark by Intento, August 2017
NLU / Intent Detection Benchmark by Intento, August 2017Konstantin Savenkov
 
Meetup React Sanca - 29/11/18 - React Testing
Meetup React Sanca - 29/11/18 - React TestingMeetup React Sanca - 29/11/18 - React Testing
Meetup React Sanca - 29/11/18 - React TestingAugusto Lazaro
 
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Marcus Barczak
 
NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020Milad Heydari
 
Java/Spring과 Node.js의 공존 시즌2
Java/Spring과 Node.js의 공존 시즌2Java/Spring과 Node.js의 공존 시즌2
Java/Spring과 Node.js의 공존 시즌2동수 장
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint NAVER D2
 
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Bansook Nam
 
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기Jinkyoung Kim
 
Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
Searchlove London | Oli Gardner, 'The Landing Page Manifesto' Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
Searchlove London | Oli Gardner, 'The Landing Page Manifesto' Distilled
 
REST: From GET to HATEOAS
REST: From GET to HATEOASREST: From GET to HATEOAS
REST: From GET to HATEOASJos Dirksen
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA Pramendra Gupta
 
좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기DONGMIN LEE
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나종민 김
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술JungHyuk Kwon
 
Automação de Testes com SoapUI v1
Automação de Testes com SoapUI v1Automação de Testes com SoapUI v1
Automação de Testes com SoapUI v1mateuscaletti
 
SEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de Marketing
SEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de MarketingSEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de Marketing
SEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de MarketingFelipe Bazon
 
Clean Architecture em PHP
Clean Architecture em PHPClean Architecture em PHP
Clean Architecture em PHPElton Minetto
 

Tendances (20)

NLU / Intent Detection Benchmark by Intento, August 2017
NLU / Intent Detection Benchmark by Intento, August 2017NLU / Intent Detection Benchmark by Intento, August 2017
NLU / Intent Detection Benchmark by Intento, August 2017
 
Meetup React Sanca - 29/11/18 - React Testing
Meetup React Sanca - 29/11/18 - React TestingMeetup React Sanca - 29/11/18 - React Testing
Meetup React Sanca - 29/11/18 - React Testing
 
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
Integrating multiple CDN providers at Etsy - Velocity Europe (London) 2013
 
NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020NextJS - Online Summit for Frontend Developers September 2020
NextJS - Online Summit for Frontend Developers September 2020
 
Java/Spring과 Node.js의 공존 시즌2
Java/Spring과 Node.js의 공존 시즌2Java/Spring과 Node.js의 공존 시즌2
Java/Spring과 Node.js의 공존 시즌2
 
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint [D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
[D2] java 애플리케이션 트러블 슈팅 사례 & pinpoint
 
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
Flutter로 글로벌앱 출시를 위한 꿀팁 - Droidknights2020
 
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
해커가 되고 싶은 자는 나에게... 정보보안 입문과 길 찾기
 
Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
Searchlove London | Oli Gardner, 'The Landing Page Manifesto' Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
Searchlove London | Oli Gardner, 'The Landing Page Manifesto'
 
Reactjs
ReactjsReactjs
Reactjs
 
REST: From GET to HATEOAS
REST: From GET to HATEOASREST: From GET to HATEOAS
REST: From GET to HATEOAS
 
NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA  NextJS, A JavaScript Framework for building next generation SPA
NextJS, A JavaScript Framework for building next generation SPA
 
Modern JS with ES6
Modern JS with ES6Modern JS with ES6
Modern JS with ES6
 
좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기좌충우돌 Data Engineering 학습기
좌충우돌 Data Engineering 학습기
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
 
웹을 지탱하는 기술
웹을 지탱하는 기술웹을 지탱하는 기술
웹을 지탱하는 기술
 
Automação de Testes com SoapUI v1
Automação de Testes com SoapUI v1Automação de Testes com SoapUI v1
Automação de Testes com SoapUI v1
 
SEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de Marketing
SEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de MarketingSEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de Marketing
SEO Summit 2021 - SEO Como Parte Integral de Estratégias Globais de Marketing
 
Clean Architecture em PHP
Clean Architecture em PHPClean Architecture em PHP
Clean Architecture em PHP
 
MIgraciones SEO - Clinic SEO - Eshow 2019
MIgraciones SEO - Clinic SEO - Eshow 2019MIgraciones SEO - Clinic SEO - Eshow 2019
MIgraciones SEO - Clinic SEO - Eshow 2019
 

Similaire à [프로그라피 정기 세션] Github으로 협업하기

smell like sin spirits(codereview mindset)
smell like sin spirits(codereview mindset)smell like sin spirits(codereview mindset)
smell like sin spirits(codereview mindset)영주 박
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법선협 이
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향Eunhyang Kim
 
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재NAVER D2
 
Windows Debugging Technique #1
Windows Debugging Technique #1Windows Debugging Technique #1
Windows Debugging Technique #1Wooseok Seo
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원NAVER D2
 
초보개발자의 TDD 체험기
초보개발자의 TDD 체험기초보개발자의 TDD 체험기
초보개발자의 TDD 체험기Sehun Kim
 
서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법우영 주
 
코드리뷰 공감하기
코드리뷰 공감하기코드리뷰 공감하기
코드리뷰 공감하기Sungmin Oh
 
단톡방의 스마트질문러_제임스_ppt.pptx
단톡방의 스마트질문러_제임스_ppt.pptx단톡방의 스마트질문러_제임스_ppt.pptx
단톡방의 스마트질문러_제임스_ppt.pptxInwooHwang6
 
Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Aree Oh
 
패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션Taegon Kim
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기NAVER Engineering
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료Junyoung Jung
 
ksh portfolio 02
ksh portfolio 02ksh portfolio 02
ksh portfolio 02SunhoKo2
 
스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers 스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers ServerDevCamp
 
오픈소스따라하기
오픈소스따라하기오픈소스따라하기
오픈소스따라하기병대 손
 
소셜웹셋팅하기
소셜웹셋팅하기소셜웹셋팅하기
소셜웹셋팅하기영진 유
 
TDD로 Widget 개발하기
TDD로 Widget 개발하기TDD로 Widget 개발하기
TDD로 Widget 개발하기Bansook Nam
 

Similaire à [프로그라피 정기 세션] Github으로 협업하기 (20)

smell like sin spirits(codereview mindset)
smell like sin spirits(codereview mindset)smell like sin spirits(codereview mindset)
smell like sin spirits(codereview mindset)
 
C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법C++ 코드 품질 관리 비법
C++ 코드 품질 관리 비법
 
스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향스타트업 인턴 개발자 3달간의 고군분투기 김은향
스타트업 인턴 개발자 3달간의 고군분투기 김은향
 
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
 
Windows Debugging Technique #1
Windows Debugging Technique #1Windows Debugging Technique #1
Windows Debugging Technique #1
 
131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원131 deview 2013 yobi-채수원
131 deview 2013 yobi-채수원
 
초보개발자의 TDD 체험기
초보개발자의 TDD 체험기초보개발자의 TDD 체험기
초보개발자의 TDD 체험기
 
Wink
WinkWink
Wink
 
서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법
 
코드리뷰 공감하기
코드리뷰 공감하기코드리뷰 공감하기
코드리뷰 공감하기
 
단톡방의 스마트질문러_제임스_ppt.pptx
단톡방의 스마트질문러_제임스_ppt.pptx단톡방의 스마트질문러_제임스_ppt.pptx
단톡방의 스마트질문러_제임스_ppt.pptx
 
Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정
 
패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션패스트캠퍼스 프론트엔드 강의 오리엔테이션
패스트캠퍼스 프론트엔드 강의 오리엔테이션
 
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
플랫폼 디자이너 없이 디자인 시스템을 구축하는 프로덕트 디자이너의 우당탕탕 고통 연대기
 
16 학술제 마무리 자료
16 학술제 마무리 자료16 학술제 마무리 자료
16 학술제 마무리 자료
 
ksh portfolio 02
ksh portfolio 02ksh portfolio 02
ksh portfolio 02
 
스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers 스마일게이트 서버개발캠프 - 5vengers
스마일게이트 서버개발캠프 - 5vengers
 
오픈소스따라하기
오픈소스따라하기오픈소스따라하기
오픈소스따라하기
 
소셜웹셋팅하기
소셜웹셋팅하기소셜웹셋팅하기
소셜웹셋팅하기
 
TDD로 Widget 개발하기
TDD로 Widget 개발하기TDD로 Widget 개발하기
TDD로 Widget 개발하기
 

[프로그라피 정기 세션] Github으로 협업하기