전체 글
-
Spring Boot - FilterFramework & Library/Spring Boot 2021. 11. 28. 15:12
Filter의 정의 Filter란? - 필터는 스프링의 독자적인 기능이 아닌 자바 서블릿에서 제공하는 기능이다. - 스프링 프레임워크에서 필터를 통해 인증 등 다양한 작업을 수행할 수 있다. Filter의 동작 - 위 사진은 스프링 프레임워크에서 요청에 대한 생명 주기를 나타낸 그림이다. - 스프링 프레임워크는 들어온 요청이 DispatcherServlet에 의해 컨트롤러에 매핑된다. - 필터는 요청이 DispatcherServlet에 의해 다루어지기 전, 후에 동작한다. - 또한, 필터는 위 사진과 같이 필터 체인을 통해서 여러 필터가 연쇄적으로 동작하게 할 수 있다. Filter의 용도 - 필터는 주로 요청에 대한 인증, 권한 체크 등을 하는 데 사용된다. - 구체적으로, 들어온 요청이 Dispatc..
-
Java - 가비지 컬렉션(Garbage Collection)Language/Java 2021. 11. 15. 16:34
Garbage Collection Garbage Collection의 개념 Garbage Collection은 메모리 관리 기법 중 하나로, 동적으로 할당했던 메모리 영역 중 필요 없게 된 영역을 해제하는 기능이다. 여기서 동적으로 할당했던 메모리 영역은 프로그램 런타임에서 사용되는 Heap 영역을 의미하며, 필요 없게 된 영역은 어떠한 변수도 가리키지 않게 된 영역을 의미한다. Person person = new Person(); person.setName("홍길동"); person = null; person = new Person(); person.setName("이순신"); person 변수는 기존의 "홍길동" 이름이 붙은 Person 객체가 존재하는 메모리 영역을 가리키고 있었으나, 나중에 "이순..
-
Java - 자바 가상 머신(Java Virtual Machine)Language/Java 2021. 11. 9. 22:39
자바 가상 머신 자바 가상 머신이란? - 개발자들이 말하는 JVM은 보통 어떤 기기상에서 실행되고 있는 프로세스, 특히 Java 앱에 대한 리소스를 대표하고 통제하는 서버를 지칭한다. - 시스템 메모리를 관리하면서, Java 기반 앱을 위해 이식 가능한 환경을 제공해 준다. - Java와 운영체제 사이에서 중개자 역할을 수행하여 운영체제에 구애받지 않고 재사용을 가능하게 해 준다. 자바 가상 머신의 기능 - Java 프로그램이 어느 기기나 운영체제 상에서도 실행될 수 있도록 한다. - 프로그램 메모리를 관리하고 최적화한다. JVM에서의 메모리 관리 실행 과정 1. 프로그램이 실행되면, JVM은 OS로부터 프로그램이 필요로 하는 메모리를 할당받고, 할당받은 메모리를 용도에 따라 여러 영역으로 나누어 관리한..
-
Board - Interceptor, AOP, TransactionProjects/Problem & Solution 2021. 11. 6. 19:50
Interceptor 적용 인터셉터(Intterceptor)란? 인터셉터는 컨트롤러의 URI에 접근하는 과정에서 무언가를 제어할 필요가 있을 때 사용된다. 예를 들어, 회원제로 이루어지는 시스템이 있다고 가정했을 때, 로그인이나 계정의 권한과 관련된 처리 등을 인터셉터를 이용해서 더욱 효율적으로 처리가 가능하다. 1. LoggerInterceptor 클래스 생성 @Slf4j public class LoggerInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exceptio..
-
Java - 컴파일 과정Language/Java 2021. 10. 29. 21:09
개요 Java란? - 프로그래밍 언어 - 컴퓨터 프로그램(애플리케이션)을 만드는 데 사용 - 실행환경(JRE) + 실행 도구(JDK) + 라이브러리(API)로 구성 - 쉽고 빠르게 애플리케이션 개발 가능 ※ 실행환경(JRE) : 클래스 라이브러리 등 특정 Java 프로그램이 실행할 수 있는 환경을 제공 ※ 실행 도구(JDK) : Java를 사용하기 위해 필요한 모든 기능을 갖춘 자바용 SDK ※ 라이브러리(API) : 프로그램을 개발하는데 필요한 기능들을 미리 만들어 놓은 것 Java의 탄생 배경 - Java는 썬 마이크로시스템즈의 제임스 고슬링이라는 사람과 다른 연구원들이 개발한 프로그래밍 언어로써, 1991년 그린 프로젝트라는 이름으로 시작해 1995년에 발표가 되었다. - 제임스 고슬링은 가전제품 ..
-
Web - Native App & Web App & Hybrid AppWeb/Web 2021. 10. 21. 22:32
Native App Native App이란? ㆍ 흔히 우리가 자주 사용하는 애플리케이션을 의미한다. ㆍ 모바일 기기에 최적화된 언어로 개발된 앱으로 안드로이드 SDK를 이용한 Java 언어나 iOS 기반 SDK를 이용한 Switf 언어로 만든 앱이 Native App에 속한다. 장점 ㆍ 성능이 Web App, Hybrid App에 비해 가장 높다. ㆍ Native API를 호출하여 사용함으로 플랫폼과 밀착되어 있다. ㆍ Java나 Swift에 익숙한 사용자면 쉽게 접근이 가능하다. 단점 ㆍ 플랫폼에 한정적이다. ㆍ 언어에 제약적이다. Mobile Web App Mobile Web App이란? ㆍ Mobile Web App + Native App을 결합한 형태이다. ㆍ Mobile Web의 특징을 가지면서..