반응형

Daily Develop 7

Intellij에서 QClass 깨끗히 청소하기

Querydsl, MapStruct를 사용하면서 generated/ 경로 하단에 생기는 class 파일 때문에 삽질한 기억이 있었습니다. 이번 글에서는 class 파일 찌꺼기 파일이 왜 남는지와 깨끗히 청소하는 방법에 대해서 작성해보겠습니다. 💥 이슈사항 MapStruct와 QueryDSL을 사용하는 프로젝트에서 열심히 작업을 마치고 Git Branch를 변경하자 에러 발생! Branch 변경 이전의 파일을 찾고 있는 에러 발생!! 💦 이슈 발생배경 develop에서 각 feature를 생성 후 작업을 진행하고 있었습니다. 변경 전 ( feature/TEST-1 ) BeforeMapper → MapStruct → BeforeMapperImpl 으로 사용중 BeforeMapper → AfterMapper로..

Daily Develop 2022.01.11

ThreadPoolTaskExecutor Queue가 full의 처리 정책

ThreadPoolTaskExecutor의 RejectedExecutionHandler 설정에 대해서 간단히 살펴보겠습니다. 이번글에서는 RejectedExcecutionHandler의 정책을 설정하는 기준과 설정 시 어떤 결과값이 나오는지 살펴보겠습니다. RejectedExcutionHandler의 종류 AboryPolicy CallerRunsPolicy DiscardPolicy DiscardOldestPolicy ThreadPoolTaskExecutor 기본 설정 @Configuration public class TestThreadPool { @Bean public TaskExecutor test() { var executor = new ThreadPoolTaskExecutor(); executor...

Daily Develop 2021.12.21

[JPA] deleteAll() vs deleteAllInBatch()

이번 글은 본인이 프로젝트하던 중 크게 착각하여 데이터를 깔끔하게 지워버린 경험을 토대로 작성합니다. ( 팀원분들 다 죄송합니다.... 그나마 개발 DB여서 천만 다행이었습니다. ) 절대 저와 같은 실수를 하지 않기를 바라면서 작성합니다. 먼저 결론부터 작성하자면 deleteAll(), deleteAllInBatch()는 되도록이면 쓰지말자. 두 메서드 모두 Repository와 매핑되어있는 테이블의 데이터를 깔끔하게 지우는 명령입니다. 두 메서드가 어떻게 다른지 구현 코드를 살펴보겠습니다. deleteAll() @Repository @Transactional(readOnly = true) public class SimpleJpaRepository implements JpaRepositoryImpleme..

Daily Develop 2021.07.28

[HttpStatus] API 처리 별 HttpStatus 리턴 코드 정리

단일 리소스 Method HttpStatus Code Description GET 200 OK GET 404 NOT FOUND 조회 시 데이터 없을 경우 POST 201 CREATED POST 400 BAD REQUEST 생성 요청 시 데이터가 올바르지 않음 PUT 202 ACCEPTED 데이터 전체 변경 PUT 404 NOT FOUND 고객 정보 업데이트 요청했으나 고객 정보를 찾을 수 없음 PATCH 202 ACCEPTED 데이터 일부 변경 PATCH 404 NOT FOUND 고객 정보 업데이트 요청했으나 고객 정보를 찾을 수 없음 DELETE 200 OK DELETE 404 NOT FOUND 고객 정보 삭제를 요청했으나 고객 정보를 찾을 수 없음 Collection Method HttpStatus ..

Daily Develop 2021.07.13

[코틀린] 한글 깨질 때 인코딩처리

외부 API를 사용할 때 흔히 겪는 문제 중 하나로 한글깨지는 문제가 있습니다. 현재는 대부분 utf-8로 사용하지만 생성된지 오래된 경우에는 다양한 인코딩이 적용되어 한글이 깨져서 골머리 썩은 경험이 많을 것입니다. getMsg() 메소드를 이용하여 한글이 안깨지는 인코딩 방식을 사용합니다. private fun getMsg(msg: String) { println("utf-8 -> euc-kr : " + String(msg.toByteArray(Charset.forName("utf-8")), Charset.forName("euc-kr"))) println("utf-8 -> ksc5601 : " + String(msg.toByteArray(Charset.forName("utf-8")), Charset...

Daily Develop 2021.07.02

[Post] application/x-www-form-urlencoded 데이터 받는 방법, inputStream 주의

프로젝트를 진행하던 중 개인인증 관련하여 외부연동하던 중 발생했던 이슈를 정리해보겠습니다. Callback 을 전송하는 타입은 아래와 같습니다. Method : Post Content-Type: application/x-www-form-urlencoded 대부분은 Post 일 경우는 RequestBody로 데이터를 전달받습니다. (application/json) 하지만 위와 같이 content-type이 application/x-www-form-urlencoded 일 경우 Body로 데이터가 전달되지 않습니다. 그리하여 @RequestBody가 아닌 @RequestParam 이나 @ModelAttribute로 받아야합니다. @RequestParam으로 받을 경우 Controller에 파라미터별로 설정을 ..

Daily Develop 2021.06.18

[javascript] '==', '===' 차이 ( 나의 삽질.. )

프로젝트를 진행하는 값이 없는 경우 ( falsy ) 를 체크하기 위한 함수를 생성하였습니다. 서버에서 받은 파라미터가 falsy인지 체크하는 함수를 만들었습니다. function isNull(value) { return value == null || value == undefined || value == ''; } 이제 서버에서 받은 파라미터를 위에서 생성한 메서드에 넣고 null 체크를 하고 jquery show(), hide() 처리를 하려고 했습니다. const response = data.data; const $detailElement = $("[name=detailName]"); // value = 0 값이 내려왔습니다. if (isNull(response.value) ) { $detailEl..

Daily Develop 2020.11.25
728x90
반응형