본문 바로가기

분류 전체보기32

[Spring] @Bean vs @Component @Bean vs @Component 스프링 코어 강의를 보던중 스프링에서 자바 클래스를 빈(Bean) 객체로 등록하기 위해 사용하는 두 가지 어노테이션이 있다고 했다. @Bean과 @Component 어노테이션인데, 강의에서는 어노테이션 사용법만 알려주고 두 어노테이션의 차이점을 알려주지 않아서 차이점을 알아보기로 했다. @Bean @Configuration public class TestConfig { @Bean public ArrayList listBean() { return new ArrayList(); } } @Component @Configuration @ComponentScan(basePackages = "com.springex.college") public class TestConfig { .. 2020. 8. 2.
Java Object를 Map으로 변경하기 Java Object를 Map으로 바꾸기 같이 프로젝트하는 프리랜서분이 Java Object를 Map으로 변환하는 기능을 만들어달라고 요청하셨다. 인터넷을 검색하던 중 Apache Commons BeanUtils을 이용하면 쉽게 변환할 수 있다고 해서 프로젝트 내부에서 찾아보니 Apache Commons BeanUtils 라이브러리를 찾을 수 없었다. 다른 방법을 찾던중 Jackson의 ObjectMapper를 이용하면 Java Object를 쉽게 Map 으로 변경할 수 있다는 것을 알게 되었다. 다행히 프로젝트 내부에서 Jackson 라이브러리를 찾을 수 있었고 Jackson의 ObjectMapper를 이용하여 기능을 만들었다. ObjectMapper를 사용하기 위해 먼저 Jackson 라이브러리를 추.. 2020. 6. 21.
System.arraycopy(), Arrays.copyOf() System.arraycopy(), Arrays.copyOf() StringBuilder의 append() 메서드를 살펴보던중 다음과 같은 메서드를 발견하게 되었다. 배열을 복사하는 메서드는 System.arraycopy() 밖에 몰랐기 때문에 Arrays.copyOf() 메서드는 System.arraycopy()와 어떻게 다른지 인터넷을 찾아봤다. int[] arr = {1,2,3,4,5}; int[] sysCopyArr = new int[10]; System.arraycopy(arr, 0, sysCopyArr, 2,5); // [0, 0, 1, 2, 3, 4, 5, 0, 0, 0] System.out.println(Arrays.toString(sysCopyArr)); int[] copyOfArr = .. 2020. 6. 11.
HTTP Method PUT, PATCH HTTP Method PUT, PATCH 일하는 곳에서 소스코드를 분석하던 중 HTTP 메서드로 PUT과 PATCH를 요청 받는곳을 발견했다. 여태까지 사용해본 HTTP 메서드라고는 POST와 GET밖에 없기 때문에, 두 메서드가 정확히 무슨일을 하는지 정확히 몰라서 두 메서드에 대해 찾아보게 되었다. PUT 요청 페이로드를 사용해 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체한다. 여기서 요청 페이로드를 사용해 새로운 리소스를 생성한다는 뜻은 만약 PUT /v1/coffees/orders/1234 요청을 보냈는데 대상 리소스를 나타내는 데이터가 없다면 리소스를 생성한다는 뜻이다. 대상 리소스를 나타내는 데이터를 대체한다는 것은 PUT /v1/coffees/orders/1234 요청에.. 2020. 5. 25.
[gradle] 오프라인 상태에서 no cached version available for offline mode 문제해결 오프라인 상태에서 no cached version available for offline mode 문제해결 현재 파견나와서 근무하고 있는곳은 폐쇄망을 사용하기 때문에 외부에서 gradle을 이용해 라이브러리를 가져올 수 없다. 그래서 필요한 라이브러리들이 포함된 폴더(modules-2)를 반입한 후, GRADLE_USER_HOME을 설정하고 caches 폴더에 modules-2 폴더를 넣었는데 프로젝트에서 라이브러리를 받아올 수 없었다. 이것저것 해보다가 해결할 수 없어서 인터넷을 검색해보니 다음과 같은 글을 발견하게 되었다. https://discuss.gradle.org/t/copying-the-gradle-cache-to-another-machine/7546 이 글을 읽다보니 다음과 같은 답변을 찾.. 2020. 4. 13.
백준 1929 : 소수 구하기 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) www.acmicpc.net 문제 설명에 에라토스테네스의 체로 풀어보자고 써있길래, 에라테네스의 체를 인터넷에 검색해봤다. 에라토스테네스의 체 에라토스테네스의 체의 이름에 맞게 체로 숫자들을 거른다. 2부터 시작해서 구하고자 하는 구간까지 2를 제외한 2의 배수, 3을 제외한 3의 배수, 5를 제외한 5의 배수... 이런식으로 숫자들을 거르다가 구간의 마지막 수가 소수의 제곱보다 작거나 같으면 반복을 종료한다. 이 때 제외된 숫자들이 소수이다. import java.util.Scanner; public class.. 2019. 11. 22.