Docker 로그 파일 용량 제한

IntroDocker 컨테이너를 오래 실행하다 보면 로그 파일이 계속 쌓이면서 디스크 공간을 차지하는 문제가 발생한다.Docker의 기본 로그 드라이버는 json-file이며, 별도로 설정하지 않으면 로그 파일 크기 제한 없이 계속 증가한다. 결국 서버의 디스크가 꽉 차서 장애가 발생할 수도 있다. 이를 방지하려면 로그 파일의 크기를 제한하는 설정을 적용하는 것이 중요하다.끝없이 커진 로그파일이 결국 장애를 일으켜버렸다.이번 글에서는 Docker 컨테이너의 로그 파일 크기를 제한하는 방법과 기존 로그 파일을 정리하는 방법, 그리고 Docker Compose에서 설정하는 방법까지 알아본다.Docker 로그 크기 제한Docker 로그 크기 제한 방법은 크게 3가지로 나뉜다.개별 컨테이너 실행 시 로그 제한 ..

Development/DevOps 2025.03.12
IntelliJ IDEA Copilot 한글 깨짐 문제 해결

본 증상은 IntelliJ IDEA 2024.3.5 로 업데이트 되며 해결되었으나 추후 재발에 대비하여 글을 남겨둠Intro인텔리제이에서 Copilot을 사용할 때, 버전 업그레이드 후 한글 자동완성이 깨지는 문제가 발생했다. 이는 fallback font가 올바르게 불러와지지 않아서 발생하는 것으로 보인다. 자동완성 미리보기는 한글이 다 깨져서 나오는데, 막상 tab을 누르면 제대로 입력된다. 현 개발 환경은 다음과 같다.Ubuntu 22.04IntelliJ IDEA Ultimate 2024.3.4.1Github Copilot 1.5.37-242해결원래 JetBrains Mono는 한글을 지원 하지 않는다. https://www.jetbrains.com/ko-kr/lp/mono/그래서 적당한 Fallb..

Development/Develop Tools 2025.03.07
Selenium과 2Captcha로 Cloudflare Turnstile 우회

Intro웹 스크래핑을 하다 보면 Cloudflare Turnstile 캡차가 가로막는 경우가 많다. 특히, 자동화된 요청을 차단하려는 사이트에서는 이걸 우회하지 않으면 데이터를 가져올 수 없다. API가 제공되지 않는 경우, 어쩔 수 없이 크롤링을 통해 데이터를 수집해야 하지만, Turnstile이 이를 방해할 수 있다.Verify you are human by completing the action below.위와 같이 Turnstile이 앞을 가로막아 자동수집이 안되면 곤란하다.이번 글에서는 Selenium과 2Captcha API를 활용해 Cloudflare 캡차를 뚫고 웹페이지에 자동으로 접속하는 과정을 정리한다. 또한, 성공적으로 접속한 후 HTML을 저장하는 방법까지 다룬다. 이제부터 캡차를..

Development/Develop Tools 2025.03.05
Safari 는 또 다른 인터넷 익스플로러

인터넷 익스플로러의 장례식을 치르고 나면, 웹 개발자들에게는 장미빛 미래만 남을 거라고 생각했다.*"이건 크롬에서는 되는데..."* 같은 변명이 통하지 않는 세상, 영혼을 갈아 넣는 고통도 이제 과거가 됐다고 믿고 싶었다. 하지만 Safari가 기막히게 그 빈자리를 채워버렸다. 파레토 법칙은 역시 강력했다. vh 좀 맘대로 처리했다고 모바일 사파리에서는이러면서 페이지를 그냥 터뜨려 버린다. 그냥 그려주면 되잖아? 다른 브라우저들은 해주는데...저거 하나 잡으려고 커밋을 하나하나 checkout 해 가며 내부 IP를 통해 iPhone Safari로 접속해서 직접 확인해야 했다. 아무리 그래도 CSS 문제로 페이지를 터뜨리다니. 터뜨렸으면 원인에 대한 힌트라도 줘야 하는 거 아닌가? Xcode 라도 깔면 나..

Development/DevLife 2025.03.01
[Spring Boot] Spring AI 활용해 LLM과 연동하기

IntroDeepseek를 테스트 해보고 리소스 대비 대단한 성능에 감탄을 했고, 그 이후로 항상 개인적으로 진행 중인 프로젝트에서도 하나씩 LLM을 연동한 기능을 추가하려고 생각해왔다. LLM을 적용해 가치를 만들어낼 수 있는 분야는 너무나도 다양하다.튜토리얼 수준으로 진행할 예정이기에 원래는 로컬에서 DeepSeek R-1의 8B 정도의 모델을 돌려서 처리하려 했지만, 아쉽게도 몇 번의 테스트 결과 해결되지 않는 한글 처리 이슈가 있었다. 응답이 오래 걸리는건 스케줄러로 처리하도록 하면 어느정도는 해결 가능하지만, 정확도는 타협할 수 없는 부분이다. 32B 이상 모델은 사용해야 한글도 원활하게 소화해내는걸로 보이는데 집에서 열심히 돌아가고 있는 서버 노트북 스펙은 그 정도를 감당할 수준이 아니다.그래..

Programming/JPA ⁄ Spring 2025.02.28