92
XE 프로젝트 이야기 김예솔 NAVER LABS, XE Project Manager 2014.11.08 Session 4-3 XECon + PHPFest 2014

XECon + PHPFest 2014 XE 프로젝트 이야기

  • Upload
    sol-kim

  • View
    1.085

  • Download
    1

Embed Size (px)

DESCRIPTION

XECon + PHPFest 2014 - XE 프로젝트 이야기 http://xecon.xpressengine.com

Citation preview

Page 1: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 프로젝트 이야기

김예솔

NAVER LABS, XE Project Manager

2014.11.08 Session 4-3 XECon + PHPFest 2014

Page 2: XECon + PHPFest 2014 XE 프로젝트 이야기

“스타트업에서는 어떤 기술을 이용해야 할까? ”

www.venturesquare.net/550216

Page 3: XECon + PHPFest 2014 XE 프로젝트 이야기

PHP

- 일단 만든 결과를 빨리 보여주자고 할 때 높은 효율을 발휘한다.– 어떤 것이든 할 수 있는 길이 있는 만큼 한계는 없다.– 깊은 학문적인 이해가 없이도 충분히 접근가능하고 누구든지 쉽게 개발할 수 있다.– 객체지향은 나중에 고려해 볼 대상이다.

PHP는 전세계를 거쳐 꽤 많은 업적을 쌓아 왔다. 무엇보다도 PHP를 이용하면 쉽게 웹을 개발할 수 있었다. 하지만 아마도 굉장히 많은 PHP개발자 인력풀과 커뮤니티를 가지고 있지만 소수의 좋은 개발자만이 좋은 PHP코드를 작성할 수 있다. 그래서 그만큼 많은 예제코드들이 존재하지만 좋은 코드 예제들을 찾기 어렵다. 이런 이유들 때문에 굉장히 안 좋은 예제들과 코드들이 커뮤니티에 돌아다니고 있는데 주로 잘 테스트가 안되었고 보안에 큰 문제가 있는 코드들이 많이 있다. 더불어 가끔 PHP 자체가 자연스러운 문법을 가지고 있는지 의문이 들 때가 있다.

PHP에 경험이 많은 팀들은 물론 좋은 코드 표준과 프로세스들을 가지고 있을 것이고 수준 높은 웹 페이지를 빠른 시간 내에 만들어 낼 수 있지만 역시나 개발 수준이 어느 정도 되는 소수의 팀만 그렇게 할 수 있다는 부분이 있다.

www.venturesquare.net/550216

Page 4: XECon + PHPFest 2014 XE 프로젝트 이야기

김예솔NAVER LABSXE Project Manager

Page 5: XECon + PHPFest 2014 XE 프로젝트 이야기

제로보드XE

Page 6: XECon + PHPFest 2014 XE 프로젝트 이야기

Xpress Engine

Page 7: XECon + PHPFest 2014 XE 프로젝트 이야기

오픈소스

Page 8: XECon + PHPFest 2014 XE 프로젝트 이야기

naver.github.io/arcus

Page 9: XECon + PHPFest 2014 XE 프로젝트 이야기

d2.naver.com

Page 10: XECon + PHPFest 2014 XE 프로젝트 이야기

그들만의 문화

Page 11: XECon + PHPFest 2014 XE 프로젝트 이야기

덕후

Page 12: XECon + PHPFest 2014 XE 프로젝트 이야기

XE Commitor

Page 13: XECon + PHPFest 2014 XE 프로젝트 이야기

at XEHub

xpressengine.com/xehub

Page 14: XECon + PHPFest 2014 XE 프로젝트 이야기

Full-Time 개발

Page 15: XECon + PHPFest 2014 XE 프로젝트 이야기

xpressengine.com/community_developers

Page 16: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 커뮤니티 개발 그룹

Page 17: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 커뮤니티 개발 그룹

Page 18: XECon + PHPFest 2014 XE 프로젝트 이야기

각자가 팀이자 팀장

Page 19: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 1.x 개발

XE 3 개발

Page 20: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 1.x 개발

XE 3 개발

공식사이트 , 서비스 운영개발

Page 21: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 1.x 개발

XE 3 개발

공식사이트 , 서비스 운영개발

오픈 세미나, 오픈 오피스 데이, XECon

Page 22: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 1.x 개발

XE 3 개발

공식사이트 , 서비스 운영개발

오픈 세미나, 오픈 오피스 데이, XECon

그리고 끝없는 잡일과 삽질

Page 23: XECon + PHPFest 2014 XE 프로젝트 이야기

yobi.io

Page 24: XECon + PHPFest 2014 XE 프로젝트 이야기

Yobi는 소프트웨어 개발에 필요한 기능들을 사용하기 편리하게 웹으로 묶은 협업 개발 플랫폼입니다.

버그나 이슈을 관리할 수 있는 이슈 트래커, 각종문서와 정보를 간편하게 공유할 수 있는 게시판,소스코드의 변경내역을 편리하게 관리할 수 있는 형상관리 툴을 비롯하여 팀 개발을 위한 다양한기능을 포함하고 있습니다.

Page 25: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 26: XECon + PHPFest 2014 XE 프로젝트 이야기

생각나는데로 아무나 이슈 등록

Page 27: XECon + PHPFest 2014 XE 프로젝트 이야기

생각나는데로 아무나 이슈 등록

tag ,milestone 지정

Page 28: XECon + PHPFest 2014 XE 프로젝트 이야기

생각나는데로 아무나 이슈 등록

tag ,milestone 지정

담당자 지정

Page 29: XECon + PHPFest 2014 XE 프로젝트 이야기

생각나는데로 아무나 이슈 등록

tag ,milestone 지정

담당자 지정

업무 흔적 로깅

Page 30: XECon + PHPFest 2014 XE 프로젝트 이야기

생각나는데로 아무나 이슈 등록

tag ,milestone 지정

담당자 지정

업무 흔적 로깅

도움/의견이 필요한 경우 @호출

Page 31: XECon + PHPFest 2014 XE 프로젝트 이야기

생각나는데로 아무나 이슈 등록

tag ,milestone 지정

담당자 지정

업무 흔적 로깅

도움/의견이 필요한 경우 @호출

처리 및 이슈 닫음

Page 32: XECon + PHPFest 2014 XE 프로젝트 이야기

개발 포함 모든 업무

Page 33: XECon + PHPFest 2014 XE 프로젝트 이야기

이 모든 과정이 공유

Page 34: XECon + PHPFest 2014 XE 프로젝트 이야기

누구나 이슈 참여 가능

Page 35: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 36: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 37: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 38: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 39: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 공식 사이트/서비스

Page 40: XECon + PHPFest 2014 XE 프로젝트 이야기

쉬운설치 서버

우편번호 서버

XE 체험하기

링크 미리보기

메일링, SMS, 모니터링 …

Page 41: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 42: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 43: XECon + PHPFest 2014 XE 프로젝트 이야기

NGINX

PHP-FPMWorker

NFS MariaDB(PM)

Page 44: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 45: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 46: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 47: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 48: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 49: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 50: XECon + PHPFest 2014 XE 프로젝트 이야기

되도록 최신 안정된 버전 유지

Page 51: XECon + PHPFest 2014 XE 프로젝트 이야기

Dockerdocker.com

Page 52: XECon + PHPFest 2014 XE 프로젝트 이야기

Virtual Machines

Page 53: XECon + PHPFest 2014 XE 프로젝트 이야기

Docker

Page 54: XECon + PHPFest 2014 XE 프로젝트 이야기

NGINX

PHP-FPMMariaDB

memcached

Haproxy

Page 55: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 56: XECon + PHPFest 2014 XE 프로젝트 이야기

Dev Laptop

Page 57: XECon + PHPFest 2014 XE 프로젝트 이야기

Dev Laptop

NGINX PHP-FPM MariaDBmemcachedHaproxy

Page 58: XECon + PHPFest 2014 XE 프로젝트 이야기

Stage Real-Stage

Page 59: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 60: XECon + PHPFest 2014 XE 프로젝트 이야기

모니터링

Page 61: XECon + PHPFest 2014 XE 프로젝트 이야기

CPU, RAM,

DISK, Network

Nginx, PHP-FPM, MariaDB

Page 62: XECon + PHPFest 2014 XE 프로젝트 이야기

collectd + rabbitmq + graphite

collectd.org rabbitmq.com

graphite.wikidot.com

Page 63: XECon + PHPFest 2014 XE 프로젝트 이야기

collectd

collectd

collectd

rabbimq graphite

Page 64: XECon + PHPFest 2014 XE 프로젝트 이야기

collectdplugins

Page 65: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 66: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 67: XECon + PHPFest 2014 XE 프로젝트 이야기

다운로드 수

자료 수

회원 / 글 / 댓글 수

Github 지표

Page 68: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 69: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 70: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 71: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 1.x

Page 72: XECon + PHPFest 2014 XE 프로젝트 이야기

617 개의 PHP 파일 14만 라인

Page 73: XECon + PHPFest 2014 XE 프로젝트 이야기

617 개의 PHP 파일 14만 라인

Test 부재

Page 74: XECon + PHPFest 2014 XE 프로젝트 이야기

617 개의 PHP 파일 14만 라인

Test 부재

다양한 동작 환경 존제

Page 75: XECon + PHPFest 2014 XE 프로젝트 이야기

https://www.flickr.com/photos/ftzdomino/5290609403/

Page 76: XECon + PHPFest 2014 XE 프로젝트 이야기

Selenium

seleniumhq.com

Page 77: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 78: XECon + PHPFest 2014 XE 프로젝트 이야기

XE 1.x 월 단위 배포

Page 79: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

Page 80: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

Page 81: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

담당자 할당 / Pull Request 대기

Page 82: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

담당자 할당 / Pull Request 대기

개발 / 처리

Page 83: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

담당자 할당 / Pull Request 대기

개발 / 처리

코드 리뷰

Page 84: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

담당자 할당 / Pull Request 대기

개발 / 처리

코드 리뷰

코드 프리징

Page 85: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

담당자 할당 / Pull Request 대기

개발 / 처리

코드 리뷰

코드 프리징

QA테스트

Page 86: XECon + PHPFest 2014 XE 프로젝트 이야기
Page 87: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

담당자 할당 / Pull Request 대기

개발 / 처리

코드 리뷰

코드 프리징

QA테스트

패키징

Page 88: XECon + PHPFest 2014 XE 프로젝트 이야기

이슈등록

마일스톤 지정

담당자 할당 / Pull Request 대기

개발 / 처리

코드 리뷰

코드 프리징

QA테스트

패키징

배포

Page 89: XECon + PHPFest 2014 XE 프로젝트 이야기

Git !== Package

Page 90: XECon + PHPFest 2014 XE 프로젝트 이야기

여러 프로젝트

css, javascript minify

zip, tar, diff

Page 91: XECon + PHPFest 2014 XE 프로젝트 이야기

github.com/xpressengine/xe-core github.com/xpressengine/xe-core/tree/master/tools

Page 92: XECon + PHPFest 2014 XE 프로젝트 이야기

감사합니다.