🧷 tmux 세션 부트스트랩 — 세션 매니저와 그 속살(셸 스크립트)
같은 세션/윈도우/패널을 매번 손으로 세팅하지 않으려면 세션 매니저(tmuxp·smug·tmuxinator)가 정석. 그 도구가 내부에서 부르는 tmux 명령을 셸로 해부해 원리까지 잡는다.
같은 세션/윈도우/패널을 매번 손으로 세팅하지 않으려면 세션 매니저(tmuxp·smug·tmuxinator)가 정석. 그 도구가 내부에서 부르는 tmux 명령을 셸로 해부해 원리까지 잡는다.
모노레포로 JS/TS 패키지를 관리하고 GitHub Packages에 수동 배포하는 방법
LazyVim/Neovim에서 코드 진단, LSP 통신 로그, Neovim 메시지 기록을 목적별로 구분하고 각각 어디서 확인하는지 정리한다.
webpack-dev-server Proxy만 ECONNREFUSED일 때 Backend 상태, localhost의 주소 해석 순서, ::1/127.0.0.1 Bind 불일치를 분리해 진단하고 명시적 Target이나 DNS 정책으로 해결하는 흐름을 정리한다.
ssh -T는 성공하지만 git clone은 Bad configuration option 으로 실패하는 경우, .ssh/config의 UTF-8 BOM이 원인
Windows의 %LOCALAPPDATA%\nvim과 dotfiles의 Neovim 설정 디렉터리를 Junction으로 연결하고 연결 여부와 제거 방법까지 확인한다.
Java 동시성을 Task, Executor, Result/Completion, Shared State Coordination의 네 축으로 나누고 Thread·Runnable·Callable·Future·CompletableFuture·Lock이 각각 어느 문제를 해결하는지 정리한다.
람다의 타겟 타입인 java.util.function 패키지를 Runnable·Comparator 배경부터 Function·Predicate·Consumer·Supplier 4대장까지 정리한다.
Java 21 + jenv export 플러그인 설정으로 해결
develop을 merge한 뒤 일부 내용만 남긴 merge commit을 만들면 이후 merge-base가 이미 병합된 것으로 계산되어 기대한 변경이 다시 나타나지 않을 수 있다. 원인과 안전한 대안을 정리한다.