본문 바로가기

전체 글130

스프링 1-2. REST Client 시작 1. 개요 인텔리제이에서 New Project 클릭하고, Spring Initializr 선택해서 원하는 대로 설정하면 된다. 필자는 Java, Gradle, Jar 패키징, Java버전 11로 설정했다. 다음 화면에서 Web에서 Spring Web을 선택하면 된다. 2. 사용법 우선 Spring은 기본적으로 tomcat 8080 포트를 사용한다. 다른 어플에서 8080포트를 사용하고 있다면 resource/main/resources 파일에 들어가서 port 라고 치고 기다리면 server.port가 뜬다. 여기서 설정을 다른 포트로 바꾸면 바꾼 포트로 열린다. 스프링에서 요청을 받는 부분을 controller 라고 한다. 실행 파일의 상위 폴더인 com.example.프로젝트이름 폴더 하위에 contr.. 2022. 3. 15.
스프링 1-1. Spring Boot 개요 Spring Boot는 제품수준의 스프링 기반을 쉽게 만들 수 있게 하는 개발 툴이다. Spring Boot를 통해 java -jar 로 실행하는 java 어플을 만들 수 있다. 특정으로는 어플 개발에 필수 요소들이 모여있다. 간단하고 빠르게 어플 실행 및 배포 가능 (jar 파일로 어플 실행) 대규모 프로젝트에 공통적인 비기능 제공 (보안, 모니터링 등) Spring에서 귀찮고 불편한 설정들이 없어졌다. (XML 설정 등) 오랜 경험에서 나오는 안정적인 운영 (Spring 자체가 역사가 엄청 김) Spring Boot를 사용하기에 적합한 IDE는 인텔리제이 다. 학생이면 공짜로 쓸 수 있으니 확인해보고 쓰자 2022. 3. 15.
디자인 패턴 7. 전략 패턴 (Strategy Pattern) 1. 개요 전략 패턴은 객체지향의 꽃이라 할 수 있다. 유사한 행위들을 캡슐화하여, 객체의 행위를 바꾸고 싶은 경우, 직접 변경이 아닌, 전략만 변경하여 유연하게 확장하는 SOLID중 개방폐쇄 원칙(OCP), 의존역전 원칙(DIP)을 따르는 패턴이다. 3가지 필수 요소가 있다. 1. 전략 메소드를 가진 전략 객체 (인코딩의 경우 "그냥", "Base64", "사용자 설정" 등) 2. 전략 객체를 사용하는 컨텍스트 (인코딩의 경우 "Encoder") 3. 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트 (Main) 인코딩의 경우 Base64, 32, 해시코드, 암호화 등 여러가지 전략이 있다. 인코더 객체 자체는 변하지 않고 전략 주입에 따라 결과가 달라지게 하는 것이다. 이런 디자인 패턴을 알고 있으면.. 2022. 3. 12.
디자인 패턴 6. 파사드 패턴 (Facade Pattern) 1. 개요 Facade는 건물의 앞쪽 정면이라는 뜻을 가진다. 여러개의 객체와 실제 사용하는 서브 객체의 사이에 복잡한 의존관계가 있을 때, 중간에 facade라는 객체를 두고, 여기서 제공하는 인터페이스만을 활용하여 기능을 사용하는 방식이다. 그러므로 Facade는 자신이 가지고 있는 각 클래스의 기능을 명확히 알고 있어야 한다. 2. 코드 우선 파사드 패턴 없이 사용하는 방식이다. package com.company.design.facade; public class Ftp { private String host; private int port; private String path; public Ftp(String host, int port, String path) { this.host = host; .. 2022. 3. 12.