본문 바로가기

개발30

[Java] [이펙티브 자바][01] 생성자 대신 정적 팩토리 메서드를 고려하라 정적 팩토리 메서드 사용의 장점 5가지 이름을 가질 수 있다 이름만 잘 지으면 반환될 객체의 특성을 쉽게 묘사할 수 있다. (ex: BigInteger.probablePrime = 값이 소수인 BigInteger를 반환한다.) 호출될 때 마닥 인스턴스를 새로 생성하지 않아도 된다. 같은 객체가 자주 요청되는 상황이라면 성능을 상당히 끌어올려 준다. 반환 타입의 하위 타입 객체를 반환할 수 있는 능력이 있다. 반환할 객체의 클래스를 자유롭게 선택할 수 있는 유연성 입력 매개변수에 따라 매번 다른 클래스의 객체를 반환 할 수 있다. 반환 타입의 하위 타입이기만 하면 어떤 클래스의 객체를 반환하든 상관없다. 정적 팩토리 메서드를 작성하는 시멎ㅁ에는 반환할 객체의 클래스가 존재하지 않아도 된다. 서비스 제공자 .. 2022. 12. 27.
[Spring] 스프링03 1. MVC 패턴 Model, View, Controller의 합성어로 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴 Model : 백그라운드에서 동작하는 로직을 처리 View : 사용자가 보게 될 결과 화면을 출력 Controller : 사용자의 입력처리와 흐름 제어 MVC 모델 1 비즈니스 로직 영역(Controller)에 프레젠테이션 영역(View)을 같이 구현하는 방식이다. 사용자의 요청을 JSP가 전부 다 처리한다. 빠르고 쉽게 개발할 수 있는 장점 JSP파일 자체가 너무 비대해지고, Controller와 View가 혼재하므로 유지보수에 어려움을 겪을 수 있는 단점 MVC 모델 2 비즈니스 로직 영역과 프레젠테이션 영역이 분리되어 있는 구현 방식 사용자의 요청을 Servlet이 받고 그 요.. 2022. 12. 27.
[Spring] 스프링 02 1. Servlet과 JSP 1)Servlet이란? 자바를 사용하여 웹을 만들기 위해 필요한 기술 웹프로그래밍에서 클라이언트의 요청을 처리하고 그 결과를 다시 클라이언트에게 전송하는 Servlet 클래스의 구현 규칙을 지킨 자바 프로그래밍 기술 자바로 구현된 CGI이다. ※CGI(Common Gateway interface) 별도로 제작된 웹서버와 프로그램간의 교환방식. 어떠한 프로그래밍 언어로도 구현이 가능하고 별도로 만들어 놓은 프로그램에 HTML의 Get or Post 방법으로 클라이언트의 데이터를 환경변수로 전달하고, 프로그램의 표준 출력 결과를 클라이언트에게 전송하는 것입니다. 2)Servlet의 특징 클라이언트의 요청에 대해 동적으로 작동하는 웹 어플리케이션 컴포넌트 HTML을 사용하여 요청에.. 2022. 12. 27.
[Spring] 스프링 2. Spring 기본 (1) 들어가기에 앞서 Web Server와 WAS의 차이 (참고자료) Web Server 정적인 리소스(html,css,js)를 제공하는 서버 종류 : Apache, IIS, NginX Web Application Server Web Server + Web Container (Servlet Container) 동적인 리소스(DB조회, 로직처리)를 제공하는 서버 비즈니스 로직 수행 JBOSS, Tomcat, Jeus, Jetty 분리하는 이유? WAS는 복잡한 로직처리를 하고 단순한 정적 컨텐츠는 웹 서버에게 맡기며 기능을 분리시켜 서버 부하를 방지한다.만약 WAS가 정적 컨텐츠 요청까지 처리하면, 부하가 커지고 동적 컨텐츠 처리가 지연되면서 수행 속도가 느려지고 이로 인해 페이지.. 2022. 12. 27.