xecon + phpfest 2014 xe 프로젝트 이야기
DESCRIPTION
XECon + PHPFest 2014 - XE 프로젝트 이야기 http://xecon.xpressengine.comTRANSCRIPT
XE 프로젝트 이야기
김예솔
NAVER LABS, XE Project Manager
2014.11.08 Session 4-3 XECon + PHPFest 2014
“스타트업에서는 어떤 기술을 이용해야 할까? ”
www.venturesquare.net/550216
PHP
- 일단 만든 결과를 빨리 보여주자고 할 때 높은 효율을 발휘한다.– 어떤 것이든 할 수 있는 길이 있는 만큼 한계는 없다.– 깊은 학문적인 이해가 없이도 충분히 접근가능하고 누구든지 쉽게 개발할 수 있다.– 객체지향은 나중에 고려해 볼 대상이다.
PHP는 전세계를 거쳐 꽤 많은 업적을 쌓아 왔다. 무엇보다도 PHP를 이용하면 쉽게 웹을 개발할 수 있었다. 하지만 아마도 굉장히 많은 PHP개발자 인력풀과 커뮤니티를 가지고 있지만 소수의 좋은 개발자만이 좋은 PHP코드를 작성할 수 있다. 그래서 그만큼 많은 예제코드들이 존재하지만 좋은 코드 예제들을 찾기 어렵다. 이런 이유들 때문에 굉장히 안 좋은 예제들과 코드들이 커뮤니티에 돌아다니고 있는데 주로 잘 테스트가 안되었고 보안에 큰 문제가 있는 코드들이 많이 있다. 더불어 가끔 PHP 자체가 자연스러운 문법을 가지고 있는지 의문이 들 때가 있다.
PHP에 경험이 많은 팀들은 물론 좋은 코드 표준과 프로세스들을 가지고 있을 것이고 수준 높은 웹 페이지를 빠른 시간 내에 만들어 낼 수 있지만 역시나 개발 수준이 어느 정도 되는 소수의 팀만 그렇게 할 수 있다는 부분이 있다.
www.venturesquare.net/550216
김예솔NAVER LABSXE Project Manager
제로보드XE
Xpress Engine
오픈소스
naver.github.io/arcus
d2.naver.com
그들만의 문화
덕후
XE Commitor
at XEHub
xpressengine.com/xehub
Full-Time 개발
xpressengine.com/community_developers
XE 커뮤니티 개발 그룹
XE 커뮤니티 개발 그룹
각자가 팀이자 팀장
XE 1.x 개발
XE 3 개발
XE 1.x 개발
XE 3 개발
공식사이트 , 서비스 운영개발
XE 1.x 개발
XE 3 개발
공식사이트 , 서비스 운영개발
오픈 세미나, 오픈 오피스 데이, XECon
XE 1.x 개발
XE 3 개발
공식사이트 , 서비스 운영개발
오픈 세미나, 오픈 오피스 데이, XECon
그리고 끝없는 잡일과 삽질
yobi.io
Yobi는 소프트웨어 개발에 필요한 기능들을 사용하기 편리하게 웹으로 묶은 협업 개발 플랫폼입니다.
버그나 이슈을 관리할 수 있는 이슈 트래커, 각종문서와 정보를 간편하게 공유할 수 있는 게시판,소스코드의 변경내역을 편리하게 관리할 수 있는 형상관리 툴을 비롯하여 팀 개발을 위한 다양한기능을 포함하고 있습니다.
생각나는데로 아무나 이슈 등록
생각나는데로 아무나 이슈 등록
tag ,milestone 지정
생각나는데로 아무나 이슈 등록
tag ,milestone 지정
담당자 지정
생각나는데로 아무나 이슈 등록
tag ,milestone 지정
담당자 지정
업무 흔적 로깅
생각나는데로 아무나 이슈 등록
tag ,milestone 지정
담당자 지정
업무 흔적 로깅
도움/의견이 필요한 경우 @호출
생각나는데로 아무나 이슈 등록
tag ,milestone 지정
담당자 지정
업무 흔적 로깅
도움/의견이 필요한 경우 @호출
처리 및 이슈 닫음
개발 포함 모든 업무
이 모든 과정이 공유
누구나 이슈 참여 가능
XE 공식 사이트/서비스
쉬운설치 서버
우편번호 서버
XE 체험하기
링크 미리보기
메일링, SMS, 모니터링 …
NGINX
PHP-FPMWorker
NFS MariaDB(PM)
되도록 최신 안정된 버전 유지
Dockerdocker.com
Virtual Machines
Docker
NGINX
PHP-FPMMariaDB
memcached
Haproxy
Dev Laptop
Dev Laptop
NGINX PHP-FPM MariaDBmemcachedHaproxy
Stage Real-Stage
모니터링
CPU, RAM,
DISK, Network
Nginx, PHP-FPM, MariaDB
collectd + rabbitmq + graphite
collectd.org rabbitmq.com
graphite.wikidot.com
collectd
collectd
collectd
rabbimq graphite
collectdplugins
다운로드 수
자료 수
회원 / 글 / 댓글 수
Github 지표
XE 1.x
617 개의 PHP 파일 14만 라인
617 개의 PHP 파일 14만 라인
Test 부재
617 개의 PHP 파일 14만 라인
Test 부재
다양한 동작 환경 존제
https://www.flickr.com/photos/ftzdomino/5290609403/
Selenium
seleniumhq.com
XE 1.x 월 단위 배포
이슈등록
이슈등록
마일스톤 지정
이슈등록
마일스톤 지정
담당자 할당 / Pull Request 대기
이슈등록
마일스톤 지정
담당자 할당 / Pull Request 대기
개발 / 처리
이슈등록
마일스톤 지정
담당자 할당 / Pull Request 대기
개발 / 처리
코드 리뷰
이슈등록
마일스톤 지정
담당자 할당 / Pull Request 대기
개발 / 처리
코드 리뷰
코드 프리징
이슈등록
마일스톤 지정
담당자 할당 / Pull Request 대기
개발 / 처리
코드 리뷰
코드 프리징
QA테스트
이슈등록
마일스톤 지정
담당자 할당 / Pull Request 대기
개발 / 처리
코드 리뷰
코드 프리징
QA테스트
패키징
이슈등록
마일스톤 지정
담당자 할당 / Pull Request 대기
개발 / 처리
코드 리뷰
코드 프리징
QA테스트
패키징
배포
Git !== Package
여러 프로젝트
css, javascript minify
zip, tar, diff
github.com/xpressengine/xe-core github.com/xpressengine/xe-core/tree/master/tools
감사합니다.