prompt injection: 바이브코딩과 신규 보안 취약점 prompt injection 이란?프롬프트를 중간에 위장해서, AI 애플리케이션이 잘못된 정보를 유출하거나 의도하지 않은 동작을 하게 하는 사이버 공격을 말한다.https://docs.anthropic.com/en/docs/claude-code/security 참고 https://docs.anthropic.com/en/docs/claude-code/security Security - AnthropicHow we approach security Security foundation Your code’s security is paramount. Claude Code is built with security at its core, developed according to Anthropic’s comprehen.. Claude Code 📒 Claude Code claude code은 claude 사에서 만든 AI 코드 작성 에이전트이다. 터미널에서 요구사항을 프롬프트로 입력하면, 실행계획을 작성한 후 이를 순차적으로 실행한다. 작업 시작 시, 프로젝트 폴더 권한을 Clade code에게 위임하게 된다. Cladue Code가 실행계획을 수행하며, 폴더 내의 코드를 변경한다. 🏃🏻♀️ 사용 사례 프롬프트 요구사항을 다음과 같이 작성하였다. 이를 바탕으로 Claude Code가 실행계획을 세우고, 실행계획을 수행하며 파일을 직접 수정한다. 프롬프트사용자가 더 수강할 수 있는 강좌를 편하게 조회할 수 있는 React 앱을 구축해야 한다. 요구사항 - https://abc.com 사이트에서 원하는 강좌를 조회한 후, 필터링을 해야한다.. 코루틴 이해하기 (1) Thread의 한계 이해하기Thread Blocking스레드가 아무것도 하지 못하고 사용될 수 없는 상태를 말한다.스레드는 비싼 자원이다. 이런 상황이 반복되면 애플리케이션의 성능이 크게 떨어진다.var chatgptfuture: Future executorService.submit { // 오래 걸리는 작업 // 만약 API 호출이 1분이상 소요된다면, thread는 1분간 점유된다. }var result = chatgptfuture.get()executorService.shutdown() 한계스레드는 생성 및 작업 전환 비용이 높다.스레드는 보유한 스레드풀 개수만큼 병렬로 실행할 수 있다. 멀티스레드 프로그래밍으로 스레드를 재사용하더라도, Thread Blocking 을 피하.. claude desktop, playwright-mcp을 사용한 E2E 테스트 0. 시작하며 이전 프로젝트에서 playwright으로 E2E 테스트 도구로 사용한 경험이 있다. 그런데 테스트 코드를 작성하는게 굉장히 번거로웠다. 페이지에 접속하고, 버튼을 클릭하고, 기대하는 값이 출력되었는지 확인하는 흐름을 모두 코드로 작성해야했다. LLM으로 이를 자동화할 수 있기를 기대했는데, 드디어 유사한 기능이 출시되었다. 1. playwright-mcp이란? playwright-mcp 를 사용하면, 위의 동작을 프롬프트로 쉽게 제어할 수 있다. 다음 글에서는 claude desktop을 mcp client으로 사용하여, 프롬프트로 E2E 테스트를 진행하는 방법을 설명하고자 한다. GIF으로 살펴보는 시뮬레이션 위의 시뮬레이션은 "검색 페이지"에 접속하여, "검색" 이벤트를 실행한 후.. 캐시 전략 종류와 사례 도메인과 아키텍처에 따라 캐시를 활용하는 방법이 다르다. 캐시 전략의 종류와 사례를 정리해보자. Look-aside애플리케이션에서 먼저 캐시를 확인하고, 캐시가 미스되면 DB 혹은 API를 호출하여 캐시를 해두는 방법을 말한다. 사용 사례:카디널리티가 높아서 모든 데이터를 캐싱해둘 수 없는 경우가 있다. 그러나 롱테일 분포에 의하여, 조회가 많이 되는 데이터는 한정적인 경우가 있다. 이럴 때에는 요청이 올 때 캐싱해두는게 현실적인 경우가 있다.예를 들어, 상품을 캐싱해둔다고 생각해보자. 수많은 상품 정보를 미리 캐싱해두는게 어려울 수 있다. 이 때, 자주 접근하는 상품 정보만 캐싱함으로써 효율적으로 캐싱을 할 수 있다.다른 MSA 서버에서 제공하는 데이터라 캐싱 갱신 시점을 모르는 경우에도 유용하다. 만.. 매튜스켈톤/마누엘페이스: 팀 토폴로지 콘웨이의 법칙과 중요성"콘웨이의 법칙"이란 프로그램의 구조는 그것을 제작하는 조직의 구조를 반영한다는 것을 말한다. 역콘웨이 법칙이란?조직이 바라는 소프트웨어 아키텍처를 구성하려면, 팀과 조직 구조를 바꿔야한다는 주장이다. 이 전략은 설계부터 배포에 이르는 동안 팀 사이에 폭넓은 커뮤니케이션 활동이 없더라도, 업무를 완수할 수 있도록 지원하는 것을 목표로 한다. 불필요한 커뮤니케이션 제한팀 인터페이스를 정의해서 강한 협업이 필요한 업무와 그렇지 않은 업무의 종류에 대한 기대 수준을 명확하게 해야 한다. 모든 사람이 모두와 커뮤니케이션할 필요는 없다. 개방형 사무실에서는 누구나 모두와 커뮤니케이션할 수 있다. 이런 환경에서는 모두가 다른 이들과 커뮤니케이션해야만 업무가 진행될 것이라 생각하는 커뮤니케이션 .. 동시성 문제와 잠금 동시성 문제 (1) Lost Update한 트랜잭션의 변경 사항이 다른 트랜잭션에 의해 덮어씌워지는 현상을 말한다. 여러 트랜잭션이 동일 데이터를 읽고, 동시에 수정하려고 할 때 발생한다. (2) Write Skew여러 트랜잭션이 동시에 실행될 때, 각각의 트랜잭션이 다른 트랜잭션이 수행한 읽기 결과를 기준으로 조건을 확인하고 쓰기 작업을 수행함으로써, 전체 데이터베이스 상태가 일관되지 않게 되는 문제이다. 여러 트랜잭션이 동일 데이터를 읽고, 읽은 데이터를 기반으로 서로 다른 데이터를 수정할 때 발생한다. 주문, 재고, 판매상태 사례를 통해 Write Skew 개념을 파악해보자. 잠금 전략(1) 비관적 잠금 (Pessimistic Lock) 다른 트랜잭션이 데이터를 변경하려 할 가능성이 높다. 그러니 .. 데이터베이스 트랜잭션과 격리수준 Transaction트랜잭션은 작업의 완전성을 보장해주는 것을 말한다.논리적인 작업 셋을 모두 완벽하게 처리한다. --> 트랜잭션의 Commit 작업을 뜻한다.처리하지 못할 경우에는 원 상태로 복구한다. --> 트랜잭션의 Rollback 작업을 뜻한다.이렇게 작업의 완전성을 보장하여, partial update 문제를 방지한다.(a) partial update 문제partial update은 작업이 일부만 적용되는 현상이다.myisam 엔진과 Innodb 엔진 사례를 통해, 트랜잭션이 적용되지 않아 "partial update" 문제가 발생하는 사례를 살펴보자. (myisam 엔진은 트랜잭션을 지원하지 않는다.)위의 그림은 PK가 중복되는 레코드를 추가하여 오류가 발생했을 때, 엔진 별로 최종 데이터 결.. 이전 1 2 3 4 ··· 40 다음