SlideShare a Scribd company logo
1 of 113
Download to read offline
거 XE 모듈 개발하기 좋은 날씨네 
게시판 하나는 만들 수 있게 해드릴게 
신승엽 
NHN Entertainment 
2014.11.08 Session 2-4 
XECon + PHPFest 2014
신승엽 @ NHN Entertainment 
•SocialXE 개발 (2011) 
•XE Core 개발 (~2013)
모듈 구상 
목표 XE의 기본 요소들을 활용하는 간단한 모듈을 제작 요구사항 Document, Comment 모듈 사용 사이트 메뉴 편집과 호환
나의 게시판 
목록 보기 
내용 보기 
글 쓰기 
댓글 쓰기 
사이트 메뉴 편집을 통해 추가/설정
모듈 폴더 생성 
XE ROOT/modules/myboard 폴더 생성
info.xml 생성 
MODULE ROOT/conf/info.xml 파일 생성
http://me2.do/5nfH4nyf
module.xml 생성 
MODULE ROOT/conf/module.xml 파일 생성 
권한 관련 정보 
액션 실행 퍼미션 관련 정보 
모듈이 가진 액션 관련 정보 
http://me2.do/54gObkCW
module.xml 생성 
MODULE ROOT/myboard.class.php 파일 생성
XE의 모든 모듈 class 파일은 ModuleObject를 상속 받아야 함 
XE 초기 설치/ 
쉬운설치 시에 호출됨 
모듈 업데이트 여부를 
체크하기 위해 호출 됨 
http://me2.do/GPf5odjx
모듈 업데이트 시 
호출 됨 
모듈 삭제 시 호출 됨 
모듈이 쉬운 설치에 올라가 
있을 때만 삭제가 가능 
http://me2.do/GPf5odjx
메뉴 타입으로 등록 
MODULE ROOT/myboard.class.php 파일 수정
트리거 발생 시 실행할 모듈 이름 
http://me2.do/5Mfg7fNd
http://me2.do/5Mfg7fNd 
모듈과 관련된 조작 메소드를 가지고 있음 
트리거를 등록하는 메소드 
모듈 설치 시...
http://me2.do/5Mfg7fNd 
트리거를 정보를 받는 메소드 
if (트리거가 없다) { 업데이트가 필요하다 } 
모듈 업데이트 체크 시...
http://me2.do/5Mfg7fNd 
모듈 업데이트 시...
if (트리거가 없다) { 트리거 등록 } 
http://me2.do/5Mfg7fNd 
end of foreach
http://me2.do/5Mfg7fNd 
트리거를 제거하는 메소드 
모듈 업데이트 삭제 시...
메뉴 타입으로 등록 
MODULE ROOT/myboard.model.php 파일 생성
http://me2.do/xuYhaz0i
클래스 이름 규칙 
파일명 
클래스명 
상위 클래스 
myboard.class.php 
myboard 
ModuleObject 
myboard.admin.controller.php 
myboardAdminController 
myboard 
myboard.admin.model.php 
myboardAdminModel 
myboard.admin.view.php 
myboardAdminView 
myboard.controller.php 
myboardController 
myboard.model.php 
myboardModel 
myboard.view.php 
myboardView
http://me2.do/xuYhaz0i 
트리거 정보
http://me2.do/xuYhaz0i 
파라미터로 받은 배열에 모듈 이름을 추가
메뉴 타입으로 등록 
지금까지 잘 따라왔다면 관리자 페이지 접속 시 모듈 업데이트가 표시 됨
메뉴 타입으로 등록 
업데이트 후 사이트 메뉴 편집으로 접속한 후 메뉴 추가를 눌러보면 
'나의 게시판'이 추가된 것을 확인할 수 있음
권한 설정 만들기 
MODULE ROOT/conf/module.xml 파일 수정
http://me2.do/59pJ1jtr
http://me2.do/59pJ1jtr 
코드에서 사용할 이름 
기본 권한 설정 
- guest: 모든 사용자 
- member: 로그인 사용자 
- manager: 관리자 
권한 체크를 자동으로 해주진 않는다 
코드에서 직접 처리
권한 설정 만들기
간단 설정 만들기 
MODULE ROOT/conf/module.xml 파일 수정
Front에서 요청할 수 있는 
모듈의 특정 액션에 대한 정보 
true이면 간단 설정용으로 
사용한다는 의미이며 
응답은 설정을 위한 HTML 
http://me2.do/GOBAs7xo
액션에 사용할 '퍼미션' 
- 퍼미션은 '권한1'과는 다른 개념 
- 해당 액션의 최소한 '권한2' 
- 액션 실행 전 자동 체크 
퍼미션 적용할 액션 이름 
적용할 퍼미션 
- guest 
- member 
- manager 
http://me2.do/GOBAs7xo
액션 이름 규칙 
파일명 
접두어 
결과 
myboard.admin.controller.php 
procMyboardAdmin 
procMyboardAdminXxxx 
myboard.admin.model.php 
getMyboardAdmin 
getMyboardAdminXxxx 
myboard.admin.view.php 
dispMyboardAdmin 
dispMyboardAdminXxxx 
myboard.controller.php 
procMyboard 
procMyboardXxxx 
myboard.model.php 
getMyboard 
getMyboardXxxx 
myboard.view.php 
dispMyboard 
dispMyboardXxxx
간단 설정 만들기 
MODULE ROOT/myboard.admin.model.php 파일 생성
http://me2.do/5MfEonvo 
여기서 할일 
- 모듈 정보, 모듈 설정을 가져와서 
- 템플릿에서 사용할 수 있도록 세팅하고 
- 템플릿 컴파일한 결과를 반환
김예솔님의 생일을 축하드립니다. 1월 10일에 태어난 신승엽님! 생일을 진심으로 축하드립니다. 생일이신 회원님을 위한 혜택... 
홍경원님의 생일을 축하드립니다. 
8월 14일에 태어난 신승엽님! 생일을 진심으로 축하드립니다. 
생일이신 회원님을 위한 혜택... 
템플릿? 
출력 내용을 미리 준비해 두고 필요한 부분만 대치하여 사용 
메일 머지 기능과 유사 
[NAME]님의 생일을 축하드립니다. 
[DATE]에 태어난 [NAME]님! 생일을 진심으로 축하드립니다. 
생일이신 회원님을 위한 혜택... 
NAME 
DATE 
신승엽 
4월 23일 
홍경원 
8월 14일 
김예솔 
1월 10일 
신승엽님의 생일을 축하드립니다. 
4월 23일에 태어난 신승엽님! 생일을 진심으로 축하드립니다. 
생일이신 회원님을 위한 혜택... 
미리 준비된 내용 
Data 
결과 
머지
템플릿? 
미리 준비된 내용: 템플릿 Data: Context 변수 머지: 템플릿 컴파일 
템플릿 
Context 변수 
결과 
컴파일
http://me2.do/5MfEonvo 
여기서 할일 - 모듈 정보, 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 컴파일한 결과를 반환 
모듈 번호 
상세 설정 URL
http://me2.do/5MfEonvo
http://me2.do/5MfEonvo 
모듈 번호 
상세 설정 URL 
여기서 할일 - 모듈 정보, 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 컴파일한 결과를 반환 
모듈의 정보를 반환 
모듈의 설정을 반환
http://me2.do/5MfEonvo 
여기서 할일 
- 모듈 정보, 모듈 설정을 가져와서 
- 템플릿에서 사용할 수 있도록 세팅하고 
- 템플릿 컴파일한 결과를 반환 
템플릿 변수를 세팅하는 메소드 
변수 이름 
값
http://me2.do/5MfEonvo 
여기서 할일 
- 모듈 정보, 모듈 설정을 가져와서 
- 템플릿에서 사용할 수 있도록 세팅하고 
- 템플릿 컴파일한 결과를 반환 
템플릿을 다루기 위한 클래스 
특정 템플릿을 컴파일한 결과를 반환
간단 설정 만들기 
MODULE ROOT/tpl/simple_setup.html 파일 생성
http://me2.do/FOxkPBoJ
http://me2.do/FOxkPBoJ 
설정 저장할 모듈의 번호 
실행할 액션
http://me2.do/FOxkPBoJ 
{$varname}: 변수를 출력하는 템플릿 문법 
$lang: 언어 변수
간단 설정 만들기 
MODULE ROOT/lang/lang.xml 파일 생성
http://me2.do/FYvjt1Tl
http://me2.do/FYvjt1Tl 
언어 변수 
언어를 지정
간단 설정 만들기 
MODULE ROOT/myboard.admin.controller.php 파일 생성
http://me2.do/GZta9W7q 
여기서 할일 
- 정상적인 요청인지 확인한 후 
- 설정을 저장
http://me2.do/GZta9W7q
http://me2.do/GZta9W7q 
여기서 할일 
- 정상적인 요청인지 확인한 후 
- 설정을 저장 
요청 파라미터를 받는 메소드
http://me2.do/GZta9W7q 
여기서 할일 
- 정상적인 요청인지 확인한 후 
- 설정을 저장 
if (module_srl에 해당하는 모듈이 
myboard가 아니면) { 
잘못된 요청 
}
http://me2.do/GZta9W7q 
여기서 할일 - 정상적인 요청인지 확인한 후 - 설정을 저장 
개별 모듈에 대한 설정을 저장하는 메소드
간단 설정 만들기
XE Control Path 
Context 초기화 
실행 모듈 결정 
모듈 실행 
결과 출력 
요청 
응답
XE Control Path 
요청 
index.php?act=procMyboardAdminUpdateSimpleSetup
XE Control Path 
요청 
Context 초기화
XE Control Path 
요청 
Context 초기화 
실행 모듈 결정 
procMyboardAdminUpdateSimpleSetup 
XE: 내가 실행할 모듈은... 
Type은 Controller 
Module은 Myboard 
Admin 계열이군
액션 이름 규칙 
파일명 
접두어 
결과 
myboard.admin.controller.php 
procMyboardAdmin 
procMyboardAdminXxxx 
myboard.admin.model.php 
getMyboardAdmin 
getMyboardAdminXxxx 
myboard.admin.view.php 
dispMyboardAdmin 
dispMyboardAdminXxxx 
myboard.controller.php 
procMyboard 
procMyboardXxxx 
myboard.model.php 
getMyboard 
getMyboardXxxx 
myboard.view.php 
dispMyboard 
dispMyboardXxxx
클래스 이름 규칙 
파일명 
클래스명 
상위 클래스 
myboard.class.php 
myboard 
ModuleObject 
myboard.admin.controller.php 
myboardAdminController 
myboard 
myboard.admin.model.php 
myboardAdminModel 
myboard.admin.view.php 
myboardAdminView 
myboard.controller.php 
myboardController 
myboard.model.php 
myboardModel 
myboard.view.php 
myboardView
XE Control Path 
요청 
Context 초기화 
실행 모듈 결정 
XE: 내가 실행할 모듈은... 
myboard.admin.controller.php를 include하면 되고 필요한 클래스는 myboardAdminController구나!
XE Control Path 
요청 
Context 초기화 
실행 모듈 결정 
myboardAdminController의 
procMyboardAdminUpdateSimpleSetup 
메서드 실행 
모듈 실행
XE Control Path 
요청 
Context 초기화 
실행 모듈 결정 
모듈 실행 
결과 출력 
응답
글 쓰기 화면 만들기 
MODULE ROOT/conf/module.xml 파일 수정
해당 액션이 반드시 mid를 가지고 실행되어야 할 경우 false로 세팅 이 속성을 사용하지 않으면 보안 문제가 생길 수 있음 
http://me2.do/FecSNlje
글 쓰기 화면 만들기 
MODULE ROOT/myboard.view.php 파일 생성
http://me2.do/GdsHTOaw
여기서 할일 - 모듈 설정을 가져와서 - 템플릿에서 사용할 수 있도록 세팅하고 - 템플릿 파일을 세팅 
액션 실행 전 먼저 실행되는 메소드 
http://me2.do/GdsHTOaw
http://me2.do/GdsHTOaw
여기서 할일 
- 모듈 설정을 가져와서 
- 템플릿에서 사용할 수 있도록 세팅하고 
- 템플릿 파일을 세팅 
http://me2.do/GdsHTOaw
여기서 할일 
- 모듈 설정을 가져와서 
- 템플릿에서 사용할 수 있도록 세팅하고 
- 템플릿 파일을 세팅 
PC 스킨 경로로 
템플릿 경로 설정 
액션명에서 접두어만 제외하고 
템플릿 파일명으로 사용 
http://me2.do/GdsHTOaw
권한만을 체크하고 따로 하는 것은 없음 
권한(grant)는 코드에서 직접 체크! 
http://me2.do/GdsHTOaw
글 쓰기 화면 만들기 
MODULE ROOT/skins/default/skin.xml 파일 생성 
skins 폴더 아래 스킨 위치 
기본 스킨 폴더명은 무조건 default
글 쓰기 화면 만들기 
MODULE ROOT/skins/default/_head.html 파일 생성 
http://me2.do/5ZfB1VaH
글 쓰기 화면 만들기 
MODULE ROOT/skins/default/Write.html 파일 생성
http://me2.do/xKdaLajQ 
현재 위치에 다른 템플릿 삽입 
XE 템플릿에서만 사용되는 가상 태그 
cond 속성 
조건에 맞을 경우에만 태그가 표시 됨
글 쓰기 화면 만들기
글 쓰기 처리 만들기 
MODULE ROOT/conf/module.xml 파일 수정
http://me2.do/IGToqmv4
글 쓰기 처리 만들기 
MODULE ROOT/myboard.controller.php 파일 생성
여기서 할일 
- 권한 체크하고 
- 데이터를 준비한 후 
- document 모듈에 등록하고 
- 글보기 화면으로 이동 
http://me2.do/xLoLzp02
http://me2.do/xLoLzp02
여기서 할일 - 권한 체크하고 - 데이터를 준비한 후 - document 모듈에 등록하고 - 글보기 화면으로 이동 
http://me2.do/xLoLzp02
여기서 할일 
- 권한 체크하고 
- 데이터를 준비한 후 
- document 모듈에 등록하고 
- 글보기 화면으로 이동 
http://me2.do/xLoLzp02
여기서 할일 
- 권한 체크하고 
- 데이터를 준비한 후 
- document 모듈에 등록하고 
- 글보기 화면으로 이동 
http://me2.do/xLoLzp02
여기서 할일 
- 권한 체크하고 
- 데이터를 준비한 후 
- document 모듈에 등록하고 
- 글보기 화면으로 이동 
http://me2.do/xLoLzp02
글 보기 화면 만들기 
MODULE ROOT/conf/module.xml 파일 수정
true로 세팅하면 act 값이 없어도 해당 모듈 접속 시 해당 액션이 실행 됨 
http://me2.do/5xbzWMQU
글 보기 화면 만들기 
MODULE ROOT/myboard.view.php 파일 수정
http://me2.do/G97uVvrl
http://me2.do/xO6tyuuN 
여기서 할일 
- 권한 체크하고 
- document 모듈에서 글을 가져오고 
- 조회수를 증가시키고 
- 템플릿을 지정한다
http://me2.do/xO6tyuuN
http://me2.do/xO6tyuuN 
여기서 할일 
- 권한 체크하고 
- document 모듈에서 글을 가져오고 
- 조회수를 증가시키고 
- 템플릿을 지정한다
http://me2.do/xO6tyuuN 
여기서 할일 
- 권한 체크하고 
- document 모듈에서 글을 가져오고 
- 조회수를 증가시키고 
- 템플릿을 지정한다
http://me2.do/xO6tyuuN 
여기서 할일 
- 권한 체크하고 
- document 모듈에서 글을 가져오고 
- 조회수를 증가시키고 
- 템플릿을 지정한다
http://me2.do/xO6tyuuN 
여기서 할일 - 권한 체크하고 - document 모듈에서 글을 가져오고 - 조회수를 증가시키고 - 템플릿을 지정한다
글 보기 화면 만들기 
MODULE ROOT/skins/default/View.html 파일 생성
http://me2.do/5eEkr53g
글 보기 화면 만들기
글 보기 화면 만들기 
MODULE ROOT/myboard.view.php 파일 수정
http://me2.do/x4XqDrqn 
여기서 할일 - 권한 체크하고 - document 모듈에서 글 목록을 가져오고 - 템플릿을 지정한다
http://me2.do/x4XqDrqn
http://me2.do/x4XqDrqn 
여기서 할일 
- 권한 체크하고 
- document 모듈에서 글 목록을 가져오고 
- 템플릿을 지정한다
http://me2.do/x4XqDrqn 
여기서 할일 
- 권한 체크하고 
- document 모듈에서 글 목록을 가져오고 
- 템플릿을 지정한다
http://me2.do/x4XqDrqn 
여기서 할일 
- 권한 체크하고 
- document 모듈에서 글 목록을 가져오고 
- 템플릿을 지정한다
글 보기 화면 만들기 
MODULE ROOT/skins/default/List.html 파일 생성
http://me2.do/x4XqDrqn
http://me2.do/x4XqDrqn
글 보기 화면 만들기
못 다한 이야기... 
XE 모듈 개발 강좌 참고 
http://www.xpressengine.com/learn/22801598

More Related Content

What's hot

Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsJulien Wittouck
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지jylee1229
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Junyoung Lee
 
Oscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simpleOscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simpleMartin Odersky
 
MongoDB Atlas Data Lake 집중 분석 [MongoDB]
MongoDB Atlas Data Lake 집중 분석 [MongoDB]MongoDB Atlas Data Lake 집중 분석 [MongoDB]
MongoDB Atlas Data Lake 집중 분석 [MongoDB]MongoDB
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJosé Paumard
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Ippon
 
[131]chromium binging 기술을 node.js에 적용해보자
[131]chromium binging 기술을 node.js에 적용해보자[131]chromium binging 기술을 node.js에 적용해보자
[131]chromium binging 기술을 node.js에 적용해보자NAVER D2
 
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à ZAlphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à ZAlphorm
 
Managing user's data with Spring Session
Managing user's data with Spring SessionManaging user's data with Spring Session
Managing user's data with Spring SessionDavid Gómez García
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked ChangesJiyeon Seo
 
Version Control with Git for Beginners
Version Control with Git for BeginnersVersion Control with Git for Beginners
Version Control with Git for Beginnersbryanbibat
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf정민 안
 

What's hot (20)

Opale 3.4
Opale 3.4Opale 3.4
Opale 3.4
 
Spring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'tsSpring Boot & Containers - Do's & Don'ts
Spring Boot & Containers - Do's & Don'ts
 
git, 이해부터 활용까지
git, 이해부터 활용까지git, 이해부터 활용까지
git, 이해부터 활용까지
 
Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)Git 더하기 GitHub(구름IDE 환경)
Git 더하기 GitHub(구름IDE 환경)
 
Oscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simpleOscon keynote: Working hard to keep it simple
Oscon keynote: Working hard to keep it simple
 
MongoDB Atlas Data Lake 집중 분석 [MongoDB]
MongoDB Atlas Data Lake 집중 분석 [MongoDB]MongoDB Atlas Data Lake 집중 분석 [MongoDB]
MongoDB Atlas Data Lake 집중 분석 [MongoDB]
 
Java 8-streams-collectors-patterns
Java 8-streams-collectors-patternsJava 8-streams-collectors-patterns
Java 8-streams-collectors-patterns
 
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014Formation JPA Avancé / Hibernate gratuite par Ippon 2014
Formation JPA Avancé / Hibernate gratuite par Ippon 2014
 
[131]chromium binging 기술을 node.js에 적용해보자
[131]chromium binging 기술을 node.js에 적용해보자[131]chromium binging 기술을 node.js에 적용해보자
[131]chromium binging 기술을 node.js에 적용해보자
 
Alphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à ZAlphorm.com Formation Laravel : Construire une Application de A à Z
Alphorm.com Formation Laravel : Construire une Application de A à Z
 
Managing user's data with Spring Session
Managing user's data with Spring SessionManaging user's data with Spring Session
Managing user's data with Spring Session
 
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
코드 리뷰의 또 다른 접근 방법: Pull Requests vs. Stacked Changes
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Version Control with Git for Beginners
Version Control with Git for BeginnersVersion Control with Git for Beginners
Version Control with Git for Beginners
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
20221131_레츠스위프트_2022_iOS개발에서_알아두면_좋은것들.pdf
 
Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2Python for Delphi Developers - Part 2
Python for Delphi Developers - Part 2
 
HTML
HTMLHTML
HTML
 

Viewers also liked

GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육승엽 신
 
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기XpressEngine
 
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"XpressEngine
 
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기XpressEngine
 
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우XpressEngine
 
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기승엽 신
 
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마승엽 신
 
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기XE 모듈 개발 - 걸음마부터 날기까지 - 걷기
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기승엽 신
 
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들MinGeun Park
 
XE 모듈 개발 - 걸음마부터 날기까지 - 달리기
XE 모듈 개발 - 걸음마부터 날기까지 - 달리기XE 모듈 개발 - 걸음마부터 날기까지 - 달리기
XE 모듈 개발 - 걸음마부터 날기까지 - 달리기승엽 신
 
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅승엽 신
 
UXDS_Naver me UX 개선안 프로젝트_1차
UXDS_Naver me UX 개선안 프로젝트_1차UXDS_Naver me UX 개선안 프로젝트_1차
UXDS_Naver me UX 개선안 프로젝트_1차Yeji Cho
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드chandler0201
 
UX, UX Design, UX Process (@Daum/2014)
UX, UX Design, UX Process (@Daum/2014)UX, UX Design, UX Process (@Daum/2014)
UX, UX Design, UX Process (@Daum/2014)keesung kim
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Ian Choi
 

Viewers also liked (16)

GitHub 실습 교육
GitHub 실습 교육GitHub 실습 교육
GitHub 실습 교육
 
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 달리기
 
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"
XE 오픈 세미나(2014-04-26) - 김동현 "XE 코어 구조론"
 
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
XE 오픈 세미나(2014 05) - XE 모듈 강의 - 날기
 
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
XE 오픈 세미나(2014-06-28) - (2/3) 레이아웃 제작 노하우
 
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기XE 모듈 개발 - 걸음마부터 날기까지 - 날기
XE 모듈 개발 - 걸음마부터 날기까지 - 날기
 
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마
XE 모듈 개발 - 걸음마부터 날기까지 - 걸음마
 
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기XE 모듈 개발 - 걸음마부터 날기까지 - 걷기
XE 모듈 개발 - 걸음마부터 날기까지 - 걷기
 
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
[141217 박민근] Visual Studio 2013의 (잘모르는) 유용한 기능들
 
XE 모듈 개발 - 걸음마부터 날기까지 - 달리기
XE 모듈 개발 - 걸음마부터 날기까지 - 달리기XE 모듈 개발 - 걸음마부터 날기까지 - 달리기
XE 모듈 개발 - 걸음마부터 날기까지 - 달리기
 
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
Vagrant를 이용한 개발환경 구축과 NetBeans를 이용한 C/C++개발과 리모트 디버깅
 
UXDS_Naver me UX 개선안 프로젝트_1차
UXDS_Naver me UX 개선안 프로젝트_1차UXDS_Naver me UX 개선안 프로젝트_1차
UXDS_Naver me UX 개선안 프로젝트_1차
 
Git 입문자를 위한 가이드
Git 입문자를 위한 가이드Git 입문자를 위한 가이드
Git 입문자를 위한 가이드
 
Github 사용법
Github 사용법Github 사용법
Github 사용법
 
UX, UX Design, UX Process (@Daum/2014)
UX, UX Design, UX Process (@Daum/2014)UX, UX Design, UX Process (@Daum/2014)
UX, UX Design, UX Process (@Daum/2014)
 
Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?Git는 머꼬? GitHub는 또 머지?
Git는 머꼬? GitHub는 또 머지?
 

Similar to 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014

XE Open seminar 테마만들기
XE Open seminar 테마만들기XE Open seminar 테마만들기
XE Open seminar 테마만들기Sungbum Hong
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1Ji-Woong Choi
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 Yong Joon Moon
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기Han Jung Hyun
 
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개XpressEngine
 
Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정leejungwang
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: YeomanJae Sung Park
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트Ji-Woong Choi
 
Python3 6장 모듈만들기
Python3 6장 모듈만들기Python3 6장 모듈만들기
Python3 6장 모듈만들기Jihoon Kong
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Park JoongSoo
 
Internship backend
Internship backendInternship backend
Internship backendYein Sim
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Kyoung Up Jung
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드수정 김
 
Web2.0mission
Web2.0missionWeb2.0mission
Web2.0missionwiim
 
Cms All 091103
Cms All 091103Cms All 091103
Cms All 091103wiim
 
[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322jylee6977
 
Meteor React Tutorial 따라하기
Meteor React Tutorial 따라하기Meteor React Tutorial 따라하기
Meteor React Tutorial 따라하기Jiam Seo
 
Polymer, lego같이 만드는 웹어플리케이션
Polymer, lego같이 만드는 웹어플리케이션Polymer, lego같이 만드는 웹어플리케이션
Polymer, lego같이 만드는 웹어플리케이션Jeado Ko
 

Similar to 거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014 (20)

XE Open seminar 테마만들기
XE Open seminar 테마만들기XE Open seminar 테마만들기
XE Open seminar 테마만들기
 
Xe hack
Xe hackXe hack
Xe hack
 
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
[오픈소스컨설팅]Nginx 1.2.7 설치가이드__v1
 
파이썬 플라스크 이해하기
파이썬 플라스크 이해하기 파이썬 플라스크 이해하기
파이썬 플라스크 이해하기
 
Polymer따라잡기
Polymer따라잡기Polymer따라잡기
Polymer따라잡기
 
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개
XECon2015 :: [3-2] 오승훈 - XE3 플러그인 제작 소개
 
Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정Vue 뽀개기 1장 환경설정 및 spa설정
Vue 뽀개기 1장 환경설정 및 spa설정
 
도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman도구를 활용한 더 나은 웹 개발: Yeoman
도구를 활용한 더 나은 웹 개발: Yeoman
 
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
[오픈소스컨설팅] Docker를 활용한 Gitlab CI/CD 구성 테스트
 
Python3 6장 모듈만들기
Python3 6장 모듈만들기Python3 6장 모듈만들기
Python3 6장 모듈만들기
 
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
Jenkins와 Gitlab으로 쉽고 빠르게 구축하는 협업시스템
 
Maven
MavenMaven
Maven
 
Internship backend
Internship backendInternship backend
Internship backend
 
Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기Django를 Django답게, Django로 뉴스 사이트 만들기
Django를 Django답게, Django로 뉴스 사이트 만들기
 
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
Yeoman(모던웹 개발을 위한 관리도구)설치사용가이드
 
Web2.0mission
Web2.0missionWeb2.0mission
Web2.0mission
 
Cms All 091103
Cms All 091103Cms All 091103
Cms All 091103
 
[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322[KGIT_EWD]class03 0322
[KGIT_EWD]class03 0322
 
Meteor React Tutorial 따라하기
Meteor React Tutorial 따라하기Meteor React Tutorial 따라하기
Meteor React Tutorial 따라하기
 
Polymer, lego같이 만드는 웹어플리케이션
Polymer, lego같이 만드는 웹어플리케이션Polymer, lego같이 만드는 웹어플리케이션
Polymer, lego같이 만드는 웹어플리케이션
 

거 XE 모듈 개발하기 좋은 날씨네 - XECon + PHPFest 2014