SlideShare una empresa de Scribd logo
1 de 19
초고속웹서비스구축을위한

CodeigniterPHPFramework

                     MobileLab,SoongsilUnv.
                          OCT132011

                                Lee,Inseok
                              inska@lisky.net
TableofContents

•웹개발의중요원칙
•웹개발방법론의변화
•대표적인서버사이드언어와Framework
•Framework을이용한웹서비스
•Codeigniter개요
•Codeigniter의장/단점
•Codeigniter로도충분한이유
•유에포닷컴개발기
웹개발의중요원칙

•기술요소의분리
 •구조(HTML),표현(CSS),동작(Script)의분리
•점진적기능향상
 •향상시킴 기반으로CSS,Script,Plugin등기능을단계적으로
  HTML을


•단계적기능축소
 •기능은축소되더라도핵심기능은반드시실행돼야
•하위및상위호환성
 •제공해야
  웹브라우저의버전에상관없이,그리고미래의브라우저도
웹개발방법론의변화
1990년대후반
웹개발방법론의변화
웹표준시대(2006년~)
웹개발방법론의변화
Ajax시대(2007년~)
웹개발방법론의변화
Cloud및HTML5시대
대표적인서버사이드언어와Framework

                         PHP                     JSP                ASP.NET

                 빠르다 / 쉽다 / C랑 비슷        인력이 넘쳐난다 / 자바
                                                                쉽다 / MS의 지원 / 안정
      장점          하다 / 계속 발전한다           로 되어 있어 이식성이
                                                                        성
                                              좋다

                                         느리다 / 서버 속성을 많 사용자가 많아지면 느려
      단점           기술지원 불가능
                                         이 탄다 / 인건비가 싸다  진다 / MS 기술 종속


                                            처음에는 공짜
      비용                 공짜
                                           나중엔 완전 비싸
                                                                       비싸



  대표 Framework        Codeigniter               Spring             ASP.NET MVC



     DBMS        MySQL (MSSQL, Oracle)   MySQL, Oracle, MSSQL      MSSQL, Oracle
Framework을이용한웹서비스

•Facebook
 •PHP를개조하여자체Framework개발
•me2DAY
 •RubyonRails
•myid.net
 •RubyonRails           쌩으로개발하는곳?
•국내관공서                                       거의없다
 •Spring또는Strutz
Codeigniter개요
코드이그나이터(이하 CI)는 PHP를 이용하여 웹사이트를 구축하고자 하는 사람들을 위한 개발 프레임 워크 입니다.
CI 는 날코딩 하는 분들을 위해 풍부한 라이브러리, 쉬운 인터페이스 및 쉬운 로직을 제공함으로써 개발속도를
높여 드릴 것입니다. CI는 사용자들이 최소한의 코딩만 하도록 하여 프로젝트에 집중할 수 있도록 해줍니다.


누구를 위한 것인가?
•   최소 노력으로 사용할 수 있는 프레임워크를 원한다.
•   놀라운 프로그램 성능을 원한다.
•   다양한 호스팅 환경, 다양한 PHP 버전에서 사용가능 한 호환성을 원한다.                       ab -c 5 -n 1000
•   거의 설정이 필요 없는 프레임워크를 원한다.                              실행속도 비교   ab -c 5 -n 1000
                                                                    ab -c 100 -n 10000
•   커맨드라인에서 뭔가를 입력할 필요가 없는 프레임워크를 원한다.
•   제한적인 코딩 규칙이 없는 프레임워크를 원한다.
•   PEAR 같이 큰 라이브러리를 별로 좋아하지않는다.
•   템플릿 언어를 억지로 배우고 싶지 않다.
•   복잡한 것 대신 심플한 솔루션을 좋아한다.
•   명확하고 전체 내용을 몽땅 다 설명해주는 설명서를 원한다.


특징
•   CodeIgniter 는 무료입니다
•   CodeIgniter 는 PHP4/5 에서 동작합니다
•   CodeIgniter 는 가볍고 빠릅니다
•   CodeIgniter 는 M-V-C 패턴에 기반합니다
•   CodeIgniter 는 깔끔한 URL을 생성합니다
•   CodeIgniter 는 확장 가능합니다
Codeigniter장/단점

• 장점
 • 쉽다
 • 개발,동작이빠름
 • 효율적인URI규칙을제공
 • 활발한국/내외포럼활동
• 단점
 • MySQL중심
 • 오픈소스:공식적인기술지원불가
 • 일부라이브러리에서버그
Codeigniter로도충분한이유

•웹개발방법론의변화에따르면...
   • 이제중요한것은Front-endTechnology
   • Application개발처럼MVC패턴의도입
•우리가이용하는웹서비스를돌이켜보면
   • 핵심기능:DB에잘넣고잘가져와서잘보여주기
   • 부가기능:UI를이쁘게
•더많은기능이필요하면?
   • Library,Plugin형태로직접개발하면올리면된다!
유에포닷컴개발기
•상주개발자가없는영화상영사이트
•10명이거쳐간주먹구구식개발진행
•MAY2011-인스카컨설팅출동
•무엇이문제인가?
 •DB정리
 •개발자가없다
 •SRS는Fix
유에포닷컴개발기
•GoogleMail의교훈
 •완벽은없다
 •Development의본ime
   beta서비스:OnT
                                               보기

 •지속적인기능추가
 •하위호환성보장
 •오류?-해결하면됨
•SI프로젝트하듯이만들지말자
•SVN/Hudson적극활용
유에포닷컴개발기
•대표자
 •수학전공의40대초반사업가
 •개발경험전무
•스터디기간
 •2011년7월중2주
•스터디내용
 •HTML기초
 •CSS는배울필요없음
 •MySQL기초
유에포닷컴개발기
•개발환경
 •Linux/MySQL/Apache
 •Subversion/Hudson
•개발기간
 •2달(7월~8월)
•현재상태
 •주요기능모두구현완료
유에포닷컴개발기
•애로사항
 •PHP기본문법을모르니항상막힘
 •가끔날아가는DB(실수)
•무엇이달라졌나?
 •DB의정리
 •원하는기능이생기면바로구현가능
 •ContinuouslyIntegration
원하시면데모를...
감사합니다


  • 이인석(inska)
  • inska@lisky.net
  • inska.lisky.net
  • @inska

Más contenido relacionado

La actualidad más candente

JavaScript로 오픈소스를 해보자. bsJS
JavaScript로 오픈소스를 해보자. bsJSJavaScript로 오픈소스를 해보자. bsJS
JavaScript로 오픈소스를 해보자. bsJS
NAVER D2
 
5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스
NAVER D2
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
NAVER D2
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
중선 곽
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
devCAT Studio, NEXON
 
개발자를 위한 웹표준 & 웹접근성이야기
개발자를 위한 웹표준 & 웹접근성이야기개발자를 위한 웹표준 & 웹접근성이야기
개발자를 위한 웹표준 & 웹접근성이야기
NAVER D2
 
JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기
항희 이
 

La actualidad más candente (20)

[D2]pinpoint 개발기
[D2]pinpoint 개발기[D2]pinpoint 개발기
[D2]pinpoint 개발기
 
이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께이제 막 웹개발자 되고싶은 분들께
이제 막 웹개발자 되고싶은 분들께
 
PHPStorm - tool for php
PHPStorm - tool for phpPHPStorm - tool for php
PHPStorm - tool for php
 
JavaScript로 오픈소스를 해보자. bsJS
JavaScript로 오픈소스를 해보자. bsJSJavaScript로 오픈소스를 해보자. bsJS
JavaScript로 오픈소스를 해보자. bsJS
 
[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔[124] 하이브리드 앱 개발기 김한솔
[124] 하이브리드 앱 개발기 김한솔
 
깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)깨끗한 코드 (클린 코드, Clean Code)
깨끗한 코드 (클린 코드, Clean Code)
 
5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스5.yobi를 활용한 개발자 협업 및 배포 프로세스
5.yobi를 활용한 개발자 협업 및 배포 프로세스
 
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
 
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
NDC 2017 마이크로토크 - Spacemacs: 최고의 에디터는 Emacs도 Vim도 아니다. Emacs와 Vim이다!
 
커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님커뮤니티와 함께한 예비개발자 성장기- 조성수님
커뮤니티와 함께한 예비개발자 성장기- 조성수님
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
 
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
이승재, 강성훈, 내가 만든 언어의 개발환경을 Visual Studio Code로 빠르고 쉽게 구축하기 #1, NDC2017
 
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
D2 캠퍼스 세미나 - 학생 개발자에서 신입 개발자로 한단계 업그레이드 하기
 
React vac pattern
React vac patternReact vac pattern
React vac pattern
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
 
Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기Laravel로 스타트업 기술 스택 구성하기
Laravel로 스타트업 기술 스택 구성하기
 
bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포bamboo 로 PHP 프로젝트 지속적인 배포
bamboo 로 PHP 프로젝트 지속적인 배포
 
개발자를 위한 웹표준 & 웹접근성이야기
개발자를 위한 웹표준 & 웹접근성이야기개발자를 위한 웹표준 & 웹접근성이야기
개발자를 위한 웹표준 & 웹접근성이야기
 
비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초비 개발자를 위한 웹 개발 기초
비 개발자를 위한 웹 개발 기초
 
JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기JavaScript 프레임워크 살펴보기
JavaScript 프레임워크 살펴보기
 

Destacado

2.네이버 프론트엔드 김지태
2.네이버 프론트엔드 김지태2.네이버 프론트엔드 김지태
2.네이버 프론트엔드 김지태
NAVER D2
 
[M] 프레임워크와 라이브러리(Framework and Library)
[M] 프레임워크와 라이브러리(Framework and Library)[M] 프레임워크와 라이브러리(Framework and Library)
[M] 프레임워크와 라이브러리(Framework and Library)
태욱 김
 
9주 dom & event advanced 실습
9주  dom & event advanced 실습9주  dom & event advanced 실습
9주 dom & event advanced 실습
지수 윤
 
Template method Pattern 살펴보기
Template method Pattern 살펴보기Template method Pattern 살펴보기
Template method Pattern 살펴보기
JinKwon Lee
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅
JinKwon Lee
 

Destacado (20)

XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
XECon2015 :: [2-5] 변용훈 - Laravel 동영상 서비스 만들기
 
2.네이버 프론트엔드 김지태
2.네이버 프론트엔드 김지태2.네이버 프론트엔드 김지태
2.네이버 프론트엔드 김지태
 
웹 Front-End 실무 이야기
웹 Front-End 실무 이야기웹 Front-End 실무 이야기
웹 Front-End 실무 이야기
 
[M] 프레임워크와 라이브러리(Framework and Library)
[M] 프레임워크와 라이브러리(Framework and Library)[M] 프레임워크와 라이브러리(Framework and Library)
[M] 프레임워크와 라이브러리(Framework and Library)
 
Nodejs발표자료 - 팀 세미나용
Nodejs발표자료 - 팀 세미나용 Nodejs발표자료 - 팀 세미나용
Nodejs발표자료 - 팀 세미나용
 
현재 자바스크립트 표준은 어디쯤
현재 자바스크립트 표준은 어디쯤 현재 자바스크립트 표준은 어디쯤
현재 자바스크립트 표준은 어디쯤
 
JavaScript Debugging (수업자료)
JavaScript Debugging (수업자료)JavaScript Debugging (수업자료)
JavaScript Debugging (수업자료)
 
nodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IOnodejs websocket & SOCKET.IO
nodejs websocket & SOCKET.IO
 
9주 dom & event advanced 실습
9주  dom & event advanced 실습9주  dom & event advanced 실습
9주 dom & event advanced 실습
 
웹소켓 (WebSocket)
웹소켓 (WebSocket)웹소켓 (WebSocket)
웹소켓 (WebSocket)
 
At Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in OperationsAt Your Service: Using Jenkins in Operations
At Your Service: Using Jenkins in Operations
 
Javascript Test Double Sinon.js
Javascript Test Double Sinon.jsJavascript Test Double Sinon.js
Javascript Test Double Sinon.js
 
Hangul
HangulHangul
Hangul
 
Template method Pattern 살펴보기
Template method Pattern 살펴보기Template method Pattern 살펴보기
Template method Pattern 살펴보기
 
웹프레임워크를 이용하여 개발된 오픈소스 CMS프로젝트 샤인
웹프레임워크를 이용하여 개발된 오픈소스 CMS프로젝트 샤인웹프레임워크를 이용하여 개발된 오픈소스 CMS프로젝트 샤인
웹프레임워크를 이용하여 개발된 오픈소스 CMS프로젝트 샤인
 
비전공자의 자바스크립트 도전기
비전공자의 자바스크립트 도전기비전공자의 자바스크립트 도전기
비전공자의 자바스크립트 도전기
 
모던자바의 역습
모던자바의 역습모던자바의 역습
모던자바의 역습
 
Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅Logcat과 함께 하는 모바일 웹 디버깅
Logcat과 함께 하는 모바일 웹 디버깅
 
귀찮은 기능, jQuery Library 에 맡겨버리자!
귀찮은 기능, jQuery Library 에 맡겨버리자!귀찮은 기능, jQuery Library 에 맡겨버리자!
귀찮은 기능, jQuery Library 에 맡겨버리자!
 
PHP 사용하기
PHP 사용하기PHP 사용하기
PHP 사용하기
 

Similar a 초고속 웹사이트 개발을 위한 Codeigniter PHP Framework

(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
Jeongsang Baek
 
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
Sanghun Yun
 

Similar a 초고속 웹사이트 개발을 위한 Codeigniter PHP Framework (20)

소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
소프트웨어 개발 트랜드 및 MSA (마이크로 서비스 아키텍쳐)의 이해
 
3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐3. 마이크로 서비스 아키텍쳐
3. 마이크로 서비스 아키텍쳐
 
서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)서버학개론(백엔드 서버 개발자를 위한)
서버학개론(백엔드 서버 개발자를 위한)
 
One ASP.NET
One ASP.NETOne ASP.NET
One ASP.NET
 
두근두근 ASP.NET 5!
두근두근 ASP.NET 5!두근두근 ASP.NET 5!
두근두근 ASP.NET 5!
 
삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf삶이편해지는_백엔드_개발자_지식.pdf
삶이편해지는_백엔드_개발자_지식.pdf
 
[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개[Uws] enterprise application architecture, msa, java9, spring 소개
[Uws] enterprise application architecture, msa, java9, spring 소개
 
[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)[Td 2015]두근두근 asp.net 5(한상훈)
[Td 2015]두근두근 asp.net 5(한상훈)
 
designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...designing, implementing and delivering microservices with event storming, spr...
designing, implementing and delivering microservices with event storming, spr...
 
7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션
7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션
7월 우아한테크세미나 "주니어개발자로 성장하는 우아한 방법들" 첫번째 세션
 
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
코프링 프로젝트 투입 일주일 전: 주니어 개발자의 코틀린 도입 이야기
 
한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법한국 중소기업 개발자의 AWS 사용방법
한국 중소기업 개발자의 AWS 사용방법
 
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
(GameTech2015) Live Operation by Adbrix의 Node.js와 MongoDB를 이용한 멀티테넌트 인프라 구축사례
 
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례 Sencha ExtJS를 활용한 Big Data Platform 개발 사례
Sencha ExtJS를 활용한 Big Data Platform 개발 사례
 
4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴4. 대용량 아키텍쳐 설계 패턴
4. 대용량 아키텍쳐 설계 패턴
 
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
[네이버오픈소스세미나] egjs-view360 개발기 - 김희재
 
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
[15.09.17] 인터넷과 웹의 역사 그리고 현재의 트렌드
 
[D2CAMPUS] Tech meet up ; iOS 개발편
[D2CAMPUS] Tech meet up ; iOS 개발편[D2CAMPUS] Tech meet up ; iOS 개발편
[D2CAMPUS] Tech meet up ; iOS 개발편
 
Micro Service Architecture의 이해
Micro Service Architecture의 이해Micro Service Architecture의 이해
Micro Service Architecture의 이해
 
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
Droid knights 2019 - (Large-scale App을 위한) Android Architecture 총정리
 

초고속 웹사이트 개발을 위한 Codeigniter PHP Framework