MVC
-
[AngularJS] 5. MVC - 모델, 뷰, 컨트롤러 - AngularJS 강좌Web/AngularJS 2016. 4. 1. 12:51
MVC - Model, View, Controller AngularJS는 자바스크립트 MVC 프레임워크 중 하나입니다. 아래는 기본적인 MVC 패턴에 대한 설명입니다. - Model 도메인에 해당하는 정보를 나타내는 오브젝트. 대체로 애플리케이션의 데이터와 행위를 포함하고 있음. - View 모델의 정보를 UI에서 보여주는 역할. 하나의 모델을 다양한 뷰에서 사용할 수도 있고, 여러 모델을 하나의 뷰에서 사용할 수 있음 - Controller 애플리케이션에서 사용자의 입력을 받아 모델에 변경된 상태를 반영. 이는 모델을 변하게 하여 결국 뷰를 갱신. 컨트롤러는 직접 뷰를 변경하는 것이 아니라 로직을 통해 모델을 변경하고 그 결과가 뷰로 뿌려지는 것. MVC 패턴을 이용하면 애플리케이션 개발과 유지보수에 ..
-
[CodeIgniter] 8. AJAX 구현: XMLHttpRequestWeb/CodeIgniter 2015. 8. 26. 15:32
8장에서는 AJAX(Asynchronous Javascript And XML) 방식을 이용해 게시판의 댓글을 구현해보곘습니다. jQuery 같은 자바스크립트 프레임워크를 사용하지 않고 XMLHttpRequest 를 이용해 구현합니다. 들어가기 전에 AJAX에 대해 조금 알아보면 기존 방식의 사이트는 다음과 같습니다. - 웹 브라우저가 웹 서버에 요청을 전송 - 웹 서버는 JSP/PHP/ASP 등 서버측 애플리케이션을 이용해 사용자의 요청을 처리한 뒤, 처리 결과를 HTML로 웹 브라우저에 전송 - 웹 브라우저는 응답으로 받은 HTML을 화면에 출력 AJAX 방식은 아래와 같습니다. - 사용자가 마우스 클릭 같은 이벤트를 발생시키면 자바스크립트는 DOM을 이용해서 필요한 정보를 구한 뒤, XMLHttpRe..
-
[CodeIgniter] 7. 사용자 인증(로그인)Web/CodeIgniter 2015. 8. 25. 19:53
7장에서는 로그인에 관한 처리를 해보겠습니다. 거의 모든 사이트에서 중요한 부분이 회원가입 후의 사용자 인증 부분입니다. 사이트의 첫 시작이라고 해도 과언이 아닙니다. 사이트 개발 시 제일 먼저 하는 작업이 가입, 로그인, 회원 관리입니다. 7.1 세션 구조 CodeIgniter의 세션 라이브러리는 PHP의 세션과 작동 형태가 조금 다릅니다. 세션이 생성되는 것은 동일한데 실제 사용자 데이터는 쿠키에 담깁니다. 이렇게 복잡하게 구성된 이유는 사용자 데이터 보안이 강화된 데이터베이스 세션을 구현하기 위해서입니다. CodeIgniter의 데이터베이스 세션은 위 그림의 1, 2번 절차는 동일하고 3번의 사용자 데이터가 저장되는 곳이 데이터베이스로 바뀝니다. 그렇게 되면 해커나 사용자가 PC의 쿠키를 볼수 없기..
-
[CodeIgniter] 4. 게시판 프로젝트 - 수정, 삭제Web/CodeIgniter 2015. 8. 23. 15:13
4.5 수정 기능 추가하기 수정기능은 입력 기능을 수정하여 사용합니다. write 메서드를 복사하여 modify 메서드를 만들고 수정합니다. * bbs/application/controllers/board.php 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
-
[CodeIgniter] 4. 게시판 프로젝트 - 검색, 입력, 보기 기능Web/CodeIgniter 2015. 8. 23. 14:00
4.2.3 검색 만들기 이번 절은 게시물 목록의 마지막인 검색 만들기입니다. 앞 절에서 기본 목록 모델에 페이지 변수를 추가한 것을 만들었습니다. 뷰에서 검색어를 컨트롤러에 전송하고, 컨트롤러는 검색어를 처리해서 모델을 통해 데이터를 가져와서 다시 뷰로 전달해 화면에 출력합니다. 이번 절은 뷰 파일부터 살펴보겠습니다. 바로 위 참고에서 설명했던 것처럼 게시물 목록 화면이 출력된 후의 검색어 입력 부분부터 시작하므로 뷰 파일에서 시작하겠습니다. * bbs/application/views/board/list_v.php 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758..
-
[CodeIgniter] 4. 게시판 프로젝트 - DB 설계, 페이징 처리Web/CodeIgniter 2015. 8. 21. 19:24
지금까지 CodeIgniter 개발 환경을 구성하고 기본 구조에 대해 알아봤습니다. 4장은 MySQL 테이블을 구성하고 게시판을 실제로 만들어 보면서 CodeIgniterd의 MVC 패턴 사용방법과 컨트롤러의 몇 가지 유형을 알아봅니다. 게시판은 하나의 테이블로 원 글과 댓글을 표현하는 구조이며 리스트, 검색, 페이징, 상세보기, 쓰기, 수정, 삭제로 이루어져 있습니다. 개발을 할 때 제일 먼저 시작하는 작업인 테이블 만들기부터 시작합시다. 4.1 게시판 테이블 만들기 ci_book 데이터베이스를 생성하고 MySQL 콘솔에 접속합니다. mysqladmin -uroot -p create ci_book mysql -uroot -p ci_book grant select, insert, update, delet..
-
[CodeIgniter] 3. Todo 애플리케이션 프로젝트Web/CodeIgniter 2015. 8. 21. 16:43
이번 장에서는 할 일을 관리하는 애플리케이션을 만들어보면서 CodeIgniter의 개념을 익혀보도록 하겠습니다. CodeIgniter는 MVC 패턴으로 되어있습니다. 지금 당장 MVC 패턴이 무엇인지 알 필요는 없습니다. 3장을 마치면 MVC에 대해 감을 잡을 수 있습니다. 다만, 여기서는 MVC 패턴으로 되어 있기 때문에 CodeIgniter로 애플리케이션을 개발할 때는 모델, 뷰, 컨트롤러를 각각 만들어야 한다는 점만 알면 됩니다. 먼저, 웹 서버 루트에 todo 디렉터리를 만들고 여기에 CodeIgniter를 복사합니다. - xampp/htdocs/todo todo 디렉터리에 CodeIgniter가 제데로 설치되었다면 주소창에 localhost/todo 를 입력했을 때 CodeIgniter 초기 화..
-
[CodeIgniter] 1. CodeIgniter 소개Web/CodeIgniter 2015. 7. 17. 10:31
Chapter 1. CodeIgniter 소개 CodeIgniter는 PHP로 웹 사이트를 구축하고자 하는 사람들을 위한 개발 프레임워크(Framework)입니다. CodeIgniter는 일반적인 방식으로 코딩하는 PHP 개발자에게 풍부한 라이브러리, 직관적 인터페이스, 쉬운 로직을 제공함으로써 개발 속도를 높여 줍니다. 불필요한 코딩을 최소화하여 비지니스 로직에만 집중하게 해줍니다. 1.1 CodeIgniter의 특징 - 가벼움(Lightness) : CodeIgniter는 상당히 적은 리소스만 사용하여 상당히 가볍습니다. - 최소한의 노력으로 사용할 수 있고 설정이 거의 필요 없습니다. : APM이 설치된 환경에 CodeIgniter 소스를 복사하는 것만으로도 'Welcome to CodeIgnite..