GitHub로 프로젝트 운영하기Lee GeonheeGitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-Repository 활용하기
-branches, releases
-깃허브 프로젝트 문서화
깃허브란?
• 깃(Git)을 사용하는 프로젝트를 지원하는 웹호스팅 서비스
• 다른 사람들과의 협업을 매우 용이하게 해줌
Repository 활용하기
Issue , Pull requests
• Issue 카테고리는 왜 사용하는가요?
• 버그를 기록하거나 요구사항을 전달할려고 사용
• Pull requests 카테고리는 왜 사용하는가요?
• 현재 진행중인 작업이 무엇인지 알게해줌. • 수정사항을 Merge 시킬 때 사용.
Pull requests로 넣은 수정사항이 Merge됨에 따라 Contributor가 될 수 있습니다!
branches, releases
branches
• 테스트 해보거나 새로운 기능을 개발하기 위해 사용하는 독립적인 commit
• Master branch : 기본 branch이자, 최종적으로 마무리 되는 branch
깃허브 문서화
README
• 해당 프로젝트의 개요나 설명, 설치법에 대해서 설명
• ‘README.md’ 파일을 인식
README’s Labels
• Badge images • Custom badge
https://shields.io/
README’s Labels
• Travis CI
• Continuous Integration : 푸시할 때 자동화된 빌드 및 테스트가 실 행되고 소프트웨어 품질을 향상시키는 개발 방식
• https://travis-ci.org/
Issue & Pull requests Template
• Maintainer에게 좀 더 정확하 게 의견을 전달하기 위해 만듬
• Insights > Comminuty 에서 추가 가능
LICENSE
네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
그 외의 Community profile
• Code of conduct
• Contributing guidelines
그 외에 프로젝트 관리에 도움되는 것
OpenHub 어플리케이션
Git Bash (Git bash 사용법 : http://gbsb.tistory.com/10)
GitHub Desktop
참고
• 네이버 오픈소스 가이드 https://naver.github.io/OpenSourceGuide/book/
• 실제로 사용한 프로젝트 https://github.com/kuj0210/IoT-Pet-Home-System
[PandoraCube] 오픈 소스와 깃허브PandoraCube , Sejong University2018.07.09 판도라큐브 세미나
제작자: 프로그래밍 파트 이지수
코멘트: 질문 시간에서 질문을 못 해드린 부분은 제가 후에 조사해서 PPT에 추가했습니다.
비고: 없음
판도라큐브는 세종대학교 소프트웨어융합대학 소속의 게임 제작 동아리입니다.
매주 회의마다 게임 제작과 관련된 주제로 세미나를 개최합니다.
모든 자료는 세미나 자료 제작자의 동의 하에 업로드됩니다.
세미나의 소유 및 책임은 제작자가 지닙니다.
Summernote 이야기 - 홍영택님(@hackerwins)이상모임발표일 : 2015.12.19 이상모임 연말정산
발표 영상은 준비중입니다.
본 슬라이드는 발표자료를 아카이빙 하기 위함이며, 발표자의 원본문서가 별도로 존재하므로 추후 업데이트 되더라도 본 슬라이드는 교체되지 않습니다.
반드시 원본 링크 goo.gl/KE9Uk1 를 확인해주세요.
[SEF2019]개발자로 성장하는 부스트캠프YoungjikYoonSEF 2019 발표자료
멘토링과 개발 프로젝트를 통해 실무 역량을 강화하는 오프라인 부트캠프, 부스트캠프를 소개합니다.
동영상 링크: https://www.edwith.org/sef-2019/lecture/44889/
[201808] GitHub 사용하기 - GIt & 협업 활용Ian Choi2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 /ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
What Is Needed for the Sustainable Success of Open Source Software Projects: ...JaeYoon SongFor further details, please check https://www.mdpi.com/2071-1050/10/9/3001
Summernote 이야기 - 홍영택님(@hackerwins)이상모임발표일 : 2015.12.19 이상모임 연말정산
발표 영상은 준비중입니다.
본 슬라이드는 발표자료를 아카이빙 하기 위함이며, 발표자의 원본문서가 별도로 존재하므로 추후 업데이트 되더라도 본 슬라이드는 교체되지 않습니다.
반드시 원본 링크 goo.gl/KE9Uk1 를 확인해주세요.
[SEF2019]개발자로 성장하는 부스트캠프YoungjikYoonSEF 2019 발표자료
멘토링과 개발 프로젝트를 통해 실무 역량을 강화하는 오프라인 부트캠프, 부스트캠프를 소개합니다.
동영상 링크: https://www.edwith.org/sef-2019/lecture/44889/
[201808] GitHub 사용하기 - GIt & 협업 활용Ian Choi2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 /ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
What Is Needed for the Sustainable Success of Open Source Software Projects: ...JaeYoon SongFor further details, please check https://www.mdpi.com/2071-1050/10/9/3001
GitLab Korea 밋업 - UX가 올 리모트 팀에서 일하는 법Sunjung ParkGitLab Meetup #09 - 2022년 1월 27일
GitLab의 전 직원은 원격 근무를 하고 있습니다.
UX 디자이너가 제품 개발 프로세스에 어떻게 참여하고, 협업하는지에 대해 설명합니다.
구글 문서로 작성된 내용이라, 이 링크에서 보시는게 폰트가 더 깔끔합니다: https://docs.google.com/presentation/d/164EJB4u_F9pjAm2HcE0vtlS6C7QFONqHNZAahtaFRBM/edit?usp=sharing
2. SoundHub
•프로젝트 소개
1. GitHub처럼 각각 음악 파일을 합쳐, 더 좋은 음악을 만드는 플랫폼
•프로젝트의 목적
1. MVVM 패턴, Data Binding 개념 이해 및 적용
2. Git Flow 개념 이해 및 적용
3. 클라이언트의 UI/UX를 결정을 협업하며 UI/UX 이해
•프로젝트 관리
1. Google Doc로 매주 해야할 일 작성
(https://docs.google.com/spreadsheets/d/1aOBVDjqBJo5Attgge3mPwlsU10jkrWDfB0WdC5FbMw4/edit#gid=761901345)
2. Hangout를 통한 데일리 스크럽
3. 사용한 아키텍처(MVVM)
•WHY? 아키텍처를 사용한 이유
1. 코드 수정에 따른 스파게티 코드 문제점 직면
•WHY? MVVM을 선택한 이유
1. MVVM은 View와 ViewModel간 N:1 관계
(테스트 수월)
2. MVVM, MVP 경험 필요
5. 사용한 아키텍처(MVVM)
•고민하며 어려웠던 점
ViewModel을 어떻게 설계하느냐에 대한 계속되는 고민
•MVVM의 ViewModel의 설계 근거
1. View와 ViewModel은 N:1의 관계
View가 변하더라도 ViewModel은 재사용이 가능해야한다.
2. OOP의 SRP 원칙
“모든 클래스나 모듈은 하나의 책임만 맡는다”는 원칙
∴ 이를 바탕으로 ViewModel은 View의 기능별로 1개씩 정의해 프로젝트 진행 중
12. 추가될 기능
•Data Binding 메모리 처리
Activity 생명 주기에 따른 Binding, unBinding 처리
•검색 기능, 페이지네이션 기능
페이지네이션은 기본 기능과 레이아웃 틀 완성 (서버에서 API 준비 중)
•단위 테스트, UI 테스트, Fabric 적용
현재 간단한 단위 테스트, UI 테스트는 예제로 진행 완료
그러나, 네트워크 통신 등 처리를 위한 공부 필요
공부를 하며 추후 Fabric까지 적용 할 예정
•음악 Merge 기능
현재는 Merge를 서버에서 처리
그러나, 근본적으로 Merge를 처리하는 것은 많은 부하를 필요
그래서 이후 클라이언트에서 처리 (음악 Merge은 구현 완료)