java 40

220210_스프링입문_스프링 부트 시작하기_GET API(1)_패스트캠퍼스 챌린지 18일차

220210_스프링입문_스프링 부트 시작하기_GET API(1)_패스트캠퍼스 챌린지 18일차 [스프링입문_스프링 부트 시작하기_GET API(1)] 1. 메소드의 특성 의미 CRUD 멱등성 안정성 Path Variable Query Parameter DataBody GET 리소스 취득 R O O O O X POST 리소스 생성,추가 C X X O △ O PUT 리소스 갱신, 생성 C / U O X O △ O DELETE 리소스 삭제 D O X O O X HEAD 헤더 데이터 취득 - O O - - - OPTIONS 지원하는 메소드 취득 - O - - - - TRACE 요청메시지 반환 - O - - - - CONNECT 프록시 동작의 터널 접속으로 변경 - X - - - - 2. 실습 (1) control..

개발새발/Spring 2022.02.10

220209_스프링입문_스프링 부트 시작하기_Hello World API를 만들어보자_패스트캠퍼스 챌린지 17일차

220208_스프링입문_스프링 부트 시작하기_Hello World API를 만들어보자_패스트캠퍼스 챌린지 17일차 [스프링입문_스프링 부트 시작하기_Hello World API를 만들어보자] 1. REST Client 설치하기 (1) 크롬 웹스토어 접속 https://chrome.google.com/webstore/category/extensions?hl=ko Chrome 웹 스토어 Chrome에 사용할 유용한 앱, 게임, 확장 프로그램 및 테마를 찾아보세요. chrome.google.com (2) rest api client 검색 --> 확장프로그램 더 보기 클릭 (3) Talend API Tester - Free Edition --> Chrome에 추가 --> GET, POST, PUT, DELETE..

개발새발/Spring 2022.02.09

220208_스프링입문_스프링 부트 시작하기_스프링 부트란_패스트캠퍼스 챌린지 16일차

220208_스프링입문_스프링 부트 시작하기_스프링 부트란_패스트캠퍼스 챌린지 16일차 [스프링입문_스프링 부트 시작하기_스프링 부트란] 1. Spring Boot : 단순히 실행되며, 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있다. : Spring Boot 어플리케이션에는 Spring 구성이 거의 필요치 않다 : java -jar 로 실행하는 Java 어플리케이션을 만들 수 있다 [목표] : Spring 개발에 대해 빠르고, 광범위하게 적용할 수 있는 환경 : 기본값 설정이 있지만, 설정을 바꿀 수 있다 : 대규모 프로젝트에 공통적인 비 기능 제공(보안,모니터링 등등) : XML 구성 요구사항이 전혀 없음 2. Build Tool Name version Maven 3.3+ Grad..

개발새발/Spring 2022.02.08

220207_스프링입문_웹 개발 개론_HTTP Portocol_패스트캠퍼스 챌린지 15일차

220207_스프링입문_웹 개발 개론_HTTP Portocol_패스트캠퍼스 챌린지 15일차 [스프링입문_웹 개발 개론_HTTP Portocol] 1. HTTP (Hyper Text Transfer Protocol) (1) RFC2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜 (2) 이름은 하이퍼텍스트 전송용 프로토콜이지만 다양한 컴퓨터에서 다룰 수 있는 것은 모두 전송 가능 ex) HTML, XML, JSON, Image, Voice, Video, Javascript, PDF 등 (3) HTTP는 TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web기반의 프로토콜 (4) HTTP는 메시지를 주고(Request) 받는(Response) 형태의 통신 방법 ex) Client Serve..

개발새발/Spring 2022.02.07

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