[17.02.09] Github introduction (Korean Version)Ildoo Kim
Git 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 https://www.slideshare.net/ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
[17.02.09] Github introduction (Korean Version)Ildoo Kim
Git 혹은 소스코드 형상관리를 아예 모르는 사람을 대상으로 작성한 Starter Guide입니다. 팀에 새로운 사람이 Join하는 등의 경우에 세미나 자료로 활용합니다.
형상관리/git 개념과 command line 혹은 source tree를 활용한 기본적인 사용 방법에 대해 소개합니다.
<팀을>이라는 책을 많이 참고하였습니다.
2018년 서울시 앱 공모전 (URL: https://mplatform.seoul.go.kr )에서 GitHub 설명을 위한 자료입니다. 이전 https://www.slideshare.net/ianychoi/git-github-46020592 자료에 모바일 앱 개발 환경 및 GitHub Desktop 프로그램에 대한 부분을 추가하였습니다.
GitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-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
Source Tree로 버전 관리하는 법
- Git이 필요한 이유
- Stage(=Index에 기록)하기
- Commit하기
- Remote 추가하기
- Origin Remote로 GitHub 사용
- Push하기
- Clone하기
- Reset (Soft, Hard, Mixed)
- Revert
- Checkout, Detached HEAD
- 이전 Commit 수정하기
- Pull / Fetch&Merge하기
- Branch 만들기
- Fast Forward Merge하기
- 3-Way Merge하기
- 3-Way Merge에서 발생할 수 있는 Conflict 해결하기
- Visual Studio로 Conflict 해결하는 법
- Stash로 다양한 문제 해결해보기
- 오래된 저장소에서 Pull하기
- 다른 브랜치로 Commit 옮기기
- .gitignore 파일 설정하기
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023Ian Choi
아래 행사에서 키노트 이후 두 번째 세션에서 발표했던 내용입니다.
Java Spring Boot 앱을 Terraform을 사용하여 Azure Kubernetes Service (AKS)에 배포하는 방법을 GitHub Codespaces 및 Copilot과 함께 데모를 진행하였습니다.
실습 내용은 아래 링크에서 확인 가능합니다:
https://github.com/Azure-Samples/gh-codespaces-copilot-in-a-day-ko/blob/main/README.md#%ED%80%B5%EC%8A%A4%ED%83%80%ED%8A%B8-2--%EC%95%A0%EC%A0%80-terraform-%EC%9D%B4%EC%9A%A9
[행사 정보]
행사명: Microsoft X GitHub Roadshow 2023
시간: 2023년 5월 15일 월요일 오후 1:00~5:30 (GMT+09:00)
장소: Seoul, Seoul, Korea
[Agenda]
01:00 PM - 01:20 PM: AI를 활용한 개발 생산성 향상
01:20 PM - 02:10 PM: Azure OpenAI로 나만의 봇 🤖 만들기! (feat. Spring Apps)
02:10 PM - 03:00 PM: Ship it! ⛴️ AKS에 스프링 앱 배포하기
03:00 PM - 03:20 PM: 쉬는 시간
03:20 PM - 04:10 PM: 파워플랫폼💪 Low-code/No-code로 CI/CD 접근하기
04:10 PM - 05:20 PM: 나를 찾아라 집사! 🔍 잃어버린 반려동물 신고하는 웹 앱 개발하기
05:20 PM - 05:30 PM: 마무리
클라우드 컴퓨팅, 기본부터 정복해보자!
클라우드 컴퓨팅, 줄여서 클라우드라고 이야기하죠.
클라우드 서비스가 등장한지 어느덧 약 15년이 지났지만 여전히 사용하기 쉽지 않다고 합니다.
본 교육에서는 클라우드 컴퓨팅 기본 사항부터 접근해보고자 합니다.
개요 및 아키텍처, 주요 서비스 이해를 통해 클라우드를 보다 효율적으로 사용하기 위한 기본기를 확보하고,
이를 기반으로 클라우드를 안정적으로 활용하는 지식을 함양하고자 합니다.
본 내용은 Microsoft Learn에 무료로 공개된 다음 주요 모듈 내용을 기반으로 설명을 위해 강의/발표 형태로 재구성하였습니다:
- Microsoft Azure 기본 사항: 클라우드 개념 설명: https://learn.microsoft.com/ko-kr/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/
- 개발자를 위한 클라우드 컴퓨팅 기본 사항: https://learn.microsoft.com/ko-kr/training/paths/cmu-cloud-developer-basics/
GitHub로 프로젝트 운영하기
-시스템소프트웨어 연구실 이건희
목차
-깃허브란?
-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
Source Tree로 버전 관리하는 법
- Git이 필요한 이유
- Stage(=Index에 기록)하기
- Commit하기
- Remote 추가하기
- Origin Remote로 GitHub 사용
- Push하기
- Clone하기
- Reset (Soft, Hard, Mixed)
- Revert
- Checkout, Detached HEAD
- 이전 Commit 수정하기
- Pull / Fetch&Merge하기
- Branch 만들기
- Fast Forward Merge하기
- 3-Way Merge하기
- 3-Way Merge에서 발생할 수 있는 Conflict 해결하기
- Visual Studio로 Conflict 해결하는 법
- Stash로 다양한 문제 해결해보기
- 오래된 저장소에서 Pull하기
- 다른 브랜치로 Commit 옮기기
- .gitignore 파일 설정하기
Ship it! ⛴️ AKS에 스프링 앱 배포하기 at Microsoft x GitHub Roadshow 2023Ian Choi
아래 행사에서 키노트 이후 두 번째 세션에서 발표했던 내용입니다.
Java Spring Boot 앱을 Terraform을 사용하여 Azure Kubernetes Service (AKS)에 배포하는 방법을 GitHub Codespaces 및 Copilot과 함께 데모를 진행하였습니다.
실습 내용은 아래 링크에서 확인 가능합니다:
https://github.com/Azure-Samples/gh-codespaces-copilot-in-a-day-ko/blob/main/README.md#%ED%80%B5%EC%8A%A4%ED%83%80%ED%8A%B8-2--%EC%95%A0%EC%A0%80-terraform-%EC%9D%B4%EC%9A%A9
[행사 정보]
행사명: Microsoft X GitHub Roadshow 2023
시간: 2023년 5월 15일 월요일 오후 1:00~5:30 (GMT+09:00)
장소: Seoul, Seoul, Korea
[Agenda]
01:00 PM - 01:20 PM: AI를 활용한 개발 생산성 향상
01:20 PM - 02:10 PM: Azure OpenAI로 나만의 봇 🤖 만들기! (feat. Spring Apps)
02:10 PM - 03:00 PM: Ship it! ⛴️ AKS에 스프링 앱 배포하기
03:00 PM - 03:20 PM: 쉬는 시간
03:20 PM - 04:10 PM: 파워플랫폼💪 Low-code/No-code로 CI/CD 접근하기
04:10 PM - 05:20 PM: 나를 찾아라 집사! 🔍 잃어버린 반려동물 신고하는 웹 앱 개발하기
05:20 PM - 05:30 PM: 마무리
클라우드 컴퓨팅, 기본부터 정복해보자!
클라우드 컴퓨팅, 줄여서 클라우드라고 이야기하죠.
클라우드 서비스가 등장한지 어느덧 약 15년이 지났지만 여전히 사용하기 쉽지 않다고 합니다.
본 교육에서는 클라우드 컴퓨팅 기본 사항부터 접근해보고자 합니다.
개요 및 아키텍처, 주요 서비스 이해를 통해 클라우드를 보다 효율적으로 사용하기 위한 기본기를 확보하고,
이를 기반으로 클라우드를 안정적으로 활용하는 지식을 함양하고자 합니다.
본 내용은 Microsoft Learn에 무료로 공개된 다음 주요 모듈 내용을 기반으로 설명을 위해 강의/발표 형태로 재구성하였습니다:
- Microsoft Azure 기본 사항: 클라우드 개념 설명: https://learn.microsoft.com/ko-kr/training/paths/microsoft-azure-fundamentals-describe-cloud-concepts/
- 개발자를 위한 클라우드 컴퓨팅 기본 사항: https://learn.microsoft.com/ko-kr/training/paths/cmu-cloud-developer-basics/
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요Ian Choi
* 본 세션은 2022년 11월 15일, Microsoft Ignite Spotlight on Korea 오프라인 행사에서 진행된 세션의 녹화본 발표 자료입니다.
- 제목: "디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요"
- 스피커: 최영락 (한국마이크로소프트, Territory Channel Mgr.) & 변정훈 (GitHub Star(aka., Outsider)
- 설명: AI가 많은 부분을 바꾸고 있는 세상에서 GitHub은 2021년 AI 페어 프로그래머인 GitHub Copilot을 발표하고 올해 유료 모델로 공개했습니다. GitHub Copilot과 함께 코딩할 때 어떤 부분을 도와주고 얼마나 유용한 지 설명합니다.
- 영상 보기: https://info.microsoft.com/KO-DevOps-VDEO-FY23-01Jan-10-From-design-to-coding-AI-drives-program-development-GitHub-Copilot-how-far-have-you-found-out-SRGCM8854_LP01-Registration---Form-in-Body.html
- 참고: 지난 Ignite 2022에서서 등장하신 사티야 및 OpenAI CEO 두 분께서 대화한 ChatGPT 및 Codex에 대한 자세한 내용은 https://youtu.be/EDsGm-3OEOY 를 통해서도 보실 수 있습니다.
#Python 프로그래밍 언어로 #NoSQL도 다룰 수 있죠 :) 여러 오픈 소스 중 #MongoDB 오픈 소스 데이터베이스를 직접 설치하여 #Flask 를 통해 테스트해보는 과정을 #Azure 환경에서 어떻게 하는지를 보여주고자 하였습니다.
[1] YouTube 영상: https://youtu.be/RiC5PkKq60g
[2] MongoDB 설치를 설명하는 MS Learn 콘텐츠: https://aka.ms/mongodb-install-on-ubuntu
[3] MS Learn에서 MongoDB를 Cosmos DB를 통해 배울 수도 있습니다: https://aka.ms/mongodb-from-azure-cosmosdb
[4] MongoDB 접속 테스트 샘플 Python 코드 다운로드: https://bit.ly/mongodb-python-connection-test-sample
[5] 간단한 CRUD 웹앱 (MongoDB & Flask): https://github.com/ianychoi/flask-mongodb (forked from https://github.com/rianrajagede/flask-mongodb)
OpenStack I18n Product Update at Shanghai: how OpenStack translation started ...Ian Choi
This is one of OpenStack project team updates and covers the latest changes in I18n project including the background on how OpenStack translation started from Chinese language team.
Actual speaker: Frank and Ian
[OpenInfra Days Vietnam 2019] Innovation with open sources and app modernizat...Ian Choi
- Title: Innovation with open sources and app modernization for developers
- Event: OpenInfra Days Vietnam 2019 (URL: https://2019.vietopeninfra.org )
- Presenter: Ian Choi
2018 컨트리뷰톤 ( https://contributhon.kr/project#openstack ) 행사에 오픈스택 또한 참여합니다 :) 오픈스택 프로젝트 개요와 함께 업스트림 컨트리뷰션을 설명하면서 2018년도 컨트리뷰톤에서 오픈스택 팀에서 하고자 하는 방향을 설명하는 자료입니다.
2018년 7월 6일 (금), 공개SW GRAND CHALLENGE 행사에서 "오픈 인프라와 오픈 커뮤니티에서의 협력"을 주제로 발표를 하였습니다.
오픈 인프라가 탄생하기까지 IT 역사를 간단히 살펴보고, 오픈 인프라에서 사용하는 기술, 그리고 국내외 커뮤니티 협력에 대해 정리해 보았습니다.
지난 2018년 5월 캐나다 밴쿠버에서 개최가 이루어졌던 오픈스택 밴쿠버 서밋과 함께 행사 이전 이틀 간 개최되었던 Upstream Institute에 참가하였던 후기를 "오픈 인프라에서의 변화"라는 부제와 함께 내용을 공개SW개발자센터 6월 오픈랩세미나에서 공유하였습니다. 슬라이드 내용 참고 부탁드리고, 아울러 6월 28-29일 개최가 이루어지는 https://www.openinfradays.kr 행사에도 많은 관심 가져주셨으면 합니다.
[Pycon KR 2017] Rst와 함께하는 Python 문서 작성 & OpenStack 문서 활용 사례Ian Choi
많은 Python 패키지 및 라이브러리 문서들은 일반적으로 GitHub 등에서 사용하는 Markdown 문법이 아닌, rst (Restructured Text) 문법을 사용하여 작성이 이루어지며, Sphinx 라이브러리를 활용하여 html 또는 pdf로 build하여 해당 패키지 및 라이브러리 문서화를 관리하고 있습니다. 본 발표에서는 rst가 무엇인지부터 시작하여, rst와 관련된 기본 문법을 통해 html 또는 pdf로 어떻게 생성할 수 있는지 각 단계별로 살펴봄으로써 Python 문서화가 이루어지는 전반적인 과정을 먼저 살펴봅니다. 이후, Python을 활용하고 있는 OpenStack 프로젝트에서 문서를 code처럼 관리하기로 결정한 이후, rst 기반으로 설치 가이드 등을 작성하고 Sphinx 및 별도 theme를 적용하여 html 및 pdf를 생성하여 활용하는 실 활용 사례를 같이 살펴보고자 합니다.
2017년 5월 31일, "코딩이랑 무관합니다만, + 오픈스택 한국 커뮤니티" 공동 주관 세미나에서 발표한 자료를 공유합니다. 클라우드 컴퓨팅 인프라에서 API 필요성 및 CLI에 대한 내용을 설명하였습니다.
- 행사 URL: http://onoffmix.com/event/101353
12. 12
문서 번역 과정을 살펴봅시다
• 아랫부분 전체를 긁은 후 클립보드에 복사합니다
• 아래 부분 클릭 Ctrl + A (전체 선택) Ctrl + C (복사) 또는 마우스 우클릭 후 선택
13. 13
문서 번역 과정을 살펴봅시다
• 텍스트 편집기를 열고 해당 내용을 붙여넣기합니다.
• 예: Notepad++
14. 14
문서 번역 과정을 살펴봅시다
• 원본을 기반으로 번역 검토 및 수정 작업을 시작합니다.
• 예: 뒤에 마침표를 제거
15. 15
문서 번역 과정을 살펴봅시다
• 수정 대상 내용 전체를 다시 복사하여 이전 웹 브라우저 창에 있는 텍스트
부분을 교체합니다.
16. 16
문서 번역 과정을 살펴봅시다
• “편집을 하고 ‘Propose File Change’ 버튼을 클릭하셔서 편집을 끝낼 수
있습니다.”
• 아래 Propose file change에 내용을 작성합니다.
• (사실 안 써도 기본 내용이 작성됩니다)
17. 17
문서 번역 과정을 살펴봅시다
• Propose file change 내용 작성 예시
• (간단한 수정인 경우, 자세한 설명을 적을 필요가 있음. 전체적인 번역은 설명을 굳이 안
써도 됨)
• 영어로 써야 검토자가 확인 가능
• 제목 부분은 50자 이내로 간결하게 하는 것이 권장 사항
18. 18
문서 번역 과정을 살펴봅시다
• “이제 편집한 내용을 보실 수 있습니다.”
• 파일 변경 사항이 내 저장소에 기록된 것이지, 아직 변경 제안이 된 것은 아닙니다.
19. 19
문서 번역 과정을 살펴봅시다
• “업데이트 내용을 확인하시고 ‘Create Pull Request’ 를 클릭합니다.
“중재자(moderator)가 승인을 하면 업데이트 내용이 라이브 사이트에
반영이 됩니다.
21. 21
문서 번역 과정을 살펴봅시다
• CLA 동의가 필요하다고 하는 경우, 동의를 해야 합니다.
22. 22
문서 번역 과정 워크플로우를 확인해 봅시다
https://docs.microsoft.com/ko-kr/sccm
먼저, 본인 저장소로
그대로 copy한 후 (Fork),
편집한 내용을 저장
①
변경 사항을 원 내용에
반영해달라고
Pull request 요청
②
관리자가
수락 (Merge)
③
퍼블리싱 & 업데이트
(by Microsoft)
④
https://github.com/microsoftDocs/sccMDocs.ko-kr
24. 24
Tip: 한글 번역을 지원하는 문서 목록은?
• https://github.com/MicrosoftDocs 에서 ko-kr로 검색
• https://github.com/MicrosoftDocs?utf8=%E2%9C%93&q=ko-kr
25. 25
Tip: 번역 컨트리뷰션 확인 방법은?
• 1) 자신의 GitHub 프로파일에서 내역을 볼 수 있습니다
• https://github.com/github_계정_이름
26. 26
Tip: 번역 컨트리뷰션 확인 방법은?
• 2) 문서 컨트리뷰션 대시보드에서 확인
• https://github.com/Microsoft/Localization/wiki/Docs-Contribution-
Leaderboard
27. 27
Tip: 문서 번역시 주의해야 할 사항
• 외부 링크, 강조 등에 대한 기호 뒤에 띄어쓰기를 해 주어야 함
• 예시:
28. 28
Tip: 원문을 같이 보고 싶을 때에는?
1. 번역 문서에서 영문 텍스트 표시 기능 활용
2. URL에서 ko-kr을 en-us로 변경하기!
29. 29
Tip: 문서 번역 컨트리뷰션 + 원문 컨트리뷰션
• 내용을 보고 틀리거나 보완이 필요한 경우 원문 + 번역 모두 기여합시다!
• 예시:
(한글 문서를 보다가 보완이 필요한 부분을 발견해
번역에 기여)
: https://github.com/Azure/azure-docs-cli-python.ko-kr/pull/1/
(원문 수정에도 기여)
: https://github.com/Azure/azure-docs-cli-python/pull/301
30. 30
Q: “편집” 버튼이 없는 경우는?
• (MVP feedback을 통해서나 아니면 opensource@microsoft.com
으로 이메일을 보내야 할 듯…)