전체 글 437

Java StructuredTaskScope 기준

Java StructuredTaskScope는 관련 있는 여러 동시 작업을 하나의 범위 안에서 시작하고, 기다리고, 실패와 취소를 함께 처리하기 위한 structured concurrency API다. Java SE 27 문서 기준으로 이 API는 여전히 preview 기능이므로, 장기 운영 코드에 넣기 전에는 JDK 버전과 preview 사용 정책을 먼저 확인해야 한다.핵심 기준은 세 가지다. 첫째, 서로 관련된 하위 작업들이 모두 끝나야 상위 작업이 계속될 수 있을 때 적합하다. 둘째, 작업 중 하나가 실패했을 때 나머지 작업을 계속 둘 이유가 없다면 StructuredTaskScope가 오류 전파와 취소 흐름을 단순하게 만든다. 셋째, API가 preview 상태이므로 JDK 27 문법과 JDK 2..

systemd NoNewPrivileges 기준

본문 중간의 쿠팡 추천 상품 구매시 쿠팡 파트너스에서 일정액의 수수료를 제공받습니다.systemd 서비스 하드닝에서 NoNewPrivileges=yes는 자주 보이는 설정입니다. 핵심은 단순합니다. 서비스 프로세스와 그 자식 프로세스가 execve()를 거치면서 새 권한을 얻는 경로를 막습니다.이 설정은 “root 권한을 모두 없앤다”는 뜻이 아닙니다. 이미 가진 권한을 자동으로 회수하는 설정도 아닙니다. setuid, setgid, file capability처럼 새 프로그램을 실행하는 순간 권한이 더 커질 수 있는 통로를 닫는 쪽에 가깝습니다.NoNewPrivileges는 무엇을 막나Linux 커널의 no_new_privs 플래그는 한 번 설정되면 fork, clone, execve를 지나도 이어지고..

CHIPS Partitioned 쿠키 기준

CHIPS는 Partitioned 속성을 붙인 쿠키를 상위 사이트별로 분리해 저장하는 방식입니다. 같은 서드파티 위젯이 여러 사이트에 들어가더라도, 브라우저는 쿠키를 하나의 공용 third-party cookie jar에 두지 않고 top-level site 기준으로 나눈 저장 공간에 둡니다.2026년 9월 27일 확인 기준 MDN은 CHIPS를 Baseline 2025의 새로 사용 가능한 기능으로 설명합니다. 핵심은 추적용 third-party cookie를 그대로 유지하는 것이 아니라, 임베드된 지도, 채팅 위젯, CDN 상태처럼 상위 사이트별 상태가 필요한 경우에만 쿠키를 분리해 쓰도록 하는 것입니다.Partitioned 쿠키는 무엇을 나누나기존 third-party cookie는 쿠키를 설정한 도..

리눅스 cgroup v2 memory.high 기준

본문 중간의 쿠팡 추천 상품 구매시 쿠팡 파트너스에서 일정액의 수수료를 제공받습니다.리눅스에서 서비스별 메모리 제한을 잡을 때 memory.high와 memory.max를 같은 의미로 보면 운영 판단이 흐려집니다. cgroup v2 기준으로 memory.high는 메모리 사용량이 기준을 넘었을 때 reclaim을 강하게 걸어 속도를 늦추는 경계이고, memory.max는 더 이상 담을 수 없을 때 cgroup 안에서 OOM 처리가 일어날 수 있는 하드 제한입니다.결론부터 말하면, 일반적인 서비스 메모리 제어는 memory.high를 먼저 보며, memory.max는 마지막 방어선으로 둡니다. systemd를 쓴다면 각각 MemoryHigh=, MemoryMax=와 연결해 이해하면 됩니다.memory.hi..

쿠쿠 음식물처리기 사용 기준

쿠쿠 음식물처리기 사용 기준음식물처리기는 스펙보다 집의 음식물 배출 패턴이 먼저다. 이번에 산 제품은 쿠쿠 에코웨일 건조분쇄형 음식물처리기 CFD-ENL201DCGW다. 귀곰 유튜브에서 이 제품을 괜찮게 다룬 걸 보고 후보에 올렸고, 쿠팡에서 실제로 구매했다.사용 환경은 2인 신혼부부 가정이다. 결론부터 말하면 용량은 충분했다. 매일 음식물이 많이 나오는 집이 아니라면 2L 건조통은 부담 없이 쓰기 좋다. 대신 조용한 집에서 예민하게 느껴질 수 있는 소리, 활성탄 필터 취급감, IoT 부재는 구매 전에 알고 들어가는 편이 낫다.확인한 제품 사양공식 쿠쿠몰의 제품명은 쿠쿠 에코웨일 건조분쇄형 강력건조통 음식물처리기(2L, 그레이스화이트)이고, 모델명은 CFD-ENL201DCGW다. 쿠쿠몰 상세정보 기준으로..

Git fsmonitor 기준

본문 중간의 쿠팡 추천 상품 구매시 쿠팡 파트너스에서 일정액의 수수료를 제공받습니다.Git fsmonitor는 작업 트리에서 바뀐 파일을 더 빠르게 파악하기 위한 Git의 file system monitor 기능이다. 큰 저장소에서 git status, git diff, git add처럼 index와 작업 트리를 비교하는 명령은 많은 파일의 상태를 확인해야 한다. fsmonitor는 파일 시스템 변경 정보를 이용해 이 확인 범위를 줄이는 데 초점이 있다.2026년 9월 26일 확인 기준 Git 공식 문서는 core.fsmonitor=true일 때 내장 fsmonitor daemon을 사용할 수 있다고 설명한다. 다만 모든 저장소에서 무조건 켜야 하는 기능은 아니다. 작업 트리가 크고 상태 확인이 느릴 때..

PostgreSQL HOT update 기준

PostgreSQL에서 UPDATE는 기존 행을 제자리에서 덮어쓰는 방식이 아니라 새 row version을 만든다. 이 구조는 MVCC 동시성을 가능하게 하지만, 업데이트가 많을수록 heap과 index에 추가 작업이 생길 수 있다. HOT update는 이 비용을 줄이기 위한 PostgreSQL의 heap-only tuple 최적화다.결론부터 말하면 HOT update는 직접 켜는 기능이 아니라 조건이 맞을 때 PostgreSQL이 선택하는 최적화다. 기준은 두 가지다. 업데이트가 index가 참조하는 컬럼을 바꾸지 않아야 하고, 새 row version이 기존 row와 같은 heap page에 들어갈 공간이 있어야 한다.HOT update는 무엇을 줄일까?PostgreSQL 공식 문서 기준으로 MV..

HTTP Range 요청 기준

Range 요청은 큰 리소스 전체가 아니라 필요한 바이트 구간만 받기 위한 HTTP 기능입니다. 동영상 탐색, 이어받기 다운로드, 큰 파일의 일부 확인, 크롤러의 점진적 수집처럼 전체 본문을 매번 받을 필요가 없을 때 쓰입니다.핵심 기준은 세 가지입니다. 서버가 range 요청을 지원하는지 확인합니다. 응답이 206 Partial Content, 200 OK, 416 Range Not Satisfiable 중 무엇인지 구분합니다. 그리고 이어받기에서는 If-Range와 validator를 함께 봐서 중간에 파일이 바뀌었는지 확인합니다.Range 요청은 언제 쓰나MDN과 RFC 9110 기준으로 Range 요청은 선택된 representation의 일부만 전송받기 위한 요청입니다. 가장 흔한 단위는 byt..

CORS preflight 캐시 기준

CORS preflight cache는 브라우저가 같은 교차 출처 요청을 보낼 때 매번 OPTIONS 확인을 반복하지 않도록 preflight 결과를 잠시 저장하는 별도 캐시입니다. 일반 HTTP 응답 캐시와 같은 저장소가 아니며, 서버가 응답한 Access-Control-Max-Age와 브라우저의 내부 제한을 함께 받습니다.2026년 9월 24일 확인 기준 MDN과 Fetch Standard는 preflight 요청을 브라우저가 자동으로 보내는 OPTIONS 확인 절차로 설명합니다. 실제 요청의 method와 custom header가 허용되는지 먼저 확인하고, 통과하면 그 다음에 실제 요청을 보냅니다.preflight는 언제 생기나모든 CORS 요청이 preflight를 보내는 것은 아닙니다. 단순 ..

systemd OOMPolicy 기준

리눅스 서비스가 메모리 부족으로 죽었을 때 중요한 질문은 두 가지입니다. 무엇이 프로세스를 종료했는가, 그리고 systemd가 그 뒤에 unit을 어떤 상태로 처리할 것인가입니다. OOMPolicy=는 두 번째 질문에 답하는 service unit 설정입니다.OOMPolicy=를 메모리 제한 설정으로 보면 혼동이 생깁니다. 메모리 사용량을 제한하려면 MemoryMax=, MemoryHigh= 같은 resource control 설정을 봐야 합니다. OOMPolicy=는 커널 OOM killer나 systemd-oomd가 서비스의 프로세스를 종료했을 때, 남은 프로세스를 계속 둘지, unit을 정리할지, cgroup 전체를 함께 종료할지 정하는 기준입니다.OOMPolicy는 무엇을 정하나systemd 문서..

페이스북으로 공유카카오톡으로 공유카카오스토리로 공유트위터로 공유URL 복사