분류 전체보기 475

[백준] java boj 1012 - 유기농 배추 (DFS)

유기농 배추 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 512 MB 96989 37247 25255 36.640% 문제 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있는 것이다. 한나가 배추를 재배하는 땅은 고르지 못..

알고리즘 문제 2022.02.14

[TIL] 2022.02.07 - 정신차립시다~!

약 한달만에 쓰는 TIL 새롭다 새로워 한달간 공부는 거의 하지 않은것같다. 못한게 아니라 "안" 스스로 준비되지 않은상태로 가벼운 마음으로 취업시장에 뛰어들어봤지만, 역시나 쉬운일은 없고, 가볍게 들어간 만큼 크게 데이고 왔다. 내 자신이 부족하다고 생각하진 않는다. 그때의 내 상태가 준비되지않았을뿐 정신차려! 정신차려서 원래 하고싶었던걸 하자! 재밌게 TIL 1. TIL을 쓰면 기분이 좋다 2. 스트레스를 받은상태에서 뭔가 생산적인것(공부 등)을 할려는 것 보단, 푹쉬고 회복하자! 3. 취업이란 작은목표보다는 재밌게 살자는 큰 목표를 바라보고 살자! 오늘 하루 1. 좋았던 점 1. TIL을 쓰니 기분이 좋고, 뭔가 하루의 마무리겸 새로운 시작같은 기분 아무것도 한게 없지만 일단 기분이 좋음 2. 인프..

[Spring boot] 테스트 코드 작성 (2) - Mock, Mockito, MockMVC

Spring 테스트 코드 작성해보기! 목차 Junit 이란 Junit 사용설정 Junit 어노테이션 Junit 사용법 Assert 메소드 @Nest사용 엣지 케이스 확인 1, Mock vs Mockito vs MockMVC 1) Mock 이란, 테스트를 위한 가짜 객체 실제 객체를 만들기에는 비용과 시간, 의존성이 크게 걸쳐져 있어 테스트 시 제대로 구현하기 어려울 경우 만드는 가짜 객체 2) Mockito 란, Mockito란 Mock Object를 간편하게 만들게 해주는 라이브러리 Mock 객체를 만들기위해서 사용되는 시간을 줄이기위해, 자동으로 생성해주는 라이브러리이다. Mock객체 직접 구현하지 않아도 되게함 3) MockMVC 스프링에서 MVC 테스트를 하기위한 방법을 논의하여 Spring-te..

[Spring boot] 테스트 코드 작성 (1) - Junit을 이용한 Unit Test(단위 테스트) / Assert 메소드

Spring 테스트 코드 작성해보기! 목차 Junit 이란 Junit 사용설정 Junit 어노테이션 Junit 사용법 Assert 메소드 @Nest사용 엣지 케이스 확인 Junit을 이용한 단위테스트 1) 단위 테스트란 프로그램을 작은 단위로 쪼개서 각 단위가 정확하게 동작하는지 검사하는 테스트 Development: 개발 Unit Tests (단위 테스트): 개발자 테스트 QA Testing: 블랙박스 테스팅 주로 QA 팀이 Production 환경과 유사한 환경(Stage)에서 테스팅 Production: 실 서비스 운영 환경 2) Junit 이란 Junit이란 자바 프로그래밍 언어용 단위 테스트 프레임워크 이다. 어노테이션을 기반을 테스트를 지원한다. 단정문(Assert)를 통해서 테스트 케이스의 ..

[Spring] AOP란 - (AOP, Spring AOP, AOP 어노테이션)

목차 AOP란 AOP의 주요 개념 Spring AOP AOP 적용 시퀸스 다이어그램 Spring AOP 어노테이션 Spring AOP 코드 예시 AOP란 Aspect Oriented Programming - 관점 지향 프로그래밍이라고 불리는 AOP 관점 지향이란, 어떤 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 각각 모듈화하는 프로그래밍 기법을 의미합니다. 따라서 AOP는 핵심기능과 부가기능을 나누어서 설계, 구현하는 것을 말합니다. AOP에서 각 관점을 기준으로 로직을 모듈화한다는 것은 코드들을 부분적으로 나누어서 모듈화하겠다는 의미입니다. 이떄, 소스코드상에서 다른 부분에 계속 반복해서 사용되는 코드들이 존재할 수 있는데, 이것을 흩어진 관심사(Crossing Concerns)라..

Spring/Spring Boot 2022.01.18

[Spring] JSON 파일 DTO로 받아오기 - ObjectMapper

이번 포스팅은, JSON 파일을, JAVA DTO 클래스로 받아오는 방법을 기록하기로했다. [목차] 1. JSON to DTO Array 2. Object Mapper 1. JSON to DTO Array 저번 게시물(https://thalals.tistory.com/266)에서 외부 API에서 JSON 파일을 ResponseEntity 파일로 받아왔는데, 이 Object 데이터를 DTO 클래스로 변환해서 저장한다음, 내 입맛데로 변경하여 사용할 수 있다. 외부 API 데이터 받아오기 public ResponseEntity getData(String url ) { //Spring restTemplate RestTemplate restTemplate = new RestTemplate(); HttpHeade..

Spring/Spring Boot 2022.01.18

ArrayList<Dto> Map value 값으로 정렬

Class public class test { private String name; private LinkedHashMap data; public EventSummary(String name){ this.login = login; events = new LinkedHashMap(); events.put("TotalData",0); } } 대에충 이런식의 클래스 ArrayList TestList 라는 리스트가 존재할때, 이 클래스안의 Map 안의 특정 키값으로 정렬을 하고 싶을때! test.stream().sorted((t1, t2) ->Integer.compare(e2.getData().get(key), e1.getData().get(key))).collect(Collectors.toList()); co..

Java/Java 문법 2022.01.16

ResponseEntity란 - 개념, 구조, 사용법, 사용하는 이유

이거 옜날에 적은건데,, 꾸준히 블로그로 유입되시는 분들이 계셔서 부끄러운 마음에 내용을 조금 더 추가해 보았습니다..ㅎㅎ 앞으로도 계속 변경되거나, 알게된 내용 추가할 예정이고, 틀린부분이나 부족한 부분이 있다면 알려주시면 감사하겠습니다~ ResponseEntity란 ResponseEntity란, httpentity를 상속받는, 결과 데이터와 HTTP 상태 코드를 직접 제어할 수 있는 클래스이다. ResponseEntity에는 사용자의 HttpRequest에 대한 응답 데이터가 포함된다. ✨ 또한, HTTP 아케텍쳐 형태에 맞게 Response를 보내주는 것에도 의미가 있습니다. 에러 코드와 같은 HTTP상태 코드를 전송하고 싶은 데이터와 함께 전송할 수 있기 때문에 좀 더 세밀한 제어가 필요한 경우 ..

Spring/Spring Boot 2022.01.16

[java] boj 1929 소수찾기 - 에라토스테네스의 체

소수 구하기 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 256 MB 140139 39260 27742 26.838% 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 1 복사 3 16 예제 출력 1 복사 3 5 7 11 13 package solved.Class; import java.io.*; import java.util.ArrayList; import java.util.HashSet; import java.util.TreeSet; pu..

알고리즘 문제 2022.01.15

[Spring] spring boot - 외부 Rest API json으로 받아오기(JAVA)

JAVA로 외부 api 값을 받아오는 방법은 3가지가 있다. httpurlconnection httpclient spring resttemplate 오늘은 이 3가지 방법에 대해서 알아보고 뭐를 사용할지 알아보고자 한다. + 결론은 3가지방법을 대략적으로 파악하고, 최신 트렌드?에 맞는 RestTemplate를 쓰기로했다! 자바 Http 통신 위의 3가지 방식이 나오게된 순서를 보면 먼저, 순수 자바로만 HTTP통신을 할 수 있는 1) HttpURLConnection 클래스가 있었고, 이걸 사용하기 쉽게 추상화해서 만들어진게 2) Apache HttpClient이며 요것이 최근에 버전업을 해서 -> HttpComponents로 사용이 되고있다. 3) Spring RestTemplate는 이런 기술들을 기..

Spring/Spring Boot 2022.01.15