
Runpod의 Jupyter Lab만으로는 에이전트 활용이 불편해서 로컬 VSCode로 환경을 끌어오고 싶었음. SSH 연결부터 노트북 커널 연동까지, 더 쾌적하게 개발할 수 있는 환경 구축 방법을 단계별로 정리해봤음.

빅데이터분석기사를 공부하면서 왜도를 접했다. 이 개념의 활용에 뭔가 부족한게 보여서 분석한 글이다.
`BufferedWriter`가 `System.out.print()`보다 빠르다는데, 왜 그런 걸까? 단순히 쓰는 게 아니라 내부 동작을 분석하며 성능 차이를 확실하게 이해해보자.
Java에서 TreeMap을 사용할 때 필요한 Comparator 정의 방법을 정리했습니다. 익명 클래스, 람다 표현식, 직접 클래스 구현 등 다양한 방식을 쉽게 이해할 수 있도록 예제를 제공합니다.
오픈소스 프로젝트 metadata-extractor에 기여하면서 겪은 과정을 정리했다. 이슈 찾기부터 해결, PR 작성까지 내가 직접 해본 경험을 공유한다. 초보자가 오픈소스에 기여하는 데 도움이 될 만한 이야기다.
수열에서 두 개의 수를 골라 N회 변경해서 최대값을 만들자.DFS로 모든 경우를 시도한다.이미 시도한 경우를 저장해서 중복된 접근을 생략한다.
오름차순으로 구성된 배열에서 두 특성값의 합이 0에 최대한 가까운 조합을 찾아야 한다.풀이법은 투 포인터와 이분 탐색이 있고, 각각 N과 Nlogn 의 시간 복잡도를 가진다.
특정 엔티티를 조회할 때, 연관된 엔티티를 개별적으로 가져오기 위해 추가적인 쿼리가 발생하는 문제이다.예를 들어, Memeber 엔티티와 연관된 Item 엔티티가 N개 있을때, Member를 조회하면 Item을 가져오기 위해 추가로 N개의 SELECT 쿼리가 실행된다.

Docker 의 멀티 스테이지 빌드가 이미지 경량화의 효과가 있었다. 그리고 예전에 팀 프로젝트 했을때 테스크 코드 때문에 빌드 속도가 매우 느렸다. 그래서 이번 기회에 Spring Boot 프로젝트의 도커 이미지 빌드 과정을 개선해보려고 한다.Spring Boot 프

멀티 스테이지 빌드는 Dockerfile 을 최적화하면서도 읽고 유지 관리하기 쉽도록 하는 데 어려움을 겪는 모든 사람에게 유용하다.멀티 스테이지 빌드를 사용하면 Dockerfile 에서 여러 개의 FROM 문을 사용할 수 있다. 각 FROM 문은 서로 다른 베이스를
record 타입이 작성이 편해서 사용중이었다.그런데 update 동작에서 문제가 생겼다.post_submit 페이지를 수정용도로 재활용하려고 했다.이때 코드상에서 문제가 생겼다.request 를 새로운 record 로 대체하면 페이지에서 값이 입력되지 않았다.그래서
웹 폼 제출 후 새로고침이나 뒤로 가기로 인해 데이터가 중복으로 제출되는 문제를 방지하는 방법이다.폼 제출 후 서버에서 결과 페이지가 아닌 다른 페이지로 리다이렉트 시키고 결과를 보여준다.POST : 사용자가 폼을 제출하면, 서버에서 폼 데이터를 처리한다.Redirec
git의 주요 명령어를 깔끔하게 알려드립니다1\. Git 커밋 소개Git 에서 브랜치 쓰기Git 에서 브랜치 합치기(Merge)리베이스(rebase)의 기본git은 아주 멋져요. 왜 멋진지 알려드립니다1\. HEAD 분리하기상대 참조 (^) (Relative Refs
그럼에도 검색 기능에 GET 방식을 쓰는 이유가 있다GET 방식은 쿼리 파라미터에 정보가 담겨있다.그래서 공유가 쉽다.새로 고침과 뒤로 가기 기능을 사용하면 쉽게 요청을 다시 보낼 수 있다. 브라우저는 새로 고침을 하면 마지막 요청을 다시 전송한다.이런 반복된 요청은