CS

    MVC 패턴

    MVC 패턴

    MVC(Model View Controller) patten 어떤 작업을 수행함에 있어 수십 혹은 수백 명의 개발자들이 공통되게 코드를 작성하는 방식 유지보수, 확장성, 프레임워크 사용 용이 Model 데이터를 담거나 데이터베이스로 데이터를 보내는 작업과 관련된 객체(DTO, DAO) Business Logic Encapulation(Service) Persisttance Logic Encapsulation(DAO) Data(VO) View 사용자 입력화면 제공 Model Data 화면 출력 응답화면 출력 Controller MainServlet Model과 View사이를 제어 Client입력 데이터 체크 Model의 business method 호출 Model로부터 응답 받은 Data 일정 범위에 저장..

    Web Architecture에 대해

    Web Architecture에 대해

    Static Pages 바뀌지 않는 페이지 웹 서버는 파일 경로 이름을 받고, 경로와 일치하는 file contents를 반환함 항상 동일한 페이지를 반환 Dynamic Pages 인자에 따라 바뀌는 페이지 인자의 내용에 맞게 동적인 contents를 반환 Web Architechture 웹 브라우저에서는 MarkUp Language(html, css, javascript)를 해석하는 능력을 가짐 그래서 초반에 Yahoo 홈페이지 처럼 일방적으로 DB를 쓰지않고 Web server(http server)만 사용한 정보제공 형식이였는데 시대가 발전함으로써 Database를 사용하려고 하다보니까 MarkUp Language로는 DB접근이 불가능 따라서 WebServer + Application Server를..

    JSP와 Servlet에 대해

    JSP와 Servlet에 대해

    JSP(Java Server Pages) HTML 코드에 JAVA 코드를 넣어 Dynamic Web Page를 생성하는 웹 애플리케이션 프로그래밍 기술 예를들어 네이버의 html코드를 보면 몇천줄이 넘는데 servlet으로 그걸 생성한다고 치면 out.println()해서 몇천줄을 다 적는 그런짓은 너무 비효율적이기 때문에 나온 방법 서블릿(Servlet) 으로 변환되며 웹 어플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 그렇게 생성된 데이터를 웹페이지와 함께 클라이언트로 응답한다 JSP 가 실행되면 자바 JSP 코드를 보면 서블릿에서 편리한 데이터 처리, DB 통신, 비즈니스 호출 부분이 불편하지만, HTML 코드 안에 Java 코드를 껴넣는 것이므로 View 역할을 맡기 적합합니다. Servl..

    HTTP(HyperText Transfer Protocol)

    HTTP(HyperText Transfer Protocol)

    HTTP(HyperText Transfer Protocol) 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜 클라이언트가 브라우저를 통해서 어떠한 서비스를 url을 통하거나 다른 것을 통해서 요청(request)를 하면 서버에서는 해당 요청사항에 맞는 결과를 찾아서 사용자에게 응답(reponse)하는 형태로 동작 요청 : client => server 응답 : server -> client - HTTP 메시지는 HTTP 서버와 HTTP 클라이언트에 의해 해석된다. - TCP/IP를 이용하는 응용 프로토콜 - HTTP는 연결 상태를 유지하지 않는 비연결성 프로토콜(이런 단점을 해결하기 위해 cookie, session 등장) - HTTP는 연결을 유지하지 않는 프로토콜이기 때문에..

    REST와 JSON에 대해

    REST와 JSON에 대해

    REST의 등장 배경 HTTP는 GET, POST, PUT, DELETE 등의 다양한 HTTP 메소드를 지원 실제로는 서버가 각 메소드의 기본 설명을 따르지 않아도 프로그램 개발 가능 하지만 저마다 다른 방식으로 개발하면 문제가 될 수 있어 기준이 되는 아키텍처가 필요 REST(Representational State Transfer) 각 자원(Resource)에 대하여 자원의 상태에 대한 정보를 주고받는 개발 방식 자원, 행위, 표현의 형태로 데이터를 주고 받자고 약속을 한 것임 페이로드(payload) : 데이터를 전송할 때, 헤더와 메타데이터, 에러 체크 비트 등과 같은 다양한 요소들을 함께 보내어, 데이터 전송의 효율과 안정성을 높히게 되는데 이 때, 보내고자 하는 데이터 자체를 의미하는 것 ex..