개발 일기장
-
having a better day than yesterday
having a better day than yesterday
velog 로 이사갑니다! (클릭하면 이동)
Post For Me
-
spring framework - @Value 가 동작하지 않는다면
spring framework - @Value 가 동작하지 않는다면
2022.02.13환경 : java, springframework 코드 @Component public class TestBean { @Value("${test}") private String test; private String defaultTestValue = getTest(); public TestBean() { System.out.println("Constructor test = " + test); System.out.println("Constructor defaultTestValue = " + defaultTestValue); } @PostConstruct public void init() { System.out.println("PostConstruct test = " + test); System.out.prin.. -
자바스크립트 json 배열 만들기
자바스크립트 json 배열 만들기
2020.09.03var jsonArray = new Array(); for (var i=0; i -
Java I/O (Input/Output)란?
Java I/O (Input/Output)란?
2022.03.05IO 장치들은 여러 문제가 있음. 다양한 주변 장치가 존재 서로 다른 포멧의 데이터를 전송 서로 다른 속도로 동작 CPU 와 RAM 보다 I/O 작업이 느림 입출력 모듈을 필요로 한다. 여기서 입출력 모듈이란 CPU 와 메모리의 인터페이스이고 하나 또는 그 이상의 주변 장치에 대한 인터페이스를 의미 Programmed I/O (프로그램 입출력) 입출력 모듈 중에 프로그램 입출력은 IO 로 부터 제어권을 CPU 가 가져와서 작업을 진행하는 것으로 CPU 는 입출력 모듈이 명령어의 수행을 완료할 때까지 기다립니다. 따라서 이 방식은 CPU 의 시간을 소모합니다. Java I/O 는 이런 문제점 때문에 파일 입출력이 느리다는 인상을 많이 주었음. 이런 문제점을 Non-blocking IO(nio, New IO.. -
스프링 (부트) / unsupported media type 415 error (RequestBody, ModelAttribute, RequestParam) - Java
스프링 (부트) / unsupported media type 415 error (RequestBody, ModelAttribute, RequestParam) - Java
2021.07.22참고할만한 관련 링크 https://okky.kr/article/479068 OKKY | @RequestBody 질문인데 꼭좀 부탁드립니다...(제발...ㅠ) intellij 로 시작한 Spring Boot 프로젝트에서 RequestBody 로 객체를 받지 못해 죽겠네요..ㅠㅜ 원인을 모르겠어서 소스 전체를 올려봅니다... RestController RequestMapping(value /builder/board ) public class BoardBuilderC okky.kr https://stackoverflow.com/questions/44230121/spring-boot-unsupported-media-type-with-requestbody Spring boot Unsupported Media T.. -
좋은 주석을 다는 법 - Java
좋은 주석을 다는 법 - Java
2021.05.24이 글의 대부분 출처는 아래와 같음을 먼저 밝힙니다. 다만, 내용을 필자가 사용하기 적절하게 수정하였습니다. 참고 부탁드립니다. https://danpatpang.github.io/tip/2018/04/12/Tip_java_comment/ [Tip] 주석을 다는 방법 · Dan pat pang 단팥빵을 좋아하는 개발자. 하고싶은 것도 배우고 싶은 것도 많은 평범한 대학생. danpatpang.github.io -
JPA In 절 사용하기 (where)
JPA In 절 사용하기 (where)
2021.05.24library data JPA JPQL Querydsl 샘플 소스 모두 있습니다. data JPA In 절 사용하기 핵심 요약 명명 규칙에 맞춰 작성한 메소드의 이름에 In을 붙인다. 매개변수를 List 타입 (또는 Array) 으로 변경한다. https://javadeveloperzone.com/spring/spring-jpa-query-in-clause-example/ Spring JPA query IN clause example - Java Developer Zone Here is article of Spring JPA query IN clause example and Spring data JPA IN and NOT IN query with example, dyanic IN and NOT IN qu.. -
자바 int array, integer list 정렬하기 (내림차순, 오름차순)
자바 int array, integer list 정렬하기 (내림차순, 오름차순)
2021.05.04public class Test { public static void main(String[] args) { int[] arr = {1,7,4,6,8,9,2,5,3}; List list = new ArrayList(); for (int a : arr) { list.add(a); } // 배열 출력 System.out.println("배열 정렬 전 : " + Arrays.toString(arr)); // 오름 차순 정렬 Arrays.sort(arr); System.out.println("배열 오름 차순 정렬 : " + Arrays.toString(arr)); // 내림 차순으로 정렬 => Integer로 변경해서 정렬하는 방법 Integer[] arr_integer = Arrays.stream(arr).b.. -
int[] 을 키값으로 사용하는 방법(같은 배열인지 확인하는 방법, 해시코드)
int[] 을 키값으로 사용하는 방법(같은 배열인지 확인하는 방법, 해시코드)
2021.03.27C언어의 경우, map의 키 값으로 배열을 사용하는 것이 가능하다. 왜냐하면, 자바의 경우 map의 키 값으로 객체의 주소를 사용하지만, C언어의 경우 객체의 값을 키값으로 사용하기 때문이다. 아래 코드를 보자 int[]input1 ={1,2,3,4,8,7,6,5}; int[]input2 ={1,2,3,4,8,7,6,5}; Integer[]temp1 = Arrays.stream(input1).boxed().toArray(Integer[]::new); Integer[]temp2 = Arrays.stream(input2).boxed().toArray(Integer[]::new); System.out.println(temp1 == temp2); // false System.out.println(temp1.eq..
Post Recently
-
Reactive Programing
Reactive Programing
2022.03.05Reactive Programming 데이터 흐름과 전달에 관한 프로그래밍 패러다임 리액티브 스트림을 사용하는 프로그래밍 리액티브 스트림 잠재적으로 무한정 들어올 수 있는 비동기 데이터를 순서대로, 그리고 블록하지 않고 (non-blocking) 역압력(backpressure, 배압, 메세지를 받는 쪽에서 보내는 쪽으로 지속적으로 메세지를 처리할 수 있는지 알려 요청의 양을 조절하는 기술)으로 처리하는 표준 기술 엽압력 (배압, Backpressure) 발행 - 구독 프로토콜에서 이벤트 스트림(발행쪽)의 구독자가 발행된 이벤트를 처리하는 속도보다 느린 속도로 이벤트를 소비하면서 문제가 발생하지 않도록 보장하는 장치이다. 왜 이런 패러다임이 생겼나? 빅데이터/모바일부터 클라우드 기반 클러스터에 이르는 다양.. -
Reactive Stream 이란?, backPressure 이란?
Reactive Stream 이란?, backPressure 이란?
2022.03.05정의 non-blocking, backPressure 를 이용해서 비용기 서비스를 할 때 기본이 되는 스팩이다. Java RxJava, Spring5 Webflux의 Core 에 있는 ProjectReactor 프로젝트 모두 해당 스팩을 사용하고 있습니다. 따라서 비동기 프로젝트를 잘 이해하기 위해서 기본 스펙이 되는 Reactive Stream 에 대한 이해가 필요하다. 개요 non-blocking backpressure 를 이용하여 비동기 스트림 처리의 표준을 제공하는 것 목적, 설계, 범위 지속적으로 들어오는 스트림 데이터를 효율적으로 처리하기 위해서는 비동기 시스템이 효과적이다. 비동기 처리를 하면서 가장 중요한 문제는 데이터 처리가 목적지의 리소스 소비를 예측가능한 범위에서 신중하게 제어할 수 .. -
Java I/O (Input/Output)란?
Java I/O (Input/Output)란?
2022.03.05IO 장치들은 여러 문제가 있음. 다양한 주변 장치가 존재 서로 다른 포멧의 데이터를 전송 서로 다른 속도로 동작 CPU 와 RAM 보다 I/O 작업이 느림 입출력 모듈을 필요로 한다. 여기서 입출력 모듈이란 CPU 와 메모리의 인터페이스이고 하나 또는 그 이상의 주변 장치에 대한 인터페이스를 의미 Programmed I/O (프로그램 입출력) 입출력 모듈 중에 프로그램 입출력은 IO 로 부터 제어권을 CPU 가 가져와서 작업을 진행하는 것으로 CPU 는 입출력 모듈이 명령어의 수행을 완료할 때까지 기다립니다. 따라서 이 방식은 CPU 의 시간을 소모합니다. Java I/O 는 이런 문제점 때문에 파일 입출력이 느리다는 인상을 많이 주었음. 이런 문제점을 Non-blocking IO(nio, New IO.. -
자바 가비지컬렉터. 강한참조 (String Reference), 약한참조 (Weak Reference)
자바 가비지컬렉터. 강한참조 (String Reference), 약한참조 (Weak Reference)
2022.03.03가비지컬렉터 Java의 가비지 컬렉터는 많은 종류가 있지만 크게 두가지 작업을 공통적으로 수행합니다. 힙 메모리 내의 객체 중 가비지를 찾아낸다. 찾아낸 가비지를 처리해서 힙 메모리를 회수한다. 최초의 Java 에서는 이들 가비지 컬렉션 작업에 사용자 코드가 관여 하지 않도록 구현되어 있었습니다. 좀 더 다양한 방법으로 객체를 처리하려는 요구가 있었고 이에 따라 JDK 1.2 부터 java.lang.ref 패키지를 추가해서 제한적이나마 사용자 코드와 GC가 상호작용 할 수 있게 했습니다. java.lang.ref 패키지는 객체를 new로 생성했을 때 생기는 string reference 이외에도 soft, weak, phantom 3가지의 새로운 참조 방식을 각각의 Reference 클래스로 제공합니다... -
spring framework - @Value 가 동작하지 않는다면
spring framework - @Value 가 동작하지 않는다면
2022.02.13환경 : java, springframework 코드 @Component public class TestBean { @Value("${test}") private String test; private String defaultTestValue = getTest(); public TestBean() { System.out.println("Constructor test = " + test); System.out.println("Constructor defaultTestValue = " + defaultTestValue); } @PostConstruct public void init() { System.out.println("PostConstruct test = " + test); System.out.prin.. -
JPA & Mysql 환경에서 데드락 관련 이슈
JPA & Mysql 환경에서 데드락 관련 이슈
2022.02.05참고 https://techblog.woowahan.com/2664/ HikariCP Dead lock에서 벗어나기 (이론편) | 우아한형제들 기술블로그 {{item.name}} 안녕하세요! 공통시스템개발팀에서 메세지 플랫폼 개발을 하고 있는 이재훈입니다. 메세지 플랫폼 운영 장애를 바탕으로 HikariCP에서 Dead lock이 발생할 수 있는 case와 Dead lock을 회피할 techblog.woowahan.com https://techblog.woowahan.com/2664/ HikariCP Dead lock에서 벗어나기 (이론편) | 우아한형제들 기술블로그 {{item.name}} 안녕하세요! 공통시스템개발팀에서 메세지 플랫폼 개발을 하고 있는 이재훈입니다. 메세지 플랫폼 운영 장애를 바탕으로..