SlideShare a Scribd company logo
XECon + PHPFest 2014 
김예솔 
NAVER Labs, XE Project Manager
600+
PHPKorea + Xpress Engine
2008, 오픈소스 프로젝트 모임
XE Camp 2009
XE Camp 2011
3개 트랙, 15개 세션
+ BOF
d2.naver.com
DEVIEW XE 협업 개발 플랫폼 Yobi 
개발자 커뮤니티 지원 오픈 세미나 hello world 블로그
PHP
PHP Sucks !
Not-Enterprise
Not-Enterprise 
Unicode 미지원
Not-Enterprise 
Unicode 미지원 
Functions 문제 2000+개 이상의 predefined
Not-Enterprise 
Unicode 미지원 
Functions 문제 str_replace(), substr()
Not-Enterprise 
Unicode 미지원 
Functions 문제 
sizeof(), count() 
is_int(), is_integer() 
implode(), join() 
die(), exit()
Not-Enterprise 
Unicode 미지원 
Functions 문제 
language design 문제 dynamically-typed
Not-Enterprise 
Unicode 미지원 
Functions 문제 
language design 문제 "false" == 0 // true
82% 
w3tech.com, 2014.11.05
HHVM 
hhvm.com
PHPNG
PHP-FIG 
php-fig.org
PSR
Autoloading 
Structure 
Code Style 
Logging Interface
Composer 
getcomposer.org
phptherightway.com
바꿀 것인가 
바뀔 것인가
Xpress Engine
8살된 프로젝트 
legacy codes 
UnitTest 부재 
하위 버전의 플렛폼 지원
13만+ 다운로드 
36만+ 설치 
1,200+ 3rd Party 
30+ Contributors 
2014.11.5
XE 3
Code Quality 향상 
Testable 
PHP language에 대한 이해 
Nginx, MariaDB, ElasticSearch, 
Varnish, Memcached, Docker …
PHP Internal
array()
List 
Queue 
Stack 
HashMap
14,649,040 bytes
13.97 MB !
1 2 3 … 99998 99999 100000
1 2 3 … 99998 99999 100000 
100,000 x 8 bytes = 0.76 MB
13.97 MB vs 0.76 MB
ZVAL 
Type : array Value
ZVAL 
Type : array Value 
HashTable 
Head Tail count BucketArray
ZVAL 
Type : array Value 
HashTable 
Head Tail count BucketArray 
BucketArray 
- 0 
- 1 
- 2 
- 3 
- 4 
- 5 
- 6 
- 7
ZVAL 
Type : array Value 
HashTable 
Head Tail count BucketArray 
BucketArray 
- 0 
- 1 
- 2 
- 3 
- 4 
- 5 
- 6 
- 7 
Bucket01 
Hash: 6381476838 Key : 1 Last Next Value
ZVAL 
Type : array Value 
HashTable 
Head Tail count BucketArray 
BucketArray 
- 0 
- 1 
- 2 
- 3 
- 4 
- 5 
- 6 
- 7 
Bucket01 
Hash: 6381476838 Key : 1 Last Next Value 
ZVAL 
Type : String Value
ZVAL 
Type : array Value 
HashTable 
Head Tail # of Elements BucketArray 
BucketArray 
- 0 
- 1 
- 2 
- 3 
- 4 
- 5 
- 6 
- 7 
Bucket01 
Hash: 6381476838 Key : 1 Last Next Value 
ZVAL 
Type : String Value
ZVAL 
Type : array Value 
HashTable 
Head Tail count BucketArray 
Bucket01 
Hash: 6381476838 Key : 1 Last Next Value 
HASH( 1 ) & 7 
= 6381476838 & 7 
= 6 
ZVAL 
Type : String Value 
BucketArray 
- 0 
- 1 
- 2 
- 3 
- 4 
- 5 
- 6 
- 7
ZVAL 
Type : array Value 
HashTable 
Head Tail count BucketArray 
BucketArray 
- 0 
- 1 
- 2 
- 3 
- 4 
- 5 
Bucket01 6 
- 7 
Bucket01 
Hash: 6381476838 Key : 1 Last Next Value 
HASH( 1 ) & 7 
= 6381476838 & 7 
= 6 
ZVAL 
Type : String Value
ZVAL 
Type : array Value 
HashTable 
Head Tail count BucketArray 
BucketArray 
- 0 
- 1 
- 2 
- 3 
- 4 
- 5 
Bucket01 6 
Bucket02 7 
Bucket01 
Hash: 6381476838 Key : 1 Last Next Value 
Bucket02 
Hash : 6381512775 Key : 2 Last Next Value 
Bucket03 
Hash: 5863446 Key:‘hi’ Last Next Value
Spl Extension
5.34 MB
Generator, Iterator
XE 공모전
제4회 
5개 부문 
web template 제공
15-inch
contest.xpressengine.com
XE 오픈 오피스 데이
XE 오픈 오피스 데이
XE 오픈 오피스 데이
감사합니다.

More Related Content

Similar to XECon + PHPFest 2014 Keynote

//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작
//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작
//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작
Taeyoung Kim
 
JVM 메모리 해부학
JVM 메모리 해부학JVM 메모리 해부학
JVM 메모리 해부학
Greg Lee
 
Scala, Scalability
Scala, ScalabilityScala, Scalability
Scala, Scalability
Dongwook Lee
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기
Yongha Yoo
 
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법 2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
Amazon Web Services Korea
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQL
I Goo Lee
 
Java8 & Lambda
Java8 & LambdaJava8 & Lambda
Java8 & Lambda
기현 황
 
Introduce php7
Introduce php7Introduce php7
Introduce php7
Jung soo Ahn
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
Han Sung Kim
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
명신 김
 
Javascript
JavascriptJavascript
Javascript
Hong Hyo Sang
 
[243]kaleido 노현걸
[243]kaleido 노현걸[243]kaleido 노현걸
[243]kaleido 노현걸
NAVER D2
 
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) 파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
Tae Young Lee
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
beom kyun choi
 
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
EXEM
 
[OpenTRS-001] Hotel California
[OpenTRS-001] Hotel California[OpenTRS-001] Hotel California
[OpenTRS-001] Hotel California
Theori
 
[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit
[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit
[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit
GangSeok Lee
 
Tech Update - The Future of .NET Framework (김명신 부장)
Tech Update - The Future of .NET Framework (김명신 부장)Tech Update - The Future of .NET Framework (김명신 부장)
Tech Update - The Future of .NET Framework (김명신 부장)
Eunbee Song
 
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
WON JOON YOO
 

Similar to XECon + PHPFest 2014 Keynote (20)

//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작
//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작
//BUILD/ Seoul - .NET의 현재와 미래. 그 새로운 시작
 
JVM 메모리 해부학
JVM 메모리 해부학JVM 메모리 해부학
JVM 메모리 해부학
 
Scalability
ScalabilityScalability
Scalability
 
Scala, Scalability
Scala, ScalabilityScala, Scalability
Scala, Scalability
 
스위프트 성능 이해하기
스위프트 성능 이해하기스위프트 성능 이해하기
스위프트 성능 이해하기
 
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법 2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
2017 AWS DB Day | 개발자가 알아야 할 Amazon DynamoDB 활용법
 
From MSSQL to MySQL
From MSSQL to MySQLFrom MSSQL to MySQL
From MSSQL to MySQL
 
Java8 & Lambda
Java8 & LambdaJava8 & Lambda
Java8 & Lambda
 
Introduce php7
Introduce php7Introduce php7
Introduce php7
 
파이썬 스터디 2주차
파이썬 스터디 2주차파이썬 스터디 2주차
파이썬 스터디 2주차
 
불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14 불어오는 변화의 바람, From c++98 to c++11, 14
불어오는 변화의 바람, From c++98 to c++11, 14
 
Javascript
JavascriptJavascript
Javascript
 
[243]kaleido 노현걸
[243]kaleido 노현걸[243]kaleido 노현걸
[243]kaleido 노현걸
 
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) 파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
 
Mongo db 최범균
Mongo db 최범균Mongo db 최범균
Mongo db 최범균
 
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
 
[OpenTRS-001] Hotel California
[OpenTRS-001] Hotel California[OpenTRS-001] Hotel California
[OpenTRS-001] Hotel California
 
[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit
[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit
[2013 CodeEngn Conference 08] manGoo - Windows 8 Exploit
 
Tech Update - The Future of .NET Framework (김명신 부장)
Tech Update - The Future of .NET Framework (김명신 부장)Tech Update - The Future of .NET Framework (김명신 부장)
Tech Update - The Future of .NET Framework (김명신 부장)
 
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
딥 러닝 자연어 처리 학습을 위한 PPT! (Deep Learning for Natural Language Processing)
 

More from Sol Kim

XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기
Sol Kim
 
Vim for php
Vim for phpVim for php
Vim for php
Sol Kim
 
Xe 제주대 강의_2014_ver2
Xe 제주대 강의_2014_ver2Xe 제주대 강의_2014_ver2
Xe 제주대 강의_2014_ver2Sol Kim
 
2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)Sol Kim
 
2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)Sol Kim
 
2014년 02월 XE세미나 XE서버서능개선
2014년 02월 XE세미나 XE서버서능개선2014년 02월 XE세미나 XE서버서능개선
2014년 02월 XE세미나 XE서버서능개선
Sol Kim
 
2014년 02월 XE세미나 About XE 1.7.4
2014년 02월 XE세미나 About XE 1.7.42014년 02월 XE세미나 About XE 1.7.4
2014년 02월 XE세미나 About XE 1.7.4
Sol Kim
 
2014년 02월 XE 세미나 XE with Community
2014년 02월 XE 세미나 XE with Community2014년 02월 XE 세미나 XE with Community
2014년 02월 XE 세미나 XE with Community
Sol Kim
 
Network path reference
Network path referenceNetwork path reference
Network path reference
Sol Kim
 
Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngineSol Kim
 
2011 XE Camp 모듈제작가이드
2011 XE Camp 모듈제작가이드2011 XE Camp 모듈제작가이드
2011 XE Camp 모듈제작가이드
Sol Kim
 
20110702 xeuser
20110702 xeuser20110702 xeuser
20110702 xeuser
Sol Kim
 

More from Sol Kim (12)

XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기
 
Vim for php
Vim for phpVim for php
Vim for php
 
Xe 제주대 강의_2014_ver2
Xe 제주대 강의_2014_ver2Xe 제주대 강의_2014_ver2
Xe 제주대 강의_2014_ver2
 
2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(2/2)
 
2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)
2014년 03월 XE세미나 XE 애드온 개발 강좌(1/2)
 
2014년 02월 XE세미나 XE서버서능개선
2014년 02월 XE세미나 XE서버서능개선2014년 02월 XE세미나 XE서버서능개선
2014년 02월 XE세미나 XE서버서능개선
 
2014년 02월 XE세미나 About XE 1.7.4
2014년 02월 XE세미나 About XE 1.7.42014년 02월 XE세미나 About XE 1.7.4
2014년 02월 XE세미나 About XE 1.7.4
 
2014년 02월 XE 세미나 XE with Community
2014년 02월 XE 세미나 XE with Community2014년 02월 XE 세미나 XE with Community
2014년 02월 XE 세미나 XE with Community
 
Network path reference
Network path referenceNetwork path reference
Network path reference
 
Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngine
 
2011 XE Camp 모듈제작가이드
2011 XE Camp 모듈제작가이드2011 XE Camp 모듈제작가이드
2011 XE Camp 모듈제작가이드
 
20110702 xeuser
20110702 xeuser20110702 xeuser
20110702 xeuser
 

XECon + PHPFest 2014 Keynote