SlideShare uma empresa Scribd logo
1 de 70
Baixar para ler offline
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 오픈 오피스 데이
감사합니다.

Mais conteúdo relacionado

Semelhante a 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, ScalabilityDongwook 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 MySQLI Goo Lee
 
Java8 & Lambda
Java8 & LambdaJava8 & Lambda
Java8 & Lambda기현 황
 
파이썬 스터디 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 명신 김
 
[243]kaleido 노현걸
[243]kaleido 노현걸[243]kaleido 노현걸
[243]kaleido 노현걸NAVER D2
 
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) 파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영)
파이썬 데이터과학 레벨1 - 초보자를 위한 데이터분석, 데이터시각화 (2020년 이태영) Tae Young Lee
 
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀
제 9회 엑셈 수요 세미나 자료 연구컨텐츠팀EXEM
 
[OpenTRS-001] Hotel California
[OpenTRS-001] Hotel California[OpenTRS-001] Hotel California
[OpenTRS-001] Hotel CaliforniaTheori
 
[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 ExploitGangSeok 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
 

Semelhante a 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)
 

Mais de 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 phpSol 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.4Sol Kim
 
2014년 02월 XE 세미나 XE with Community
2014년 02월 XE 세미나 XE with Community2014년 02월 XE 세미나 XE with Community
2014년 02월 XE 세미나 XE with CommunitySol Kim
 
Network path reference
Network path referenceNetwork path reference
Network path referenceSol 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 xeuserSol Kim
 

Mais de 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
 

Último

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 

Último (6)

Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 

XECon + PHPFest 2014 Keynote