SlideShare a Scribd company logo
코드 리뷰의 또 다른 접근 방법:
Pull Requests vs. Stacked Changes
컨택스츠아이오 서지연
코드 리뷰를 잘 한다는 것?
코드 리뷰를 잘 한다는 것?
출처 : 동아출판 중학교 국어 5 182쪽
코드 

변경 크기
작업
명확성
빠른
속도
. .
코드 

변경 크기
작업
명확성
빠른
속도
. .
근데 왜 잘 안되는거지?!
1
콘텐츠
목차
content
Pull Request 관점에서의 코드 리뷰
Pull Request의 아쉬운점
2 Stacked Changes 관점에서의 코드 리뷰
Stacked changes란 무엇인가?
3 Graphite
너도 Stacked changes 할 수 있어!
4 결론
코드 리뷰를 잘 한다는 것
1 Pull Request 관점에서의 코드 리뷰
Pull Request의 아쉬운점
“댓글 기능을 만들어 주세요”
댓글 생성 API endpoint 추가 ➡ 백엔드 로직 추가 ➡ 프론트엔드 댓글 컴포넌트 추가
“댓글 기능을 만들어 주세요”
oldest commit
oldest commit
commit (main)
comment - API endpoint 생성
main
feature/add-comment
“댓글 기능을 만들어 주세요”
comment - 서버 로직 생성
oldest commit
oldest commit
commit (main)
comment - API endpoint 생성
main
feature/add-comment
“댓글 기능을 만들어 주세요”
comment - 프론트 컴포넌트 생성
oldest commit
oldest commit
commit (main)
comment - 서버 로직 생성
comment - API endpoint 생성
main
feature/add-comment
“댓글 기능을 만들어 주세요”
oldest commit
oldest commit
commit (main)
이전 작업에서 난 오타 수정
comment - 프론트 컴포넌트 생성
comment - 서버 로직 생성
comment - API endpoint 생성
main
feature/add-comment
“댓글 기능을 만들어 주세요”
oldest commit
oldest commit
commit (main)
이전 작업에서 난 오타 수정

line changed: +1500 / -200
comment - 프론트 컴포넌트 생성
comment - 서버 로직 생성
comment - API endpoint 생성
main
feature/add-comment
“댓글 기능을 만들어 주세요”
이 과정 안 개발자들
작업자
프론트
리뷰어
댓글 코드 리뷰 빨리 끝나야
그 다음 작업 하는데…
도대체 리뷰 언제 해주는거야
코드… +1500 -200
어디서부터 봐야하는겨…

난 프론트만 봐야지…
그래도 양이…
막막하다…
변경 내용이 왜 커졌던 걸까
작업 과정 수 많은
고민들과 커밋들
기능을 나누는 기준은?
오타 수정과 같은
아주 작은 단위의 수정은 어떻게 하지?!
한번 받을 때 한꺼번에 리뷰 받는게
빠를 것 같은데?!
작업마다 매번 main
돌아가서 새 branch
만들기 귀찮아 ㅠㅠ
main
feature/add-comment
점심 뭐 먹지??
변경 내용이 왜 커졌던 걸까
main
feature/add-comment
리뷰어가 만난 것
변경 내용이 왜 커졌던 걸까… 그 결과
이슈 못찾음
https://twitter.com/iamdevloper/status/397664295875805184
리뷰 할 내용이 커지면…그 결과
코드 리뷰하기 매우 부담
작은 수정에도 모든 코드가 “리뷰 중” 상태
코드 리뷰 속도 느려짐
코드 리뷰가 길어지면…그 결과
다른 작업 과의 충돌 가능성이 높아짐
코드 롤백 시, 모든 작업이 다 롤백
심적 부담감 증가
…그 결과
출처 : 무한도전 무한상사
2 Stacked Changes 관점에서의 코드 리뷰
Stacked changes란 무엇인가?
oldest commit
oldest commit
commit (main)
main
feature/add-comment
“댓글 기능을 만들어 주세요”
oldest commit
commit
comment - API endpoint 생성 (ft-add-comment-api)
line changed: +10 / -3
흐름을 좌우가 아닌 아래에서 위로!
oldest commit
oldest commit
commit
oldest commit
comment - API endpoint 생성 (ft-add-comment-api)
line changed: +10 / -3
comment - 서버 로직 생성 (ft-add-comment-logic)
line changed: +20 / -15
구현 하나 하나 Stack 쌓듯이
comment - API endpoint 생성 (ft-add-comment-api)
line changed: +10 / -3
comment - 서버 로직 생성 (ft-add-comment-logic)
line changed: +20 / -15
oldest commit
commit
oldest commit
comment - 프론트 컴포넌트 생성 (ft-comment-comp)
line changed: +150 / -35
구현 하나 하나 Stack 쌓듯이
Stacked Changes
comment - API endpoint 생성 (ft-add-comment-api)
line changed: +10 / -3
comment - 서버 로직 생성 (ft-add-comment-logic)
line changed: +20 / -15
comment - 프론트 컴포넌트 생성 (ft-comment-comp)
line changed: +150 / -35
sequence of dependent code changes
tested, reviewed, and merged independently
Stacked Changes 장점
comment - API endpoint 생성 (ft-add-comment-api)
line changed: +10 / -3
comment - 서버 로직 생성 (ft-add-comment-logic)
line changed: +20 / -15
comment - 프론트 컴포넌트 생성 (ft-comment-comp)
line changed: +150 / -35
코드 변경 크기 📉
작업의 명확성 📈
리뷰 속도 📈
approve!
approve!
approve!
approve!
approve!
approve!
approve!
approve!
approve!
approve!
gt stack submit
gt stack submit
gt stack submit
gt stack submit
gt stack submit
gt stack submit
gt stack submit
gt stack submit
gt stack submit
gt stack submit
approve_10개_받은_내_모습.jpg
Stacked Changes 장점
구글의 Gerrit, 메타의 phabricator
• Google internal로 사용하다가 Android Open
Source Project를 지원하기 위해 오픈
• 단위 : Patch set 
• Patch set 단위로 코드 리뷰
• Facebook internal로 시작 후 외부로 공개
• Meta, Twitter, Dropbox, Uber 등에서 사용중
• LLVM, FireFox 프로젝트에서 사용중
• 단위 : Differential
Phabricator - Firefox
https://firefox-source-docs.mozilla.org/contributing/stack_quickref.html
유명인이 좋다고 하면 뭔가 더 좋아보이죠?
“깃헙이 새로운 기능을 발표하는 것도 좋지만
우리가 진짜 필요한건 Stacked Diff 에요. 네?!”
“Stacked diff야 말로 우리가 깃헙에서 

정말로 보고싶은 기능이에요!”
“오! 그럼 우리도 Phabricator 써볼까?”
“오! 그럼 우리도 Phabricator 써볼까?”
응..안돼..
https://www.phacility.com/phabricator/
이미 GitHub 사용 중인데요?
3 Graphite
너도 Stacked changes 할 수 있어!
Graphite
open-source CLI and a code review dashboard
write and review smaller pull requests, stay unblocked, and ship faster.
https://graphite.dev/
Graphite
open-source CLI and a code review dashboard
write and review smaller pull requests, stay unblocked, and ship faster.
https://graphite.dev/
comment - API endpoint 생성 (ft-add-comment-api)


line changed: +50 / -25
comment - 서버 로직 생성 (ft-add-comment-logic)


line changed: +200 / -15
oldest commit
commit
oldest commit
comment - 프론트 컴포넌트 생성 (ft-comment-comp)


line changed: +150 / -35
Graphite로 직접 stacked changes 해봅시다
Graphite - create stack
Graphite - create stack
Graphite - create stack
Graphite - create stack
Graphite - create stack
Graphite - create stack
Graphite - create stack
Graphite - create stack
Graphite - create stack
git branch <stack> 과 git commit
Graphite - submit stack
Graphite - submit stack
Graphite - submit stack
git push 와 PR 생성
Graphite - dashboard
Graphite - dashboard
Graphite - dashboard
Graphite - dashboard
https://github.com/jiyeonseo/stacked-changes-example
GitHub PR vs. Graphite Dashboard
GitHub PR vs. Graphite Dashboard
GitHub PR vs. Graphite Dashboard
작업자의 고민과 의식의 흐름까지 공유
작업의 결과 공유
“리뷰 요청 수가 너무 늘어나는 거 아닐까요?”
“리뷰 요청 수가 너무 늘어나는 거 아닐까요?”
10줄 변경 & 10번 리뷰 vs. 100줄 변경 & 1번 리뷰
https://twitter.com/iamdevloper/status/397664295875805184
“좋은건데 왜 GitHub은 안하는거죠?”
Open Source, Community led project
10줄 변경 & 10번 리뷰 < 100줄 변경 & 1번 리뷰
팀 내 협업
10줄 변경 & 10번 리뷰 > 100줄 변경 & 1번 리뷰
4 결론
코드 리뷰를 잘 한다는 것
코드 

변경 크기
작업
명확성
빠른
속도
. .
결론
Pull Requests
결론
Stacked Changes
From `main` branch



기능 단위 변경
작업 전체 변경분 비교
Changes를 `main` 과 비교
From previous changes
코드 변화 단위 변경
Stack 별로 비교
Changes를 차곡 차곡 쌓이는 것
결론
여러 팀이 함께 작업하는 경우
잦은 리뷰 처리가 어려운 경우
작은 변경이 많은 경우
팀이 빠르게 움직이고자 하는 경우
Pull Requests Stacked Changes
결론
코드 리뷰는 💚함께💚 하는 것
중요한건 💚공감💚
모두 즐거운 코드 리뷰 하세요 💚

More Related Content

What's hot

An introduction to Vue.js
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.js
Javier Lafora Rey
 
무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례
Taehyun Kim
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
DaeMyung Kang
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
Jeongsang Baek
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
종민 김
 
코드리뷰를 시작하려는 그대에게
코드리뷰를 시작하려는 그대에게코드리뷰를 시작하려는 그대에게
코드리뷰를 시작하려는 그대에게
Jiyeon Seo
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
Amazon Web Services Korea
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
Amazon Web Services Korea
 
그래도 다시 코드리뷰
그래도 다시 코드리뷰그래도 다시 코드리뷰
그래도 다시 코드리뷰
Jiyeon Seo
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
VMware Tanzu Korea
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
disc99_
 
GCGC- CGCII 서버 엔진에 적용된 기술 (1)
GCGC- CGCII 서버 엔진에 적용된 기술 (1)GCGC- CGCII 서버 엔진에 적용된 기술 (1)
GCGC- CGCII 서버 엔진에 적용된 기술 (1)
상현 조
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
GunHee Lee
 
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
KEISUKE KONISHI
 
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
Elasticsearch
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우
NAVER D2
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
 
카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험
Ohgyun Ahn
 
SPAのルーティングの話
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話
ushiboy
 

What's hot (20)

An introduction to Vue.js
An introduction to Vue.jsAn introduction to Vue.js
An introduction to Vue.js
 
무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례무정지&무점검 서버 개발과 운영 사례
무정지&무점검 서버 개발과 운영 사례
 
webservice scaling for newbie
webservice scaling for newbiewebservice scaling for newbie
webservice scaling for newbie
 
로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법로그 기깔나게 잘 디자인하는 법
로그 기깔나게 잘 디자인하는 법
 
엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나엘라스틱서치, 로그스태시, 키바나
엘라스틱서치, 로그스태시, 키바나
 
코드리뷰를 시작하려는 그대에게
코드리뷰를 시작하려는 그대에게코드리뷰를 시작하려는 그대에게
코드리뷰를 시작하려는 그대에게
 
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3 AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
AWS로 게임 기반 다지기 - 김병수, 박진성 :: AWS Game Master 온라인 세미나 #3
 
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
오딘: 발할라 라이징 MMORPG의 성능 최적화 사례 공유 [카카오게임즈 - 레벨 300] - 발표자: 김문권, 팀장, 라이온하트 스튜디오...
 
그래도 다시 코드리뷰
그래도 다시 코드리뷰그래도 다시 코드리뷰
그래도 다시 코드리뷰
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
 
マイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPCマイクロサービスバックエンドAPIのためのRESTとgRPC
マイクロサービスバックエンドAPIのためのRESTとgRPC
 
GCGC- CGCII 서버 엔진에 적용된 기술 (1)
GCGC- CGCII 서버 엔진에 적용된 기술 (1)GCGC- CGCII 서버 엔진에 적용된 기술 (1)
GCGC- CGCII 서버 엔진에 적용된 기술 (1)
 
Nginx lua
Nginx luaNginx lua
Nginx lua
 
Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기Open source APM Scouter로 모니터링 잘 하기
Open source APM Scouter로 모니터링 잘 하기
 
Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話Swaggerでのapi開発よもやま話
Swaggerでのapi開発よもやま話
 
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
 
[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우[112]rest에서 graph ql과 relay로 갈아타기 이정우
[112]rest에서 graph ql과 relay로 갈아타기 이정우
 
[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영[236] 카카오의데이터파이프라인 윤도영
[236] 카카오의데이터파이프라인 윤도영
 
카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험카카오스토리 웹팀의 코드리뷰 경험
카카오스토리 웹팀의 코드리뷰 경험
 
SPAのルーティングの話
SPAのルーティングの話SPAのルーティングの話
SPAのルーティングの話
 

Similar to 코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes

[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
Ildoo Kim
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
Gyuwon Yi
 
137 deview
137 deview137 deview
137 deviewNAVER D2
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
JeongHun Byeon
 
Git basic
Git basicGit basic
Git basic
민정 김
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
CONNECT FOUNDATION
 
Advanced git
Advanced gitAdvanced git
Advanced git
chanwoo Jeong
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
지원 정
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1YoungSu Son
 
풀리퀘를 부탁해!
풀리퀘를 부탁해!풀리퀘를 부탁해!
풀리퀘를 부탁해!
Mickey SJ Lee
 
FCGI, C++로 Restful 서버 개발
FCGI, C++로 Restful 서버 개발FCGI, C++로 Restful 서버 개발
FCGI, C++로 Restful 서버 개발
현승 배
 
버전관리시스템 종류와 소개
버전관리시스템 종류와 소개버전관리시스템 종류와 소개
버전관리시스템 종류와 소개
Jong-il Seok
 
GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서
jungseob shin
 
Portfolio
PortfolioPortfolio
Portfolio
MyeongSeokKim2
 
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
DaeHyun Sung
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
MDLicht
 
GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육
승엽 신
 
Git command
Git commandGit command
Git command
Hyeongmin Lee
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1
Hansol Kang
 
11. git basic
11. git basic11. git basic
11. git basic
Geunhyung Kim
 

Similar to 코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes (20)

[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)[17.02.09] Github introduction (Korean Version)
[17.02.09] Github introduction (Korean Version)
 
VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리VSTS와 Azure를 이용한 팀 프로세스 관리
VSTS와 Azure를 이용한 팀 프로세스 관리
 
137 deview
137 deview137 deview
137 deview
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
 
Git basic
Git basicGit basic
Git basic
 
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
[부스트캠프 Tech Talk] 최재필_P 스테이지에서 Git으로 협업하기
 
Advanced git
Advanced gitAdvanced git
Advanced git
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
Open source engineering - 0.1
Open source engineering - 0.1Open source engineering - 0.1
Open source engineering - 0.1
 
풀리퀘를 부탁해!
풀리퀘를 부탁해!풀리퀘를 부탁해!
풀리퀘를 부탁해!
 
FCGI, C++로 Restful 서버 개발
FCGI, C++로 Restful 서버 개발FCGI, C++로 Restful 서버 개발
FCGI, C++로 Restful 서버 개발
 
버전관리시스템 종류와 소개
버전관리시스템 종류와 소개버전관리시스템 종류와 소개
버전관리시스템 종류와 소개
 
GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서GitHub Pull Request 간단 사용 설명서
GitHub Pull Request 간단 사용 설명서
 
Portfolio
PortfolioPortfolio
Portfolio
 
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
[2021 오픈소스 컨트리뷰션 아카데미] #5 컨트리뷰션 정리 및 gerrit리뷰시스템 소개 등
 
Git Tutorial
Git TutorialGit Tutorial
Git Tutorial
 
GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육
 
Git command
Git commandGit command
Git command
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1
 
11. git basic
11. git basic11. git basic
11. git basic
 

More from Jiyeon Seo

개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법
Jiyeon Seo
 
Quick start! for tech talk beginners
Quick start! for tech talk beginnersQuick start! for tech talk beginners
Quick start! for tech talk beginners
Jiyeon Seo
 
how programmer exercise in the time of COVID-19
how programmer exercise in the time of COVID-19how programmer exercise in the time of COVID-19
how programmer exercise in the time of COVID-19
Jiyeon Seo
 
코로나 시대에 개발자가 운동하는 방법
코로나 시대에 개발자가 운동하는 방법코로나 시대에 개발자가 운동하는 방법
코로나 시대에 개발자가 운동하는 방법
Jiyeon Seo
 
개발의 기쁨과 슬픔
개발의 기쁨과 슬픔개발의 기쁨과 슬픔
개발의 기쁨과 슬픔
Jiyeon Seo
 
20180622 career seminar
20180622 career seminar20180622 career seminar
20180622 career seminar
Jiyeon Seo
 
지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍을 위한 넓고 얕은 습관 지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍을 위한 넓고 얕은 습관
Jiyeon Seo
 
React-Flux-Redux-study
React-Flux-Redux-studyReact-Flux-Redux-study
React-Flux-Redux-study
Jiyeon Seo
 
Extended overview
Extended overviewExtended overview
Extended overviewJiyeon Seo
 

More from Jiyeon Seo (9)

개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법개발자가 Serverless로 운동하는 방법
개발자가 Serverless로 운동하는 방법
 
Quick start! for tech talk beginners
Quick start! for tech talk beginnersQuick start! for tech talk beginners
Quick start! for tech talk beginners
 
how programmer exercise in the time of COVID-19
how programmer exercise in the time of COVID-19how programmer exercise in the time of COVID-19
how programmer exercise in the time of COVID-19
 
코로나 시대에 개발자가 운동하는 방법
코로나 시대에 개발자가 운동하는 방법코로나 시대에 개발자가 운동하는 방법
코로나 시대에 개발자가 운동하는 방법
 
개발의 기쁨과 슬픔
개발의 기쁨과 슬픔개발의 기쁨과 슬픔
개발의 기쁨과 슬픔
 
20180622 career seminar
20180622 career seminar20180622 career seminar
20180622 career seminar
 
지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍을 위한 넓고 얕은 습관 지적 프로그래밍을 위한 넓고 얕은 습관
지적 프로그래밍을 위한 넓고 얕은 습관
 
React-Flux-Redux-study
React-Flux-Redux-studyReact-Flux-Redux-study
React-Flux-Redux-study
 
Extended overview
Extended overviewExtended overview
Extended overview
 

코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes