Programming
-
[Spring] bean 라이프 사이클Programming/SpringBoot 2024. 5. 9. 11:29
Bean자바 어플리케이션의 객체들은 독립적으로 동작하는 것 보다 서로 상화작용하여 동작하는 경우가 많은데 이를 "객체의 의존성"이라고 표현한다.스프링에서는 스프링 컨테이너에 객체들을 생성하면 객체끼리 의존성을 주입(Dependency Injection)하는 역할을 한다.스프링 컨테이너에 등록한 객체들을 "빈"이라고 한다. 스프링 컨테이너에 Bean을 등록하는 2가지 방법1. 컴포넌트 스캔과 자동 의존관계 설정2. 자바 코드로 직접 스프링 빈 등록 1. 컴포넌트 스캔과 자동 의존관계 설정스프링 부트에서 사용자 클래스를 스프링 빈으로 등록하는 가장 쉬운 방법클래스 선언부 위에 @Component 어노테이션을 사용하는 것이다.@Controller, @Service, @Repository 모두 @Componen..
-
[Network] Proxy, Reverse ProxyProgramming/SpringBoot 2024. 4. 3. 16:35
proxy란? "대리"라는 의미로 내부 네트워크에서 인터넷 접속을 할 때 빠른 액세스나 안전한 통신 등을 확보하기 위한 중계 서버를 "프록시 서버"라고 한다. proxy server 서버와 클라이언트 사이에 중계기로, 대리로 통신을 수행하는 것 클라이언트와 웹 서버간의 중개자 역할을 하는 서버이다. 프록시 서버는 크게 포워드 프록시, 리버스 프록시로 나뉜다. - 포워드 프록시는 클라이언트 - 리버스 프록시는 서버쪽의 설정을 한다. Forward Proxy 우리가 흔히 말하는 '프록시 서버'란 포워드 프록시 서버를 의미한다. 프록시 서버는 클라이언트 앞에 놓여 있다. 클라이언트가 웹 서버에 요청을 보내면 중간에서 그 요청을 프록시 서버가 가로챈다. 프록시 서버는 해당 요청을 웹 서버에게 다시 보내고, 웹 ..
-
[CS] 웹 서비스 구조Programming/SpringBoot 2024. 3. 27. 18:30
정적 페이지 (Static Pages) 데이터베이스에서 정보를 가져오거나 등 별도의 서버에서의 처리가 없어도, 사용자들에게 보여줄 수 있는 페이지. 어떠한 사용자가 오던간에 동일한 페이지를 보여준다. Ex) image, html, css, javascript 파일과 같이 컴퓨터에 저장되어 있는 파일들 동적 페이지 (Dynamic Pages) 서버의 데이터베이스에서 정보를 가져와서 처리하는 것처럼, 어떠한 요청에 의하여 서버가 일을 수행하고 해당 결과가 포함된 파일을 보여주는 페이지. 사용자들마다 다른 페이지가 보여질 수 있다. Web Server 클라이언트의 요청에 따라 정적 파일을 응답하여 제공하는 소프트웨어 nginx WAS (Web Application Server) 클라이언트의 요청에 대해 동적인..
-
-
[Java] Annotation, Reflection, Lombok, Spring BeanProgramming/Java 2024. 3. 14. 13:49
Annotation 어노테이션은 메타데이터(Metadata)라고도 불린다. ● 컴파일러에게 정보 알림 ● 컴파일할 때 설치(deployment)시의 작업을 지정 ● 실행할 때 별도의 처리가 필요 클래스, 메소드, 변수 등 모든 요소에 선언할 수 있다. 어노테이션은 상속이 안된다. 미리 만들어 놓은 어노테이션을 확장하는 것이 불가능하다. 어노테이션에 선언한 값을 확인하기 위해 Reflection을 사용한다. 리플랙션으로 클래스에 부여한 어노테이션 값을 취득할 수 있다. 기본 제공 3가지 JDK6까지는 미리 정해져 있는 어노테이션은 3개이다. 1. @Override 해당 메소드가 부모 클래스에 있는 메소드를 Override했다는 것을 명시적으로 선언. 제대로 Override했는지 확인하는 수단으로도 사용할 ..
-
[Java] Checked, Unchecked ExceptionProgramming/Java 2024. 3. 13. 16:03
자바 실행 시 발생할 수 있는 프로그램 오류를 Error와 Exception두가지로 구분한다. Error 시스템에 비정상적인 상황이 발생했을 경우 발생 메모리 부족(OutOfMemory Error), 스택오버플로우(StackOverflowError)와 같이 복구할 수 없는 것 Exception 프로그램 실행 중 개발자의 실수로 예기치 않은 상황이 발생 컴파일러가 에러처리를 확인하지 않는 RuntimeException클래스들은 unchecked 예외라고 하고, 예외처리를 확인하는 Exception 클래스들은 checked예외라고 한다. Checked Exception 반드시 에러 처리를 해야 한다(try-catch or thorw) Exception클래스의 하위 ● FileNotFoundException ..