최신 글
- n8n 커스텀 노드 Authorization 실패 트러블슈팅 — Worker 분산 환경의 함정 n8n을 큐 모드로 운영하면서, 단일 인스턴스 환경에서는 멀쩡하던 커스텀 노드가 운영에서만 401 에러를 뿜기 시작했다. 원인은 n8n 자체가 아니라 "프로세스 로컬 메모리 캐시"라는 무심한 설계 가정이었다. 이번 글에서는 그 디버깅 과정과 해결책(Redis 기반 분산 토큰 캐시)을 정리한다.1. 증상자체 개발한 커스텀 노드(외부 API 연동)에서 드롭다운(예: 프로젝트 목록)이 처음에는 정상 로드됨Execute Step을 수동으로 누른 이후부터 Error fetching options 발생HTTP 401 Unauthorized + Authorization failed - please check your credentials로컬 단일 인스턴스 환경에서는 재현되지 않고, 운영(메인 1대 + Worker 3.. 2026.05.05
- 사내 n8n을 외부에서 호출하기 (Webhook 분리 + AWS API Gateway 아키텍처) n8n을 사내에 구축해 운영하다 보면 거의 반드시 마주치는 요구가 있다. "외부 SaaS / 파트너 시스템에서 n8n 워크플로를 직접 호출하고 싶다". 이 글은 내부 인프라는 그대로 보호한 채 Public 호출을 안전하게 받기 위해, n8n 내부 구조 분리 + AWS API Gateway 도입을 어떻게 조합했는지를 정리한 기록이다.1. 배경과 목적n8n은 사내 인프라에 구축되어 있으며, 내부 네트워크에 위치한 Private ALB를 통해서만 접근 가능하도록 구성되어 있었다. 그러나 외부 시스템(SaaS, 파트너 시스템, 외부 이벤트 소스 등)에서 n8n 워크플로를 직접 호출해야 하는 요구가 지속적으로 발생했다.이를 해결하기 위해 다음 두 가지 구조적 개선을 진행했다.n8n 내부 구조 개선Main / Wo.. 2026.05.05
- [The Nature of Software Development] 을 또 읽고나서 🔖 이미 ‘소프트웨어의 본질’이라는 책을 읽은 적이 있다.그리고 독후감을 작성한 적도 있었다.https://happy-coding-day.tistory.com/219 [The Nature of Software Development] 을 읽고나서 🔖이 책을 읽게된 이유는 트레바리 테크유닛으로 이직을 한 뒤로 풀리지 않던 고민이 하나 있었기 때문이다. 코딩은 코딩이다. 개발은 개발이다. 명시적이고, 부담감이 느껴지지 않는다. 그러나 'happy-coding-day.tistory.com그때는 AI 시대 이전이었다.지금 다시 같은 주제를 바라보니, 분명히 달라진 지점들이 보인다.무엇이 달라졌을까?가장 크게 느껴지는 변화는 하나다.이제는 코드를 직접 작성하지 않아도 된다는 것자연어만으로도 상당 부분의 구현이 가능해.. 2026.05.04
- n8n Queue 모드 아키텍처와 운영 포인트 n8n Queue 모드 아키텍처와 운영 포인트워크플로우 자동화 도구인 n8n을 본격적으로 운영하다 보면, 어느 순간 단일 프로세스만으로는 트래픽과 안정성을 감당하기 어려운 시점이 옵니다. 이 글에서는 n8n의 두 가지 운영 모드(단일 / 큐)를 비교하고, 큐 모드의 아키텍처와 실제 운영에서 챙겨야 할 포인트를 정리합니다.본 내용은 n8n 1.121.3 기준이며, 운영 중인 환경의 버전과 일부 차이가 있을 수 있습니다.1. 들어가며n8n은 다음 두 가지 모드로 운영할 수 있습니다.단일(regular) 모드 — 하나의 프로세스가 모든 역할 처리큐(queue) 모드 — 역할을 분리하여 수평 확장 가능큐 모드는 대규모 트래픽과 높은 안정성이 요구되는 환경에 적합하며, 역할 분리를 통해 확장성을 확보할 수 있습니.. 2026.05.04
- AI시대, 우리는 어디로 흘러가고 있나요? 예전에 JPA로 개발하던 시절이 있었다.JPA를 사용해본 개발자라면 한 번쯤 들어봤을 규칙이 있다.“Many-to-Many 연관관계는 사용하지 말라.”이 규칙이 존재하는 이유는 단순하다.데이터가 한 번 흘러가기 시작한 연관관계는 이후 변경이 매우 어렵고, 변경을 시도하더라도 상당한 비용이 발생하기 때문이다. 결국 우리는 초기 설계에서 미래의 변화 가능성을 고려해 더 유연한 구조를 선택하게 된다.문득 이런 생각이 들었다.지금 우리가 살고 있는 시대도 이와 비슷하지 않은가.이미 AI라는 흐름은 시작되었고, 이 흐름 자체를 되돌리거나 무시하기는 어려운 수준에 이르렀다. 이제는 흐름을 바꾸려 하기보다, 그 흐름 위에 올라타야 하는 시점에 가까워졌다. 그리고 이 변화는 단순히 도구 하나가 추가된 것이 아니라, 우.. 2026.04.29
- 하네스 엔지니어링, 왜 지금 이렇게 많이 언급되는가 최근 들어 LinkedIn, X 등 다양한 채널에서 하네스 엔지니어링(Harness Engineering)이라는 키워드가 자주 언급되고 있다.그렇다면 하네스란 무엇이며, 왜 이렇게까지 주목받고 있는 것일까?처음 이 개념을 접하면 다소 허무하게 느껴질 수 있다.흔히 말하는 “소문난 잔치에 먹을 것 없다”는 표현처럼, 하네스를 구성하는 개별 요소들은 이미 우리가 알고 있는 것들이다.예를 들어 다음과 같은 것들이다.CLAUDE.mdSubAgentHooksMCPSkills이 자체만 놓고 보면 새로운 개념이라기보다, 기존에 존재하던 구성 요소들의 집합처럼 보인다.그렇다면 왜 이 개념이 다시 강조되고 있는 것일까?하네스가 중요한 이유: 숨겨진 의도이 질문에 답하기 위해서는 과거 개발 방식과 현재를 비교해볼 필요가 .. 2026.04.13
- [과학적 관리법] 직감이 과학을 이기는 시대 과학적 관리법이란 무엇일까.이 책에서 말하는 과학적 관리법은 감이나 경험에만 의존하지 않고, 관찰과 측정, 분석을 통해 가장 효율적인 작업 방식을 찾아 표준화하자는 관리 방식이다.이 정의를 처음 접했을 때 가장 먼저 든 생각은 단순했다.“이건 너무 당연한 이야기 아닌가?”“요즘에도 과학적 관리법과 다르게 일하는 회사가 있을까?”그런데 곰곰이 지난 회사들을 떠올려보니, 오히려 이 책이 지금도 유효한 이유가 분명해 보였다. 생각보다 많은 조직이 여전히 ‘효율적인 일하는 방식’을 명확히 찾지 못한 채 방황하고 있기 때문이다.다시 말해, 과학적 관리법은 아주 특별하거나 난해한 이야기가 아니다.업무 환경에서 효율을 높일 수 있는 방법에 대해 가설을 세우고, 그것을 검증한 뒤, 실제로 더 높은 효율이 확인되면 그에.. 2026.03.30
- GPT Actions로 실제로 쓰는 가계부를 만들어봤습니다 ChatGPT를 업무에서 활용하는 개발자는 많아졌지만,“실제로 생활 속에서 매일 쓰는 도구”를 만든 사례는 아직 많지 않다고 느꼈습니다.이번 글에서는 GPT Actions를 활용해, 실제로 동작하고 실제로 사용 중인 가계부 앱을 만든 경험을 정리해보려고 합니다.왜 가계부를 만들었는가아내와 함께 가계부를 쓰려고 여러 앱을 사용해봤습니다.하지만 오래 쓰지 못했습니다.이유는 단순했습니다.입력이 귀찮았습니다.자동 연동은 신뢰가 가지 않았습니다.결국 “캡처해서 올리면 알아서 정리되면 좋겠다”는 생각만 남았습니다.토스 앱에는 이미 결제 내역이 잘 정리되어 있었고, 매번 그 화면을 보며 “이걸 그대로 가계부로 옮길 수 있으면 좋겠다”는 생각이 들었습니다.그래서 만들었습니다.앱이 아니라 ChatGPT 안에서 해결하기처.. 2025.12.28
- ⚙️ n8n 워크플로우 구축 후기 - 많은 workflow 중 왜 n8n 이였을까? 사내 비개발자 대상으로 workflow 를 구축하면서 경험한 내용입니다. (12월 8일 기준)Workflow란 무엇이고, 왜 구축하려고 했는지?Workflow(워크플로우)의 개념이란, 워크플로우는 업무를 자동화하기 위해 작업을 단계별로 나누고 연결한 흐름 입니다. 각 작업(Task)을 하나의 노드(Node)로 만들어 연결하면, 사람이 직접 개입하지 않아도 시스템이 정의한 흐름에 따라 동작되는 것을 말합니다.여기에 AI Agent 를 더하여, 스스로 판단하고 실행할 수 있는 실용적인 도구로 활용될 수 있습니다.한 때 노코드 툴이라는 이름으로 불리기도 했고, Zapier 와 같은 도구가 대표적인 예시가 될 수 있습니다. 그러던 중 AI Agent 의 활용도가 높아지면서 Workflow 의 활용이 높아지게 되.. 2025.12.08
- "기본만 해라, 질문의 출발점" - 생각의 주도권을 디자인하라 인간은 역시 생각하는 동물이다.최근에 ‘배구감독 김연경’이라는 예능 프로그램에 빠져 있다. 예능이지만 다큐멘터리를 보는 듯한 느낌을 주는 프로그램이다. 이제 막 2회차를 지나고 있는 신생 예능인데, 출연하는 선수 대부분은 은퇴한 여자 배구 선수들이다. 이들이 프로 선수팀과 경기를 치르는 장면 중, 김연경 감독이 작전 타임에서 했던 말이 떠오른다.“기본만 해라. 딱 기본만 해라.”내가 읽은 책과 연결된 장면이 바로 이 대목이었다. 왜 ‘기본만 해라’라는 말이 인상 깊게 남았을까?ChatGPT를 처음 사용할 때가 떠올랐다. 단 한 줄의 프롬프트만 입력해도 의도한 결과를 얻어낼 수 있다는 점이 매력적이었다. 처음에는 무엇이든 물어보며 탐구했지만, 시간이 지나면서 점점 프롬프트가 단순해졌다. 어느 순간부터는 “.. 2025.10.08
- 『직업으로서의 소설가』를 읽고: “아무튼 하지 않으면 안 되는 일” 최근 무라카미 하루키의 에세이 『직업으로서의 소설가』를 읽으면서 여러 인상 깊은 구절들이 있었지만, 특히 두 가지 키워드가 마음에 오래 남았다. 하나는 오리지널리티, 다른 하나는 아무튼 하지 않으면 안 되는 일이라는 표현이다.오리지널리티에 대해 다시 생각하다.책을 읽으며 흥미롭게 느꼈던 부분 중 하나는 바로 오리지널리티에 대한 하루키의 생각이다. 이 단어를 처음 접했을 때, 올리버 색스의 다음과 같은 인용문이 함께 소개된다.창조성에는 지극히 개인적이라는 특징이 있으며, 강고한 아이덴티티와 개인적인 스타일이 있어서 그것이 재능에 반영되고 녹아들어 개인적인 몸과 형태가 된다. 그런 의미에서 창조성이란 새롭게 만들어내는 것. 기존의 견해를 타파하고 상상의 영역에서 자유롭게 날갯짓하면서 마음속으로 완전한 세계를.. 2025.05.05
- 레디스를 DB 처럼 쓴다고 하는데, 정말 믿어도 될까? - 백업, 복제 1. Redis 란 무엇인가? 1. Redis란 무엇인가?메모리 기반의 NoSQL Key-Value 저장소빠른 읽기/쓰기 속도, 다양한 자료구조 지원 (String, List, Set, Hash, Sorted Set 등)일반적으로 캐시로 많이 사용되지만, **데이터 저장소(DB)**처럼 사용하는 사례도 늘어남→ 그렇다면, “데이터를 잃지 않고” 안정적으로 저장하는 데에 Redis는 믿을만한가? 2. 가용성이란 무슨 뜻인가? 가용성(Availability): 서비스가 얼마나 지속적으로 동작 가능한지를 나타내는 지표(Availability = 사용 가능 시간 / 전체 시간) 그러니까, 가용성 99.9% 라고 한다면, 100분 중에 단 1분만이 문제가 발생했다는 것을 의미한다.Redis 는 가용성을 높이기 .. 2025.05.04
- 객체지향 프로그래밍에서 왜 역할/책임/협력을 계속 이야기할까? 우리가 ERD를 먼저 설계하고, 속성 중심으로 객체를 정의한 뒤 개발을 시작하면 어떤 문제가 발생할까?가장 큰 문제는 해당 객체가 어떤 문맥(context)에서 사용될지를 고려하지 않은 채 데이터를 설계하게 된다는 점이다. 이렇게 되면 이후 개발 과정에서 억지로 데이터를 껴맞추는 상황이 발생하게 된다. 예를 들어, 복잡한 조인을 포함한 2중, 3중의 SQL을 작성하고 있다면 이미 냄새가 풍기고 있는 셈이다. 객체를 똑똑하게 만들기 위해서는 객체가 사용될 문맥, 즉 사용 시나리오를 고려해야 한다. 이 지점에서 책임(responsibility)이라는 개념이 등장한다.그렇다면 여기서 말하는 문맥(context)이란 무엇일까? 이를 이해하기 위해 절차지향 방식의 문제점부터 다시 짚어보자.절차지향 프로그래밍의 한.. 2025.04.01
- AI 시대의 문해력, 프롬프트로 시작하다 - '최고의 프롬프트 엔지니어링 강의'를 읽고 지난주, 구글에서 제미나이 2.5를 발표했다. 구글은 이번 모델이 지금까지 출시된 모든 생성형 AI를 압도하는 성능을 보여준다고 대대적으로 홍보했다. 이 책이 처음 출간된 시점은 2024년 6월로, 당시만 해도 OpenAI의 ChatGPT가 시장을 주도하고 있었다. 그러나 1년도 채 지나지 않아, 또 다른 강력한 성능의 LLM(대규모 언어 모델)이 등장한 것이다.이처럼 시간이 흐르는 동안, 발전한 건 LLM만이 아니었다. 동영상 생성, 이미지 생성, 코드 리뷰 등 다양한 분야에서 특화된 AI들이 잇달아 출시되었고, 사용할 때마다 놀라움을 금치 못했다. 특히 SORA의 동영상 생성 기술을 봤을 때는 ‘이게 정말 가능한 일인가?’ 싶을 정도로 입이 다물어지지 않았다.LLM의 중요성은 날이 갈수록 커지고 있으.. 2025.03.31
- 설계의 함정 - 소프트웨어 설계의 정석을 읽고 소프트웨어 설계란 무엇일까? 개발자는 개발에 앞서 설계라는 과정을 충분히 수행하고 있을까?소프트웨어 설계의 목적은 무엇일까?‘설계’란 공학 분야에서 제품을 어떻게 만들지에 대한 계획을 세우는 일이다.그렇다면 소프트웨어 설계란 코드를 작성하기 전, 미리 계획하고 준비하는 일련의 과정이라 할 수 있다.그렇다면 우리는 이 과정을 잘하고 있을까? 여러 회사를 경험하거나 이야기를 듣다 보면, 이 질문에 확신 있게 ‘그렇다’고 답할 수 있는 경우는 그리 많지 않다. 그렇기에 우리는 소프트웨어 설계에 대해 더 깊이 고민하고, 비평해볼 필요가 있다.이 책에서 말하는 ‘소프트웨어 설계를 잘하기 위해 필요한 요소’는 세 가지다. 1. 설계의 목적을 명확히 파악할 것2. 설계에 필요한 최소한의 테크닉을 습득할 것3. 그리고.. 2025.03.16
인기 글
- 맛집 리스트 - 검색 맛집 리스트 (전부 모아서 다시 업로드) ; 제목별로 검색하면 빠르다. 1. 평양냉면 2. 메밀국수 (소바) 3. 막국수 4. 콩국수 5. 국밥, 해장국 6. 설렁탕 7. 감자탕 8. 순대 9. 닭볶음탕 10. 추어탕 11. 육개장 12. 대구탕 13. 김밥 14. 김치찌개 15. 부대찌개 16. 청국장 17. 된장 18. 간장게장 19. 삼계탕 20. 보쌈 21. 족발 22. 치킨 23. 돈까스 24. 함박 스테이크 25. 떡볶이 26. 라면 27. 라멘 28. 우동 29. 튀김 30. 순두부, 두부 31. 피자 32. 아이스크림, 젤라또 33. 갓포요리집 34. 죽 35. 덮밥, 백반, 벤또(도시락) 36. 꼬치구이, 로바다야끼 37. 냉동삼겹살 38. 기사식당 39. 스테이크, BBQ 40. 칼국수.. 2019.07.28
- [나만의 라이브러리 제작기-3] versioning SNAPSHOT 에 대한 고찰 배경 Bintray에 배포를 위한 준비를 마칠 쯤, Snapshot 에 대한 의구심이 들었습니다. 왜냐하면, SNAPSHOT 이란? 아직 배포되기 전 임시로 만들어 놓는 버전으로서, SNAPSHOT 은 개발 중이라는 버전을 의미한다고 알고 있었습니다. 그렇다면, 버전 이름을 SNAPSHOT으로 한다면 같은 이름으로 override되서 배포되지 않을까? 라는 호기심으로 진행되었습니다. Snapshot 이란? "A snapshot version in Maven is one that has not been released." stackoverflow.com/questions/5901378/what-exactly-is-a-maven-snapshot-and-why-do-we-need-it 즉, 개발중인 버전을 표.. 2020.09.12
- 그 누구도 궁금해하지 않을 나의 이직 이야기 지난 1년하고도 4개월간의 트레바리에서의 여정이 끝이 났다. 트레바리에서의 여정은 글을 쓰는 이곳에 담을 수 없을 정도로 버라이어티하지 않았나 싶다. 언제나 첫경험은 강렬 한 것 처럼, 다시는 트레바리에서의 근무 경험을 하지 못할 것이라 단언한다. 이 부분에 대해서는 미래의 어느날 의미있게 다뤄볼까 한다. 2022년 12월 20일 트레바리에서 퇴사했다. 그 이유에 대해서는 언급하기 어렵지만- 요즘 스타트업은 꽤 겨울이라는 사실은 명확하다. 그리고 트레바리에서 근무하던 중, 내가 존경하는 CTO님이 퇴사했다. CTO님을 개발자로서 그리고 인간적으로도 진심으로 존경하는 분이지만, 스타트업 이라는 공간은 그 분에게도 처음일 수 있고 맞지 않을 수 있으니까 퇴사할 수 있다고 생각한다. 문제는 그 이후부터 였던것.. 2023.01.29
- ⚙️ n8n 워크플로우 구축 후기 - 많은 workflow 중 왜 n8n 이였을까? 사내 비개발자 대상으로 workflow 를 구축하면서 경험한 내용입니다. (12월 8일 기준)Workflow란 무엇이고, 왜 구축하려고 했는지?Workflow(워크플로우)의 개념이란, 워크플로우는 업무를 자동화하기 위해 작업을 단계별로 나누고 연결한 흐름 입니다. 각 작업(Task)을 하나의 노드(Node)로 만들어 연결하면, 사람이 직접 개입하지 않아도 시스템이 정의한 흐름에 따라 동작되는 것을 말합니다.여기에 AI Agent 를 더하여, 스스로 판단하고 실행할 수 있는 실용적인 도구로 활용될 수 있습니다.한 때 노코드 툴이라는 이름으로 불리기도 했고, Zapier 와 같은 도구가 대표적인 예시가 될 수 있습니다. 그러던 중 AI Agent 의 활용도가 높아지면서 Workflow 의 활용이 높아지게 되.. 2025.12.08
- HTTP Caching에 대해서 좀 이해해보자!!! 이번에 HTTP Code 중 304 에러 코드에 대해서 이해하는 과정에서 WebCache에 대한 정보를 일부 활용했다. 304 에러 코드는 웹 캐시에 저장된 데이터가 같은 데이터를 Get하려고 한다면, 이를 웹 브라우저가 변경되지 않은 데이터라는 것을 인지한다. 그럼 WebCache에 대해서 한꺼풀씩 이해해봅시다. HTTP Caching이 뭘까? 우리는 일반적으로 웹서버에 정적 파일을 다운로드 받습니다. 예를 들어, '/login' page 라고 했을 때, 로그인 페이지에는 css, js, html 등의 파일을 가져와야 합니다. 이때, http, css, js 등 여러 HTTP요청을 만드는 것이 일반적입니다. 그러나, 이제 이러한 페이지를 매우 자주 요청하면 네트워크 트래픽이 많이 발생하고 이러한 페이지.. 2020.11.14
- 오케스트레이션(orchestration)과 코레오그래피 (choreography) 배경 저에게 마이크로서비스라는 것은 익숙하지 않은 분야입니다. 그래서 마이크로 아키텍처 구축 이라는 책을 읽으며, MSA에 입문하던 중, 이전에 봤던 용어인데, 익숙하지 않아서 몰랐던 용어 2가지. 오케스트레이션과 코레오그래피에 대해서 이해해보려고 합니다. 위 2개 용어는 최근 관심가는 프레임워크 eventuate.io/을 이해하던 중에 나와서 이렇게 다시 정리해볼까 합니다. 앞서 말했던 eventuate.io/프레임워크는 약결합을 통해 Saga와 CQRS 를 해결하는 좋은 오픈소스라고 판단되, 학습중에 있습니다. 어느 정도 정되면 포스팅 하겠습니다. 위 다이어그램을 활용해 오케스트레이션과 코레오그래피를 설명하겠습니다. 오케스트레이션 오케스트라 지휘자처럼 프로세스를 안내하고 구동하는 하나의 중앙 두뇌에 .. 2020.10.17
- 09-파이프라이닝 파이프라이닝? 오늘날의 컴퓨터에서 프로세서의 성능을 개선하는데 사용하는 가장 보편적인 구현 기술. 명령어를 읽어 순차적으로 실행하는 프로세서에 적용되는 기술로, 한 번에 하나의 명령어만 실행하는 것이 아니라 하나의 명령어가 실행되는 도중에 다른 명령어 실행을 시작하는 식으로 동시에 여러 개의 명령어를 실행하는 기법이다. 프로세서의 성능에 영향을 미치는 요소로 프로그램에 포함된 명령어의 수, 하나의 명령어 실행에 필요한 평균 사이클의 수인 CPI, 클록 사이클 시간 명령어의 수 : 좋은 알고리즘 또는 컴파일러를 통한 최적화 클록 사이클 시간 : 최신 하드웨어 기술 평균 CPI : 병렬 처리, 파이프라이닝, 슈퍼스칼라 파이프라이닝, 슈퍼파이프라이닝, VLIW(very long instruction word).. 2019.09.05
- Java의 비동기(Async) 프로그래밍을 제공하는 JDK를 다시는 무시하지 말자! 개발을 하다보면, 어깨너머 듣는 이야기가 '비동기 언제 사용해요?', 'Redis 의 스핀락 사용해보셨어요?', '메세지 큐를 활용한 비동기 프로그래밍' 등등의 뭔가 어려운 것들을 나한테 묻곤 하는데, 잘 사용해본 적도 없을 뿐더러, 이미 Java JDK 에서 충분히 제공되고 있다고 생각했다. 이래서 한번 언젠가는 정리해봐야지- 라고 생각만하다가 드디어 알아본다.알아볼 Java의 비동기 프로그래밍1. Thread2. ExecutorService3. CompletableFuture4. Flow상황은 다음과 같습니다. SomethingCounter 가 있습니다. 해당 객체는 다음과 같이 count 를 가집니다.final class SomethingCounter { // 횟수 Integer cou.. 2024.07.28
- 생명주기를 갖는 객체 - 엔티티(Entity)란? 엔티티라는 용어는 소프트웨어 개발에서 다방면으로 사용된다. 예를 들면 JPA에서도 도메인을 지정할 때 Entity라는 애노테이션을 붙이고, 어떤 식별자를 가진 객체를 만들때 이를 엔티티라고도 부른다. 물론 ORM과 같은 JPA에서 말하는 JPA와 도메인주도설계에서 말하는 엔티티는 조금 다른 의미를 가진다. 1. 엔티티란? 도메인 주도 설계에서 말하는 엔티티를 설명할 때는 식별성또는 개별성, 동등성 비슷하지만 다른 명칭으로 설명하는데, 여기서 저는 에릭에반스의 저서에서 나오는 식별성으로 엔티티를 설명하고자 합니다. 어떤 객체를 일차적으로 해당 객체의 식별성으로 정의할 경우 그 객체를 ENTITY라 한다. ENTITY에는 모델링과 설계상의 특수한 고려사항이 포함돼 있다. ENTITY는 자신의 생명주기동안 형.. 2020.10.28
- 사내 n8n을 외부에서 호출하기 (Webhook 분리 + AWS API Gateway 아키텍처) n8n을 사내에 구축해 운영하다 보면 거의 반드시 마주치는 요구가 있다. "외부 SaaS / 파트너 시스템에서 n8n 워크플로를 직접 호출하고 싶다". 이 글은 내부 인프라는 그대로 보호한 채 Public 호출을 안전하게 받기 위해, n8n 내부 구조 분리 + AWS API Gateway 도입을 어떻게 조합했는지를 정리한 기록이다.1. 배경과 목적n8n은 사내 인프라에 구축되어 있으며, 내부 네트워크에 위치한 Private ALB를 통해서만 접근 가능하도록 구성되어 있었다. 그러나 외부 시스템(SaaS, 파트너 시스템, 외부 이벤트 소스 등)에서 n8n 워크플로를 직접 호출해야 하는 요구가 지속적으로 발생했다.이를 해결하기 위해 다음 두 가지 구조적 개선을 진행했다.n8n 내부 구조 개선Main / Wo.. 2026.05.05
- 제멋대로 고집쟁이 개발자가 읽어본 데일 카네기의 인간관계론 이 책은 3~4년 전에 한 번 읽고 덮었던 책이다. 그때는 그냥 자기계발서네? 너무 당연한 이야기를 하는거 아니야?라고 생각했다. 지금와서 이 책을 나는 다시 읽으려고 했던 이유는 무엇이였을까? 무엇보다도 생각흐름이 변화됨을 느꼈다. 과거에는 나 자신에서부터 내 주변으로. 그러니까 안에서 밖으로 향했다면. 시간이 지남에 따라 내 주변보단 나 자신을 먼저 생각하게 되는. 밖에서 안으로 생각흐름이 흘러 간다는 것을 느꼈다. 이 생각흐름은 문제일까? 문제다. 과거의 나는 나보다 내 주변 모든 사람을 더 챙기려고 노력했었다. 그러다보니 어느 시점에는 가까운 나의 친구들보다 최근에 사귄 친구를 더 챙기는 일도 있었고, 내가 해야 될 일을 제대로 해내지 못하면서 사람 만나는 일에 치중 했던 적이 빈번했다. 하지만.. 2023.11.11
- '규칙 없음' No Rules Rules 책을 읽고 나서 "넷플릭스, 지구상 가장 빠르고 유연한 기업의 비밀" 이라는 부주제로, 저의 마음을 사로잡은 책 하나가 있습니다. 바로 넷플릭스의 CEO 리드 헤이스팅스가 작성한 규칙 없음 이라는 책입니다. 이 책을 읽으면서 느꼈던 첫번째는, 제 주변 환경을 돌아보게 만들었습니다. 더불어, 제가 있는 이 환경이 얼마나 근로자로 하여금 답답하게 만들고 있는지 여부를 판단할 수 있었습니다. Top-down 방식의 의사결정, 전자결재라는 것이 주는 통제, 휴가라는 것이 주는 통제, 관례라는 것을 따라야만 하는 현실. 차마 포스팅으로는 남기지 못하는 대외비 같은 이야기들... 이러한 환경을 탓하는 행위는, 잘못된 행위입니다. 그러나, 이 규칙없음 이라는 책을 통해 생각해볼 수 있는 거름을 만들어 준게 아닐까? 라는 생각이 듭니.. 2020.10.18
- 핵사고날 아키텍처에서 Port(Adapter)의 의미는 무엇일까? 이전 포스팅에서 말했던 어탭터 패턴 이렇게도 쓰일 수 있구나? 를 이해하면서 핵사고날 아키텍처에 대해서도 동시에 어느정도 이해할 수 있었습니다. 같이 스터디를 도와주시는 분들과 이야기하며 아주 사-알짝 핵사고날 아키텍처에 대해서 발을 담가볼 수 있는 이야기로 접근해보겠습니다. 0. 들어가기 안드로이드 모바일 프로그래밍을 했을 적에도 클린 아키텍처라는 말은 많이 들었지만, 코드로서 표현되는 프로젝트는 보기 힘들었습니다. 그러던 중 백엔드로 전향 이후, IDDD 프로젝트를 분석하며, 코드로서 핵사고날을 드러나는 아키텍쳐를 이해할 수 있었습니다. 핵사고날 아키텍처를 이해하는 것은 단순히 하나의 그림으로서 설명될 수 부분이 아니라고 생각합니다. 다이어그램과 더불어 코드, 그리고 그 외 도메인에 대한 이해와 의존.. 2020.08.29
- 회사에서 그렇게 쓰는 VPN 이해해보자. 최근 코로나의 영향으로 VPN ? 특히 회사에서는 FortiClient 라는 VPN Client를 사용합니다. 그런데, VPN이라고 하면 뭔가, 우회해서 무엇을 한다. 라고 생각만 들 뿐, 실제로 어떻게 동작되는지 모르겠다. 한번 이해하기 위한 시도를 해보자. VPN의 약자부터 생각해보자. VPN(Virtual private Network -가상 사설망) VPN 이전에는 PN(Private Network) 라는 용어를 사용했었다. 그럼 PN이란 무슨말일까? 즉, 전용으로 사용하는 망(전용망)이라 할 수 있다. 가상사설망? 이란 가상 전용망(선)을 의미합니다. 집 - 회사 로 이어지는 전용망이 있다고 생각하면 됩니다.(Private Network) 망이라는 어떤 Mash가 있다면, 그 중앙에는 선이 있어야.. 2020.08.22
- Notification 구현 in IDDD_Samples - 리소스풀 방식 - 책에서 말하는 Notification 구현(리소스풀 방식) - 실제 프로젝트에서 Notification 구현 - 그림으로 이해해보기 앞서 설명했던 메세지 전달 방법중 리소스풀을 활용한 전달 방법 책에서 말하는 Notifiaction 구현 책에서 시작은 NotificationService에 대한 언급으로 시작한다. 이벤트가 모델로부터 발생한 알림으로써 발행될 때, 도메인의 관심사가 아닌 애플리케이션의 관심사라는 것을 강조. public class NotificationService { @Autowired private EventStore eventStore; @Autowired private NotificationPublisher notificationPublisher; public Notificati.. 2020.08.08