springboot 36

220206_스프링입문_웹 개발 개론_URI 설계 패턴_패스트캠퍼스 챌린지 14일차

220206_스프링입문_웹 개발 개론_URI 설계 패턴_패스트캠퍼스 챌린지 14일차 [스프링입문_웹 개발 개론_URI 설계 패턴] 1. URI (Uniform Resource Identifier) : 인터넷에서 특정 자원을 나타내는 주소 값. 해당 값은 유일함(응답은 달라질 수 있음) : 요청 : https://www.fastcampus.co.kr/resource/sample/1 : 응답 : fastcampus.pdf, fastcampus.docx... 2. URL (Uniform Resource Locator) : 인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별하는 주소 : 요청 : https://www.fastcampus.co.kr/fastcampus.pdf URL은 URI의 하위 개념 3..

개발새발/Spring 2022.02.06

220205_스프링입문_웹 개발 개론_REST API_패스트캠퍼스 챌린지 13일차

220205_스프링입문_웹 개발 개론_REST_API_패스트캠퍼스 챌린지 13일차 [스프링입문_웹 개발 개론_REST API] 1. REST - 네트워크 아키텍처 : Representational State Transfer : 자원의 상태 전달 (1) Client, Server : 클라이언트와 서버가 서로 독립적으로 분리 되어 있어야 함 (2) Stateless : 요청에 대해서 클라이언트의 상태를 서버에 저장하지 않음 (3) Cache : 클라이언트는 서버의 응답을 Cache(임시저장) 할 수 있어야 함 : 클라이언트가 Cache를 통해 응답을 재사용 가능해야 하고, 이를 통해 서버의 부하를 낮춤 (4) 계층화Layered System : 서버와 클라이언트 사이에, 방화벽, 게이트웨이, Proxy등 다..

개발새발/Spring 2022.02.05

220204_스프링입문_웹 개발 개론_웹 개발이란_패스트캠퍼스 챌린지 12일차

220204_스프링입문_웹 개발 개론_웹 개발이란_패스트캠퍼스 챌린지 12일차 [스프링입문_웹 개발 개론_웹 개발이란] 1. Web이란 무엇인가 (1) World Wide Web, WWW, W3 : 인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간 (2) Web의 용도 : Web Site : google, naver, daum, facebook등 HTML로 구성된 여러 사이트들 : API(Application Programming Interface)* Web Service : Kakao Open API, Google Open API, Naver Open API등 : User Interface : Chrome, Safari, Explorer, Smart Watch, IP..

개발새발/Spring 2022.02.04

220203_스프링입문_디자인패턴_전략 패턴_패스트캠퍼스 챌린지 11일차

220203_스프링입문_디자인패턴_전략 패턴_패스트캠퍼스 챌린지 11일차 [스프링입문_디자인패턴_전략 패턴] 1. Strategy Pattern 전략 패턴 : 객체지향의 꽃 : 유사한 행위들을 캡슐화 : 객체의 행위를 바꾸고 싶은 경우, 직접 변경하는 것이 아닌 전략만 변경해 유연하게 확장하는 패턴 : SOLID중에서 개방폐쇄원칙(OCP)과 의존역전원칙(DIP)를 따름 : 전략 메서드를 가진 전략 객체 (Normal Strategy, Base64 Strategy) : 전략 객체를 사용하는 컨텍스트(Encoder) : 전략 객체를 생성해 컨텍스트에 주입하는 클라이언트 2. 실습 (1) design 패키지에 strategy 패키지 추가 & EncodingStrategy 인터페이스 추가 (2) 이러한 전략을 ..

개발새발/Spring 2022.02.03

220202_스프링입문_디자인패턴_파사드 패턴_패스트캠퍼스 챌린지 10일차

220202_스프링입문_디자인패턴_파사드 패턴_패스트캠퍼스 챌린지 10일차 [스프링입문_디자인패턴_파사드 패턴] 1. Facade Pattern : 건물의 앞쪽 정면이라는 뜻 : 여러개의 객체와 실제 사용하는 서브 객체의 사이에 복잡한 의존관계가 있을때, 중간에 facade라는 객체의 interface만을 활용해 기능을 사용하는 방식 : 자신이 가지고 있는 각 클래스의 기능을 명확히 알아야 함 2. 실습 (1) com.company.design 패키지에 facade 패키지 추가 & Ftp, Writer, Reader 클래스 추가 (2) facade패턴이 적용되지 않은 형태 먼저 실습 Ftp 클래스 작성 package com.company.design.facade; public class Ftp { //포..

개발새발/Spring 2022.02.02

220201_스프링입문_디자인패턴_옵저버 패턴_패스트캠퍼스 챌린지 09일차

[스프링입문_디자인패턴_옵저버 패턴] 1. Observer pattern : 관찰자 패턴 : 변화가 일어났을 때, 미리 등록 된 다른 클래스에 통보해주는 패턴 : Event Listener에서 해당 패턴이 많이 사용됨 2. 실습 (1) com.company.design 패키지에 observer 패키지 추가 & IButtonListener 인터페이스 추가 package com.company.design.observer; public interface IButtonListener { //클릭시 이벤트를 받는 메소드 void clickEvent(String event); } (2) Button 클래스 생성 package com.company.design.observer; public class Button {..

개발새발/Spring 2022.02.01

220131_스프링입문_디자인패턴_데코레이터패턴_패스트캠퍼스 챌린지 08일차

[스프링입문_디자인패턴_데코레이터패턴] 1. Decorator pattern : 기존 뼈대(클래스)는 유지하되, 이후 필요한 형태로 꾸밀 때 사용 : 확장이 필요한 경우 상속의 대안으로도 활용 : SOLID중에서 개방폐쇄원칙(OCP)과 의존역전원칙(DIP)를 따름 2. 실습 (1) com.company.design 패키지에 decorator 패키지 추가 & 해당 패키지에 ICar 인터페이스 추가 package com.company.design.decorator; public interface ICar { //가격을 리턴하는 getPrice() int getPrice(); //가격을 보여주는 showPrice(); void showPrice(); } (2) ICar를 상속하는 Bmw 클래스 추가 packa..

개발새발/Spring 2022.01.31

220130_스프링입문_디자인패턴_프록시패턴_패스트캠퍼스 챌린지 07일차

[스프링입문_디자인패턴_프록시패턴] 1. Proxy pattern : 대리인이라는 뜻으로써, 뭔가를 대신해서 처리하는 것 : Proxy Class를 통해 대신 전달하는 형태로 설계됨 --> 실제 Client는 Proxy로부터 결과를 받음 : Cache의 기능으로도 활용 가능 : SOLID중에서 개방폐쇄원칙(OCP)과 의존역전원칙(DIP)를 따름 --> Spring에서는 AOP에서 프록시패턴을 사용하여 구현 2. 실습 (1) com.company.design 패키지에 proxy 패키지 추가 (2) proxy 패키지에 Interface로 IBrowser 추가 package com.company.design.proxy; public interface IBrowser { show(); } (3) Html 클래스..

개발새발/Spring 2022.01.30

220129_스프링입문_디자인패턴_어댑터패턴_패스트캠퍼스 챌린지 06일차

[스프링입문_디자인패턴_어댑터패턴] 1. Adapter pattern : 변압기, 변환기 등을 예로 들 수 있음 : 호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용 할 수 있도록 함 : SOLID중에서 개방폐쇄 원칙(OCP)을 따름 2. 실습 (1) design 프로젝트에서 src > com.company.design 우측 클릭 후 new > Package --> adapter 패키지 추가 (2) adapter 패키지에 마우스 우측 클릭 new > Interface 추가 --> Electronic110V 추가 --> 동일하게 Electronic220V 도 추가한다 인터페이스 내부 코드는 다음과 같이 작성한다 package com.company.design.adapter; public interf..

개발새발/Spring 2022.01.29

220129_스프링입문_디자인패턴_싱글톤패턴_패스트캠퍼스 챌린지 06일차

[스프링입문_디자인패턴_싱글톤패턴] 1. Singleton pattern : 어떠한 클래스(객체)가 유일하게 1개만 존재할 때 사용 : 주로 사용하는 곳 --> 서로 자원을 공유하는 경우 : 프린터 등 : 프로그래밍에서는 TCP Socket통신에서 서버와 연결된 connect 객체에 주로 사용 : Spring의 Bean등에서도 주로 사용 -Singleton -instance -singleton() -getInstance() 2. 인텔리제이 실습 _ 따라해보기 (1) New Project > Java , Next 클릭 (2) Create porject from template 체크, Next 클릭 (3) Project name: design Base package: com.company.design Fin..

개발새발/Spring 2022.01.29