SlideShare a Scribd company logo
1 of 29
Download to read offline
커뮤니티 참여와 Github 사용 팁
Github 100% 활용
버전관리 시스템
Git
버전관리 시스템의 저장소를 제공하는 서비스
무료로 사용할 수 있는 공개형 저장소와 유료로
사용해야하는 비공개 저장소 제공
PRODUC T OWNER
GitHub
왜 Github에 대한 얘기를 하나?
• 지금 우리가 사용하는 대부분의 코드는 Github에 있다
• 나도 모르는 사이에 Github에 있는 소스코드를 이미 사용하고 있다
• 내가 사용하는 코드에 문제가 있을 때 어디에 물어봐야 하나?
• 내가 사용하는 코드의 문제점을 해결했을 땐, 그 다음으로 무엇을 하면 좋을까?
여기서 잠깐 토론에 대해서
• 국내 문화와 인터넷 커뮤니티
• 국내에서 자주 언급되는 토론 문화의 성숙도
• 토론이 감정적으로 치달아 문제되는 경우가 자주 발생함
• 비평, 비판, 비난
• 토론에서 나와 다른 의견이 제시 될 때 이것을 잘 구분 하는가
• 남의 비난을 두려워 하고 있지 않은가?
• 국내 Github 프로젝트 참여자 수
• 단순히 언어의 장벽과 인구 수에 의한 차이일까?
• 프로젝트 커뮤니티 참여를 가로막는 보이지 않는 벽은 무엇일까?
경험 - PR & 까임
Laravel 저장소에 Pull Request 를 보내 봤습니다.
누군가 "그게 왜 필요해?" 라고 물어봤고
저는 한국에 있으니까 자고 있었구요.
다음날 출근해서 보니까 "하던대로 하자" 는 마지막 대화로 이슈가 닫혔습니다.
의견이 받아 들여 지지 않았을 때?
• 조금 많았던 서운한 감정
• 생각 많이하고 고민해서 보냈는데, 너무 쿨하게 까였음
• 어떤 문제였을까? (의식의 흐름)
• '질문이 잘못 되었는가?' 에 대해서 생각해봄
• 의견에 대한 명확하고 타당한 근거를 제시하지 못함
• 내 의견을 제시할 때 상대방을 설득하려는 노력이 필요했다
결론
• 국외 커뮤니티에서 언어에 대한 장벽 실감함
• 의견 제시하기 전에 너무 많은 고민
• 간단한 의견 임에도 상당한 시간이 걸렸음
• 듣는 사람이 내 의견을 이해하지 못했다면 좀더 명확하게 얘기할 수 있도록 하자
• 한번 해보니까 대단한 일이 아니었다
• 까이는게 뭐 큰일인가!?
Github 토글 버튼
Watch/Unwatch : 지켜봄 (알림 등 메시지 받음)

Start/Unstart : 좋아요!

Fork : 퍼감, Copy, Github의 내 저장소에 복사
관심 갖는 프로젝트에 마구마구 사랑을 나눠 주세요.
운영자는 더욱 힘이 날꺼에요!
Github 탭 메뉴
Code : 프로젝트의 코드를 볼 수 있음
Issue : 문의하기 게시판 (이정도로 생각하고 사용
해도 됨)
Pull Request(PR) : 당김 요청 (내가 수정한 내용
을 보내서 프로젝트에 반영되길 바랄 때 사용)
다른 탭 메뉴는 눌러보세요.
Code 페이지 수치
Commits : 코드 커밋 수
Branch : 가지 치기 수
Releases : 배포 버전 수
Contributors : 기여자 수
Issue, Pull Request
Issue, Pull Request
• 모든 프로젝트는 사용자 참여를 기다리고 있음
• 질문, 개선사항을 남겨서 프로젝트를 발전 시킬 수 있음
• Pull Request 를 통해 프로젝트에 기여할 수 있음
XE3 Issue 의 Labels
https://github.com/xpressengine/xpressengine/issues/new
XE3 저장소의 라벨을 보고 Issue 에는 어떤 내용을 남기면 될지 얘기해 보겠습니다.
* type/ bug, enhancement, proposal, question, security
* 오류, 개선, 제안, 문의, 보안
* status/ duplicated, invalid, keep, need-more-info, now-checking, wontfix, works-
for-me
* 중복됨, 유효하지 않음, 보류됨, 추가정보필요, 확인중, 

누가 고쳐주길 바래, 대신 누가 해줘ㅜㅜ
이슈에 남길 수 있는 내용은 오류, 개선, 제안, 문의, 보안 에 대한 내용 입니다.
커뮤니티에 따라 다르겠지만 GitHub 에 Issue 를 운영하는 프로젝트는 거의 같은 분류를 취
급합니다.
GitHub Issu VS 공홈 Q&A
GitHub Issue 도 충분히 묻고답하기 게시판 기능을 수행할 수 있음
비슷한 기능의 커뮤니티를 두군데 운영하는 이유는 국내 사용자가 GitHub 사용을 익숙해 하지 않는다고 판단했기 때문
XE팀은 GitHub Issue 로 문의하길 권장함
GitHub Issue 에서 의견 교류
Pull Request
• Pull Request(PR) 은 내가 수정한 코드를 프로젝트에 반영 시키는 수단
• 프로젝트 운영자에게 "당김 요청"을 보내는 것
• 수정한 Commit, 내용을 보내는게 아니라 프로젝트 운영자가 당겨갈 Branch 를 보내는 것
• 프로젝트 운영자가 내 저장소의 Branch 를 당겨간 다는 의미를 정확히 해야함
PR 보내는 법
• https://github.com/xpressengine/xpressengine/blob/master/.github/CONTRIBUTING.md
• XE3 저장소에 있는 Contributing 가이드
Web Hook!
Webhooks
• https://developer.github.com/webhooks/
• GitHub 에서 제공되는 기능
• GitHub 저장소에 이벤트가 발생하면 등록된 기능 실행
XE3 Webhooks setting
• https://scrutinizer-ci.com/
• 외부 서비스에 issue, comment, PR 등 새로운 이벤트가 생기면
실행되도록 해서 Slack 으로 메시지 전송
• 오픈소스는 무료 지원
• bitbucket 저장소와 싱크 맞추기 기능
• 오픈소스 기반으로 private 저장소를 운영해야할 경우
• Jenkins 연동
• 새로운 push 들어오면 unit-test 실행, code-style 체크
Jenkins 연동
GitHub
Jenkins
Slack
Push
Job : Unit Test
Job : Code Style
메시지 전송
XE 팀 Slack
Jenkins Job for check code style
Private Repository
GitHub 가격 정책
회사 코드는 공개 되면 안되!!
그렇다고 돈내고 쓰기도 좀 그런데 ;;
비공개 저장소
Yona
• 국내 오픈소스
• Yobi 프로젝트에서 이름을 바꾸서 Yona 프로젝트 진행
• 한국어로 지원되어 사용할 때 편리한 잇점
• 설치형
• 무제한의 프로젝트, 무제한의 사용자
• Git Respository 기능
• 이슈, 게시판 기능
• 회원, 그룹 관리 기능
Yona 설치 화면
T h a n k y o u
X E H U B

More Related Content

What's hot

소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategyKenu, GwangNam Heo
 
How to Contribute to OSS
How to Contribute to OSSHow to Contribute to OSS
How to Contribute to OSSSanghyeon Seo
 
How to contribute to open source
How to contribute to open sourceHow to contribute to open source
How to contribute to open sourceSeoeun Park
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewMinsuk Lee
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용Ian Choi
 
팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법Eugene Park
 
Digging github
Digging githubDigging github
Digging githubHansol Lim
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우Ian Choi
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법주형 고
 
about Pivotal tracker
about Pivotal trackerabout Pivotal tracker
about Pivotal trackerSinhyub Kim
 
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재NAVER D2
 
How to use Github? (For Cien)
How to use Github? (For Cien)How to use Github? (For Cien)
How to use Github? (For Cien)민수 김
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드Ted Won
 
Git로 협업하기
Git로 협업하기Git로 협업하기
Git로 협업하기Kim Byoungsu
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on labNAVER D2
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습BJ Jang
 
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전Daniel Juyung Seo
 
위클리 발표자료
위클리 발표자료위클리 발표자료
위클리 발표자료hosung kang
 

What's hot (20)

소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy소셜 코딩 GitHub & branch & branch strategy
소셜 코딩 GitHub & branch & branch strategy
 
How to Contribute to OSS
How to Contribute to OSSHow to Contribute to OSS
How to Contribute to OSS
 
How to contribute to open source
How to contribute to open sourceHow to contribute to open source
How to contribute to open source
 
Open source oss
Open source ossOpen source oss
Open source oss
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
 
팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법팀 개발을 위한 GitHub 사용법
팀 개발을 위한 GitHub 사용법
 
Digging github
Digging githubDigging github
Digging github
 
Opensource sw day
Opensource sw dayOpensource sw day
Opensource sw day
 
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
국제화/번역과 함께 하는 오픈소스에 대한 경험 및 노하우
 
소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법소스트리(SourceTree)로 배우는 Git 사용법
소스트리(SourceTree)로 배우는 Git 사용법
 
about Pivotal tracker
about Pivotal trackerabout Pivotal tracker
about Pivotal tracker
 
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
[네이버오픈소스세미나] 개발자의 흔한 취미 - 권민재
 
How to use Github? (For Cien)
How to use Github? (For Cien)How to use Github? (For Cien)
How to use Github? (For Cien)
 
오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드오픈 소스 컨트리뷰션 가이드
오픈 소스 컨트리뷰션 가이드
 
Git로 협업하기
Git로 협업하기Git로 협업하기
Git로 협업하기
 
[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab[D2 fest 2014]yobi hands on lab
[D2 fest 2014]yobi hands on lab
 
오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습오픈소스 개발을 위한 Git 사용법 실습
오픈소스 개발을 위한 Git 사용법 실습
 
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
오픈소스, 빡! 끝! - 제7회 삼성소프트웨어멤버십 기술전
 
위클리 발표자료
위클리 발표자료위클리 발표자료
위클리 발표자료
 

Similar to Github 100% 활용하기 - XE Open seminar #3

경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)NAVER D2
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님NAVER D2
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개Hyoungjun Kim
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료BJ Jang
 
GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육승엽 신
 
Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기
Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기
Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기KyeongmanKang
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1Hansol Kang
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료지원 정
 
형상관리 발표자료 안정민
형상관리 발표자료 안정민형상관리 발표자료 안정민
형상관리 발표자료 안정민정민 안
 
2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분Hyun-woo Park
 
오픈소스 그리고 기회
오픈소스 그리고 기회오픈소스 그리고 기회
오픈소스 그리고 기회Sungju Jin
 
깃허브 시작하기
깃허브 시작하기깃허브 시작하기
깃허브 시작하기진태 이
 
[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
 
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한NAVER Engineering
 
Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Suho Lee
 
201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의Joohyun Han
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)Channy Yun
 
쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Github쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Githubalan1011
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님NAVER D2
 
GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기Young-Ho Cha
 

Similar to Github 100% 활용하기 - XE Open seminar #3 (20)

경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
경희대 해커 기술 세미나 - Git hub으로 학교 팀프로젝트 하기(조성수)
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님
 
오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개오픈소스 프로젝트 따라잡기_공개
오픈소스 프로젝트 따라잡기_공개
 
오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료오픈소스GIS 개발 일반 강의자료
오픈소스GIS 개발 일반 강의자료
 
GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육
 
Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기
Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기
Jira + Confluence + Bitbucket으로 이슈 트래킹 걸음마 떼기
 
알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1알아두면 쓸모있는 깃허브 1
알아두면 쓸모있는 깃허브 1
 
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
오픈소스 컨트리뷰톤 2020 backend.ai 발표자료
 
형상관리 발표자료 안정민
형상관리 발표자료 안정민형상관리 발표자료 안정민
형상관리 발표자료 안정민
 
2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분2019년에 기술 문서를 번역하는 기분
2019년에 기술 문서를 번역하는 기분
 
오픈소스 그리고 기회
오픈소스 그리고 기회오픈소스 그리고 기회
오픈소스 그리고 기회
 
깃허브 시작하기
깃허브 시작하기깃허브 시작하기
깃허브 시작하기
 
[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)
 
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
 
Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?
 
201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의201017 한주현 생물정보학 github 강의
201017 한주현 생물정보학 github 강의
 
The four myths of open source (2013)
The four myths of open source (2013)The four myths of open source (2013)
The four myths of open source (2013)
 
쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Github쌍용강북교육센터 수강생을 위한 Github
쌍용강북교육센터 수강생을 위한 Github
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기GITHUB와 함께 Social하게 코딩하기
GITHUB와 함께 Social하게 코딩하기
 

More from XpressEngine

Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2XpressEngine
 
XE3 SEO를 다루기 - XE Open seminar #2
XE3 SEO를 다루기 - XE Open seminar #2XE3 SEO를 다루기 - XE Open seminar #2
XE3 SEO를 다루기 - XE Open seminar #2XpressEngine
 
XE Open seminar #2 - keynote
XE Open seminar #2 - keynoteXE Open seminar #2 - keynote
XE Open seminar #2 - keynoteXpressEngine
 
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기XpressEngine
 
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩XpressEngine
 
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기XpressEngine
 
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들XpressEngine
 
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게XpressEngine
 
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기XpressEngine
 
[XECon2016] B-4 변종원 CodeIgniter와 PHP7
[XECon2016] B-4 변종원 CodeIgniter와 PHP7[XECon2016] B-4 변종원 CodeIgniter와 PHP7
[XECon2016] B-4 변종원 CodeIgniter와 PHP7XpressEngine
 
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래XpressEngine
 
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기XpressEngine
 
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로XpressEngine
 
[XECon2016] A-2 임형주 Webpack 실무 적용전략
[XECon2016] A-2 임형주 Webpack 실무 적용전략[XECon2016] A-2 임형주 Webpack 실무 적용전략
[XECon2016] A-2 임형주 Webpack 실무 적용전략XpressEngine
 
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기XpressEngine
 
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHubXECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHubXpressEngine
 
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XpressEngine
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXpressEngine
 
XECon2015 :: [1-2] 이현석 - Learning Laravel
XECon2015 :: [1-2] 이현석 - Learning LaravelXECon2015 :: [1-2] 이현석 - Learning Laravel
XECon2015 :: [1-2] 이현석 - Learning LaravelXpressEngine
 
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용XpressEngine
 

More from XpressEngine (20)

Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2Docker 기반 개발환경 구축 - XE Open seminar #2
Docker 기반 개발환경 구축 - XE Open seminar #2
 
XE3 SEO를 다루기 - XE Open seminar #2
XE3 SEO를 다루기 - XE Open seminar #2XE3 SEO를 다루기 - XE Open seminar #2
XE3 SEO를 다루기 - XE Open seminar #2
 
XE Open seminar #2 - keynote
XE Open seminar #2 - keynoteXE Open seminar #2 - keynote
XE Open seminar #2 - keynote
 
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기
[XECon2016] B-1 안정수 라라벨 Scout을 활용한 검색 기능 둘러보기
 
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩
[XECon2016] A-1 정규창 [React] Immutable한 양방향 데이터 바인딩
 
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기
[XECon2016] C-4 한성민 AngularJS 1, 2 그리고 실무환경 적용 이야기
 
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
[XECon2016] C-3 이현석 팀장들이 꼽은 신입 PHP 개발자가 가급적 빨리 알았으면 하는 것들
 
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게
[XECon2016] C-2 홍성범 XE3 Theme 제작 - 자유롭게, 그리고 편하게
 
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기
[XECon2016] C-1 오승훈 XE3로 웹사이트 만들기
 
[XECon2016] B-4 변종원 CodeIgniter와 PHP7
[XECon2016] B-4 변종원 CodeIgniter와 PHP7[XECon2016] B-4 변종원 CodeIgniter와 PHP7
[XECon2016] B-4 변종원 CodeIgniter와 PHP7
 
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래
[XECon2016] B-3 성기진 XE1 가지치기와 오픈소스 생태계의 미래
 
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기
[XECon2016] B-2 정광섭 Laravel로 스타트업 기술 스택 구성하기
 
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로
[XECon2016] A-3 박형식 Frontend stack의 변화 : jQuery, BackboneJS, ReactJS 중심으로
 
[XECon2016] A-2 임형주 Webpack 실무 적용전략
[XECon2016] A-2 임형주 Webpack 실무 적용전략[XECon2016] A-2 임형주 Webpack 실무 적용전략
[XECon2016] A-2 임형주 Webpack 실무 적용전략
 
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
[XECon2016] A-4 조정현 GitHub + Jenkins + Docker로 자동배포 시스템 구축하기
 
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHubXECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
XECon2015 :: [1-3] 김덕홍 - Git Workflow with GitHub
 
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
XECon2015 :: [2-2] 박상현 - React로 개발하는 SPA 실무 이야기
 
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravelXECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
XECon2015 :: [2-1] 정광섭 - 처음 시작하는 laravel
 
XECon2015 :: [1-2] 이현석 - Learning Laravel
XECon2015 :: [1-2] 이현석 - Learning LaravelXECon2015 :: [1-2] 이현석 - Learning Laravel
XECon2015 :: [1-2] 이현석 - Learning Laravel
 
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
XECon2015 :: [3-3] 김찬희 & 전창완- 네이버 아이디 로그인 소개 및 Laravel 적용
 

Github 100% 활용하기 - XE Open seminar #3

  • 1. 커뮤니티 참여와 Github 사용 팁 Github 100% 활용
  • 2. 버전관리 시스템 Git 버전관리 시스템의 저장소를 제공하는 서비스 무료로 사용할 수 있는 공개형 저장소와 유료로 사용해야하는 비공개 저장소 제공 PRODUC T OWNER GitHub
  • 3. 왜 Github에 대한 얘기를 하나? • 지금 우리가 사용하는 대부분의 코드는 Github에 있다 • 나도 모르는 사이에 Github에 있는 소스코드를 이미 사용하고 있다 • 내가 사용하는 코드에 문제가 있을 때 어디에 물어봐야 하나? • 내가 사용하는 코드의 문제점을 해결했을 땐, 그 다음으로 무엇을 하면 좋을까?
  • 4. 여기서 잠깐 토론에 대해서 • 국내 문화와 인터넷 커뮤니티 • 국내에서 자주 언급되는 토론 문화의 성숙도 • 토론이 감정적으로 치달아 문제되는 경우가 자주 발생함 • 비평, 비판, 비난 • 토론에서 나와 다른 의견이 제시 될 때 이것을 잘 구분 하는가 • 남의 비난을 두려워 하고 있지 않은가? • 국내 Github 프로젝트 참여자 수 • 단순히 언어의 장벽과 인구 수에 의한 차이일까? • 프로젝트 커뮤니티 참여를 가로막는 보이지 않는 벽은 무엇일까?
  • 5. 경험 - PR & 까임 Laravel 저장소에 Pull Request 를 보내 봤습니다. 누군가 "그게 왜 필요해?" 라고 물어봤고 저는 한국에 있으니까 자고 있었구요. 다음날 출근해서 보니까 "하던대로 하자" 는 마지막 대화로 이슈가 닫혔습니다.
  • 6. 의견이 받아 들여 지지 않았을 때? • 조금 많았던 서운한 감정 • 생각 많이하고 고민해서 보냈는데, 너무 쿨하게 까였음 • 어떤 문제였을까? (의식의 흐름) • '질문이 잘못 되었는가?' 에 대해서 생각해봄 • 의견에 대한 명확하고 타당한 근거를 제시하지 못함 • 내 의견을 제시할 때 상대방을 설득하려는 노력이 필요했다
  • 7. 결론 • 국외 커뮤니티에서 언어에 대한 장벽 실감함 • 의견 제시하기 전에 너무 많은 고민 • 간단한 의견 임에도 상당한 시간이 걸렸음 • 듣는 사람이 내 의견을 이해하지 못했다면 좀더 명확하게 얘기할 수 있도록 하자 • 한번 해보니까 대단한 일이 아니었다 • 까이는게 뭐 큰일인가!?
  • 8. Github 토글 버튼 Watch/Unwatch : 지켜봄 (알림 등 메시지 받음)
 Start/Unstart : 좋아요!
 Fork : 퍼감, Copy, Github의 내 저장소에 복사 관심 갖는 프로젝트에 마구마구 사랑을 나눠 주세요. 운영자는 더욱 힘이 날꺼에요!
  • 9. Github 탭 메뉴 Code : 프로젝트의 코드를 볼 수 있음 Issue : 문의하기 게시판 (이정도로 생각하고 사용 해도 됨) Pull Request(PR) : 당김 요청 (내가 수정한 내용 을 보내서 프로젝트에 반영되길 바랄 때 사용) 다른 탭 메뉴는 눌러보세요.
  • 10. Code 페이지 수치 Commits : 코드 커밋 수 Branch : 가지 치기 수 Releases : 배포 버전 수 Contributors : 기여자 수
  • 12. Issue, Pull Request • 모든 프로젝트는 사용자 참여를 기다리고 있음 • 질문, 개선사항을 남겨서 프로젝트를 발전 시킬 수 있음 • Pull Request 를 통해 프로젝트에 기여할 수 있음
  • 13. XE3 Issue 의 Labels https://github.com/xpressengine/xpressengine/issues/new XE3 저장소의 라벨을 보고 Issue 에는 어떤 내용을 남기면 될지 얘기해 보겠습니다. * type/ bug, enhancement, proposal, question, security * 오류, 개선, 제안, 문의, 보안 * status/ duplicated, invalid, keep, need-more-info, now-checking, wontfix, works- for-me * 중복됨, 유효하지 않음, 보류됨, 추가정보필요, 확인중, 
 누가 고쳐주길 바래, 대신 누가 해줘ㅜㅜ 이슈에 남길 수 있는 내용은 오류, 개선, 제안, 문의, 보안 에 대한 내용 입니다. 커뮤니티에 따라 다르겠지만 GitHub 에 Issue 를 운영하는 프로젝트는 거의 같은 분류를 취 급합니다.
  • 14. GitHub Issu VS 공홈 Q&A GitHub Issue 도 충분히 묻고답하기 게시판 기능을 수행할 수 있음 비슷한 기능의 커뮤니티를 두군데 운영하는 이유는 국내 사용자가 GitHub 사용을 익숙해 하지 않는다고 판단했기 때문 XE팀은 GitHub Issue 로 문의하길 권장함
  • 15. GitHub Issue 에서 의견 교류
  • 16. Pull Request • Pull Request(PR) 은 내가 수정한 코드를 프로젝트에 반영 시키는 수단 • 프로젝트 운영자에게 "당김 요청"을 보내는 것 • 수정한 Commit, 내용을 보내는게 아니라 프로젝트 운영자가 당겨갈 Branch 를 보내는 것 • 프로젝트 운영자가 내 저장소의 Branch 를 당겨간 다는 의미를 정확히 해야함
  • 17. PR 보내는 법 • https://github.com/xpressengine/xpressengine/blob/master/.github/CONTRIBUTING.md • XE3 저장소에 있는 Contributing 가이드
  • 19. Webhooks • https://developer.github.com/webhooks/ • GitHub 에서 제공되는 기능 • GitHub 저장소에 이벤트가 발생하면 등록된 기능 실행
  • 20. XE3 Webhooks setting • https://scrutinizer-ci.com/ • 외부 서비스에 issue, comment, PR 등 새로운 이벤트가 생기면 실행되도록 해서 Slack 으로 메시지 전송 • 오픈소스는 무료 지원 • bitbucket 저장소와 싱크 맞추기 기능 • 오픈소스 기반으로 private 저장소를 운영해야할 경우 • Jenkins 연동 • 새로운 push 들어오면 unit-test 실행, code-style 체크
  • 21. Jenkins 연동 GitHub Jenkins Slack Push Job : Unit Test Job : Code Style 메시지 전송 XE 팀 Slack
  • 22. Jenkins Job for check code style
  • 25. 회사 코드는 공개 되면 안되!! 그렇다고 돈내고 쓰기도 좀 그런데 ;;
  • 27. Yona • 국내 오픈소스 • Yobi 프로젝트에서 이름을 바꾸서 Yona 프로젝트 진행 • 한국어로 지원되어 사용할 때 편리한 잇점 • 설치형 • 무제한의 프로젝트, 무제한의 사용자 • Git Respository 기능 • 이슈, 게시판 기능 • 회원, 그룹 관리 기능
  • 29. T h a n k y o u X E H U B