-
[스프링 인 액션] Chapter 7 - REST 서비스 사용하기 :: RestTemplate으로 REST 엔드포인트 사용하기개발서적읽기/Spring in Action 제 5판 2020. 8. 25. 13:03
이번 장에서는 REST API 클라이언트를 작성하고 사용하는 방법을 알아본다. 그리고 REST API 클라이언트가 추가된 타코 클라우드 애플리케이션을 빌드하고 실행해 볼 것이다. 스프링 애플리케이션은 다음과 같은 방법을 사용해서 REST API를 사용할 수 있다. RestTemplate 스프링에서 제공하는 간단하고 동기화된 REST 클라이언트 Traverson 스프링 HATEOAS에서 제공하는 하이퍼링크를 인식하는 동기화 REST 클라이언트로, 같은 이름의 자바스크립트 라이브러리로부터 비롯됨 WebClient 스프링 5에서 소개된 반응형 비동기 REST 클라이언트 WebClient는 11장 스프링 반응형 웹 프레임워크에서 알아볼 것이다. 지금은 나머지 두 개의 REST 클라이언트부터 알아볼 것이다. 우선..
-
MAC 유용 팁Tool Tip/MAC 2020. 8. 22. 17:47
■단축키 목록 ( : 사용 빈도 수) 단축키 설명 사용 빈도 cmd + opt + V 잘라내기(복사 + 삭제) cmd + K 잘라내기(이미지) cmd + Q 현재 창 닫기 cmd + W 현재 탭 닫기 cmd + H 활성화된 모든 창 내리기 cmd + tab 활성화됐었던 모든 창 올리기 단축키 설명 사용 빈도 f4 launchpad 실행 ■트랙패드 제스쳐 - 손가락 4개 올리기(미션컨트롤) : launchpad 실행 ■유용한 설정 - 시스템 환경설정 > Mission Control > 핫 코너 설정 - 손쉬운 사용 > 디스플레이 > 커서 ■기타 - 파일을 한번 클릭 한 후, 스페이스바를 누르면 미리보기 가능(떼면 바로 종료!) 미리보기가 켜지면 방향키로 다른 파일의 미리보기로 이동할 수도 있음
-
[이펙티브 자바] item 45 - 스트림은 주의해서 사용하라개발서적읽기/Effective Java - temp 2020. 8. 21. 12:34
■스트림 API의 등장 스트림 API는 다량의 데이터 처리 작업(순차적 혹은 병렬적)을 효율적으로 처리하기 위해 자바 8에 추가되었다. 스트림 API의 핵심은 두가지다. 1. 스트림(stream)은 데이터 원소의 유한 혹은 무한 시퀀스를 뜻한다. 2. 스트림 파이프라인(stream pipeline)은 이 원소들로 수행하는 연산 단계를 표현하는 개념이다. 스트림의 원소들은 컬렉션, 배열, 파일, 정규표현식 패턴 매처, 난수 생성기, 다른 스트림 등 다양한 경로를 통해 존재할 수 있다. 스트림 안의 데이터 원소들은 객체 참조나 기본 타입 값이다. 기본 타입 값으로는 int, long, double 세가지를 지원한다.IntStream intStream = IntStream.range(1, 5); LongStr..
-
[스프링 인 액션] Chapter 6 - REST 서비스 생성하기 :: 데이터 기반 서비스 활성화하기개발서적읽기/Spring in Action 제 5판 2020. 8. 20. 00:16
3장에서 보았듯이, 스프링 데이터는 우리가 코드에 정의한 인터페이스를 기반으로 리퍼지터리 구현체를 자동으로 생성하고 필요한 기능을 수행한다. 그에 더해 스프링 데이터에는 애플리케이션의 API를 정의하는 데 도움을 줄 수 있는 스프링 데이터 REST라는 기능도 있다.스프링 데이터 REST는 스프링 데이터의 또 다른 모듈이며 스프링 데이터가 생성하는 리퍼지터리의 REST API를 자동 생성한다. 따라서 스프링 데이터 REST를 빌드에 추가하면 정의된 각 리퍼지터리 인터페이스를 사용하는 API를 얻을 수 있다. 스프링 데이터 REST를 사용하기 위해 아래와 같이 의존성을 추가하자. org.springframework.boot spring-boot-starter-data-rest 이렇게 의존성만 지정하면 스프링..
-
[스프링 인 액션] Chapter 6 - REST 서비스 생성하기 :: 하이퍼미디어 사용하기개발서적읽기/Spring in Action 제 5판 2020. 8. 18. 01:22
지금까지 생성했던 기본적인 API에서는 해당 API를 사용하는 클라이언트가 API의 URL 스킴을 알아야 한다. 만약 API의 URL 스킴이 변경되면 어떻게 될까? 하드코딩된 클라이언트 코드는 API를 잘못 인식하여 정상적으로 실행되지 않을 것이다.이를 극복할 수 있는 REST API 구현 방법이 있다. 바로 HATEOAS(Hypermedia As The Engine Of Application State)이다. HATEOAS는 API로부터 반환되는 리소스에 해당 리소스와 관련된 하이퍼링크들이 포함되는 방식이다. 따라서 클라이언트가 최소한의 API URL만 알면 반환되는 리소스와 관련하여 처리 가능한 다른 API URL들을 알아내어 사용할 수 있다. 이러한 응답 JSON 형식을 HAL(Hypertext A..
-
[이펙티브 자바] item 38 - 확장할 수 있는 열거 타입이 필요하면 인터페이스를 사용하라개발서적읽기/Effective Java - temp 2020. 8. 15. 03:10
■열거 타입 확장을 지양하자 열거 타입은 거의 모든 상황에서 타입 안전 열거 패턴보다 우수하다. 단, 예외가 있다. 타입 안전 열거 패턴은 확장할 수 있지만 열거 타입은 그럴 수 없다. 달리 말하면, 타입 안전 열거 패턴은 열거한 값들을 그대로 가져온 다음, 값을 더 추가하여 다른 목적으로 쓸 수 있지만 열거 타입은 그럴 수 없다. 실수로 이렇게 만들어진 것은 아니다! 사실 웬만하면 열거 타입을 확장을 지양해야 한다. 확장한 타입의 원소를 기반 타입의 원소로 취급한다면 그 반대도 성립해야 하는데, 열거 타입은 그렇지 않다. 따라서 기반 타입과 확장된 타입들의 원소 모두를 순회할 방법도 마땅치 않다. ■하지만 특별한 상황에선 열거 타입을 확장하자 그런데 확장할 수 있는 열거 타입이 어울리는 쓰임이 최소한 ..
-
[스프링 인 액션] Chapter 6 - REST 서비스 생성하기 :: REST 컨트롤러 작성하기개발서적읽기/Spring in Action 제 5판 2020. 8. 11. 00:09
이번 장에서는 스프링을 사용해서 타코 클라우드 애플리케이션에 REST API를 제공할 것이다. 우선, 몇 가지 새로운 스프링 MVC 컨트롤러의 작성부터 시작한다. ■서버에서 데이터 가져오기 http://localhost:8080/design/recent 위 경로로, 가장 최근에 생성된 타코의 내역을 보여주는 REST API를 생성해보자. hateoas 형식으로 REST API return type을 사용할 것이기 때문에 아래와 같이 관련 dependency를 추가하자. org.springframework.boot spring-boot-starter-hateoas 그리고 DesignTacoController 클래스를 정의하자. DesignTacoController 클래스는 원래 html view를 retu..
-
태평역 칼국수 맛집 :: 중앙칼국수리뷰/맛집 리뷰 2020. 8. 1. 16:08
오늘은 집 근처 맛집에 가보기로했다 중앙칼국수가 싸고 맛있다는 평을 보고 여기로 정했다. 가게 문 앞에서 저렇게 조리를 하고계셨다. 계산은 선불! 칼국수 공장같았다. 홀은 꽤 넓었다. 사람들도 엄청 많았다. 주요 메뉴다. 난 해장도 할겸 수제비를 시켰다. 가격이 엄청 저렴하다. 글케 맛있지 않더라도 기분은 안나쁠거같다. 테이블에 붙어있던 메뉴다. 물은 셀프다 드디어 내 수제비가 나왔다! 테이블에 붙어있던 꿀팁을 따라하려고 세수푼 넣었는데 꽤 매웠다ㅠ 한스푼이 적당한듯! 생각보다 담백하니 맛있었다 담에 또 와야겠다!!