반응형 분류 전체보기714 TIL_210817 1. Facts(사실, 객관) - Junit 조사하기 - fastcampus 강의 2. Feelings(느낌, 주관) - 테스트코드의 작성을 위해 자바에서 제공하는 JUnit에 대해 조사했습니다. JUnit의 개념과 관련 설정들을 간단하게 알아보았습니다. JUnit도 나름의 검증 메서드들이 있지만, AssertJ를 많이 사용하니 염두해두어야 합니다. 비록 JUnit에서 검증 메서드가 있지만, 좀 더 가독성이 좋은 기능들이 있기에 AssertJ를 복합적으로 사용합니다. 필요에 따라서 라이브러리에 추가적으로 라이브러리를 연동할 수 있습니다. 새로운 버젼이나 기능이 나왔을 때, 어떤 점이 개선되고 좋아졌는지 직접 느껴보고 판단하고 기술을 잘 따라가야겠습니다. 3. Findings (배운 점) - 자바에서 비동.. 2021. 8. 24. TIL_210812 1. Facts(사실, 객관) - Restemplate 사용법 정리 - fastcampus 강의 2. Feelings(느낌, 주관) - RestTemplate 사용법을 알아보고 정리하고 네이버 지역검색 API 구현까지 해보았습니다. 이전에 HttpURLConnection을 통해 인터파크의 API 정보를 받아온 경험과 비교했습니다. URI을 하드코딩으로 만들었던 구조와 비교하니 RestTemplate으로 만든 구조가 너무 깔끔하기 보기 좋았습니다. 방어적인 코드가 가능한 모듈로 만들 수 있었습니다. 물론, 블로킹호출인 ResteTemplate이 아닌 논블로킹인 WebClient를 사용하도록 권고하기에 다시 공부해야 하겠지만, 사용법이 크게 다르지 않을 것이라고 생각합니다. 3. Findings (배운 점).. 2021. 8. 24. TIL_210816 1. Facts(사실, 객관) - 자바에서 비동기 CompletableFuture 블로그 작성 2. Feelings(느낌, 주관) - 자바에서 비동기인 CompletableFuture 를 조사하고 정리했습니다. 특히 해당 기술이 등장하게 된 배경을 쭉 보게되어 단순 Thread를 시작으로 Future, Callable도 확인했습니다. 사실 CompletableFuture 를 직접 사용해보지 않는 이상, 깊은 이해와 응용은 못하는 것이 사실입니다. 강의를 보고, 듣고, 개념을 검색하고 정리해도 결국 내 프로젝트에 사용해보지 않으면 금방 까먹을 수 있다는 생각이 들었습니다. 더불어 어떤 이유로 새로운 기능들이 등장했고 차이는 무엇인지 공부하다보니 훨씬 배움의 흐름이 이해가 잘 되었습니다. 3. Finding.. 2021. 8. 24. 네이버 지역검색 API를 활용한 맛집 List 제작 - (3) 1. WishListDto 작성 2. WishListService 작성 3. WishListServiceTest 작성 *WishListDto WishList 순수 entity를 건드리지 않고, dto를 만들어서 최대한 보호하도록 한다. @Data @NoArgsConstructor @AllArgsConstructor public class WishListDto { private int index; private String title; private String category; private String address; private String readAddress; private String homePageLink; private String imageLink; private boolean isVis.. 2021. 8. 22. 네이버 지역검색 API를 활용한 맛집 List 제작 - (2) 1. application.yml에 naver key 등록 2. 지역검색, 응답 & 이미지검색, 응답 클래스 작성 3. naver client 정보를 이요하여 검색 기능 구현 4. 검색 기능 테스트 *application.yml application.yml에 아래의 코드를 등록한다. 보통 key값이나 개인정보가 있는 경우에 따로 관리한다. naver: url: search: local: ... image: ... client: id: ... secret: ... *SearchLocalReq.java / SearchLocalRes.java 지역검색 요청과 응답에 대한 dto를 따로 만든다. @Data @NoArgsConstructor @AllArgsConstructor public class SearchL.. 2021. 8. 22. 네이버 지역검색 API를 활용한 맛집 List 제작 - (1) 요구사항 분석 - 고객은 원하는 키워드를 검색할 수 있다. 사진, 장소, 카테고리, 주소, 도로명, 홈페이지 링크를 확인할 수 있다. - 고객은 결과를 위시리스트에 추가할 수 있으며 추가할 경우, 나의 맛집 리스트에 추가된다. 나의 맛집 리스트에서는 방문여부, 마지막 방문일자, 방문횟수를 추가적으로 확인할 수 있다. 나의 맛집 리스트에서는 방문추가와 위시리스트 취소를 할 수 있다. - 고객이 위시리스트 삭제를 누르면 나의 맛집 리스트에서 삭제된다. - 고객이 방문추가를 누르면 방문 횟수는 1이 증가한다. 프로젝트 설계 vue.js + boostrap + spring boot + db(h2) Memory CRUD DB 개발하기 *MemoryDbEntity.java @NoArgsConstructor @All.. 2021. 8. 22. Swagger Swagger를 사용하여, 기존에 Spring boot 프로젝트 API를 자동화한 적이 있다. 백엔드에서 만든 API 문서가 없더라도 내가 만든 코드에다가 Swagger 설정을 입혀서 자동화하도록 만들어 프런트에 제공했었다. Swagger를 이용했던 경험을 떠올려 구체적으로 어떤 기능과 역할이 가능한지 알아본다. Open API란? Open API 명세는 REST API를 위한 API 설명 형식으로 YAML 혹은 JSON으로 작성된다. 인간과 기계에 친화적이며 구체적인 공식 명세를 다음 링크에서 확인할 수 있다. OpenAPI 3.0 Specification 다음 API를 기술 할 수 있다. - 사용 가능한 엔드포인트(/users) 및 각 엔드포인트의 작업(GET /users, POST /users) -.. 2021. 8. 21. 자바 비동기 동기 : 작업들이 한번에 하나씩 이루어지며, 하나의 작업이 끝나고 나서 다음 작업이 시작된다. 비동기 : 하나의 작업이 끝나기 이전에 또다른 작업을 처리할 수 있다. 다양한 요청을 동시에 처리할 수 있으며, 많은 작업을 보다 빠른 시간 내에 끝낼 수 있다. 자바에서 동시성 사용하기 @Async와 @EnableAsync로 자바 비동기를 구현할 수 있지만, 비동기 메서드와 같은 클래스 내의 다른 메서드에서 비동기 메서드를 호출한다면, AOP proxy를 우회하기 때문에 비동기로 작동하지 않는 것을 유의하여야 한다. 보통 비동기처리는 여러개의 API를 동시에 사용하는 경우가 많다. 또한 결과를 이어받아서 처리하거나 결과를 합쳐서 새로운 결과를 내야하는 경우들이 많으므로 CompletableFuture를 통해서.. 2021. 8. 16. RestTemplate RestTemplate이란? RestTemplate은 클라이언트 사이드에서 동기적인 HTTP 요청을 하는 클래스이다. Spring JdbcTemplate과 마찬가지로, HTTP client에 기반을 둔다. HTTP client 라이브러리는 다른 서버로 request를 보내 response 받아 데이터를 처리하는 기능이 있으며 RestTemplate 이외에 JDK HttpURLConnection, Apache HttpComponents 등이 있다. RestTemplate의 장점 RestTemplate은 기본적으로 HttpUrlConnection으로 구현되어 있다. HttpUrlConnection이나 다른 HTTP client API를 사용하면, 요청을 할 떄마다 같은 상용구 코드가 계속 또 계속 반복등장한.. 2021. 8. 15. 이전 1 ··· 47 48 49 50 51 52 53 ··· 80 다음 반응형