SlideShare a Scribd company logo
Backend.AI
정지원
Backend.AI 컨트리뷰톤 프로젝트
차례
프로젝트 소개
기여 요약
활동 요약
기여 경험 소개
앞으로의 계획
소감 / 후기
Backend.AI
Backend.AI 는
딥러닝 및 고성능 컴퓨팅에 특화된
오픈소스 클라우드 리소스 관리
플랫폼입니다.
GPU 분할 가상화를 제공하여,
과학자, 데브옵스, 기업 및 AI 애호가들이
효율적으로 규모를 확장
할 수 있게 돕습니다.
https://github.com/lablup/backend.ai (메타 저장소) 및 19개 저장소로 구성되어
있습니다.
프로젝트 분야: 머신 러닝, 딥러닝, 클라우드, Docker, 컨테이너 가상화, GPU
Backend.AI + 컨트리뷰톤
다양한 분야에 기여할 수
있습니다.
소스코드 리뷰 및 피드백이 비교적
빠릅니다.
최신 기술 스택을 익히고 쓸 수
있습니다.
다양한 환경에서 머신러닝 모델을
쉽게 구축할 수 있습니다.
1.
2.
3.
4.
“ Backend.AI라는 하나의 프로젝트 안에서
BackEnd, FrontEnd, Documentation, ML Model
구축과 같은 분야가 각각 어떻게 발전해 나가고,
문제가 발생했을 때 어떻게 해결하는지 파악할 수
있다.” - 강지현님
Python 비동기 라이브러리 asyncio,
Docker container 개발 및 테스트
Web components, websocket proxy, nodejs 기반
개발 환경
TensorFlow, Tensorboard, PyTorch
Backend
Frontend
ML model
PR 이후 최소 0일
PR 이후 최대 7일
안에
답변
컨트리뷰톤기간동안 제공 리소스
CPU 4코어
RAM 32기가
4 GPUs
5 세션
Backend.AI: 팀
멘토 3명 / 멘티 17명 → 15명
● 2명 회사일개인 사정으로 (ㅠ_ㅠ)
시간과 공간의 벽을 넘어서
● 중학교 2학년도 있고
● 뉴요커도 있었습니다.
(현지시간) 새벽 여섯시 반부터 온라인으로 참석 중인 멘티의 자기 소개를 경청하는
모습입니다.
Backend.AI: 기여 요약
기여 분야
● 백엔드
● 프론트엔드
● 문서화 및 예제
주요 기여
● 개발자를 위한 개발 환경 설치
스크립트 업데이트
● GUI 콘솔의 다양한 이슈 해결
● 공식 문서의 한국어화 진행
15개의 이슈 생성
10개의 코드 PR
20개의 문서화 및 번역
PR
3000+ 이상의 코드 줄
수정
Backend.AI: 기여 요약
기여 분야
● 백엔드
● 프론트엔드
● 문서화 및 예제
주요 기여
● 개발자를 위한 개발 환경 설치 스크립트 업데이트
● GUI 콘솔의 다양한 이슈 해결
● 공식 문서의 한국어화 진행
Backend.AI: 활동 요약
3명의 멘토
175명의 멘티
2번의 오프라인 미팅
슬랙과 카카오톡
5번의 온라인 미팅
컨트리뷰톤 발대식 (7월 27일)
Backend.AI: 활동 요약
3명의 멘토
175명의 멘티
2번의 오프라인 미팅
슬랙과 카카오톡
5번의 온라인 미팅
컨트리뷰톤 마무리 미팅 (9월 25일)
Backend.AI: 활동 요약
3명의 멘토
175명의 멘티
2번의 오프라인 미팅
슬랙과 카카오톡
5번의 온라인 미팅
Backend.AI: 활동 요약
3명의 멘토
175명의 멘티
2번의 오프라인 미팅
슬랙과 카카오톡
5번의 온라인 미팅
8월 7일
8월 14일
8월 20일
8월 28일
Office Hour
나의 기여 경험 소개
Backend.AI 의 GUI 개선에 기여
● 공식 문서 일부 번역
● 새로 세션을 만들 때 드롭다운 메뉴가 겹쳐 보이던 버그 수정
○ 단순히 css에서 z-index 한 줄을 삭제하여 해결
● 연구/개발환경 다운로드 항목에서 필터링 후 선택한 도커 환경 이미지와 다른 도커 이미지가
다운로드되는 버그 수정
○ 필터링은 프론트에서 하는데, 다운로드의 파라미터로 인덱스를 쓰기 때문에 발생
○ 해시로 사용할 수 있는 값을 찾아 파라미터로 수정하여 해결
● 창의 가로크기가 700px 보다 작을 때 드롭다운 메뉴의 위치가 정상적이지 않은 경우를
발견하여 이슈 발행
○ 해당 컴포넌트의 배치를 변경하여 문제를 해결하는 PR 작성
나의 기여 경험 고생담
당연히 순탄치 않았습니다!
Backend.AI GUI를 보기위해 필요한 것:
● 웹서버
● 자동으로 빌드해주는 watcher,
● 웹소켓 프록시
삽질 끝에 드디어 화면을 보는가 싶었지만 로그인이 안 되는 오류가
발생함
● 저를 포함 다른 멘티분들도 동일한 증상이 있었고, 이후
issue가 올라옴
● 멘토님께서 온라인 미팅을 통해 Backend.AI를 로컬에서
실행하는 법을 알려주셨고,
● endpoint를 로컬로 하여 IAM 방식으로 로그인하여 앞의
멘토: 사실 이건 버그가 아니라 Chrome 80
부터 로컬 쿠키 발행에 대한 동작이
바뀌어서 발생한 문제였습니다;
https://www.chromium.org/administrators/policy-list-3/cookie-lega
cy-samesite-policies
나의 기여 경험에서 배운 것들
새로운 기술 및 도구들
● 알고만 있던 Docker를 손에 익힐 수 있었고
● WebComponents 및 TypeScript를 새로 알게 되었으며
● 환경설정하는 부분에서 pyenv를 필요한 만큼 자유롭게 사용할 수 있게 되었습니다.
Backend.AI에서 배운 점들
● 이렇게 크고 구조적인 프로젝트는 처음
● 1~2주차까지는 거의 폴더 여기저기를 돌아다니며 구경하기 바빴음;
● 특히 모듈화가 잘 되어있어 오류가 난 부분의 코드를 빠르게 찾을 수 있었습니다.
앞으로의 계획
첫 PR -> Merge
● 한 줄의 수정에도 PR을 두 번이나 닫았다가 열었을 정도로 고민했다.
● Merge가 되었을 땐 만사 제쳐두고 다음 이슈 찾으러..
좀 더 비중있는 기여를 위해
● 새로운 feature 제안이나 추가 등
● 코드에 대한 확신이 들 때까지 공부하자!
참가자들의 소감
커뮤니티에 도움을 요청하고 도움을 받으면서 문제를 해결하는 과정을 통해 오픈소스에 대한
막연한 두려움을 이겨낼 수 있었습니다. 앞으로도 다른 여러 오픈소스 프로젝트에 두려움 없이
참여할 수 있는 용기를 얻은 소중한 경험이었습니다. / 구근모
소스코드에 직접 기여하는 것과 함께 문제가 발생했을때 어떻게 공개적으로 설명해야 하고,
해결해 나가야 하는지를 배울 수 있어 매우 뜻깊은 경험이었습니다. / 강지현
오픈소스에 기여하는 방법을 알 수 있었고 오픈소스 환경을 이해할수있었습니다. 이후
기여활동에 큰 도움이 될것같습니다. / 박규리
이번 오픈소스 컨트리뷰톤을 통해서 제대로 된 오픈소스 기여를 처음 해봤습니다. 다른
사람들이 쉽게 접할 수 있는 코드 관리를 시작할 수 있는 좋은 기회였습니다. / 김성철
감사합니다!

More Related Content

What's hot

무식하게 배우는 gradle
무식하게 배우는 gradle무식하게 배우는 gradle
무식하게 배우는 gradle
Ji Heon Kim
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
Hyoungjun Kim
 
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
OpenStack Korea Community
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
VMware Tanzu Korea
 
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
OpenStack Korea Community
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
OpenStack Korea Community
 
GitLab Ultimate 라이선스 기능소개 - 인포그랩
GitLab Ultimate 라이선스 기능소개 - 인포그랩GitLab Ultimate 라이선스 기능소개 - 인포그랩
GitLab Ultimate 라이선스 기능소개 - 인포그랩
InfoGrab LC
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)
SeongIkKim2
 
CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기
Kyuhyun Byun
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
VMware Tanzu Korea
 
당근마켓 고언어 도입기, 그리고 활용법
당근마켓 고언어 도입기, 그리고 활용법당근마켓 고언어 도입기, 그리고 활용법
당근마켓 고언어 도입기, 그리고 활용법
Kyuhyun Byun
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
Jeongmin Cha
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
VMware Tanzu Korea
 
20130709 gradle
20130709 gradle20130709 gradle
20130709 gradleSukjin Yun
 
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
iFunFactory Inc.
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
Ian Choi
 
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
정민 안
 
Dev team chronicles
Dev team chroniclesDev team chronicles
Dev team chronicles
Kenu, GwangNam Heo
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
VMware Tanzu Korea
 
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
SooHyunsuPark
 

What's hot (20)

무식하게 배우는 gradle
무식하게 배우는 gradle무식하게 배우는 gradle
무식하게 배우는 gradle
 
Open infradays 2019_msa_k8s
Open infradays 2019_msa_k8sOpen infradays 2019_msa_k8s
Open infradays 2019_msa_k8s
 
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
[OpenInfra Days Korea 2018] K8s workshop: Kubernetes for Beginner
 
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
숨겨진 마이크로서비스: 초고속 응답과 고가용성을 위한 캐시 서비스 디자인
 
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
[OpenInfra Days Korea 2018] (Track 1) From OpenStack to cloud native
 
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
[OpenInfra Days Korea 2018] (Track 4) - FreeIPA와 함께 SSO 구성
 
GitLab Ultimate 라이선스 기능소개 - 인포그랩
GitLab Ultimate 라이선스 기능소개 - 인포그랩GitLab Ultimate 라이선스 기능소개 - 인포그랩
GitLab Ultimate 라이선스 기능소개 - 인포그랩
 
야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)야, 너두 짤수있어 - IaC Basic(210131 김성익)
야, 너두 짤수있어 - IaC Basic(210131 김성익)
 
CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기CircleCI로 Serverless API의 CI/CD 환경 구축하기
CircleCI로 Serverless API의 CI/CD 환경 구축하기
 
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
Pivotal Concourse를 활용한 CI/CD pipeline automated build-up & Workflow managemen...
 
당근마켓 고언어 도입기, 그리고 활용법
당근마켓 고언어 도입기, 그리고 활용법당근마켓 고언어 도입기, 그리고 활용법
당근마켓 고언어 도입기, 그리고 활용법
 
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
차정민 (소프트웨어 엔지니어) 이력서 + 경력기술서
 
Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS) Pivotal 101세미나 발표자료 (PAS,PKS)
Pivotal 101세미나 발표자료 (PAS,PKS)
 
20130709 gradle
20130709 gradle20130709 gradle
20130709 gradle
 
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기Python과 AWS를 이용하여 게임 테스트 환경 구축하기
Python과 AWS를 이용하여 게임 테스트 환경 구축하기
 
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
DevOps와 함께 살펴보는 (해커톤의 성패를 좌우하는) 협업/개발 툴
 
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
MVC, MVVM, ReactorKit, VIPER를 거쳐 RIB 정착기
 
Dev team chronicles
Dev team chroniclesDev team chronicles
Dev team chronicles
 
Pivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - CoinonePivotal Labs 고객사례 - Coinone
Pivotal Labs 고객사례 - Coinone
 
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
Atlassian cloud 제품을 이용한 DevOps 프로세스 구축
 

Similar to 오픈소스 컨트리뷰톤 2020 backend.ai 발표자료

[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
NAVER D2
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님
NAVER D2
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
SeungYong Baek
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
Ian Choi
 
지속적인 통합
지속적인 통합지속적인 통합
지속적인 통합
중선 곽
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"
Lablup Inc.
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
Chris Ohk
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
Ian Choi
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST_NHNent
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화
Jaehoon Choi
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
iFunFactory Inc.
 
Why use git
Why use gitWhy use git
Why use git
Taeung Song
 
if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01
Klaytn
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규ChangKyu Song
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
Wonjun Hwang
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.
효근 박
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
Sumin Byeon
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
uEngine Solutions
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624uEngine Solutions
 
Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?
Suho Lee
 

Similar to 오픈소스 컨트리뷰톤 2020 backend.ai 발표자료 (20)

[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님
 
DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기DevOps - CI/CD 알아보기
DevOps - CI/CD 알아보기
 
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
디자인에 이어 코딩까지 AI가 프로그램 개발을 척척?: GitHub Copilot, 어디까지 알아보셨나요
 
지속적인 통합
지속적인 통합지속적인 통합
지속적인 통합
 
Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"Lablupconf session8 "Paving the road to AI-powered world"
Lablupconf session8 "Paving the road to AI-powered world"
 
청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기청강대 특강 - 프로젝트 제대로 해보기
청강대 특강 - 프로젝트 제대로 해보기
 
[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용[201808] GitHub 사용하기 - GIt & 협업 활용
[201808] GitHub 사용하기 - GIt & 협업 활용
 
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)TOAST Meetup2015 - 구름 Cloud IDE (류성태)
TOAST Meetup2015 - 구름 Cloud IDE (류성태)
 
레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화레가시 프로젝트의 빌드 자동화
레가시 프로젝트의 빌드 자동화
 
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
[아이펀팩토리]2017 NDC 강연 자료_아이펀 엔진 개발 노트
 
Why use git
Why use gitWhy use git
Why use git
 
if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01if kakao dev 2019_Ground X_Session 01
if kakao dev 2019_Ground X_Session 01
 
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
[NDC12] 변화량 분석을 중심으로 한 저비용 고효율의 지속가능한 코드퀄리티 관리법 - 송창규
 
도메인주도설계
도메인주도설계도메인주도설계
도메인주도설계
 
Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.Big Data platform을 위한 Sencha Ext JS 사례.
Big Data platform을 위한 Sencha Ext JS 사례.
 
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
[야생의 땅: 듀랑고] 지형 관리 완전 자동화 - 생생한 AWS와 Docker 체험기
 
Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3Event storming based msa training commerce example add_handson_v3
Event storming based msa training commerce example add_handson_v3
 
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
제4회 아키텍트대회 발표자료 유엔진솔루션즈 장진영 V1.2[1] 110624
 
Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?Github? linux? 이건 뭐지?
Github? linux? 이건 뭐지?
 

오픈소스 컨트리뷰톤 2020 backend.ai 발표자료

  • 2. 차례 프로젝트 소개 기여 요약 활동 요약 기여 경험 소개 앞으로의 계획 소감 / 후기
  • 3. Backend.AI Backend.AI 는 딥러닝 및 고성능 컴퓨팅에 특화된 오픈소스 클라우드 리소스 관리 플랫폼입니다. GPU 분할 가상화를 제공하여, 과학자, 데브옵스, 기업 및 AI 애호가들이 효율적으로 규모를 확장 할 수 있게 돕습니다. https://github.com/lablup/backend.ai (메타 저장소) 및 19개 저장소로 구성되어 있습니다. 프로젝트 분야: 머신 러닝, 딥러닝, 클라우드, Docker, 컨테이너 가상화, GPU
  • 4. Backend.AI + 컨트리뷰톤 다양한 분야에 기여할 수 있습니다. 소스코드 리뷰 및 피드백이 비교적 빠릅니다. 최신 기술 스택을 익히고 쓸 수 있습니다. 다양한 환경에서 머신러닝 모델을 쉽게 구축할 수 있습니다. 1. 2. 3. 4. “ Backend.AI라는 하나의 프로젝트 안에서 BackEnd, FrontEnd, Documentation, ML Model 구축과 같은 분야가 각각 어떻게 발전해 나가고, 문제가 발생했을 때 어떻게 해결하는지 파악할 수 있다.” - 강지현님 Python 비동기 라이브러리 asyncio, Docker container 개발 및 테스트 Web components, websocket proxy, nodejs 기반 개발 환경 TensorFlow, Tensorboard, PyTorch Backend Frontend ML model PR 이후 최소 0일 PR 이후 최대 7일 안에 답변 컨트리뷰톤기간동안 제공 리소스 CPU 4코어 RAM 32기가 4 GPUs 5 세션
  • 5. Backend.AI: 팀 멘토 3명 / 멘티 17명 → 15명 ● 2명 회사일개인 사정으로 (ㅠ_ㅠ) 시간과 공간의 벽을 넘어서 ● 중학교 2학년도 있고 ● 뉴요커도 있었습니다. (현지시간) 새벽 여섯시 반부터 온라인으로 참석 중인 멘티의 자기 소개를 경청하는 모습입니다.
  • 6. Backend.AI: 기여 요약 기여 분야 ● 백엔드 ● 프론트엔드 ● 문서화 및 예제 주요 기여 ● 개발자를 위한 개발 환경 설치 스크립트 업데이트 ● GUI 콘솔의 다양한 이슈 해결 ● 공식 문서의 한국어화 진행 15개의 이슈 생성 10개의 코드 PR 20개의 문서화 및 번역 PR 3000+ 이상의 코드 줄 수정
  • 7. Backend.AI: 기여 요약 기여 분야 ● 백엔드 ● 프론트엔드 ● 문서화 및 예제 주요 기여 ● 개발자를 위한 개발 환경 설치 스크립트 업데이트 ● GUI 콘솔의 다양한 이슈 해결 ● 공식 문서의 한국어화 진행
  • 8. Backend.AI: 활동 요약 3명의 멘토 175명의 멘티 2번의 오프라인 미팅 슬랙과 카카오톡 5번의 온라인 미팅 컨트리뷰톤 발대식 (7월 27일)
  • 9. Backend.AI: 활동 요약 3명의 멘토 175명의 멘티 2번의 오프라인 미팅 슬랙과 카카오톡 5번의 온라인 미팅 컨트리뷰톤 마무리 미팅 (9월 25일)
  • 10. Backend.AI: 활동 요약 3명의 멘토 175명의 멘티 2번의 오프라인 미팅 슬랙과 카카오톡 5번의 온라인 미팅
  • 11. Backend.AI: 활동 요약 3명의 멘토 175명의 멘티 2번의 오프라인 미팅 슬랙과 카카오톡 5번의 온라인 미팅 8월 7일 8월 14일 8월 20일 8월 28일 Office Hour
  • 12. 나의 기여 경험 소개 Backend.AI 의 GUI 개선에 기여 ● 공식 문서 일부 번역 ● 새로 세션을 만들 때 드롭다운 메뉴가 겹쳐 보이던 버그 수정 ○ 단순히 css에서 z-index 한 줄을 삭제하여 해결 ● 연구/개발환경 다운로드 항목에서 필터링 후 선택한 도커 환경 이미지와 다른 도커 이미지가 다운로드되는 버그 수정 ○ 필터링은 프론트에서 하는데, 다운로드의 파라미터로 인덱스를 쓰기 때문에 발생 ○ 해시로 사용할 수 있는 값을 찾아 파라미터로 수정하여 해결 ● 창의 가로크기가 700px 보다 작을 때 드롭다운 메뉴의 위치가 정상적이지 않은 경우를 발견하여 이슈 발행 ○ 해당 컴포넌트의 배치를 변경하여 문제를 해결하는 PR 작성
  • 13. 나의 기여 경험 고생담 당연히 순탄치 않았습니다! Backend.AI GUI를 보기위해 필요한 것: ● 웹서버 ● 자동으로 빌드해주는 watcher, ● 웹소켓 프록시 삽질 끝에 드디어 화면을 보는가 싶었지만 로그인이 안 되는 오류가 발생함 ● 저를 포함 다른 멘티분들도 동일한 증상이 있었고, 이후 issue가 올라옴 ● 멘토님께서 온라인 미팅을 통해 Backend.AI를 로컬에서 실행하는 법을 알려주셨고, ● endpoint를 로컬로 하여 IAM 방식으로 로그인하여 앞의 멘토: 사실 이건 버그가 아니라 Chrome 80 부터 로컬 쿠키 발행에 대한 동작이 바뀌어서 발생한 문제였습니다; https://www.chromium.org/administrators/policy-list-3/cookie-lega cy-samesite-policies
  • 14. 나의 기여 경험에서 배운 것들 새로운 기술 및 도구들 ● 알고만 있던 Docker를 손에 익힐 수 있었고 ● WebComponents 및 TypeScript를 새로 알게 되었으며 ● 환경설정하는 부분에서 pyenv를 필요한 만큼 자유롭게 사용할 수 있게 되었습니다. Backend.AI에서 배운 점들 ● 이렇게 크고 구조적인 프로젝트는 처음 ● 1~2주차까지는 거의 폴더 여기저기를 돌아다니며 구경하기 바빴음; ● 특히 모듈화가 잘 되어있어 오류가 난 부분의 코드를 빠르게 찾을 수 있었습니다.
  • 15. 앞으로의 계획 첫 PR -> Merge ● 한 줄의 수정에도 PR을 두 번이나 닫았다가 열었을 정도로 고민했다. ● Merge가 되었을 땐 만사 제쳐두고 다음 이슈 찾으러.. 좀 더 비중있는 기여를 위해 ● 새로운 feature 제안이나 추가 등 ● 코드에 대한 확신이 들 때까지 공부하자!
  • 16. 참가자들의 소감 커뮤니티에 도움을 요청하고 도움을 받으면서 문제를 해결하는 과정을 통해 오픈소스에 대한 막연한 두려움을 이겨낼 수 있었습니다. 앞으로도 다른 여러 오픈소스 프로젝트에 두려움 없이 참여할 수 있는 용기를 얻은 소중한 경험이었습니다. / 구근모 소스코드에 직접 기여하는 것과 함께 문제가 발생했을때 어떻게 공개적으로 설명해야 하고, 해결해 나가야 하는지를 배울 수 있어 매우 뜻깊은 경험이었습니다. / 강지현 오픈소스에 기여하는 방법을 알 수 있었고 오픈소스 환경을 이해할수있었습니다. 이후 기여활동에 큰 도움이 될것같습니다. / 박규리 이번 오픈소스 컨트리뷰톤을 통해서 제대로 된 오픈소스 기여를 처음 해봤습니다. 다른 사람들이 쉽게 접할 수 있는 코드 관리를 시작할 수 있는 좋은 기회였습니다. / 김성철