SlideShare a Scribd company logo
제14회 공개 SW 개발자대회 출품작
팀장 이정민 팀원 박예주팀명 골드팀
Project Overview
당신의 데이터에 대한 스토리텔링
데이터 분석 초보자도 쉽게 데이터 분석을
접근할 수 있도록 가이드
브라우져 내에서 Serverless 아키텍쳐로
파이썬 코드를 실행하는 패턴 구현
머신 러닝을 모델링 이전 가능한 전처리 제안
Container
Pod
Container
Pod
Container
Pod
Node
Python-in-Browser Architecture
WebAssembly로 컴파일된 Python 을 브라우져 내에서 실행
Multi-user Python 코드 실행을 위한 기존 아키텍쳐 Gold.is가 Pyodide를 이용해 구현한 아키텍쳐
Pyodide.js
WebAssembly로 Compile된 Python Runtime
Python을 서버 없이 클라이언트에서 바로 실행
Python과 Javascript Thread가 메모리 주소 공유
Pyodide.js Pyodide.js Pyodide.js
Python Code Result
Kubernetes 클러스터 내의 Node
Near-infinite Scalability
Serverless로 구현된 정적 사이트, Vercel은 Lambda 함수가 없을 경우 무료
기존 아키텍쳐 (Kubernetes) Pyodide를 이용한 아키텍쳐
운영비가 동시 접속자 수에
비례하여 Linear하게 증가
운영비 0
(도메인 등록비 제외)
See Gold in Action
AirBnB 뉴욕 Listings 데이터셋을 사용한 시연
2019년 AirBnB 뉴욕 매물 18,737개
Git Workflow
모든 Commit에 코드 리뷰, 빌드, 배포 자동화
Commit
Next.js에 특화된 Serverless
사이트 Cloud Provider
Push
Build Trigger
Deploy
Javascript, Typescript,
React에 특화된 정적 분석 도구
코드 스타일, 보안, 성능, 복잡도
자동 코드 리뷰 도구
Webhook
Webhook
icn1
sfo1
cdg1
gru1
syd1
CDN (15 AWS Regions)
한국에서 접속
sin1
프랑스에서 접속
공개 SW 적절성
다수의 오픈소스 라이러리를 비교/분석하여 성능이 좋은 프로젝트들만 엄선
TypeScript
Next.js
SASS
Pyodide.jsBootstrap
Framer Motion Pandas NumPy
Victory Ace Editor
코드 품질 및 코드 리뷰
코드 스타일, 보안, 성능, 복잡도 모두 A등급 유지
DeepScan, Codacy 모두 최상위 등급 아닐 경우 바로 수정
Vercel Build Log 확인
DevOps - Continuous Deployment
모든 Commit에 대해 자동으로 Build and Deploy
빌드 에러시 GitHub 및 이메일 알림으로 확인 가능
프로젝트 관리
미팅은 주 1회, 작은 단위의 Task 칸반보드로 공유
커뮤니티 활동
Bug Report, Pull Request, Gitter 기술토론
8월 26일 GitHub Issues 버그 리포트
10월 29일 GitHub 기술 토론9월 26일 GitHub Pull Request
상시 참여 Gitter Pyodide Community
활용성
Pyodide를 활용한 방향 제시
기존 에뮬레이터로 불가능했던 파이썬 웹앱 구현기존 Python 서버 운영 비용 감소
NumPy를 이용한 브라우져 내에서의 병렬 연산브라우져 내에서의 Python 스택을 활용한 데이터 분석
Pyodide의 가능성 제시
Project Roadmap
오픈소스개발자대회를 넘어…
Thread (Web Worker)를 사용하여 파이썬 코드 실행
Scikit-Learn을 활용한 여러 전처리 추가
(StandardScalar, MinMaxScalar, …)
코드 에디터 기능 확장
State Management 최적화
질의 응답
감사합니다.

More Related Content

What's hot

좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
Sunghyouk Bae
 
스프링 프로젝트 시작하기
스프링 프로젝트 시작하기스프링 프로젝트 시작하기
스프링 프로젝트 시작하기
Ashal aka JOKER
 
Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"
Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"
Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"
Lablup Inc.
 
오픈소스 SW 라이선스 - 박은정님
오픈소스 SW 라이선스 - 박은정님오픈소스 SW 라이선스 - 박은정님
오픈소스 SW 라이선스 - 박은정님
NAVER D2
 
swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑
NAVER D2
 
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
Byungjin Park
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Jeongkyu Shin
 

What's hot (7)

좋은 개발자 되기
좋은 개발자 되기좋은 개발자 되기
좋은 개발자 되기
 
스프링 프로젝트 시작하기
스프링 프로젝트 시작하기스프링 프로젝트 시작하기
스프링 프로젝트 시작하기
 
Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"
Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"
Lablupconf session6 "IoT에서 BI까지, 조선소 ML 파이프라인 만들기"
 
오픈소스 SW 라이선스 - 박은정님
오픈소스 SW 라이선스 - 박은정님오픈소스 SW 라이선스 - 박은정님
오픈소스 SW 라이선스 - 박은정님
 
swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑
 
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
[GDG DevFest Seoul 2017] JAMstack이 GitHub와 CloudFlare를 만날 때 고성능 웹 어플리케이션 호스팅은...
 
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
Backend.AI: 오픈소스 머신러닝 인프라 프레임워크
 

Similar to Gold.is 2차 심사 발표자료

[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
NAVER D2
 
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
Amazon Web Services Korea
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
Amazon Web Services Korea
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process uEngine Solutions
 
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
NAVER Engineering
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
Amazon Web Services Korea
 
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
Devgear
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기
Junyoung Sung
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견
Devgear
 
137 deview
137 deview137 deview
137 deviewNAVER D2
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
JeongHun Byeon
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oceuEngine Solutions
 
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기 RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
Devgear
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
Amazon Web Services Korea
 
RAD Studio 10.2 도쿄
RAD Studio 10.2 도쿄RAD Studio 10.2 도쿄
RAD Studio 10.2 도쿄
Devgear
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
JinKwon Lee
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
민태 김
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
Amazon Web Services Korea
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
Sangmin Yoon
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
minseok kim
 

Similar to Gold.is 2차 심사 발표자료 (20)

[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes[D2 COMMUNITY] Open Container Seoul Meetup -  마이크로 서비스 아키텍쳐와 Docker kubernetes
[D2 COMMUNITY] Open Container Seoul Meetup - 마이크로 서비스 아키텍쳐와 Docker kubernetes
 
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나 DevOps를 위한 AWS 서비스 및 개발도구  -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
DevOps를 위한 AWS 서비스 및 개발도구 -김상필 솔루션아키텍트 :: AWS 파트너 테크시프트 세미나
 
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
효과적인 데브옵스를 위한 AWS 개발 도구 활용하기 - AWS Summit Seoul 2017
 
Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process Open standard open cloud engine for digital business process
Open standard open cloud engine for digital business process
 
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
네이버 오픈소스 세미나 - 나의코드에서 모두의 코드로 UNIST 이한
 
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
AWS와 함께하는 DevOps이야기 :: 박선용 :: AWS Summit Seoul 2016
 
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
RAD스튜디오 100% 활용하기 - 최신 기술 적용과 확장
 
Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기Aws lambda 와 함께 서버리스 서비스 만들기
Aws lambda 와 함께 서버리스 서비스 만들기
 
델파이 소스코드의재발견
델파이 소스코드의재발견델파이 소스코드의재발견
델파이 소스코드의재발견
 
137 deview
137 deview137 deview
137 deview
 
Popular Convention 개발기
Popular Convention 개발기Popular Convention 개발기
Popular Convention 개발기
 
OCE - Cno 2014 private sector oriented open paas oce
OCE - Cno 2014 private sector oriented open paas   oceOCE - Cno 2014 private sector oriented open paas   oce
OCE - Cno 2014 private sector oriented open paas oce
 
RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기 RAD스튜디오 100% 활용하기
RAD스튜디오 100% 활용하기
 
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
AWS X-Ray를 통한 서버리스 분산 애플리케이션 추적하기 - 윤석찬 (AWS 테크에반젤리스트)
 
RAD Studio 10.2 도쿄
RAD Studio 10.2 도쿄RAD Studio 10.2 도쿄
RAD Studio 10.2 도쿄
 
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
[Korea Linux Forum] Implementing web based online multiplayer tetris with Ope...
 
MEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overviewMEAN Stack 기반 모바일 서비스 개발 overview
MEAN Stack 기반 모바일 서비스 개발 overview
 
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
[2017 AWS Startup Day] 서버리스 마이크로서비스로 일당백 개발조직 만들기
 
Single-page Application
Single-page ApplicationSingle-page Application
Single-page Application
 
Meetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vsMeetup tools for-cloud_native_apps_meetup20180510-vs
Meetup tools for-cloud_native_apps_meetup20180510-vs
 

Gold.is 2차 심사 발표자료

  • 1. 제14회 공개 SW 개발자대회 출품작 팀장 이정민 팀원 박예주팀명 골드팀
  • 2. Project Overview 당신의 데이터에 대한 스토리텔링 데이터 분석 초보자도 쉽게 데이터 분석을 접근할 수 있도록 가이드 브라우져 내에서 Serverless 아키텍쳐로 파이썬 코드를 실행하는 패턴 구현 머신 러닝을 모델링 이전 가능한 전처리 제안
  • 3. Container Pod Container Pod Container Pod Node Python-in-Browser Architecture WebAssembly로 컴파일된 Python 을 브라우져 내에서 실행 Multi-user Python 코드 실행을 위한 기존 아키텍쳐 Gold.is가 Pyodide를 이용해 구현한 아키텍쳐 Pyodide.js WebAssembly로 Compile된 Python Runtime Python을 서버 없이 클라이언트에서 바로 실행 Python과 Javascript Thread가 메모리 주소 공유 Pyodide.js Pyodide.js Pyodide.js Python Code Result Kubernetes 클러스터 내의 Node
  • 4. Near-infinite Scalability Serverless로 구현된 정적 사이트, Vercel은 Lambda 함수가 없을 경우 무료 기존 아키텍쳐 (Kubernetes) Pyodide를 이용한 아키텍쳐 운영비가 동시 접속자 수에 비례하여 Linear하게 증가 운영비 0 (도메인 등록비 제외)
  • 5. See Gold in Action AirBnB 뉴욕 Listings 데이터셋을 사용한 시연 2019년 AirBnB 뉴욕 매물 18,737개
  • 6. Git Workflow 모든 Commit에 코드 리뷰, 빌드, 배포 자동화 Commit Next.js에 특화된 Serverless 사이트 Cloud Provider Push Build Trigger Deploy Javascript, Typescript, React에 특화된 정적 분석 도구 코드 스타일, 보안, 성능, 복잡도 자동 코드 리뷰 도구 Webhook Webhook icn1 sfo1 cdg1 gru1 syd1 CDN (15 AWS Regions) 한국에서 접속 sin1 프랑스에서 접속
  • 7. 공개 SW 적절성 다수의 오픈소스 라이러리를 비교/분석하여 성능이 좋은 프로젝트들만 엄선 TypeScript Next.js SASS Pyodide.jsBootstrap Framer Motion Pandas NumPy Victory Ace Editor
  • 8. 코드 품질 및 코드 리뷰 코드 스타일, 보안, 성능, 복잡도 모두 A등급 유지 DeepScan, Codacy 모두 최상위 등급 아닐 경우 바로 수정
  • 9. Vercel Build Log 확인 DevOps - Continuous Deployment 모든 Commit에 대해 자동으로 Build and Deploy 빌드 에러시 GitHub 및 이메일 알림으로 확인 가능
  • 10. 프로젝트 관리 미팅은 주 1회, 작은 단위의 Task 칸반보드로 공유
  • 11. 커뮤니티 활동 Bug Report, Pull Request, Gitter 기술토론 8월 26일 GitHub Issues 버그 리포트 10월 29일 GitHub 기술 토론9월 26일 GitHub Pull Request 상시 참여 Gitter Pyodide Community
  • 12. 활용성 Pyodide를 활용한 방향 제시 기존 에뮬레이터로 불가능했던 파이썬 웹앱 구현기존 Python 서버 운영 비용 감소 NumPy를 이용한 브라우져 내에서의 병렬 연산브라우져 내에서의 Python 스택을 활용한 데이터 분석 Pyodide의 가능성 제시
  • 13. Project Roadmap 오픈소스개발자대회를 넘어… Thread (Web Worker)를 사용하여 파이썬 코드 실행 Scikit-Learn을 활용한 여러 전처리 추가 (StandardScalar, MinMaxScalar, …) 코드 에디터 기능 확장 State Management 최적화