분류 전체보기
[TIL] DAY 40
오늘 할 일 강의 듣기 회식 참여 백둥이액션 발표 화이자 백신 맞기 TIL 백둥이 액션 아직 공부를 진행하지 않은 상태에서 각자 발표할 주제를 정했기 때문에 팀원분들이 정해준 주제로 발표를 진행했다. 나는 스프링의 필터와 인터셉터를 주제로 맡아 발표를 진행했다. 조사한 내용은 아래 링크를 통해 확인할 수 있다. https://hidelookit.tistory.com/287 [SpringBoot] 필터(Filter)와 인터셉터(Interceptor) 왜 필터와 인터셉터가 필요한가? 공통업무에 관한 코드를 모든 페이지에 작성하면 중복 코드가 증가하고 서버에 악영향을 끼칠 수 있다. 그래서 공통부분을 따로 빼서 관리하기 위해 필터, 인터 hidelookit.tistory.com 회식 이제 얼마 남지 않은 팀원..
[SpringBoot] 필터(Filter)와 인터셉터(Interceptor)
왜 필터와 인터셉터가 필요한가? 공통업무에 관한 코드를 모든 페이지에 작성하면 중복 코드가 증가하고 서버에 악영향을 끼칠 수 있다. 그래서 공통부분을 따로 빼서 관리하기 위해 필터, 인터셉터, AOP를 사용한다. Spring MVC Life Cyle 필터 필터란? 클라이언트 요청이 서블릿으로 가기 전에 먼저 처리할 수 있도록 톰캣(WAS)에서 지원해주는 기능 사용자 요청을 검증하고 필요에 따라 데이터를 추가하거나 변조하는 것 Servlet실행 여부를 결정할 수도 있다. 필터의 역할 DispatcherServlet 이전에 실행되어 요청 내용을 변경하거나, 여러 가지 체크를 수행한다. 스프링 컨테이너에 존재하는 빈들을 사용할 수 없어 비즈니스 로직과 연관된 작업을 수행할 수 없다. Filter 인터페이스를 ..
[Java] 디미터의 원칙
디미터의 원칙이란? 특정 객체가 다른 객체의 정보를 너무 많이 알다 보면 결합도가 높아지면서 문제를 야기한다. 이러한 문제를 개선하기 위해 객체에게 자료를 숨기는 대신 함수를 공개하는 것을 디미터의 원칙이다. 본인이 아니라 협력하는 객체의 내부 구조에 대해 알다보면 결합도가 생기는데, 이때 강하게 결합되지 않도록 협력 경로를 제한하는 원칙이다. 즉, 자기 소유의 장난감, 자기가 만든 장난감, 그리고 누군가 자기에게 준 장난감하고만 놀 수 있다. 하지만 절대 장난감의 장난감과 놀면 안 된다. 객체 지향 생활체조 원칙의 한줄에 점을 한 개만 찍는다. 원칙으로도 불리운다. 디미터의 원칙을 지키지 않는 경우 더 자세히 살펴보자. 보통 getter()를 사용해서 다른 객체의 값을 많이 가져오는데, 본인을 제외한 ..
[TIL] DAY 39
오늘 할 일 강의 듣기 과제 리뷰 반영하기 라이브 코딩 참여하기 TIL 과제 리뷰 1. 생각보다 사용하지 않는 필드나 메소드가 많았다. 아마, 제출 이전에 사용하다가 코드를 수정하는 과정에서 생기는 상황 같은데 Save Action 플러그인을 사용해서 자동 삭제시켜주고 제출 전에 한번 더 확인이 필요하다. 2. 리팩토링.. 코드 양은 별거 안되지만 수정할 수 있는 부분이 이리 많은지 몰랐다. 기능만 동작하면 만족했던 이전 상황 때문에 어렵지만 조금만 더 생각을 하는 습관을 기를 필요가 있다. 3. 동일한 동작을 하는 코드지만, 어떤 형식으로 작성하느냐에 따라서 가독성이 달라질 수 있다는 것을 알게 되었다. 라이브 코딩 계산기 만들기(이전에 어느정도 기능이 동작하도록 만들어져 어쩌다 보니 페어 프로그래밍으..
[TIL] DAY 38
오늘 할 일 강의 듣기 1일 1 알고리즘 풀기 과제 리뷰 반영하기 TIL 아직 정확하게 이해가 되지 않았지만, 강의를 통해 배운 REST API에 관한 지식을 얕게나마 정리하겠다. API 애플리케이션과 운영체제 그리고 애플리케이션과 프로그래밍 언어가 제공하는 기능 사이의 '상호 작용'을 도와주는 인터페이스. 출처) https://velog.io/@taeha7b/api-restapi-restfulapi REST 소프트웨어 아키텍처의 한 형식으로 웹 상의 자료를 HTTP 위에서 별도의 전송 계층 없이 전송하기 위한 간단한 인터페이스. REST 아키텍처 스타일 클라이언트와 서버를 분리해 클라이언트의 이식성과 서버의 규모확장성을 개선한다. 클라이언트-서버간 통신에 상태가 없어 규모확장성이 개선되고, 신뢰성을 높..
[TIL] DAY 37
오늘 할 일 강의 듣기 1일 1 알고리즘 풀기 과제 리뷰 반영하기(아직 리뷰가 달리지 않았다.) 팀 면담 TIL 1. DispatcherServlet Servlet 내부에 존재하는 메소드로 요청에 필요한 컨트롤러를 결정한다. 동작 순서 DispatcherServlet이 클라이언트로부터 요청을 받으면, 이를 요청할 핸들러 이름을 알기 위해 핸들러 맵핑에게 물어본다. 핸들러 맵핑은 요청 url을 보고 핸들러 이름을 디스패처 서블릿에게 알려준다. 이때, 핸들러를 실행하기 전/후에 처리할 것들을 인터셉터로 만든다. DispatcherServlet은 해당 핸들러에게 제어권을 넘겨주고, 이 핸들러는 응답에 필요한 서비스를 호출하고 렌더링해야 하는 뷰 이름을 판단해 디스패처 서블릿에게 전송한다. DispatcherS..
[TIL] DAY 36
오늘 할 일 강의 듣기 1일 1 알고리즘 풀기 과제 리뷰 반영하기(아직 리뷰가 달리지 않았다.) TIL 1. 웹 서버 vs 웹 애플리케이션 서버(WAS) (1) 웹 서버 정적 리소스를 지원하기 위해 만들어진 서버다. 동적 콘텐츠를 지원하지 않는다. (2) 웹 애플리케이션 서버(WAS) 정적 리소스를 지원하는 웹 서버와 다르게 동적 콘텐츠를 지원하기 위해 생겨났다. 보통 사용자들이 사용하는 쇼핑몰 등등의 사이트는 대부분 WAS로 만들어져 있다. DB 조회, 수정 등의 작업과 서버단에서 사용하는 비즈니스 로직을 처리할 수 있다. 추가로 웹 서버의 역할도 담당할 수 있다. 2. Servlet 클라이언트가 어떠한 요청을 보내면 이것을 받아 해당 요청에 필요한 서비스를 호출할 수 있다. 서비스에서 요청에 따른 데..
[TIL] DAY 34 & 35
주말 할 일 잠 많이 자기 강의 듣기 1일 1 알고리즘 풀기 TIL 웹 프로토콜 웹에는 많은 리소스가 퍼져있는데 HTTP, URI, HTML 이 3가지를 사용해 웹 기술을 사용할 수 있는 근간이 된다. (1) URI(Uniform Resource Identifier) 리소스를 식별하기 위한 자원 식별자로 웹에 존재하는 자원에 접근하기 위해 꼭 필요한 식별자다. 특정 문법을 따르고 있는데, 인터넷을 사용해본 사람이라면 금방 이해할 수 있다. http://hide:pass@org.package.com:8080/search?q=test&debug=true URI Scheme : http 사용자 : hide:pass 호스트명 : org.package.com 포트번호 : 8080 path : /saerch 쿼리 ..