Spring (14) 썸네일형 리스트형 6. 스프링 Servlet 책참고하여 정리하였습니다. 초기의 웹 서버는 클라이언트의 요청에 대해서 정적인 페이지로만 응답할 수 있었다. 하지만 사용자가 늘어나고 기능도 많아지게 되면서 사용자는 자신이 필요로 하는 정보를 받기를 원하게 되었다. 따라서 사용자가 원하는 정보를 포함한 동적인 페이지를 제공하기 위해 만들어진 프로그램이 Servlet이다. Web Server VS WAS Web Server 웹 브라우저의 클라이언트로부터 HTTP 요청을 받아 정적인 컨텐츠를 제공(HTML, CSS, 사진) →Web Server선에서 처리 클라이언트가 동적인 컨텐츠 제공을 요청하면 WAS에게 그 요청을 전달한다. WAS에서 처리한 결과를 클라이언트에게 응답한다. Apache, Nginx WAS(Web Application Server) 동적.. 5. 스프링 AOP 책, 유튜브 김영한님의 AOP적용을 참고하여 정리하였습니다. AOP(Aspect Oriented Programming) 관점 지향 프로그래밍 여러 객체에 공통으로 적용할 수 있는 기능을 분리해서 재사용성을 높여주는 프로그래밍 기법 AOP는 핵심 기능과 공통 기능의 구현을 분리함으로써 핵심 기능을 구현한 코드를 수정하지 않고 공통기능을 적용할 수 있게 만들어준다. AOP 어떻게 쓰일까? 좋은 코드를 짜기 위해 로직에 맞게 하나의 함수에 하나의 핵심 기능만 갖는 것을 지향한다. 추가적인 기능이 들어가거나 부가 기능을 넣는다면 기능 자체가 모호해지고 다른 곳에서 쓰기도 애매해진다. 그리고 유지보수의 어려움도 있다. AOP는 관점지향 프로그래밍의 줄임말이다(기능, 관심이라 이해하는 것이 좋음). 여기서 말하는 .. 4. 람다함수의 개념 이해하기 + 스트림 fastcampus 사이트의 'Java 웹 개발 마스터' ,유튜브 '어라운드 허브 스튜디오 - 람다함수'를 보고 공부 목적으로 정리 하였습니다. ▶ 람다함수란 프로그래밍 언어에서 사용되는 개념으로 익명함수(Anonymous Function)를 지칭하는 용어로 함수를 변수처럼 사용합니다. 따라서 클래스를 생성하지 않고 함수의 호출만으로 기능을 수행할 수 있습니다. 람다함수를 사용하는 것은 함수형 프로그래밍이라고 이야기합니다. 함수형 인터페이스를 선언하고 메소드를 구체화하여 사용합니다. - JAVA 8버전 이상부터 지원 ▶ 함수형 프로그래밍이란 람다함수는 추가 클래스를 생성하지 않고 함수의 호출만으로 기능을 수행하는 방식입니다. 순수함수를 구현하고 호출 → 부작용(sside-effect)가 없는 함수, 함수.. 3. 템플릿 메소드 패턴 VS 전략패턴 코딩을 하다 보면 주먹구구식으로 코드를 칠 때가 많았습니다. 예로 if-else문과 try/catch문 이 있습니다. 코드가 비슷한 부분이 있다면 Copy & Paste로 작성을 하기도 하고 여러 변수를 써가며 메모리를 낭비하기도 했습니다. 하지만 코드의 양이 증가함에 따라 복잡해지고, 오류도 많아지고 실수할 가능성도 높아졌죠. 이러한 문제를 지양하기 위해 SOLID 원칙 중 하나인 OCP 원칙을 적용한 템플릿 메소드 패턴과 전략 패턴에 대해 알아보려고 합니다. ▷ if - else문의 문제점 메소드의 변경, 확장이 될수록 코드의 복잡성 증가 복잡해질수록 오류 발생 원인 파악의 어려움 실수할 가능성 증가 → 유지보수의 어려움이 있다. SOLID (객체 지향 설계) - 위키백과, 우리 모두의 백과사전 ko.. 2. 토비 Chapter 4.템플릿 내용 정리 템플릿 : 일정한 패턴으로 유지되는 특성을 가진 부분을 자유롭게 변경되는 성질을 가진 부분으로부터 독립시켜서 효과적으로 활용할 수 있도록 하는 방법 변하지 않는 부분은 슈퍼 클래스에 두고 변하는 부분은 추상 메소드로 정의해둬서서브클래스에서 오버라이드하여 새롭게 정의해 쓰도록 하는 것 풀(Pool) 방식 : 미리 정해진 풀 안에 제한된 수의 리소스를 만들어 두고 필요할 때 이를 할당하고, 반환하면 다시 풀에 넣는 방식 템플릿 메소드 패턴으로의 접근 제한 DAO 로직마다 상속을 통해 새로운 클래스를 만들어야 한다는 점 확장구조가 이미 클래스를 설계하는 시점에서 고정되어 버린다는 점 전략패턴 :OCP관점에 보면 확장에 해당하는 변하는 부분을 별도의 클래스로 만들어 추상화된 인터페이스를 통해 위임하는 방식 중첩.. 1. Spring annotation fastcampus 사이트의 'Java 웹 개발 마스터 올인원 패키지' 를 수강하며 공부 목적으로 작성하는 글입니다. Controller 주소 관련 Annotation annotation 의미 @Autowired Spring Boot가 관리하는 Bean을 주입 받기 위한 설정 @RestController 적용된 Class가 REST API로 동작하도록 설정 @Controller 적용된 Class가 View(html)를 내리도록 설정 @RequestMapping 외부에 주소를 노출하는 설정 - @RestController, @Controller, @HTTP GET, POST, PUT, DELETE 등 적용가능. - method를 지정하지 않으면 전부 동작 @GetMapping RequestMapping m.. 이전 1 2 다음