전체 글(43)
-
Annotaion
아시다 싶이 Spring은 Annotation을 기반으로 운영되는 프레임 워크입니다. @Component, @Controller, @Repository, @Transactional, @Aspect 등 다양한 어노테이션이 있습니다. 그렇다면 Annotation이란? 어노테이션은 주석과 비슷합니다. 실제로 컴파일러를 돌려도 주석으로 나오게 됩니다. 즉, 코드 사이에 주석처럼 쓰이면서 특별한 의미, 기능을 수행하도록 하는 기술로써 프로그램에게 추가적인 정보를 제공해주는 일종의 메타 데이터입니다. 어노테이션은 활용 용도는 다음과 같습니다. 1) 컴파일러에게 문법 에러를 체크하도록 정보를 제공합니다. 2) IDE가 빌드나 매치 시 코드를 자동으로 생성할 수 있도록 정보를 재공합니다. 3) 런타임 시 특정 기능을 ..
2023.06.18 -
HTTP
웹개발에 있어 가장 기본적인 사항이지만 다시 한번 복습하고 이를 정리하기 위해 HTTP에 대하여 작성합니다. 먼저 인터넷에서 통신은 어떻게 이루어 질까요 물론 여러 가지 방법이 있기는 하지만 가장 보편화된 방식은 Client - Server 방식을 활용합니다. 여기서 Client는 다른 서버가 될 수도 있고 저희 컴퓨터가 될 수도 있습니다. 즉, Client는 서버에 특정 정보 혹은 액션을 요청하는 컴퓨터 입니다. Server는 Client의 요청을 대기하고 요청이 오면 그에 맞는 정보와 액션을 수행하는 컴퓨터 입니다. 그렇다면 Client는 대체 어떻게 Server에게 요청을 할 수 있을까요? 인터넷망은 매우 복잡하고 서로 얽혀 있습니다. 이중에서 Client는 Server의 위치를 알야아 하고 해당 ..
2023.06.04 -
Servlet과 PSA
서블릿 서블릿(Servlet)은 자바를 기반으로 웹 애플리케이션을 개발하기 위한 서버 사이드 프로그래밍 기술입니다. 서블릿은 클라이언트의 요청에 대해 동적으로 처리하고, 웹 서버와 상호작용하여 웹 애플리케이션의 동작을 제어하는 역할을 수행합니다. 서블릿은 javax.servlet.Servlet 인터페이스를 구현하여 작성되며, 웹 애플리케이션 서버(예: Apache Tomcat)에서 실행됩니다. 서블릿은 클라이언트의 요청을 처리하고, 그에 따른 응답을 생성하여 클라이언트에게 반환합니다. 서블릿의 주요 특징 생명주기(Lifecycle): 서블릿은 초기화(Initialization), 요청 처리(Service), 종료(Destruction)의 생명주기를 가지고 있습니다. 이를 통해 서블릿은 초기 설정, 요청 ..
2023.05.29 -
스프링의 3대 핵심 요소
스프링에서 가장 대표적인 핵심 요소가 3가지 정도에 대해서 알아보겠습니다. 1. PSA, Portable Service Abstraction PSA는 서비스의 추상화를 의미하며 Spring이 다른 기술을 추상화하여 개발자가 각 기술의 구현 세부 정보에 대해 걱정하지 않아도 일관된 방식으로 사용할 수 있게 해주도록 합니다. 기본적으로 스프링은 Servlet을 기반으로 운영되게 됩니다. 스프링 이전에는 우리가 아는 것처럼 단순히 @RequestMapping 어노테이션을 붙인다고 해서 API가 만들어 지지는 않았습니다. 이전에는 webapp의 web.xml(DD, 배포 서술자로도 불립니다.)에 이러한 url 정보들을 적어 놓고 이를 받는 java 클래스에서 doGet, doPost를 overide하여 실질적인..
2023.05.21 -
Spring 그 시작과 핵심
2월 중반 취직을 하게되어 정신 없이 살다가 오랜만에 글을 작성하게 됩니다. 오늘은 가장 많이 사용되는 프레임 워크 중 하나인 Spring Framwork에 대해서 이야기 할까 합니다. Spring을 잘 하기 위해선 그 시작과 핵심을 알아야 한다고 생각합니다. 저또한 아직 스프링 애기 수준이기 때문에 다시 한번 되짚어 보려고 합니다. Spring이 없을땐 단순 Servlet 프로그래밍 이나 EJB (Enterprise Java Beans) 를 활용하여 웹개발을 진행 하였습니다. 허나 위 두가지 방법은 단점이 많았습니다. 서블릿은 여러 설정들을 적용하기 위해 여러 작업을 선행 하기 때문에 매우 불편하고 HTML 코드를 String 형태로 반환해야 하거나. POJO 기반의 프로그래밍이 어렵거나. 컴파일 및 ..
2023.04.30 -
Design pattern
디자인 패턴이란, 반복적으로 발생하는 문제를 어떻게 풀어낼것인가에 대한 일종의 솔루션입니다. 가장 많이 사용되는 디자인 패턴은 GoF의 디자인 패턴이 있습니다. GoF는 Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 네명의 프로그래머들이 고안한 디자인 패턴입니다. GoF 디자인 패턴에는 목적에 따라 생성 패턴, 구조패턴, 행동 패턴로 나뉩니다. 오늘 글에선 생성 패턴과 구조 패턴의 Decorator 패턴 까지 설명하도록 하고 나머지는 다음 글에서 작성하도록 하겠습니다. 1. 생성 패턴 먼저 생성패턴입니다. 생성 패턴은 객체를 어떠한 방식으로 생성할지에 대한 패턴입니다. 1-1) 싱글톤 ( SIngleton ) 싱글톤 패턴은 시스탬 내에서 객체의 인..
2023.03.05