Upload
sol-kim
View
261
Download
3
Embed Size (px)
DESCRIPTION
XECon + PHPFest 2014 Keynote http://xecon.xpressengine.com
Citation preview
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
개발자 커뮤니티 지원 오픈 세미나 hello world 블로그
DEVIEW 협업 개발 플랫폼 YobiXE
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
w3tech.com, 2014.11.05
82%
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
100,000 x 8 bytes = 0.76 MB
1 2 3 … 99998 99999 100000
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 오픈 오피스 데이
감사합니다.