https://www.youtube.com/watch?v=TemwmiYXaVs 짧은 요약! 1. 기능 개발은 물론! but 문제해결 역량을 위한 프로젝트를 만들자 2. 협업/소통도 실력이다! # 우형 자소서 템플릿 https://drive.google.com/file/d/11mrlX4oEqgEKV3ImPqDL2jvgbn6xap3y/view 경력기술서 보완서류_2021.docx drive.google.com # 우형 번쩍 지원 https://docs.google.com/forms/d/e/1FAIpQLSfsbX68wUHS_3wvlA6l83ZbNH44EDaDVT1rnqV9P4fd3YFxGA/viewform 💌 2021 우아한형제들 채용, 다 때가 있다! 안녕하세요. 우아한형제들(배달의민족) 인재영입팀 입니다...
Q. 상황 인터셉터를 설정 클래스에서 url 형식으로 적용 메소드를 지정하는 것이 아닌 Custom Annotation 기반으로 원하는 메소드에 지정하여 가독성을 높이고자 하였습니다. 하지만 @Retention / @Documented / @Target의 기능을 제대로 이해하지 못하여 오류속에서 헤매고 있어 3개의 기능에 대해 알아보고자 하였습니다. Q. 질문 @Retention / @Documented / @Target 은 어떤 역할을 할까? A. 답변 meta-annotaiton ? meta-annotation 은 다른 annation 에서도 사용되는 annotation 의 경우를 말하며 custom-annotation 을 생성할 때 주로 사용됩니다. @Retention 어노테이션으로 어느 시점까지 ..
Q. 질문 Spring의 웹 3계층을 공부하며 DAO가 Repository계층에 속한다는 블로그의 글을 본적이 있다. 정말 DAO와 Repository는 같을까? A. 설명 Dao와 Repository의 차이점을 이해하기위해 필요한 선행지식은 다음과 같다. 더보기 1. 객체지향 2. DAO 3. DDD 4. 기본적인 웹 설계 구조 DAO가 만들어진 목적을 이해하기 위해서는 객체지향적 설계법이 대한 지식이 수반되어야 한다. 또한 Repository를 이해하기 위해서는 DDD를 알아야 한다. 왜냐하면 DDD에서 Repository라는 개념이 튀어나왔기 때문이다. 실제로 스프링 프레임워크의 @Repository 어노테이션을 들어가서 보면 다음과 같이 명시되어 있다. 더보기 Indicates that an an..
Q. 질문 Spring의 웹 3계층을 공부하며 DAO가 Repository계층에 속한다는 블로그의 글을 본적이 있다. DAO / Mapper / Repository는 각각 어떤 차이점이 있을까? A. 답변 흔히 스프링 프로젝트의 구조는 2가지로 나뉜다고 한다. 1) Controller.java - Service.java - DAO.java - Mapper.xml 1)구조에서 DAO.java는 인터페이스와 클래스의 결합된 형태이다. 2) Controller.java - Service.java - Mapper.java - Mapper.xml 2)의 구조에서 Mapper.java는 단순 인터페이스이다. 1. DAO란? Data Access Object의 약어로 실질적으로 DB에 접근하여 데이터를 조회하거나 조..
Q. 궁금점 (상황) 로그인 기능을 세션으로 구현하였습니다. 사용자가 로그인 후 개인정보 수정 혹은 주문목록으로 세션을 가지고 있는 사용자만 접근이 가능하고자 할때, 저희는 로그인 인증을 "AOP/필터/인터셉터"로 가능합니다. 즉, 공통 관심사는 중복을 발생할 수 있기 때문에 "AOP/필터/인터셉터"를 이용하여 처리하며 각각의 장단점을 알아보고자 합니다. Q. 질문 "AOP/필터/인터셉터"는 어떤 차이가 있으며 무엇을 사용하는 것이 좋을까? A. 답변 A1) AOP 장점1) 인터셉터와 필터와 달리 메소드 전후의 지점을 자유롭게 설정가능하며, 인터셉터와 필터가 주소로 밖에 걸러낼 대상을 구분 할수 없는 것에 비해서 AOP는 주소, 파라미터, 어노테이션등 다양한 방법으로 대상을 지정할 수 있다. 장점2) 인..
이번에는 servlet의 심화 또는 대표주자인 dispatcher-servlet에 대해서 알아보도록 하겠습니다. 1. Dispatcher-Servlet(Dispatcher 서블릿)의 개념 dispatcher-servlet에서 dispatch는 보내다라는 뜻을 가지고 있다고 합니다~ 이해에 도움이 될 것 같군요! 더보기 Servlet Container에서 HTTP프로토콜을 통해 들어오는 모든 요청을 프레젠테이션 계층의 제일앞에 둬서 중앙집중식으로 처리해주는 프론트 컨트롤러(Front Controller) 이것을 설명해주자면, 클라이언트로부터 어떠한 요청이 오면 Tomcat(톰캣)과 같은 서블릿컨테이너가 요청을 받는데, 이때 제일 앞에서 서버로 들어오는 모든 요청을 처리하는 *프론트 컨트롤러를 Spring에..
기존의 Spring MVC에서는 xml을 활용하여 Bean을 등록하고 있었다. 하지만 프로젝트의 규모가 커짐에 따라 사용하는 요소들을 xml에 등록하는 것이 상당히 번거로워 져서 어노테이션(Annotation, @)를 활용한 Bean 등록 방법이 탄생하게 되었다. 이번에는 Spring에서 Bean을 등록하기 위해 활용가능한 @Bean, @Component, @Configuration 어노테이션에 대해서 알아보도록 하겠다. 1. Spring Bean이란? [ Spring Bean 이란? ] Spring에서는 Spring의 DI Container에 의해 관리되는 POJO(Plain Old Java Object)를 Bean이라고 부르며, 이러한 Bean들은 Spring을 구성하는 핵심 요소이다. Spring의..
1. 빈 스코프(Bean Scope)의 종류 Spring의 Bean은 별다른 설정이 없으면 Singleton Scope로 생성된다. 특정 타입의 Bean을 하나만 만들어 두고 공유해서 사용하기 위해서인데, 이러한 까닭에 Bean에 상태를 저장하는 코드를 작성하는 것은 동시성 문제를 유별하여 위험한 상황을 초래할 수 있다. 하지만 요구사항과 구현 기능 등의 필요에 따라서 비싱글톤이 필요한 경우도 많다. 그리고 이를 명시적으로 구분하기 위해서 scope라는 키워드를 제공한다. Spring 에는 다음과 같은 Scope들이 존재한다. [ Scope의 종류 ] 싱글톤 Spring 프레임워크에서 기본이 되는 스코프 스프링 컨테이너의 시작과 종료까지 1개의 객체로 유지됨 프로토타입 프로토타입 빈의 생성과 의존관계 주..