SlideShare a Scribd company logo
1 of 24
Download to read offline
우아한 오픈소스
우아한형제들
이준호
목차
• 오픈소스 개발자
• 스타트업 개발자
• 스타트업에서 오픈소스하는 개발자
오픈소스 개발자
오픈소스를 하면서 배우다
오픈소스를 하다
• ProjectBS
• BsSelector
• Beyond the Sizzle.js. Fastest pure-JavaScript CSS DOM Selector engine
• https://github.com/projectBS/bsSelector
• BsNet
• CORS기반의 Proxy 서버구축
• https://github.com/projectBS/bsNet
• MoGL
• lightweight & high performance MObile webGL library
• https://github.com/projectBS/MoGL
오픈소스를 하다
• bsSelector
• Beyond the Sizzle.js.
• Fastest pure-JavaScript
• CSS DOM Selector engine
오픈소스를 하다
• bsNet
• CORScross-origin resource sharing기반
• Proxy 서버구축
오픈소스를 하다
• MoGL
• lightweight
• high performance
• MObile webGL library
오픈소스를 하다
• 페이스북 커뮤니티
• 커미터: 21명
• 사무국: 13명
• NIA 오픈커뮤니티리더 및 프로젝트 선정
• 네이버 D2 지원커뮤니티 선정
• NIPA 글로벌 오픈프론티어 선정
• 전자전부 표준 프레임웍
오픈소스에서 배우다
• 코드
• 코드가 곧 오픈소스의 생명력
• 끊임없는 코드 리뷰
• 문서
• 대부분의 문서는 작성과 동시에 썩는다
• 사용자
• 오픈소스의 존재 의의
오픈소스에서 배우다
• 개발자가 빠지기 쉬운 함정
• 내 코드는 소중해
• 내 코드에 대한 지적을 나에 대한 지적으로 착각하는 경우가 많다
• 심지어 지적 당하기 싫어서 코드를 오픈하지 않는다
• 관점의 변화
• 코드를 더 적극적으로 오픈하면서 행복도가 더 높아진다
• 진짜 오픈소스의 열매는 바로 “관점의 변화"
• 개발자는 코드에 대해 이야기할 때 가장 즐겁다
스타트업 개발자
스타트업에서 일하며 배우다
스타트업에서 일하다
• 우아한형제들
• 대한민국 1등 배달 앱
• 서비스
• 배달의민족
• 배민라이더스
• 배민프레시
• 배민쿡
스타트업에서 배우다
• 역할 분담이 유연해서 여러가지 일을 해볼 기회가 있다
• 여러가지 일을 해야 한다
스타트업에서 배우다
• 성장하는 모습을 지켜볼 수 있다
• 성장해야 한다
스타트업에서 배우다
• 즐길 수 있다면 정말 즐거운 환경
• “배는 항구에 있을 때 가장 안전하지만 배의 목적이 항구에 있는 것은 아니다”
• 리소스를 집중할 곳에 집중해야 한다
스타트업에서 오픈소스하는
개발자
본격 생계형 오픈소스
스타트업에서 오픈소스를 하다
• 스타트업에서의 고민
• 프론트엔드 개발자
• 모든 프로젝트에 숙련된 프론트엔드 개발자를 투입할 수 있는가
• 퍼블리셔, 디자이너
• 퍼블리셔, 디자이너와 협업이 쉬운가
• 비 프론트엔드 개발자
• 사용중인 프레임웍의 코드 분석이 가능한 개발자가 있는가
스타트업에서 오픈소스를 하다
• WoowahanJS
• 큰 규모의 웹 어플리케이션 개발을 위한 프레임워크
• 협업, 생산성
• 실제 업무 환경 기준으로 격리
• https://www.npmjs.com/package/woowahan
스타트업에서 오픈소스를 하다
Action
var HELLO_ACTION = 'HELLO_ACTION';
Router
app.start({ url: '/', view: HelloView, container:'#app' });
Reducer
var HelloReducer = Woowahan.Reducer.create(HELLO_ACTION, function() {
this.finish({ name: 'shallaa', age: 19 });
});
스타트업에서 오픈소스를 하다
View
this.dispatch(Woowahan.Action.create(HELLO_ACTION), function(data) {
this.setModel(data);
});
Template
<div>
<p data-role="bind" data-name="name"></p>
<p data-role="bind" data-name="age"></p>
</div>
https://shallaa.github.io/hello-woowahan/
스타트업에서 오픈소스를 하다
• 프레임워크 통합
• 효율적으로 지원, 가이드
• 동시 개발이 가능
• View와 화면 구조 개발
• API와 대응하는 Reducer 개발
스타트업에서 오픈소스를 하다
• 사내 프레임워크
• 회사
• 개발한 인원이 회사를 떠나면 기술지원, 후속개발이 불가능하다
• 개발자
• 인기있는 프레임워크 사용자가 아니라서 불이익이 있을 수 있다
• 오픈소스 프레임워크
• 회사
• 기술지원, 후속개발이 가능한 생태계를 가지게 된다
• 개발자
• 오픈소스에 참여할 수 있는 진입 장벽이 낮아진다
스타트업에서 오픈소스를 하다
• 내부 개발자들의 오픈소스 참여 진입장벽을 낮추다
• 릴리즈 버전관리를 통해 최신 버전을 사용하기 편해지다
• 피드백과 의견제시가 활발해지다
• 외부 개발자들의 참여를 받다
끗
수고하셨습니다.

More Related Content

What's hot

Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for Success
Derek Collison
 
Best Practices NgRx for Scaling Your Angular Application
Best Practices NgRx  for Scaling Your Angular ApplicationBest Practices NgRx  for Scaling Your Angular Application
Best Practices NgRx for Scaling Your Angular Application
Vagner Oliveira
 

What's hot (20)

Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]
 
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
[Spring Camp 2018] 11번가 Spring Cloud 기반 MSA로의 전환 : 지난 1년간의 이야기
 
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
Confie no seu pipeline: Teste automaticamente um aplicativo Java de ponta a p...
 
Scalable and Available, Patterns for Success
Scalable and Available, Patterns for SuccessScalable and Available, Patterns for Success
Scalable and Available, Patterns for Success
 
Rest API Automation with REST Assured
Rest API Automation with REST AssuredRest API Automation with REST Assured
Rest API Automation with REST Assured
 
프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model프론트엔드 개발자를 위한 Layer Model
프론트엔드 개발자를 위한 Layer Model
 
Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기Node.js API 서버 성능 개선기
Node.js API 서버 성능 개선기
 
Design process powerpoint
Design process powerpointDesign process powerpoint
Design process powerpoint
 
Criando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssuredCriando uma arquitetura para seus testes de API com RestAssured
Criando uma arquitetura para seus testes de API com RestAssured
 
Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까? Facebook은 React를 왜 만들었을까?
Facebook은 React를 왜 만들었을까?
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계
 
Knative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVMKnative with .NET Core and Quarkus with GraalVM
Knative with .NET Core and Quarkus with GraalVM
 
샌드박스
샌드박스샌드박스
샌드박스
 
Unit tests in node.js
Unit tests in node.jsUnit tests in node.js
Unit tests in node.js
 
프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서
프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서
프로그래머스 프론트엔드 아키텍처 변천사: 좋은 개발 경험을 찾아서
 
Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介Klocwork カスタムチェッカー紹介
Klocwork カスタムチェッカー紹介
 
Automação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira ÁgilAutomação de Teste em Front End - Caipira Ágil
Automação de Teste em Front End - Caipira Ágil
 
[135] 우리 팀에서도 코드리뷰를 할 수 있을까 안오균
[135] 우리 팀에서도 코드리뷰를 할 수 있을까 안오균[135] 우리 팀에서도 코드리뷰를 할 수 있을까 안오균
[135] 우리 팀에서도 코드리뷰를 할 수 있을까 안오균
 
Best Practices NgRx for Scaling Your Angular Application
Best Practices NgRx  for Scaling Your Angular ApplicationBest Practices NgRx  for Scaling Your Angular Application
Best Practices NgRx for Scaling Your Angular Application
 
Scaling Your Microservices With LoopBack
Scaling Your Microservices With LoopBackScaling Your Microservices With LoopBack
Scaling Your Microservices With LoopBack
 

Similar to 우아한오픈소스

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
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
Sung-tae Ryu
 
오픈소스 그리고 기회
오픈소스 그리고 기회오픈소스 그리고 기회
오픈소스 그리고 기회
Sungju Jin
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님
NAVER D2
 

Similar to 우아한오픈소스 (20)

공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)공개SW와 개발방법론(오픈소스 성공요인 사례)
공개SW와 개발방법론(오픈소스 성공요인 사례)
 
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
200820 NAVER TECH CONCERT 13_네이버에서 오픈 소스 개발을 통해 성장하는 방법
 
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)
 
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
2014 공개소프트웨어 대회 소프트웨어 개발 트렌드의 변화
 
위클리 발표자료
위클리 발표자료위클리 발표자료
위클리 발표자료
 
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDYWHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
WHAT / WHY / HOW WE’RE ENGINEERING AT SMARTSTUDY
 
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
[스마트스터디]스마트스터디는 무엇을 / 왜 / 어떻게 만들어 왔는가
 
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
2013 공개SW데이 발표 - 구름IDE의 발자취와 미래
 
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
오픈소스 소프트웨어 개발, 어디서부터 시작하는게 좋을까요? @ CNU(충남대)
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
오픈소스 그리고 기회
오픈소스 그리고 기회오픈소스 그리고 기회
오픈소스 그리고 기회
 
오픈소스의 이해
오픈소스의 이해오픈소스의 이해
오픈소스의 이해
 
DevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle DeveloperDevOps 시대의 새로운 Role - Full Cycle Developer
DevOps 시대의 새로운 Role - Full Cycle Developer
 
Understanding of Open Source
Understanding of Open SourceUnderstanding of Open Source
Understanding of Open Source
 
about Programmer 2018
about Programmer 2018about Programmer 2018
about Programmer 2018
 
개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님개알못의 오픈소스이야기 - 이상준님
개알못의 오픈소스이야기 - 이상준님
 
The growth process of open source projects
The growth process of open source projectsThe growth process of open source projects
The growth process of open source projects
 
Open Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code reviewOpen Source 그리고 git과 github, code review
Open Source 그리고 git과 github, code review
 
NRISE 개발스택
NRISE 개발스택NRISE 개발스택
NRISE 개발스택
 
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님학교에선 알려주지 않는 오픈소스이야기 - 박치완님
학교에선 알려주지 않는 오픈소스이야기 - 박치완님
 

More from Jun Ho Lee

More from Jun Ho Lee (7)

ECMA2015 INSIDE
ECMA2015 INSIDEECMA2015 INSIDE
ECMA2015 INSIDE
 
HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트
HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트
HTML5 관점에서 본 2015년 웹개발 트렌드 및 인사이트
 
WebGL 20150428
WebGL 20150428WebGL 20150428
WebGL 20150428
 
WebGL 20150406
WebGL 20150406WebGL 20150406
WebGL 20150406
 
스타일 객체 활용
스타일 객체 활용스타일 객체 활용
스타일 객체 활용
 
지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL지금까지 상상한 Web 표현의한계를넘자 WebGL
지금까지 상상한 Web 표현의한계를넘자 WebGL
 
WebGL의 무궁무진한 가능성
WebGL의 무궁무진한 가능성 WebGL의 무궁무진한 가능성
WebGL의 무궁무진한 가능성
 

우아한오픈소스