SlideShare a Scribd company logo
1 of 105
Download to read offline
유연하게 확장할 수 있는 
PHP 웹 개발 이야기 
용영환 
PHPKorea 
http://xenonix.com 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
유연하게 확장한다? 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
http://sports.donga.com/3/all/20110317/35666621/3
확장이 필요한 경우라면 
일하는 사람이 늘었거나 
돈 내는 사람이 늘었거나. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
일하는 사람만 늘었다면… 
미안하다!!! 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
미안하지만 
어찌됐든 
일은 해야 한다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
돈 내는 사람이 늘었다면… 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
서버에 장애가 나도 
일단 
땡큐여서 미안하다!!! 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
서비스가 성장함에 따라 
유연하게 확장하는 
길목을 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
세 가지로 나눠 보면 
인간 + 프로그램 + 시스템 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
처음부터 다 대응하면 
좋겠지만… 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
다음 대응 단계를 
알고 준비하고 있으면 
좋을 것 같습니다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
초기 
개발자 1명? 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
그리고 
우리는 
돈이 없다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
그래서, 가볍게 시작합니다. 
서버 1 대 = 웹 + DB 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
mysql_connect 
( “127.0.0.1” …); 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
이용자
웹 서버 <분리> DBMS 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
DBMS
mysql_connect 
( “192.168.0.100” …); 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
OPcache 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
이용자
정적 파일과 
동적 파일 분리 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
function getImgUrl($path) 
{ 
return $path; 
} 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
<img src=“ 
<?php echo 
getImgUrl(‘/hello.png’) 
?> 
” /> 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
DBMS 
이미지 
웹 서버
function getImgUrl($path) 
{ 
return ‘http://img.phpk.org’.$path; 
} 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
ob_start( ); 
미리 HTML 파일로 생성 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
이용자
웹 서버 추가 
1 + 1 = 2 대 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
DBMS 
웹 서버
이렇게 
확장하면 
참 좋겠습니다만… 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
DBMS 
웹 서버
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
DBMS 
웹 서버 
L4 스위치
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
DBMS 
웹 서버 
프록시 서버
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
이용자
웹 서버 추가 
1 + 1 + 1 = 3 대 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
웹 서버 
DBMS 
웹 서버 
프록시 서버
2014.11.08 Session 1-5 
XECon + PHPFest 2014
이제 
안정화가 된 것 같으니 
개발자를 구해봅니다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
개발자
협업 개발 환경 필요 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
이슈 트래킹 시스템 
소스 저장소, 문서 저장소, 
개발 서버, IDE, 소스 리뷰, 
통일된 빌드 환경 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
이슈 트래킹 시스템 
JIRA? Mantis? 
지금은 그냥 Yobi 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
소스 저장소 
SVN + GIT 
CVS는 요즘 안씁니다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
문서 저장소 
Confluence 
지금은 그냥 NAS 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
개발 서버 
CentOS 가상머신 
or 
성능 좋은 개발서버 한대 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
개발자 PC 
개발자 PC 
개발자 PC 
개발자 PC 
개발 서버 
개발 서버 
개발 서버 
개발 서버 
가상머신 개발서버
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
개발 서버 
개발자 PC 
개발자 PC 
개발자 PC 
개발자 PC
IDE 
이클립스 PDT 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
장점 : 
소스 저장소에서 
Checkout 만 받으면 
동일한 코드 환경이 유지 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
통일된 빌드 환경 
현재 Ant 
조만간 Maven 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
개발 서버 
개발자 PC 
개발자 PC 
개발자 PC 
개발자 PC
빌드 프로그램을 사용하면 
PHP 프로젝트를 
ZIP 같은 파일로 패키징 
할 수 있습니다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
패키징을 하면 
배포가 수월하다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
www.php-maven.org 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
개발자를 뽑았으니 
뭔가를 더 만들겠죠. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
기능
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
웹 서버 
DBMS 
웹 서버
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
웹 서버 
DBMS 
웹 서버 
DBMS
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
웹 서버 
DBMS 
웹 서버 
DBMS
라운드 로빈 
$db_no = rand(0,1); 
mysql_connect 
( $db [ $db_no ] ,…); 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
이용자
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
웹 서버 
DBMS 
웹 서버 
DBMS 
웹 서버 
DBMS
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
웹 서버 
DBMS 
웹 서버 
DBMS 
웹 서버 
DBMS 
프록시 서버
mysql_connect 
( “192.168.0.99” …); 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014
Memcached 같은 
메모리 캐시 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
이용자를 위한 
맞춤형 정보가 있다면 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
로그인을 
어떻게 유지할 것인가 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
방법 1 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
웹 서버 
DBMS 
웹 서버 
DBMS 
웹 서버 
DBMS 
프록시 서버 
세션 DB
방법 2 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
쿠키를 
직접 이용한다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
이용자 서버를 분리 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
DBMS 
웹 서버 
프록시 서버 
user.phpk.org 
DBMS
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
user1 
DBMS 
user2 
DBMS
자신의 “이용자 서버”가 
어디인지 어떻게 아는가 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
$_SESSION[“user_server”] 
= “user1”; 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
회원들에게 
이메일 발송을 
해야한다면… 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
PHP 
Worker 
MQ 
SMTP 
비동기
MQ 
ActiveMQ 
RabbitMQ 
ZeroMQ … 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
PHP 프로젝트의 
기능 분리 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
PHP 코드에서 
컨트롤러를 분리하면 
데이터 처리 부분을 
분리할 수 있다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014
플러그인 방식? 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
class HelloModule { } 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
Interface Module{ 
public function run(); 
} 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
$moduleList[ ] = ‘HelloModule’; 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
foreach ( 
$moduleList as $module 
) $module->run(); 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
API 방식? 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
DBMS 
웹 서버 
프록시 서버 
API 웹 서버 
JSON
AJAX 방식? 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
데이터 객체의 분리 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
class ArticleDAO 
extends DB { } 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
DB 객체가 
DB 연결을 
담당한다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
이렇게 
컨트롤러를 분리하면 
테스트가 가능하다. 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
PHP UnitTest 
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
Front-End 
PHP 
Back-End 
PHP
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
이용자
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
Nginx Cache 
프록시 서버
2014.11.08 Session 1-5 
XECon + PHPFest 2014 
웹 서버 
FestCGI 
PHP/Hack 서버 
DBMS
2014.11.08 Session 1-5 
XECon + PHPFest 2014

More Related Content

What's hot

웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기JinKwon Lee
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composerjhyeon1010
 
Phpstorm remote xdebug setting
Phpstorm remote xdebug settingPhpstorm remote xdebug setting
Phpstorm remote xdebug settingJung soo Ahn
 
Front-end Development with Ruby on Rails
Front-end Development with Ruby on RailsFront-end Development with Ruby on Rails
Front-end Development with Ruby on Rails추근 문
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효NAVER D2
 
『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기복연 이
 
Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1성일 한
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debuggingJongwon Han
 
Python server-101
Python server-101Python server-101
Python server-101Huey Park
 
Meteor 0.3.6 Preview
Meteor 0.3.6 PreviewMeteor 0.3.6 Preview
Meteor 0.3.6 PreviewJuntai Park
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포KwangSeob Jeong
 
XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개Jung soo Ahn
 
맛만 보자 Undertow
맛만 보자 Undertow맛만 보자 Undertow
맛만 보자 Undertowjbugkorea
 
파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호Jiho Lee
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Junsu Kim
 
실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기Haze Lee
 
최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기Hyeonjin Cho
 
파이어베이스 스터디
파이어베이스 스터디파이어베이스 스터디
파이어베이스 스터디성일 한
 

What's hot (20)

웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composer
 
Phpstorm remote xdebug setting
Phpstorm remote xdebug settingPhpstorm remote xdebug setting
Phpstorm remote xdebug setting
 
Front-end Development with Ruby on Rails
Front-end Development with Ruby on RailsFront-end Development with Ruby on Rails
Front-end Development with Ruby on Rails
 
[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효[145]5년간의네이버웹엔진개발삽질기그리고 김효
[145]5년간의네이버웹엔진개발삽질기그리고 김효
 
『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기『Modern PHP』 - 미리보기
『Modern PHP』 - 미리보기
 
Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1Laravel 로 배우는 서버사이드 #1
Laravel 로 배우는 서버사이드 #1
 
20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging20170813 django api server unit test and remote debugging
20170813 django api server unit test and remote debugging
 
Python server-101
Python server-101Python server-101
Python server-101
 
Meteor 0.3.6 Preview
Meteor 0.3.6 PreviewMeteor 0.3.6 Preview
Meteor 0.3.6 Preview
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
Learning Laravel
Learning LaravelLearning Laravel
Learning Laravel
 
Django beginning
Django beginningDjango beginning
Django beginning
 
XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개XECON2014 Laravel 프레임워크 소개
XECON2014 Laravel 프레임워크 소개
 
맛만 보자 Undertow
맛만 보자 Undertow맛만 보자 Undertow
맛만 보자 Undertow
 
파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호파이콘 2017 그만퇴근합시다_이지호
파이콘 2017 그만퇴근합시다_이지호
 
Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)Web Framework (웹 프레임워크)
Web Framework (웹 프레임워크)
 
실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기실시간으로 안드로이드 프론트엔드 작업하기
실시간으로 안드로이드 프론트엔드 작업하기
 
최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기최전방 생존법 - 프론트엔드 개발자로 살아가기
최전방 생존법 - 프론트엔드 개발자로 살아가기
 
파이어베이스 스터디
파이어베이스 스터디파이어베이스 스터디
파이어베이스 스터디
 

Viewers also liked

한발 앞서 배워보는 Xamarin overview
한발 앞서 배워보는 Xamarin overview한발 앞서 배워보는 Xamarin overview
한발 앞서 배워보는 Xamarin overviewYoung D
 
PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기Changwan Jun
 
ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링Young D
 
Vim for php
Vim for phpVim for php
Vim for phpSol Kim
 
Php 최적화 20140710
Php 최적화 20140710Php 최적화 20140710
Php 최적화 20140710Eunsik Lyang
 
영화 예매 프로그램 (DB 설계, 프로그램 연동)
영화 예매 프로그램 (DB 설계, 프로그램 연동)영화 예매 프로그램 (DB 설계, 프로그램 연동)
영화 예매 프로그램 (DB 설계, 프로그램 연동)_ce
 
제 2주차. PHP 기초
제 2주차. PHP 기초제 2주차. PHP 기초
제 2주차. PHP 기초Yoonwhan Lee
 
05_동기화_개요
05_동기화_개요05_동기화_개요
05_동기화_개요noerror
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개Sunghyouk Bae
 
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리Young D
 
Template method Pattern 살펴보기
Template method Pattern 살펴보기Template method Pattern 살펴보기
Template method Pattern 살펴보기JinKwon Lee
 
PHP 함수와 제어구조
PHP 함수와 제어구조PHP 함수와 제어구조
PHP 함수와 제어구조Yoonwhan Lee
 
귀찮은 기능, jQuery Library 에 맡겨버리자!
귀찮은 기능, jQuery Library 에 맡겨버리자!귀찮은 기능, jQuery Library 에 맡겨버리자!
귀찮은 기능, jQuery Library 에 맡겨버리자!KYUNGSUK Cho
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅JinKwon Lee
 
웹 개발 스터디 01 - PHP
웹 개발 스터디 01 - PHP웹 개발 스터디 01 - PHP
웹 개발 스터디 01 - PHPYu Yongwoo
 

Viewers also liked (20)

한발 앞서 배워보는 Xamarin overview
한발 앞서 배워보는 Xamarin overview한발 앞서 배워보는 Xamarin overview
한발 앞서 배워보는 Xamarin overview
 
PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기PHP로 Slack Bot 만들기
PHP로 Slack Bot 만들기
 
ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링ERD를 이용한 DB 모델링
ERD를 이용한 DB 모델링
 
Vim for php
Vim for phpVim for php
Vim for php
 
XDebug For php debugging
XDebug For php debuggingXDebug For php debugging
XDebug For php debugging
 
DB 설계 과제
DB 설계 과제DB 설계 과제
DB 설계 과제
 
Php 최적화 20140710
Php 최적화 20140710Php 최적화 20140710
Php 최적화 20140710
 
영화 예매 프로그램 (DB 설계, 프로그램 연동)
영화 예매 프로그램 (DB 설계, 프로그램 연동)영화 예매 프로그램 (DB 설계, 프로그램 연동)
영화 예매 프로그램 (DB 설계, 프로그램 연동)
 
제 2주차. PHP 기초
제 2주차. PHP 기초제 2주차. PHP 기초
제 2주차. PHP 기초
 
05_동기화_개요
05_동기화_개요05_동기화_개요
05_동기화_개요
 
Multithread pattern 소개
Multithread pattern 소개Multithread pattern 소개
Multithread pattern 소개
 
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리마이크로소프트 Azure 에서 안드로이드  Push 구현과 Data 처리
마이크로소프트 Azure 에서 안드로이드 Push 구현과 Data 처리
 
PHP 기초 문법
PHP 기초 문법PHP 기초 문법
PHP 기초 문법
 
Template method Pattern 살펴보기
Template method Pattern 살펴보기Template method Pattern 살펴보기
Template method Pattern 살펴보기
 
php 시작하기
php 시작하기php 시작하기
php 시작하기
 
PHP 함수와 제어구조
PHP 함수와 제어구조PHP 함수와 제어구조
PHP 함수와 제어구조
 
귀찮은 기능, jQuery Library 에 맡겨버리자!
귀찮은 기능, jQuery Library 에 맡겨버리자!귀찮은 기능, jQuery Library 에 맡겨버리자!
귀찮은 기능, jQuery Library 에 맡겨버리자!
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
웹 개발 스터디 01 - PHP
웹 개발 스터디 01 - PHP웹 개발 스터디 01 - PHP
웹 개발 스터디 01 - PHP
 

Similar to 유연하게 확장할 수 있는 PHP 웹 개발 이야기

PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with AngularJT Jintae Jung
 
XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기Sol Kim
 
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기승엽 신
 
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기XpressEngine
 
Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngineSol Kim
 
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)AWSKRUG - AWS한국사용자모임
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting승빈이네 공작소
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version옥시즌
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version옥시즌
 
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable FunctionsJongin Lee
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version옥시즌
 
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기경원 홍
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version옥시즌
 
ASP.NET 4 New Features
ASP.NET 4 New FeaturesASP.NET 4 New Features
ASP.NET 4 New FeaturesSangHoon Han
 
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발JongKwang Kim
 
파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)
파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)
파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)옥시즌
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine LearningJEEHYUN PAIK
 
build a linux webhosting server
build a linux webhosting serverbuild a linux webhosting server
build a linux webhosting server정현 윤
 

Similar to 유연하게 확장할 수 있는 PHP 웹 개발 이야기 (20)

PHP Slim Framework with Angular
PHP Slim Framework with AngularPHP Slim Framework with Angular
PHP Slim Framework with Angular
 
XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기XECon + PHPFest 2014 XE 프로젝트 이야기
XECon + PHPFest 2014 XE 프로젝트 이야기
 
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
 
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
 
Selenium and XpressEngine
Selenium and XpressEngineSelenium and XpressEngine
Selenium and XpressEngine
 
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
DynamoDB를 이용한 PHP와 Django간 세션 공유 - 강대성 (피플펀드컴퍼니)
 
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 HostingFirebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
Firebase for Web (웹개발을 위한 파이어베이스) 1 Hosting
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
 
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
코드로 바로 해버리는 서버리스 오케스트레이션 - Azure Durable Functions
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
 
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
XECon PHPFest 2014 - 쉽고 강력한 XE 웹사이트 만들기
 
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
파일 전송 SFTP 서버 솔루션 - CrushFTP - old version
 
ASP.NET 4 New Features
ASP.NET 4 New FeaturesASP.NET 4 New Features
ASP.NET 4 New Features
 
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발
Adobe Dreamweaver CS5.5 를 이용한 HTML5 개발
 
파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)
파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)
파일 전송 SFTP 서버 솔루션 - CrushFTP (old version)
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 
Tensorflow service & Machine Learning
Tensorflow service & Machine LearningTensorflow service & Machine Learning
Tensorflow service & Machine Learning
 
Introduce php7
Introduce php7Introduce php7
Introduce php7
 
build a linux webhosting server
build a linux webhosting serverbuild a linux webhosting server
build a linux webhosting server
 

More from Young D

HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법Young D
 
Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법Young D
 
Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법Young D
 
iBeacons가 뭔가
iBeacons가 뭔가iBeacons가 뭔가
iBeacons가 뭔가Young D
 
CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치Young D
 
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까Young D
 
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDTPHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDTYoung D
 
[협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 [협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 Young D
 
교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basic교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basicYoung D
 

More from Young D (9)

HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
HAProxy TCP 모드에서 내부 서버로 Source IP 전달 방법
 
Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법Apache JMeter로 웹 성능 테스트 방법
Apache JMeter로 웹 성능 테스트 방법
 
Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법Microsoft Azure를 통한 Push와 DB 이용방법
Microsoft Azure를 통한 Push와 DB 이용방법
 
iBeacons가 뭔가
iBeacons가 뭔가iBeacons가 뭔가
iBeacons가 뭔가
 
CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치CentOS 에 MySQL 5.6 설치
CentOS 에 MySQL 5.6 설치
 
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
무선 랜으로 파일 전송할 때 왜 무선 마우스 랙이 발생할까
 
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDTPHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
PHP 개발 생산성을 높여주는 통합 개발 환경 - 이클립스 PDT
 
[협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우 [협업 도구] 위키를 활용한 협업 노하우
[협업 도구] 위키를 활용한 협업 노하우
 
교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basic교육용 프로그래밍 언어 Small basic
교육용 프로그래밍 언어 Small basic
 

Recently uploaded

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
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월호 목차캐드앤그래픽스
 
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
 

Recently uploaded (6)

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
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월호 목차
 
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 ...
 

유연하게 확장할 수 있는 PHP 웹 개발 이야기