본문 바로가기

분류 전체보기

(247)
AI [MCP : Jira MCP 사용 가이드] TL;DR설치 방법(claude code) : 아래의 코드 입력후 /mcp 로 쳐서 브라우저에서 Atlassian OAuth 인증을 완료claude mcp add --transport sse atlassian https://mcp.atlassian.com/v1/sse설치 확인 : claude mcp list관련 자료 : jira-community, Jira공식문서-Setting up Claude.ai, jira-mcp-githubJira MCP 사용 가이드 (Claude Code 기준)1. 들어가며최근 LLM을 개발 업무에 적극적으로 활용하는 흐름 속에서,외부 시스템의 데이터를 안전하게 연결하는 방식이 중요해지고 있습니다.Atlassian은 Jira와 Confluence 데이터를 LLM과 연결하기 위해M..
AI [ study: SuperClaude ] Claude Code의 진화, 슈퍼클로드(SuperClaude)AI 코딩 도구의 현실적인 한계Claude Code를 비롯한 AI 도구들은 분명 혁명적이었습니다. 하지만 실무에서 사용하다 보면 명확한 한계가 보입니다. 대화가 길어지면 이전 컨텍스트를 잊어버리고, 프로젝트 구조를 매번 설명해야 하며, 장황한 답변으로 토큰을 낭비하는 일이 빈번합니다. 강력하지만 진정한 개발 파트너라고 하기엔 부족한 면이 있었습니다. 그래서 추가적인 컨텍스트를 넣는 방법이나 페르소나를 설정하는 등의 방법 들을 고안하고 일일이 추가해야 하는 문제가 있었습니다.슈퍼클로드란?슈퍼클로드(SuperClaude)는 Claude Code를 실무에 특화된 도구로 만들어주는 오픈소스 프레임워크입니다. 단순히 명령어를 추가하는 것을 넘어서, C..
git [ info: git work tree] Git Worktree 학습개발을 하다 보면 하나의 작업만 깔끔히 끝낼 수 있는 날이 거의 없습니다. 어떤 날은 기능 개발을 하다가 갑자기 버그 티켓이 튀어나오고, 또 어떤 날은 리뷰 요청이 들어와 브랜치를 옮겨가며 코드를 확인해야 합니다. 이런 상황에서 가장 귀찮은 일이 바로 브랜치를 바꾸기 위해 내 작업을 스태시하거나 중간 커밋을 남발하는 것입니다.그래서 저는 Git Worktree를 잘 활용하고 있습니다. Worktree는 실무에서 체감 효율을 크게 올려주는 도구이며, 생산성이 눈에 띄게 좋아집니다.Git Worktree란 무엇인가Git Worktree는 하나의 Git 저장소 안에서 여러 개의 독립된 작업 디렉토리를 만들 수 있는 기능입니다. 즉, 하나의 저장소에서 여러 브랜치를 동시에 체크아웃하여..
JS [ Study: Map vs WeakMap ] Map과 WeakMap의 차이점이 궁금해져서 찾아보았습니다.0. 공통점둘 다 객체(Object) 처럼 key-value 쌍으로 데이터를 저장합니다.둘 다 임의의 값을 key로 사용할 수 있음 (단, WeakMap은 예외 존재 → 아래 설명).둘 다 get, set, delete, has 메서드를 제공합니다.1. Map의 특징Map은 ES6에서 추가된 자료구조로, 기존 객체(Object)의 한계를 보완하기 위해 만들어졌습니다.객체는 키로 문자열이나 심볼만 사용할 수 있지만, Map은 모든 값을 키로 사용할 수 있습니다.즉, 객체, 함수, 숫자, 문자열 등 어떤 타입이든 키로 활용할 수 있습니다.const map = new Map();const objKey = { id: 1 };map.set(objKey, ..
아키텍처 [ study: 멀티 테넌시(Multi-tenancy) ] 아키텍쳐에 대해서 공부하던 중 멀티 테넌시(Multi-tenancy) 아키텍처에 대해서 알게되어 공부한 내용을 정리해 보았습니다.멀티 테넌시는 SaaS 환경에서 핵심적인 개념이며, 효율적인 운영과 비용 절감을 가능하게 하지만 동시에 보안과 성능 문제를 해결해야 하는 과제가 있습니다.1. 멀티 테넌시(Multi-tenancy)의 정의멀티 테넌시란 하나의 애플리케이션 인스턴스와 인프라에서 여러 고객(테넌트, Tenant)을 동시에 지원하는 아키텍처를 의미합니다. 테넌트는 회사, 조직, 혹은 사용자 그룹을 지칭하며, 각 테넌트는 독립된 데이터와 구성을 가지지만 동일한 코드베이스와 시스템을 공유합니다.즉, 한 번 개발하고 배포한 소프트웨어를 여러 고객이 함께 사용하는 구조라고 할 수 있습니다.2. 싱글 테넌시와..
아키텍처[Study: CQRS 패턴을 사용하는 이유] 코드를 좀 더 잘하기 여러 패턴을 알고 싶어서 여러 패턴을 보던 중 CQRS패턴에 대해서 좀 더 알고 싶어서 정리해 보았습니다.CQRS 패턴에 대해서서비스가 커지고 트래픽이 증가하면서, 단순한 CRUD 기반의 아키텍처로는 한계를 느끼는 경우가 많습니다. 특히 읽기 요청과 쓰기 요청의 성격과 양이 다를 때, 이를 하나의 모델로 처리하는 것은 비효율적입니다. 이러한 문제를 해결하기 위해 사용되는 대표적인 패턴이 CQRS입니다.CQRS란?CQRS는 Command Query Responsibility Segregation의 약자로, 명령(Command)과 조회(Query)의 책임을 분리하는 아키텍처 패턴입니다. 전통적인 시스템에서는 동일한 데이터 모델을 통해 읽기와 쓰기를 모두 처리하지만, CQRS는 이 둘을 ..
DB [Study: 샤딩(Sharding), 데이터 분할 저장] 최근 회사에서 데이터가 많아지고 조회도 점점 늘어나면서 DB 커넥션이 과도하게 생성되어 서버가 멈추는 사례가 발생하고 있습니다.이를 보완하기 위한 방법 중 하나로 샤딩에 대해 공부하고 정리해보았습니다.DB 샤딩(Sharding)에 대해서대규모 트래픽을 처리하거나 데이터가 폭발적으로 증가하는 서비스를 운영하다 보면, 단일 데이터베이스 인스턴스로는 감당할 수 없는 상황이 발생합니다. 이럴 때 등장하는 개념이 바로 DB 샤딩(Sharding) 입니다.본 글에서는 샤딩의 개념, 방식, 장단점, 설계 시 고려사항 등을 정리했습니다.1. 샤딩이란?샤딩은 데이터를 논리적으로 분리하고, 각 조각을 물리적으로 독립된 데이터베이스 인스턴스에 분산 저장하는 기술입니다. 하나의 거대한 테이블을 작은 조각들로 나누어 각기 다른..
DB [Study : Closure Table, 계층 구조를 표현하는 효율적인 모델] 최근에 회사에서 조직도 기능을 넣어서 관련된 방식을 찾던중 여러 가지를 찾았고 그중에서 closure table 방식에 대해서 알게 되어서 정리해보았습니다.Closure Table: 계층 구조를 표현하는 효율적인 모델복잡한 계층 구조를 관계형 데이터베이스에서 어떻게 표현할 수 있을까요?카테고리, 조직도, 댓글처럼 트리 형태의 데이터를 다루다 보면, 효율적인 탐색과 관리가 중요해집니다.계층 구조 표현의 어려움관계형 데이터베이스(RDBMS)는 본질적으로 테이블 간 관계를 1:1, 1:N, N:M의 형태로 표현하는 데 최적화되어 있습니다. 하지만 트리 구조는 이보다 복잡하며, 일반적으로 다음과 같은 방법으로 표현됩니다.Adjacency List: 각 노드에 부모 ID를 저장Path Enumeration: 루트..