목록전체 글 (88)
KJH
node.js 가 싱글 스레드라는 말이 늘 따라온다.실상은 JS 언어 자체에 스레드 개념이 없다.스레드를 몇 개 쓸지는 언어가 아니라 런타임(V8 + Node)이 정한다. 그래서 Node.js 는 멀티스레드다."JS 는 싱글" 이라는 말은 "JS 코드는 스레드 하나에서만 실행된다" 는 뜻이다. 스레드는 하나가 아니다 스레드하는 일JS 실행메인 스레드 1개V8 로 JS 실행 + libuv 이벤트 루프. 네트워크 I/O 는 전부 여기서 epoll 로 처리Olibuv 스레드 풀 (기본 4개)파일 read/write, dns.lookup, crypto.pbkdf2, zlib 처럼 epoll 로 기다릴 수 없는 블로킹 작업 대행XV8 헬퍼 스레드GC, JIT 컴파일Xworker_threads (쓸 때만)별도 V8..
CDN 하나에 정적 파일을 다 걸어 두면 그 CDN 이 흔들릴 때 사이트가 통째로 안 뜬다.두 클라우드에 CDN 을 하나씩 두고, 도메인 하나 뒤에서 둘 다 살려 두는 구성을 만들었다. 같은 도메인을 양쪽 CDN 에 붙여 두고, DNS 가 트래픽을 나눈다.평소에는 둘 다 받고, 한쪽이 죽으면 그쪽 응답을 아예 안 준다. 가중치로 나눈다 Route 53 의 가중치 라우팅은 같은 이름·같은 타입 레코드를 여러 개 두고 몫을 정하는 방식이다 (AWS Docs, Weighted routing). "Amazon Route 53 sends traffic to a resource based on the weight you assign to the record as a share of the total weight f..
정적 파일을 S3 버킷 하나에 올려 두고 CDN 오리진으로 쓰면, 그 버킷이 있는 리전이 흔들릴 때 손쓸 방법이 없다.버킷을 하나 더 만드는 것은 쉽다.어려운 것은 두 버킷을 같은 내용으로 유지하는 일과, 쓰는 쪽이 어느 버킷인지 몰라도 되게 만드는 일이다. 앞은 교차 리전 복제가, 뒤는 Multi-Region Access Point 가 맡는다. 양쪽으로 복제한다 한 방향만 복제하면 배포 파이프라인이 항상 원본 리전을 향해야 한다.그 리전이 막히면 배포가 멈춘다.양방향으로 걸면 어느 쪽에 써도 반대편으로 넘어간다. resource "aws_s3_bucket_replication_configuration" "seoul_to_tokyo" { bucket = aws_s3_bucket.seoul.id rol..
틈틈히 AI로 게임을 만들고 싶어서 삽질을 하고 있는데 느낀점은2d 게임 개발하는건 쉬운편이다. AI로 딸깍이면 만드는데 진짜 중요한건 기획!게임 기획은 AI한테 맡겨도 되긴한데 맥락을 유지하고 컨셉을 이어가려면 사람 개입이 필요하다. 기획까지 AI한테 다 줘버리면 너무 겉잡을 수 없을 것으로 보였다. 두번째 중요한건 에셋 뽑기. 그림이나 디자인이나 이런거 전혀 안해본 사람으로써 되게 막막했는데 AI의 도움을 받아 연구를 나름 해보았다. hugging face의 각종 모델을 가져다가 2d asset을 만들어도 보았고, civitai에서 lora 학습되어 있는 모델을 가져다가 sprite sheet을 만들어보기도 했다. 원본을 유지한채로 모션만 바꾸는 건 너무나 큰 난이도 였고, 이 기능을 만들어서 AI ..
ai 발전이 너무 빨라서 트랜드가 하루하루 달라진다.. IT 업계에서 살아 남으려면 꾸준히 지식을 습득하고 100% 이해는 못해도 프로토타입을 빠르게 만들어보는 자세가 중요한거 같다. 처음엔 버벅여도 갈수록 습득 능력이나 이해하는 속도가 빨라지는거 같다. 그래서 출퇴근길에는 유투버 조코딩님의 AI 주간 요약 영상을 챙겨보고 있고, 틈틈히는 GeekNews를 본다. 추가로는 https://www.star-history.com/ 에서 어떤 프로젝트가 핫한지 파악하고 있다. 이정도만 봐도 주변에서 하는 AI 관련된 이야기의 80~90%는 이해할 수 있는거 같다. 적어도 뒤쳐지진 않는거 같다 이 물건을 왜 샀나 openclaw가 난리인 상황에서 clawdbot 시절에 이야기를 듣고 바로 클라우드에 서버를 띄우고..
쿠버네티스 공식 블로그에 2026년 1월 30일 올라온 글의 내용이다. "In cgroup v1, the default value for CPU shares is 1024, meaning a container requesting 1 CPU has equal priority with system processes that live outside of Kubernetes' scope. However, in cgroup v2, the default CPU weight is 100, but the current formula converts 1 CPU (1000m) to only ≈39 weight - less than 40% of the default."— Kubernetes Blog, New Conversi..
현업에서 모니터링 툴을 이것저것 써봤다.LGTM, EFK 등을 거쳤는데 사용성은 Datadog 이 압도적이다.상용 툴이라 오픈소스와 나란히 놓고 비교할 대상은 아니지만, 그만큼 돈이 나간다. 그래서 뭐에 돈이 나가는지부터 정리해 봤다.결론부터 말하면 Host 는 손댈 여지가 적고, 비싼 건 Log/APM Index 다."정상 요청은 Datadog 에 안 보낸다" 가 가장 큰 절감이었다. 비용 관점에서의 최적화이고, 물론 최선의 방식은 아니다. 대표적으로 Host, Log, APM 정도 쓴다고 보면 과금 항목이 이렇게 쪼개진다. 영역과금 항목무엇으로 세나InfraInfra Host호스트 수 (HWMP)InfraInfra Container컨테이너 수 × 시간ProfilerProfiled Host호스트 수 (..
http 와 https 차이는 익히 들어서 개념만 훑고 간다. httphttps패킷 내용암호화 없이 그대로 담긴다TLS 로 암호화해서 담는다가로채면읽히고 위변조된다읽지 못하고, 고치면 들킨다 SSL 과 TLS 를 혼용해서 쓰는 경우가 있는데, TLS 가 SSL 의 후속이라 TLS 로 부르는 게 일반적이다. TLS 가 담당하는 세 가지 하는 일내용서버 인증인증서로 "진짜 서버 맞아?" 를 확인한다키 합의통신에 쓸 대칭키(세션키)를 안전하게 만든다기밀성·무결성이후 모든 데이터를 대칭키로 암호화하고 변조를 막는다 이 세 가지를 만드는 과정이 Handshake 이고, 실제 데이터가 오가는 과정이 Record 다. 대칭키와 비대칭키 대칭키는 암호화와 복호화에 같은 키를 쓴다.자물쇠가 대표적인 예시다.A 와 B ..