<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://tlsrl6427.github.io/</id><title>iknihs</title><subtitle>A minimal, responsive and feature-rich Jekyll theme for technical writing.</subtitle> <updated>2025-04-04T23:24:00+09:00</updated> <author> <name></name> <uri>https://tlsrl6427.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://tlsrl6427.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://tlsrl6427.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2025 </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Gradle 빌드시 encoding 문제</title><link href="https://tlsrl6427.github.io/posts/gradle-encoding/" rel="alternate" type="text/html" title="Gradle 빌드시 encoding 문제" /><published>2025-04-03T00:00:00+09:00</published> <updated>2025-04-04T23:23:42+09:00</updated> <id>https://tlsrl6427.github.io/posts/gradle-encoding/</id> <content src="https://tlsrl6427.github.io/posts/gradle-encoding/" /> <author> <name></name> </author> <category term="Java" /> <summary> Rest Docs를 만들기 위해 빌드를 하는 도중 일어난 오류이다. 2023.11.17에 티스토리에 썼던 글 문제의 발단   팀원이 Rest docs를 만들기 위해 ./gradlew build를 하는 도중 오류가 떴다. 웬만하면 각자 해결했겠지만 이번에는 집단지성이 필요했는데 인텔리제이에서는 잘 돌아갔는데 gradle로 빌드를 하면 오류가 떴기 때문이다. 심지어 오류 메세지도 아리송하다.  400 에러는 Bad Request, 즉 서버에서 요구하는 Request에 맞지 않는 요청을 보냈다는 뜻이다. Postman으로 요청을 했다면 모를까 테스트에서는 직접 객체를 만들어 MockMvc.perform안에 넣었기 때문에 틀릴리가 없을텐데…? 일단 이 오류메세지 만으로는 알 수 없으니 인텔리제이에...</summary> </entry> <entry><title>Jenkins 서버 해킹당한 썰</title><link href="https://tlsrl6427.github.io/posts/jenkins-hacking/" rel="alternate" type="text/html" title="Jenkins 서버 해킹당한 썰" /><published>2025-02-24T00:00:00+09:00</published> <updated>2025-02-25T23:11:15+09:00</updated> <id>https://tlsrl6427.github.io/posts/jenkins-hacking/</id> <content src="https://tlsrl6427.github.io/posts/jenkins-hacking/" /> <author> <name></name> </author> <category term="Jenkins" /> <summary>사연있는 서버 해킹을 당한 이 서버는 사연이 있다… 이미 해킹을 당한 적이 있는 서버였던 것이다. root 아이디의 비밀번호를 조금 쉬운걸로 해놨었는데 바로 해킹당했다. AWS에서는 키 파일로 로그인해서 생각도 하지 못하고 있었다가 안전불감증 당해버렸다. 서버를 만들어 놓고 다른 공부를 하고 있었는데 갑자기 며칠만에 크레딧이 모두 소진되었다는 문자가 날라왔다. 크레딧은 3달치 정도 사용할 수 있을텐데..? 하고 메일을 들어가보니 웬걸 이 외에도 Dos 공격도 들어왔다고 하는데 비슷한 맥락인 것 같다. 마치 자전거 자물쇠 4자리를 0000부터 9999까지 모두 시도해보듯이 뚫릴 때까지 돌린건데 쉬운거라 뚫린 것이었다. 아침에 확인했는데 하자마자 잠이 깨며 식은 땀이 흘렀다. 내 서버 ...</summary> </entry> <entry><title>Spring Batch 성능 개선기</title><link href="https://tlsrl6427.github.io/posts/spring-batch-performance-improve/" rel="alternate" type="text/html" title="Spring Batch 성능 개선기" /><published>2024-12-15T00:00:00+09:00</published> <updated>2024-12-18T17:00:21+09:00</updated> <id>https://tlsrl6427.github.io/posts/spring-batch-performance-improve/</id> <content src="https://tlsrl6427.github.io/posts/spring-batch-performance-improve/" /> <author> <name></name> </author> <category term="Spring" /> <summary>현재 상황 API 서버는 통계 테이블 생성을 통해 해결을 보았지만, Jenkins 서버는 여전히 들어갈 수조차 없다. 이유는 아마 Jenkins 서버 안에서 돌아가는 Spring Batch의 I/O가 많아서인 것 같다. 콘솔로 들어가 vmstat으로 모니터링 해보니 wa(I/O 동안 Cpu가 노는 정도)가 100%에 육박했다. 아니 아무리 Cpu가 바빠도 Jenkins 웹 사이트에 못 들어가는게 말이 안되는게 1개의 Cpu여도 Context Switching을 하며 다른 작업도 할 수 있는게 아닌가?? 하는 생각이 들지만 여전히 그.. 뭐.. 잘 모르겠다. 이에 대한 해결책으로 검색도 해보고 GPT에 물어보고 몇 가지를 생각해봤다. Spring Batch의 성능 개선하기 - 성능을 개선해...</summary> </entry> <entry><title>통계 테이블로 조회시간 줄이기</title><link href="https://tlsrl6427.github.io/posts/statistics-table/" rel="alternate" type="text/html" title="통계 테이블로 조회시간 줄이기" /><published>2024-12-08T00:00:00+09:00</published> <updated>2024-12-10T17:34:48+09:00</updated> <id>https://tlsrl6427.github.io/posts/statistics-table/</id> <content src="https://tlsrl6427.github.io/posts/statistics-table/" /> <author> <name></name> </author> <category term="Database" /> <summary>개요  현재 데이터베이스 서버는 NCP Micro Server(vcpu 1개, RAM 1GB)를 쓰고 있다. 하루 2000~3000건씩 꾸준히 배치를 돌려온 결과 어느덧 데이터가 100만건에 달하게 됐다. 그에따라 점점 쿼리가 느려지기 시작했는데 10만건부터 몇십초가 넘게 걸리더니 이젠 오래 걸리는 건 5분가까이나 걸리게 되었다.. 프론트를 아직 안만들어서 유기해놓고 있었는데 가끔 테스트해볼때도 너무 불편해서 고치기로 마음먹었다. 통계 테이블 이전 프로젝트의 통계 테이블  해결 방법으로는 여러가지가 있겠지만 통계 테이블을 따로 만들기로 했다. 예전에 했던 멘토링에서 이미 얘기가 나오기도 했고, 예전 프로젝트때도 리뷰수 같은 것들을 따로 만들어 조회때마다 쿼리를 날리지 않도록 해봤기 때문이다....</summary> </entry> <entry><title>Spring Batch Job Parameter로 List Type 쓰기</title><link href="https://tlsrl6427.github.io/posts/spring-batch-job-parameter-list-type/" rel="alternate" type="text/html" title="Spring Batch Job Parameter로 List Type 쓰기" /><published>2024-12-01T00:00:00+09:00</published> <updated>2024-12-02T17:24:53+09:00</updated> <id>https://tlsrl6427.github.io/posts/spring-batch-job-parameter-list-type/</id> <content src="https://tlsrl6427.github.io/posts/spring-batch-job-parameter-list-type/" /> <author> <name></name> </author> <category term="Spring" /> <summary>프로젝트 상황  현재 하고 있는 프로젝트는 op.gg와 lol.ps 같은 리그오브레전드 게임의 데이터를 제공하는 사이트이다. 라이엇 공식 API에서 데이터를 받아오는 것을 Spring Batch로 돌리고 있는데 이때 동적으로 넣을 Job Parameter가 필요하게 됐다.  하던 중에 티어(tier) 변수에 여러 개를 넣을 상황이 생겼다. 사실 한 티어씩 여러번 배치를 돌리는 방법도 있지만 한번에 보기 쉽게 해보고도 싶었고 나중에 여러 개를 받아야하는 상황이 나올 수도 있을 것 같아서 그냥 해봤다. 하는 김에 한꺼번에 여러 변수를 넣을 수 있는지, 넣을 수 있으면 같은 타입만 가능한지 여러 개의 타입이 섞인 클래스도 가능한지 해보았다. 현재 버전(5.x) 지원 Spring Batch 5.0...</summary> </entry> </feed>
