개발 공부/Java

* 스프링 프레임워크와 스프링 부트 - 스프링 프레임워크란? 스프링 프레임워크(Spring Framework) 자바 기반의 오픈소스 프레임워크로 Java EE에서 요구하는 수준의 복잡한 기능을 Java EE를 사용하지 않고 구현하기 위해 시작됨 스프링 프레임워크는 높은 수준의 스프링 기반 애플리케이션을 손쉽게 만들어주는 스프링(spring.io) 프로젝트 중 하나로, 20개 이상의 서로 다른 모듈로 구성됨 프로젝트 규모와 필요 기능에 따라 스프링 프레임워크를 기본으로 여러 모듈을 조합 한 형태로 사용하게 됨 스프링 프레임워크의 주요 특징 경량 컨테이너 객체 생성, 소멸과 같은 생명 주기를 관리하며 스프링 컨테이너로부터 필요한 객체를 얻어올 수 있음 제어의 역행 지원 메서드나 객체의 호출 제어권이 사용자가..
* REST API 개발 - REST API란? REST(또는 RESTful) 네트워크 상에서 클라이언트와 서버 사이의 통신을 구현하는 방법에 대한 아이디어 하나의 Resource는 여러 형태의 Representation(json, xml, text, rss 등)으로 전달할 수 있다 Representation : 클라이언트가 서버로 요청을 보냈을 때 서버가 응답으로 보내주는 Resource(파일, 프로 그램 호출 등)의 상태 REST API의 등장 배경 클라이언트-서버 프로그램 구조의 문제점 등장 동시 다중 접속에 대한 안정성, 보안, 백업, 장애 대응, 이중화 등 여러 기술적 문제를 자체적으로 해결할 수 있는 역량과 고수준의 개발자와 서버 엔지니어가 필요 요청, 응답, 메시지 규격 등 프로토콜을 자체적..
*리스너 - 리스너란? 리스너(Listener) 컨테이너에서 발생하는 이벤트를 모니터링하다가 특정 이벤트가 발생하면 실행되는 특수한 서블릿으로, 이벤트 리스너(Event Listener) 라고도 함 웹 애플리케이션 실행에 필요한 정보를 제공하거나 톰캣 시작/종료와 같은 특정 상황에 자동으로 동작하는 프로그램을 구현할 때 사용 서블릿과 마찬가지로 애너테이션 기반 코드로 작성 가능 일반적인 형태의 서블릿이 아니라 특정 이벤트에 따라 동작하는 인터페이스를 구현한 클래스 먼저 리스너가 동작하기 위한 이벤트의 종류와 그에 따른 프로그램 API를 알아야 함 리스너의 동작 구조 기본적으로 생명 주기 변화와 Scope Object에서 관리하는 속성의 변화를 모니터링 하고 해당 이벤트가 발생하면 실행되는 구조 Servl..
*데이터베이스의 개요 - 데이터베이스란? 데이터베이스(Database) 사전적 의미 - 여러 사람이 공유하여 사용할 목적으로 체계화하여 통합, 관리하는 데이터의 집합 방대한 데이터를 쉽게 검색하거나 찾을 수 있도록 체계적으로 분류 하고 정리해둔 정보의 집합 디지털화된 정보만 의미하는 것은 아님 DBMS(DataBase Management System) 데이터베이스는 DBMS라고 불리는 소프트웨어 시스템을 사용 효과적인 데이터 파일 관리와 운영을 위한 구조와 함께 인덱싱, 캐싱, 네트 워크 서버, 사용자 및 권한 관리, 백업/복원, 클러스터링 등 다양한 기능을 제공 DBMS의 종류: Oracle, MySQL, IBM DB2, MS SQL 등 데이터베이스와 데이터베이스 관리 시스템인 DBMS는 다른 의미이지..
* MVC 패턴 - 디자인 패턴이란? 디자인 패턴(Desing Pattetn) 처음에는 건축학적 관점에서 출발한 개념이었음 1994년 GoF의 ≪Design Patterns: Elements of Reusable Object-Oriented Software≫를 통해 소프트웨어 설계에서 공통적으로 발생하는 문제에 대한 재사용 가능한 솔루션으로 제시됨 GoF의 디자인 패턴은 생성, 구조, 행동, 동시실행 등의 문제에 대해 여러 패턴을 제시하고 있으며 UML 클래스 다이어그램을 이용해 구조를 표현하고 있음 UML(Unified Modeling Language) 객체지향 설계와 구현을 지원하기 위해 만들어진 일종의 모델링 언어 시스템 분석, 설계에 필요한 내용을 여러 다이어그램 형태로 정의한 규격임 - 추상 팩..
*액션 태그 - 액션 태그란? 액션(Action) 태그 JSP에서 객체 생성과 공유, 페이지 이동과 전달, 태그 파일 작성 등에 필요한 기능을 제공하는 일종의 커스텀 태그 표준 액션이라고도 불리며 커스텀 태그 기반이지만 별도의 taglib 지시어 사용 없이 jsp 접두어 사용 jsp 접두어를 사용함 JSP에서 프로그램적인 요소를 많이 구현하거나 컨트롤러로 활용할 때 유용함 JSP 파일에서 커스텀 태그의 구조적인 특징을 살려 HTML 형태로 프로그램 요소를 처리할 수 있기 때문에 간편함 주요 액션 태그 - 자바 빈 자바 빈(Java Bean) 자바의 재활용 가능한 컴포넌트 모델 웹 개발에만 국한된 개념이 아니며 POJO라고 하는 단순한 구조를 가짐 POJO(Plain Old Java Object) : 특정..
*JSP의 개요 - JSP의 특징과 구성요소 JSP의 특징 HTML 페이지에 자바 코드 직접 사용 서블릿 컨테이너에 의해 관리되는 내장객체의 생명주기를 이용해 페이지 간 속성 관리 커스텀 태그 기술을 사용해 코드를 태그화(action, JSTL 등) EL - Expression Language를 통해 데이터 표현 JSP의 구성요소 지시어(Standard directives) 액션(Standard Action) 템플릿 데이터(Template Data) 스크립트 요소(Script Element) 커스텀 태그(Custom Tag)와 EL(Expression Language) - JSP의 동작 과정 JSP가 서블릿으로 컴파일되고 실행되는 과정 ① 'hello.jsp' 소스코드를 작성하고 웹 애플리케이션 배포 ②..
*서블릿의 개요 - 서블릿의 동작 과정 서블릿 코드 작성, 컨테이너 등록, 클라이언트 요청에 따른 동작 과정 ① HttpServlet 클래스를 상속받는 서블릿 클래스 구현 ② 컨테이너는 url mapping(애너테이션) 설정을 참고하여 서블릿 등록(load) url mapping(애너테이션) -> @WebServlet(description = "MyServlet", urlPatterns = { "/hello" }) ③ 서블릿 객체 생성 및 init()메서드(서블릿 초기화) 실행 ④ 클라이언트 요청은 스레드로 동시 처리되며 각각 service() 메서드(요청/응답) 호출 ⑤ service() 메서드는doGet(), doPost() 등 프로토콜에 따른 메서드 호출 ⑥ 컨테이너 종료 혹은 웹 애플리케이션 종료..
* 서블릿과 JSP - 서블릿이란? 서블릿 자바 기반의 웹 프로그램 개발을 위해 만들어진 기술 자바로 작성된 프로그램을 실행할 수 있는 서버 소프트웨어(톰캣)를 통해 관리됨 서블릿을 실행하기 위해 톰캣같은 서블릿 컨테이너가 필요 서버 소프트웨어는 일반적으로 WAS(Web Application Server)로 불림 기본적인 웹의 요청과 응답 과정 서블릿의 역할 JSP의 등장 배경 서블릿은 HTML과 데이터를 조합하는 방식에 어려움이 있음 out.println(""+username+""); 이를 해결하기 위해 JSP 등장 - JSP란? JSP(Java Server Pages) 서블릿에서 HTML과 데이터 결합을 손쉽게 처리하기 위해 만들어짐 HTML에서 자바 코드를 사용할 수 있는 구조 JSP는 HTML에 ..
* 웹의 개요 - 웹이란? 월드 와이드 웹(World Wide Web) 줄여서 www / 웹이라고 함 인터넷에서 운영되는 서비스 중 하나 (웹 자체가 인터넷을 의미하진 X) 웹 개발 목적 : 연구자들이 흩어져 있는 정보를 손쉽게 정리하고 공유하기 위해 특징 인터넷 : 컴퓨터 네트워크망 인터넷 상 정보를 하이퍼텍스트 방식(예시 - 하이퍼링크)과 멀티미디어 환경에서 검색할 수 있게 해주는 정보 검색 시스템 HTTP 프로토콜 사용 / HTML 문서 연결해 다양한 콘텐츠 제공 - 웹의 동작 구조 HTML 중심의 웹 동작 과정 DNS 서버 : Domain Name Service로 컴퓨터 네트워크 상에서 호스트의 도메인 네임을 해당 호스트의 IP주소로 변환하는 시스템 (skt, kt 같은 통신사) 도메인 네임 : ..
징_
'개발 공부/Java' 카테고리의 글 목록