<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>angari.dev</title><description>AI로 만들어 나가는 개발자 지크의 기록 블로그.</description><link>https://angari.dev/</link><item><title>빌드는 통과했는데 배포가 거부됐다 — Cloudflare Pages 발행 삽질기</title><link>https://angari.dev/posts/build-passed-deploy-refused/</link><guid isPermaLink="true">https://angari.dev/posts/build-passed-deploy-refused/</guid><description>도메인을 Cloudflare Pages로 넘기고 정식 발행하다가 파일 용량 상한·push 진행 중 착시·sitemap 측정 버그라는 세 가지 함정을 실측으로 하나씩 좁혀간 기록이다.</description><pubDate>Tue, 14 Jul 2026 01:40:00 GMT</pubDate></item><item><title>AI 초안이 &apos;구구절절&apos;했던 이유 — 문체를 데이터로 교정하기</title><link>https://angari.dev/posts/fixing-ai-prose-with-data/</link><guid isPermaLink="true">https://angari.dev/posts/fixing-ai-prose-with-data/</guid><description>체감 피드백 &quot;말이 너무 많다&quot;를 과거 61편 코퍼스와 정량 대조해, 교정 지점이 코드블록이 아니라 내부 식별자 남용이었음을 밝히고 문체 규칙을 개정한 기록.</description><pubDate>Tue, 14 Jul 2026 01:30:00 GMT</pubDate></item><item><title>구 블로그 61편, 에이전트 부대로 하루 만에 이관하기</title><link>https://angari.dev/posts/migrating-61-posts-with-agent-squad/</link><guid isPermaLink="true">https://angari.dev/posts/migrating-61-posts-with-agent-squad/</guid><description>구 블로그 수제 글 61편과 프로젝트 4건을 새 규격에 맞춰 옮기며, 골든 레퍼런스·공유 브리프·린트 게이트로 이어지는 소넷 에이전트 부대 오케스트레이션 방법론과 사고·방어선을 정리한다.</description><pubDate>Tue, 14 Jul 2026 01:20:00 GMT</pubDate></item><item><title>손발과 두뇌를 붙인 날 — 에이전트에 지식 뇌 연결하기</title><link>https://angari.dev/posts/connecting-hands-to-brain/</link><guid isPermaLink="true">https://angari.dev/posts/connecting-hands-to-brain/</guid><description>2주간 크론만 돌며 배운 게 없던 운영 비서 헤르메스와 따로 자라던 지식 뇌 second를, 자기심문으로 걸러낸 최소 개입 하나로 연결한 하루를 정리한다.</description><pubDate>Tue, 14 Jul 2026 01:10:00 GMT</pubDate></item><item><title>git은 부모 브랜치를 기억하지 않는다 — dev 하드코딩을 벗기며 배운 것</title><link>https://angari.dev/posts/git-remembers-no-parent/</link><guid isPermaLink="true">https://angari.dev/posts/git-remembers-no-parent/</guid><description>브랜치가 계보를 저장하지 않는 포인터일 뿐이라는 사실이, taskery의 dev 하드코딩을 걷어내는 설계를 어떻게 바꿨는지 정리한다.</description><pubDate>Tue, 14 Jul 2026 01:00:00 GMT</pubDate></item><item><title>완료는 실측으로만 말한다</title><link>https://angari.dev/posts/done-only-when-measured/</link><guid isPermaLink="true">https://angari.dev/posts/done-only-when-measured/</guid><description>측정은 통과했는데 실제로는 안 돌아가는 &apos;완료 오보&apos;를 두 번 겪고서야 세운 원칙 하나. 이 시리즈가 그 원칙을 세 갈래로 벼려내는 여정이다.</description><pubDate>Sun, 12 Jul 2026 00:00:00 GMT</pubDate></item><item><title>허위 적격 0 — 애매하면 통과시키는 필터</title><link>https://angari.dev/posts/zero-false-positives/</link><guid isPermaLink="true">https://angari.dev/posts/zero-false-positives/</guid><description>정부지원 공고를 걸러내는 gov-radar의 hardCheck 함수를 통해, 결정론 코드가 어디까지 판단하고 어디서 손을 놓아야 하는지를 정리한다. 통과를 기본값에 두고 거절만 증명하게 만드는 비대칭 설계가 왜 안전한 실패로 이어지는지 짚는다.</description><pubDate>Sat, 11 Jul 2026 00:00:00 GMT</pubDate></item><item><title>하나의 비서를 세 개의 뇌로 나눈 이유</title><link>https://angari.dev/posts/three-brains-one-mind/</link><guid isPermaLink="true">https://angari.dev/posts/three-brains-one-mind/</guid><description>gov-radar를 설계하며 하나의 AI 에이전트로 전부 처리하려던 첫 충동이 신뢰성·학습가능성·컨텍스트 상한이라는 세 가지 물리적 한계에 부딪혀 꺾인 과정을 정리한다.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>큐는 비우고, raw는 지우지 않는다</title><link>https://angari.dev/posts/immutable-raw-and-digest-queue/</link><guid isPermaLink="true">https://angari.dev/posts/immutable-raw-and-digest-queue/</guid><description>처리 대기열과 불변 로그를 같은 저장소에 두면 왜 재처리 오염이나 유실이 생기는지, 오프셋과 집합 차집합으로 이를 막는 설계를 정리한다.</description><pubDate>Wed, 08 Jul 2026 13:00:00 GMT</pubDate></item><item><title>AI의 판단력은 복리로 자라지 않는다</title><link>https://angari.dev/posts/ai-judgment-does-not-compound/</link><guid isPermaLink="true">https://angari.dev/posts/ai-judgment-does-not-compound/</guid><description>정리를 반복하면 AI가 나를 더 잘 알게 되어 판단이 는다는 기대는 그럴듯하지만 틀렸다. 실제로 쌓이는 것은 세션의 실력이 아니라 규칙과 재료라는 두 개의 파일이다.</description><pubDate>Wed, 08 Jul 2026 12:40:00 GMT</pubDate></item><item><title>조직보다 자산 먼저 — 두 번 실패하고 남은 3원칙</title><link>https://angari.dev/posts/assets-before-organization/</link><guid isPermaLink="true">https://angari.dev/posts/assets-before-organization/</guid><description>개인 지식 시스템을 두 차례 만들고 두 번 다 무너뜨린 뒤, 그 실패를 부검해 뽑아낸 세 가지 설계 원칙을 정리한다.</description><pubDate>Wed, 08 Jul 2026 12:20:00 GMT</pubDate></item><item><title>하루 만에 지은 나의 두 번째 뇌</title><link>https://angari.dev/posts/building-my-second-brain/</link><guid isPermaLink="true">https://angari.dev/posts/building-my-second-brain/</guid><description>두 번의 실패 끝에 조직이 아니라 자산부터 짓기로 방향을 바꾸고, 하루 만에 Phase 0부터 첫 컴파일까지 완주한 지식 뇌 구축기를 정리한다.</description><pubDate>Wed, 08 Jul 2026 12:00:00 GMT</pubDate></item><item><title>테스트가 통과했다고 완료는 아니다</title><link>https://angari.dev/posts/passing-tests-is-not-done/</link><guid isPermaLink="true">https://angari.dev/posts/passing-tests-is-not-done/</guid><description>골든 픽스처를 통과한 자가학습·검증 함수 세 개가 런타임 어디에서도 호출되지 않았던 사건으로, 완료 정의에 실사용 경로 확인이 왜 들어가야 하는지 정리한다.</description><pubDate>Wed, 24 Jun 2026 12:30:00 GMT</pubDate></item><item><title>같은 함정, 세 번째는 다른 얼굴로</title><link>https://angari.dev/posts/the-same-trap-thrice/</link><guid isPermaLink="true">https://angari.dev/posts/the-same-trap-thrice/</guid><description>agent-system을 세 번째로 다시 지으며 앞선 두 번의 좌초에서 뽑은 교훈을 명시적으로 심었는데, 세 번째도 결국 다른 얼굴을 한 같은 구조의 함정에 걸린 과정을 정직하게 복기한다.</description><pubDate>Wed, 24 Jun 2026 12:00:00 GMT</pubDate></item><item><title>속 빈 강정 — 함수는 있는데 왜 안 불렸나</title><link>https://angari.dev/posts/the-hollow-flagship/</link><guid isPermaLink="true">https://angari.dev/posts/the-hollow-flagship/</guid><description>승격·메타루프·검증 루프를 구현한 함수 3개를 코드와 grep으로 뜯어, 설계는 멀쩡한데 런타임 호출처가 0인 이유를 실측한다.</description><pubDate>Tue, 23 Jun 2026 12:00:00 GMT</pubDate></item><item><title>모바일 뷰포트에 게임 욱여넣기</title><link>https://angari.dev/posts/fitting-games-into-mobile-viewports/</link><guid isPermaLink="true">https://angari.dev/posts/fitting-games-into-mobile-viewports/</guid><description>Phaser 캔버스 게임과 CSS flex 레이아웃 게임 두 종을 모바일에 맞추다 겪은 실패를 하나의 체크리스트로 묶는다.</description><pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate></item><item><title>macOS 메뉴바 앱 첫 배포기 — 뒤엎은 출시 전략</title><link>https://angari.dev/posts/shipping-a-macos-menubar-app/</link><guid isPermaLink="true">https://angari.dev/posts/shipping-a-macos-menubar-app/</guid><description>macOS 메뉴바 클립보드 매니저 stash를 처음 외부에 공개하며 orphan 브랜치 기반 7단계 배포 전략을 세웠으나, 실행 직전 더 단순한 .gitignore 기반 dev→main merge를 발견해 전략을 전면 뒤엎은 과정을 기록한다.</description><pubDate>Mon, 15 Jun 2026 00:00:00 GMT</pubDate></item><item><title>정답률 50%의 범인은 뒤집힌 PNG 한 장이었다</title><link>https://angari.dev/posts/the-culprit-was-a-png/</link><guid isPermaLink="true">https://angari.dev/posts/the-culprit-was-a-png/</guid><description>웹캠으로 방향을 인식하는 모션인식 게임에서 판정 정답률이 50% 아래로 떨어진 원인을 코드로 뒤쫓다, 결국 화면을 직접 본 뒤에야 찾아낸 디버깅 기록이다.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate></item><item><title>클립 하나에 33MB — 썸네일 메모리를 99.4% 줄이기</title><link>https://angari.dev/posts/nsimage-thumbnail-cache/</link><guid isPermaLink="true">https://angari.dev/posts/nsimage-thumbnail-cache/</guid><description>stash 클립보드 매니저의 이미지 썸네일이 매번 풀해상도로 로드되던 문제를, mach task_info 실측과 NSCache 캐시 레시피로 잡아낸 성능 개선 기록.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Claude Design 목업을 SwiftUI 네이티브 앱으로</title><link>https://angari.dev/posts/ai-design-handoff-to-swiftui/</link><guid isPermaLink="true">https://angari.dev/posts/ai-design-handoff-to-swiftui/</guid><description>AI 디자인 툴 Claude Design이 만든 인터랙티브 프로토타입을 SwiftUI로 옮기며 시각 충실도가 전면 미달했던 사건과, 그 원인이 NSPopover라는 시스템 컴포넌트였음을 추적한 과정을 정리한다.</description><pubDate>Sun, 10 May 2026 00:00:00 GMT</pubDate></item><item><title>재접속 한 번에 버그 5종이 쏟아졌다</title><link>https://angari.dev/posts/five-reconnect-bugs/</link><guid isPermaLink="true">https://angari.dev/posts/five-reconnect-bugs/</guid><description>재접속(reconnect) 기능 하나를 얹었더니 타이머·상대 패널·카운트다운·스테이지·재고까지 다섯 갈래에서 상태가 어긋났다. burger-stack에서 이틀에 걸쳐 순차로 잡아낸 과정을 정리한다.</description><pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate></item><item><title>객체 지향 프로그래밍(OOP)의 특징과 Spring</title><link>https://angari.dev/posts/spring-oop/</link><guid isPermaLink="true">https://angari.dev/posts/spring-oop/</guid><description>객체 지향 프로그래밍의 4가지 특징과 SOLID 원칙을 정리하고, Spring이 제어의 역전과 Bean 등록을 통해 JDBC·JDBC Template·JPA·Spring Data JPA 구현체를 유연하게 교체하는 원리를 살펴본다.</description><pubDate>Sat, 14 Dec 2024 00:04:00 GMT</pubDate></item><item><title>Spring 데이터베이스 접근 기술 비교 — JDBC · JPA · Spring Data JPA</title><link>https://angari.dev/posts/spring-database-access/</link><guid isPermaLink="true">https://angari.dev/posts/spring-database-access/</guid><description>JDBC부터 JDBC Template, JPA, Spring Data JPA까지 이어지는 Spring의 데이터베이스 접근 기술을 코드로 비교하고, 각 방식의 특징과 트랜잭션 처리 원리를 정리한다.</description><pubDate>Sun, 08 Dec 2024 00:03:00 GMT</pubDate></item><item><title>Spring 계층형 아키텍처와 의존성 주입</title><link>https://angari.dev/posts/spring-layered-architecture-di/</link><guid isPermaLink="true">https://angari.dev/posts/spring-layered-architecture-di/</guid><description>Spring의 계층형 아키텍처(Controller-Service-Repository-Domain) 구조와 각 계층의 역할을 코드 예시로 살펴보고, 의존성 주입 개념과 스프링 컨테이너를 통한 빈 등록·주입 방식을 정리한다.</description><pubDate>Fri, 06 Dec 2024 00:02:00 GMT</pubDate></item><item><title>Spring 기본 구조와 작동 방식</title><link>https://angari.dev/posts/spring-structure-and-workflow/</link><guid isPermaLink="true">https://angari.dev/posts/spring-structure-and-workflow/</guid><description>Spring 프레임워크의 핵심 특징과 프로젝트 생성 과정을 살펴보고, 정적 콘텐츠·MVC+템플릿 엔진·API 세 가지 웹 요청 처리 방식의 동작 원리를 정리한다.</description><pubDate>Thu, 05 Dec 2024 00:01:00 GMT</pubDate></item><item><title>Artillery로 부하 테스트 시나리오 실행</title><link>https://angari.dev/posts/load-test-artillery/</link><guid isPermaLink="true">https://angari.dev/posts/load-test-artillery/</guid><description>Nest.js 채팅 백엔드를 대상으로 Artillery를 이용해 HTTP·WebSocket 부하 테스트 시나리오를 구성하고 결과를 분석한 과정을 정리한다.</description><pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate></item><item><title>부하 테스트의 개념과 지표</title><link>https://angari.dev/posts/load-test-basics/</link><guid isPermaLink="true">https://angari.dev/posts/load-test-basics/</guid><description>부하 테스트와 스트레스 테스트의 개념을 비교하고, 홈서버 기반 Nest.js 애플리케이션에 대한 부하 테스트 진행 계획을 정리한다.</description><pubDate>Wed, 13 Nov 2024 00:59:00 GMT</pubDate></item><item><title>ddclient으로 동적 DNS(DDNS) 자동화</title><link>https://angari.dev/posts/home-server-ddns-ddclient/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-ddns-ddclient/</guid><description>DNS 동적 업데이트 클라이언트 ddclient를 설치하고 Cloudflare 연동 환경변수를 설정해 동적 IP를 자동으로 갱신하는 과정을 정리한다.</description><pubDate>Thu, 31 Oct 2024 00:58:00 GMT</pubDate></item><item><title>동적 DNS(DDNS) 개념과 테스트</title><link>https://angari.dev/posts/home-server-ddns-concept/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-ddns-concept/</guid><description>공인 IP가 유동적인 홈서버 환경에서 DDNS 개념을 정리하고, Cloudflare API로 DNS 레코드를 조회·업데이트하는 과정을 직접 테스트한다.</description><pubDate>Wed, 30 Oct 2024 00:57:00 GMT</pubDate></item><item><title>포트 포워딩</title><link>https://angari.dev/posts/home-server-port-forwarding/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-port-forwarding/</guid><description>홈서버 구축 과정에서 라우터의 포트 포워딩 설정으로 외부 요청을 내부 서버로 전달하는 방법을 정리한다.</description><pubDate>Wed, 30 Oct 2024 00:56:00 GMT</pubDate></item><item><title>DHCP Reservation으로 내부 IP 고정</title><link>https://angari.dev/posts/home-server-dhcp/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-dhcp/</guid><description>DHCP의 개념과 DHCP Reservation(예약)을 이용해 홈서버의 내부 IP 주소를 고정해야 하는 이유를 정리한다.</description><pubDate>Wed, 30 Oct 2024 00:55:00 GMT</pubDate></item><item><title>Node.js 설치와 백엔드 애플리케이션 실행</title><link>https://angari.dev/posts/home-server-nodejs/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-nodejs/</guid><description>NVM으로 Node.js를 설치하고 pm2를 이용해 Nest.js 백엔드 애플리케이션을 홈서버에서 실행하는 과정을 정리한다.</description><pubDate>Wed, 30 Oct 2024 00:54:00 GMT</pubDate></item><item><title>MySQL 설치와 설정</title><link>https://angari.dev/posts/home-server-mysql/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-mysql/</guid><description>우분투 홈서버에 MySQL을 설치하고 자동 실행 설정, 계정 생성과 권한 부여, 데이터베이스 생성까지 초기 설정 과정을 정리한다.</description><pubDate>Wed, 30 Oct 2024 00:53:00 GMT</pubDate></item><item><title>Nginx SSL/TLS 발급과 자동 갱신</title><link>https://angari.dev/posts/home-server-ssl/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-ssl/</guid><description>Cloudflare DNS-01 챌린지와 Certbot으로 Let&apos;s Encrypt 인증서를 발급하고 Nginx에 적용해 자동 갱신까지 설정하는 과정을 정리한다.</description><pubDate>Wed, 23 Oct 2024 00:52:00 GMT</pubDate></item><item><title>Nginx 설치와 리버스 프록시</title><link>https://angari.dev/posts/home-server-nginx/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-nginx/</guid><description>Ubuntu 홈서버에 Nginx 웹 서버를 설치하고 리버스 프록시를 구성하는 과정을 정리한다.</description><pubDate>Tue, 22 Oct 2024 00:51:00 GMT</pubDate></item><item><title>Cloudflare DNS 설정</title><link>https://angari.dev/posts/home-server-cloudflare-dns/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-cloudflare-dns/</guid><description>Cloudflare에서 서브 도메인의 DNS 레코드를 추가해 홈서버 IP와 연결하는 방법을 정리한다.</description><pubDate>Tue, 22 Oct 2024 00:50:00 GMT</pubDate></item><item><title>방화벽 설정</title><link>https://angari.dev/posts/home-server-firewall/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-firewall/</guid><description>Ubuntu 서버에 ufw를 이용해 방화벽을 설정하고, SSH와 HTTPS 등 필요한 포트만 허용하는 과정을 정리한다.</description><pubDate>Fri, 11 Oct 2024 00:49:00 GMT</pubDate></item><item><title>SSH 원격 접속 설정</title><link>https://angari.dev/posts/home-server-ssh/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-ssh/</guid><description>Ubuntu 서버에 OpenSSH를 설치하고 키 기반 인증으로 비밀번호 없이 안전하게 원격 접속하는 환경을 구성한다.</description><pubDate>Thu, 10 Oct 2024 00:48:00 GMT</pubDate></item><item><title>Windows 디스크 파티셔닝과 Ubuntu 설치</title><link>https://angari.dev/posts/home-server-partition-install/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-partition-install/</guid><description>Windows OS 디스크를 파티셔닝해 여유 공간을 확보하고, USB 부팅 순서를 변경해 그 공간에 Ubuntu Desktop OS를 설치하는 과정을 정리한다.</description><pubDate>Wed, 09 Oct 2024 00:47:00 GMT</pubDate></item><item><title>Rufus로 Ubuntu USB 부팅 디스크 만들기</title><link>https://angari.dev/posts/home-server-usb-boot/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-usb-boot/</guid><description>Ubuntu Desktop 설치용 부팅 USB를 Rufus로 만드는 과정을 정리한다.</description><pubDate>Wed, 09 Oct 2024 00:46:00 GMT</pubDate></item><item><title>운영체제 선택과 설치</title><link>https://angari.dev/posts/home-server-os-install/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-os-install/</guid><description>홈서버로 활용할 노트북에 Windows와 Ubuntu를 함께 운영하기로 하고, 데스크톱 버전을 선택한 이유와 설치 과정 개요를 정리한다.</description><pubDate>Wed, 09 Oct 2024 00:45:00 GMT</pubDate></item><item><title>홈서버 구축 과정 정리</title><link>https://angari.dev/posts/home-server-overview/</link><guid isPermaLink="true">https://angari.dev/posts/home-server-overview/</guid><description>Ubuntu 기반 홈서버의 구축 배경과 아키텍처, 서버·네트워크·애플리케이션 설정 과정을 단계별로 정리한다.</description><pubDate>Tue, 08 Oct 2024 00:44:00 GMT</pubDate></item><item><title>프로젝트 배포와 점검</title><link>https://angari.dev/posts/cola-chat-deploy/</link><guid isPermaLink="true">https://angari.dev/posts/cola-chat-deploy/</guid><description>채팅 프로젝트의 서버·클라이언트 배포를 마무리하고, 개발 동기와 규칙 준수 여부를 스스로 점검한다.</description><pubDate>Thu, 03 Oct 2024 00:43:00 GMT</pubDate></item><item><title>실시간 사용자 온라인 상태 관리</title><link>https://angari.dev/posts/cola-chat-online-status/</link><guid isPermaLink="true">https://angari.dev/posts/cola-chat-online-status/</guid><description>채팅방 최대 정원 제한을 위해 Map 자료구조로 사용자 온라인 상태를 관리하고, 서버와 클라이언트 간 웹소켓 이벤트로 실시간 동기화하는 과정을 정리한다.</description><pubDate>Wed, 02 Oct 2024 00:42:00 GMT</pubDate></item><item><title>실시간 메시지 전송과 수신</title><link>https://angari.dev/posts/cola-chat-messaging/</link><guid isPermaLink="true">https://angari.dev/posts/cola-chat-messaging/</guid><description>Socket.IO의 on/emit을 활용해 Nest.js 서버와 Next.js 클라이언트 간 채팅 메시지·공지 전송 및 수신 기능을 구현한 과정을 정리한다.</description><pubDate>Tue, 01 Oct 2024 00:41:00 GMT</pubDate></item><item><title>채팅방 입장/퇴장 처리 로직</title><link>https://angari.dev/posts/cola-chat-join-leave/</link><guid isPermaLink="true">https://angari.dev/posts/cola-chat-join-leave/</guid><description>Socket.IO 기반 채팅 서비스에서 소켓 연결과 해제 시점에 채팅방 입장과 퇴장을 처리하는 서버·클라이언트 로직을 정리한다.</description><pubDate>Sat, 28 Sep 2024 00:40:00 GMT</pubDate></item><item><title>Socket.IO 웹소켓 세팅</title><link>https://angari.dev/posts/cola-chat-socketio-setup/</link><guid isPermaLink="true">https://angari.dev/posts/cola-chat-socketio-setup/</guid><description>Nest.js 서버와 Next.js 클라이언트 간 Socket.IO 기반 웹소켓 연결을 구성하는 과정을 정리한다.</description><pubDate>Wed, 25 Sep 2024 00:39:00 GMT</pubDate></item><item><title>웹소켓의 기본 개념과 통신 과정</title><link>https://angari.dev/posts/cola-chat-websocket-basics/</link><guid isPermaLink="true">https://angari.dev/posts/cola-chat-websocket-basics/</guid><description>웹소켓의 개념과 특징, 핸드셰이크부터 연결 종료까지 이어지는 통신 과정을 정리한다.</description><pubDate>Tue, 24 Sep 2024 00:38:00 GMT</pubDate></item><item><title>Cola Chat — 익명 채팅 프로젝트 소개</title><link>https://angari.dev/posts/cola-chat-intro/</link><guid isPermaLink="true">https://angari.dev/posts/cola-chat-intro/</guid><description>익명 채팅 서비스 &apos;Cola Chat&apos;의 기획 배경, 핵심 기능, 개발 스택을 정리한 프로젝트 소개 글.</description><pubDate>Tue, 24 Sep 2024 00:37:00 GMT</pubDate></item><item><title>I am Ironman: 게임 배포와 프로젝트 점검</title><link>https://angari.dev/posts/ironman-deploy/</link><guid isPermaLink="true">https://angari.dev/posts/ironman-deploy/</guid><description>Webpack과 Vercel로 완성한 Phaser 게임을 배포해 블로그에 iframe으로 임베드하고, 처음 세운 동기·목적과 개발 규칙에 비춰 프로젝트를 점검한다.</description><pubDate>Mon, 19 Aug 2024 00:36:00 GMT</pubDate></item><item><title>I am Ironman: 게임 씬 구성</title><link>https://angari.dev/posts/ironman-scene/</link><guid isPermaLink="true">https://angari.dev/posts/ironman-scene/</guid><description>게임의 시작과 종료 흐름에 맞춰 백그라운드·인트로·플레이·오버 4개의 씬으로 나누고, Phaser의 씬 전환 메서드로 화면 흐름을 제어한 구성을 정리한다.</description><pubDate>Mon, 19 Aug 2024 00:35:00 GMT</pubDate></item><item><title>I am Ironman: 콘텐츠 물리 충돌 처리</title><link>https://angari.dev/posts/ironman-physics/</link><guid isPermaLink="true">https://angari.dev/posts/ironman-physics/</guid><description>Phaser.js Arcade 엔진의 사각형 물리 충돌 한계를 여러 개의 사각형 존으로 극복해, 콘텐츠 형태에 맞는 충돌 감지 영역을 직접 구현한 과정을 정리한다.</description><pubDate>Mon, 19 Aug 2024 00:34:00 GMT</pubDate></item><item><title>I am Ironman: 콘텐츠 모션과 애니메이션</title><link>https://angari.dev/posts/ironman-animation/</link><guid isPermaLink="true">https://angari.dev/posts/ironman-animation/</guid><description>Phaser.js 게임에서 캐릭터 모드별 이미지 교체로 애니메이션을 구현하고, 방향키·특정 키 입력에 따른 이동과 공격 모션 로직을 정리한다.</description><pubDate>Sun, 18 Aug 2024 00:33:00 GMT</pubDate></item><item><title>I am Ironman: 게임 화면 구현</title><link>https://angari.dev/posts/ironman-game-screen/</link><guid isPermaLink="true">https://angari.dev/posts/ironman-game-screen/</guid><description>게임에 등장하는 캐릭터·배경·무기 등 콘텐츠의 이미지와 기본 속성을 정의하고, object-manager-group-scene 구조로 콘텐츠를 생성·관리하는 아키텍처를 구현한 과정을 정리한다.</description><pubDate>Fri, 16 Aug 2024 00:32:00 GMT</pubDate></item><item><title>I am Ironman: 프로젝트 세팅</title><link>https://angari.dev/posts/ironman-setup/</link><guid isPermaLink="true">https://angari.dev/posts/ironman-setup/</guid><description>Phaser.js 게임 프로젝트의 디렉토리 구조를 정리하고, Phaser.js와 Webpack을 이용한 초기 세팅 과정을 기록한다.</description><pubDate>Thu, 15 Aug 2024 00:31:00 GMT</pubDate></item><item><title>I am Ironman: 프로젝트 소개</title><link>https://angari.dev/posts/ironman-intro/</link><guid isPermaLink="true">https://angari.dev/posts/ironman-intro/</guid><description>과거 Pygame으로 만들었던 미니 슈팅 게임 &quot;I am Ironman&quot;을 JavaScript 기반 Phaser.js로 컨버팅하기로 한 배경과 게임 소개.</description><pubDate>Thu, 15 Aug 2024 00:30:00 GMT</pubDate></item><item><title>GitHub SSH 설정</title><link>https://angari.dev/posts/git-github-ssh/</link><guid isPermaLink="true">https://angari.dev/posts/git-github-ssh/</guid><description>MacOS 환경에서 SSH 키를 생성하고 GitHub 계정에 등록해 SSH 통신으로 저장소에 접근하는 과정을 정리한다.</description><pubDate>Mon, 15 Jul 2024 00:29:00 GMT</pubDate></item><item><title>자바스크립트 프로토타입</title><link>https://angari.dev/posts/javascript-prototype/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-prototype/</guid><description>자바스크립트의 프로토타입 개념과 동작 원리, 그리고 프로토타입 체인 구조를 정리한다.</description><pubDate>Sun, 07 Jul 2024 00:27:00 GMT</pubDate></item><item><title>자바스크립트 클로저와 가비지 컬렉션</title><link>https://angari.dev/posts/javascript-closure/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-closure/</guid><description>클로저가 발생하는 원리와 LexicalEnvironment가 가비지 컬렉션 대상에서 제외되는 이유를 정리하고, 참조 카운트를 이용해 클로저로 인한 메모리 누수를 해결하는 방법과 활용 사례를 살펴본다.</description><pubDate>Sat, 06 Jul 2024 00:26:00 GMT</pubDate></item><item><title>자바스크립트 콜백 함수</title><link>https://angari.dev/posts/javascript-callback/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-callback/</guid><description>자바스크립트 콜백 함수의 개념과 제어권 이전 방식을 정리하고, 콜백 지옥이 발생하는 이유와 이를 해결하는 방법을 살펴본다.</description><pubDate>Fri, 05 Jul 2024 00:25:00 GMT</pubDate></item><item><title>자바스크립트 this</title><link>https://angari.dev/posts/javascript-this/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-this/</guid><description>자바스크립트의 this가 무엇을 가리키는 키워드인지 살펴보고, 전역 공간과 호출 방식(함수·메서드·콜백·생성자)에 따라 this가 어떻게 결정되는지 정리한다.</description><pubDate>Thu, 04 Jul 2024 00:24:00 GMT</pubDate></item><item><title>자바스크립트 스코프 체인</title><link>https://angari.dev/posts/javascript-scope-chain/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-scope-chain/</guid><description>실행 컨텍스트의 LexicalEnvironment가 갖는 outerEnvironmentReference 개념을 통해 스코프 체인이 동작하는 원리를 정리한다.</description><pubDate>Wed, 03 Jul 2024 00:23:00 GMT</pubDate></item><item><title>자바스크립트 함수 선언문과 함수 표현식</title><link>https://angari.dev/posts/javascript-function-declaration-expression/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-function-declaration-expression/</guid><description>자바스크립트에서 함수를 정의하는 두 가지 방식인 함수 선언문과 함수 표현식의 개념과 호이스팅 동작 차이를 정리한다.</description><pubDate>Wed, 03 Jul 2024 00:22:00 GMT</pubDate></item><item><title>자바스크립트 호이스팅</title><link>https://angari.dev/posts/javascript-hoisting/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-hoisting/</guid><description>실행 컨텍스트의 environmentRecord가 식별자를 수집하는 방식을 바탕으로 변수·함수 선언의 호이스팅 규칙을 정리한다.</description><pubDate>Wed, 03 Jul 2024 00:21:00 GMT</pubDate></item><item><title>자바스크립트 실행 컨텍스트</title><link>https://angari.dev/posts/javascript-execution-context/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-execution-context/</guid><description>자바스크립트 엔진이 코드를 실행하기 위해 참조하는 실행 컨텍스트의 개념과 생성 과정, 그리고 내부에 저장되는 환경 정보를 정리한다.</description><pubDate>Tue, 02 Jul 2024 00:20:00 GMT</pubDate></item><item><title>자바스크립트 undefined와 null</title><link>https://angari.dev/posts/javascript-undefined-null/</link><guid isPermaLink="true">https://angari.dev/posts/javascript-undefined-null/</guid><description>값을 지정할 것으로 예상되는 상황에서 지정되지 않았을 때 반환되는 undefined의 발생 케이스와, 명시적으로 없음을 표현하기 위한 null의 쓰임을 정리한다.</description><pubDate>Mon, 01 Jul 2024 00:19:00 GMT</pubDate></item><item><title>ERR_HTTP_HEADERS_SENT - HTTP 응답 후 수정 시도 문제 해결</title><link>https://angari.dev/posts/error-http-headers-sent/</link><guid isPermaLink="true">https://angari.dev/posts/error-http-headers-sent/</guid><description>Nest.js 인터셉터에서 응답을 중복 반환해 발생한 ERR_HTTP_HEADERS_SENT 에러의 원인과 해결 과정을 정리한다.</description><pubDate>Tue, 16 Jan 2024 00:18:00 GMT</pubDate></item><item><title>Linux Ubuntu 디렉토리 권한 설정</title><link>https://angari.dev/posts/linux-directory-permissions/</link><guid isPermaLink="true">https://angari.dev/posts/linux-directory-permissions/</guid><description>백엔드 서버에서 이미지 파일 저장 시 원격 서버 배포 후 발생한 디렉토리 권한 오류를 리눅스 권한 체계로 분석하고, 디렉토리 소유자 변경으로 해결한 과정을 정리한다.</description><pubDate>Mon, 15 Jan 2024 00:17:00 GMT</pubDate></item><item><title>Let&apos;s Encrypt 인증서 갱신 실패 해결</title><link>https://angari.dev/posts/error-letsencrypt-renewal/</link><guid isPermaLink="true">https://angari.dev/posts/error-letsencrypt-renewal/</guid><description>와일드카드 인증서 발급 시 거친 DNS 소유권 수동 인증 절차 때문에 certbot 자동 갱신이 실패한 원인을 파악하고, 인증서를 재발급해 문제를 해결한 과정을 정리한다.</description><pubDate>Sun, 14 Jan 2024 00:16:00 GMT</pubDate></item><item><title>Nginx HTTPS - Let&apos;s Encrypt SSL/TLS 설정</title><link>https://angari.dev/posts/nginx-ssl-letsencrypt/</link><guid isPermaLink="true">https://angari.dev/posts/nginx-ssl-letsencrypt/</guid><description>원격 서버에 Let&apos;s Encrypt certbot으로 SSL/TLS 인증서를 발급받고, 이를 Nginx 서버 블록에 적용해 HTTPS 리버스 프록시를 구성하는 과정을 정리한다.</description><pubDate>Fri, 12 Jan 2024 00:15:00 GMT</pubDate></item><item><title>Nginx 웹서버 설치와 리버스 프록시</title><link>https://angari.dev/posts/nginx-reverse-proxy/</link><guid isPermaLink="true">https://angari.dev/posts/nginx-reverse-proxy/</guid><description>Ubuntu 서버에 Nginx를 설치하고, 리버스 프록시로 백엔드와 프론트엔드의 CORS 이슈를 완화하는 서버 블록 설정 과정을 정리한다.</description><pubDate>Thu, 11 Jan 2024 00:14:00 GMT</pubDate></item><item><title>AWS RDS 인스턴스 생성과 파라미터 그룹 설정</title><link>https://angari.dev/posts/aws-rds-instance-setup/</link><guid isPermaLink="true">https://angari.dev/posts/aws-rds-instance-setup/</guid><description>AWS RDS에서 MySQL 파라미터 그룹을 생성·설정하고 이를 적용해 RDS 인스턴스를 생성하는 과정을 정리한다.</description><pubDate>Wed, 10 Jan 2024 00:13:00 GMT</pubDate></item><item><title>AWS EC2 탄력적 IP 주소 할당</title><link>https://angari.dev/posts/aws-ec2-elastic-ip/</link><guid isPermaLink="true">https://angari.dev/posts/aws-ec2-elastic-ip/</guid><description>EC2 인스턴스를 재시작할 때마다 IP가 바뀌는 문제를 해결하기 위해 탄력적 IP를 할당하고 인스턴스에 연결하는 과정을 정리한다.</description><pubDate>Wed, 10 Jan 2024 00:12:00 GMT</pubDate></item><item><title>AWS EC2 인스턴스 생성과 설정</title><link>https://angari.dev/posts/aws-ec2-instance-setup/</link><guid isPermaLink="true">https://angari.dev/posts/aws-ec2-instance-setup/</guid><description>AWS 프리티어를 활용해 EC2 Ubuntu 인스턴스를 생성하고 보안그룹 인바운드 규칙과 도메인 연결까지 설정한 과정을 정리한다.</description><pubDate>Wed, 10 Jan 2024 00:11:00 GMT</pubDate></item><item><title>Nest.js 환경 변수 관리 — Config Module</title><link>https://angari.dev/posts/nestjs-config-module/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-config-module/</guid><description>NestJS 공식 ConfigModule을 이용해 환경변수를 분리·관리하는 이유와 설정 방법, 그리고 ConfigService로 환경변수를 불러와 활용하는 방법을 정리한다.</description><pubDate>Sun, 07 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Nest.js API 문서화 — Swagger Module</title><link>https://angari.dev/posts/nestjs-swagger/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-swagger/</guid><description>Nest.js 프로젝트에서 SwaggerModule로 API 문서를 자동 생성하고, Controller와 DTO 데코레이터로 문서 내용을 채우는 방법을 정리한다.</description><pubDate>Sat, 06 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Nest.js 유효성 검사 — Validation Pipe와 class-validator</title><link>https://angari.dev/posts/nestjs-validation-pipe/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-validation-pipe/</guid><description>Nest.js의 ValidationPipe와 class-validator를 이용해 요청 데이터의 유효성을 전역으로 검증하는 방법을 정리한다.</description><pubDate>Fri, 05 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Nest.js CORS 설정</title><link>https://angari.dev/posts/nestjs-cors/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-cors/</guid><description>프론트엔드와 협업 개발 시 CORS가 필요한 이유와 Nest.js의 enableCors() 메소드를 이용한 CORS 설정 방법을 정리한다.</description><pubDate>Thu, 04 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Nest.js HTTP exceptions 에러 처리 모음</title><link>https://angari.dev/posts/nestjs-http-exceptions/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-http-exceptions/</guid><description>Nest.js가 내장 제공하는 HTTP exception 클래스로 상태 코드별 에러를 간편하게 던지는 방법과, 상태 코드에 대응하는 Exception 클래스 목록을 정리한다.</description><pubDate>Wed, 03 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Nest.js 의존성 주입 개념과 적용 방법</title><link>https://angari.dev/posts/nestjs-dependency-injection/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-dependency-injection/</guid><description>객체 지향 프로그래밍 관점에서 의존성 주입의 개념과 인스턴스 생성 방식과의 차이를 정리하고, Nest.js의 Controller-Service 구조에서 의존성 주입이 실제로 어떻게 적용되는지 살펴본다.</description><pubDate>Tue, 02 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Nest.js Decorator 동작원리와 종류, Custom Decorator</title><link>https://angari.dev/posts/nestjs-decorator/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-decorator/</guid><description>Nest.js에서 데코레이터가 동작하는 원리와 클래스/메소드 수준의 주요 내장 데코레이터 종류를 정리하고, 전역 Guard 예외 처리를 위해 커스텀 데코레이터를 직접 만들어 문제를 해결한 경험을 기록한다.</description><pubDate>Mon, 01 Jan 2024 00:00:00 GMT</pubDate></item><item><title>Nest.js 프로젝트 생성과 구조</title><link>https://angari.dev/posts/nestjs-project-structure/</link><guid isPermaLink="true">https://angari.dev/posts/nestjs-project-structure/</guid><description>Node.js 웹서버 프레임워크 Nest.js의 설치와 프로젝트 생성, 디렉토리 구조, 그리고 데코레이터·의존성 주입·예외 처리 등 주요 기능을 정리한다.</description><pubDate>Sun, 31 Dec 2023 00:00:00 GMT</pubDate></item></channel></rss>