전체 글
-
[AWS] Aurora MySQL와 표준 MySQL에서의 binary logging 차이점dev-ops/aws 2025. 5. 11. 16:50
MySQL의 binary logMySQL의 binary log는 데이터 변경을 기록하는 방식에 따라 세 가지 형식(ROW, STATEMENT, MIXED)을 지원한다. 각 형식의 특징과 차이점은 다음과 같다.ROW각 테이블 행(Row) 단위로 변경 내용을 binary log에 기록한다.어떤 SQL 문이 실행되었는지가 아닌, 어떤 행이 어떻게 변경되었는지를 기록한다.데이터 변경의 정확성이 높아 replication 시 데이터 불일치 문제를 방지할 수 있다.대량의 데이터 변경 시 binary log의 크기가 커질 수 있다.MysQL 5.7.7 버전부터 기본 값이다.STATEMENT 실행된 SQL 문 자체를 binary log에 기록한다.DB Replication 시에 SQL 문이 replica에서 그대로 실..
-
[AI] Hallucination을 줄이면서 AI를 효과적으로 사용하는 방법AI 2025. 5. 10. 18:29
- Created: 2025.05.10- Update: 2025.05.10본 글은 지속적으로 업데이트 됩니다. 할루시네이션을 줄이면서도 AI를 효과적으로 사용하기 위한 나의 생각을 정리해 본다. 단, 근거 있는 내용이 아니므로 이 글을 읽는 독자는 100% 신뢰해서는 안 된다. 우리 회사는 AI를 적극적으로 도입하여 개발을 하고 있다. 난 주로 코드 작업을 수행할 때는 Cursor와 ChatGPT를 사용하고, 해결되지 않는 내용은 Perplexity를 사용하여 보다 깊은 내용을 조사한다. AI를 사용하면서 느낀 점은 프롬프트를 어떻게 작성하냐에 따라 답변의 질이 달라진다는 것이었다. (1) 프롬프트를 작성하는 것이 귀찮아서 대충 적었을 때와 (2) 내가 처한 상황과 무엇을 모르는지 명확하게 제시하면..
-
[AWS] EventBridge Scheduler와 Lambda로 개발 서버 비용 절감하기dev-ops/aws 2025. 5. 6. 02:13
1. 서론개발 서버용 EC2 인스턴스는 운영 서버와 달리 24시간 가동이 불필요하다. 운영 서버는 실제 사용자에게 서비스를 제공하는 인프라이므로 항상 안정적으로 동작해야 하지만, 개발 서버는 개발자가 코드를 작성하고 테스트하기 위한 용도로만 사용되기 때문이다. 개발자는 주로 업무 시간 내에만 작업을 수행하므로 업무 시간 외에는 EC2 인스턴스에 접근하지 않는다.예를 들어, 업무 시간이 10:00~19:00라면 해당 시간에만 개발 서버 인스턴스가 가동되도록 하고, 그 외 시간에는 중지하면 된다. 당연히 주말에는 업무 시간이 아니므로 24시간 중지 상태를 유지해도 된다. 회사 업무 중 우선순위가 높은 작업 중 하나는 AWS 비용 절감이다. 우리 회사는 메가존 클라우드의 Hyper Billing 서비스를 사용..
-
Cursor와 AI를 활용한 애플리케이션 개발 경험AI 2025. 5. 4. 15:51
1. 소개현재 많은 기업들이 AI를 적극적으로 도입하여 애플리케이션을 개발하고 있다. 내가 다니고 있는 회사 또한 AI를 적극적으로 도입하여 모두가 개발하고 있다. 단순 개발뿐만 아니라 새롭게 개발된 AI 기술, AI를 활용한 개발 역량 향상 방법 등 다양한 지식들이 공유되면서 자연스럽게 AI에 대한 관심이 높아졌다. 개발 과정에서 Claude-3.7과 같은 생성형 AI를 활용해 보니, AI와 효과적으로 협업하기 위해서는 명확한 문서화가 매우 중요하다는 점을 깨달았다. 생성형 AI에게 불명확한 질문을 하면 부정확한 정보로 응답하거나, 정답이라도 유용하지 않은 답변을 제공했기 때문이다. 따라서 "잘 질문하는 능력"이 AI 활용의 핵심이라고 생각하며, 특히 복잡한 질문이나 코드 기반 질문을 할 때는 체계적인..
-
Bare-metal vs Hosted 하이퍼바이저dev-ops 2025. 4. 20. 22:17
1. 하이퍼바이저(Hypervisor)란?하이퍼바이저는 단일 물리 머신의 리소스를 가상화하여 여러 개의 가상 머신(VM)을 생성하고, 이 VM들은 서로 격리된 환경에서 실행되도록 한다. 이 덕분에 하나의 VM에서 장애가 발생해도 다른 VM에는 영향을 미치지 않는다. 하이퍼바이저는 구조에 따라 두 가지 방식으로 나뉜다:Bare-metal 하이퍼바이저 (Type 1)Hosted 하이퍼바이저 (Type 2)두 방식 모두 물리 자원을 VM에게 논리적으로 분할한다. 주의해야 할 점은 VM은 단일 물리 머신에서 생성되므로 하나의 물리 자원을 공유하지만, 가상화 기술을 통해 논리적으로 분리하여 사용된다. 단일 물리 머신에 다수 VM 실행 구조:graph TD A[물리 하드웨어 - CPU, RAM, Disk, ..
-
FaaS 기반 Lambda 실행 흐름과 Cold Start 최적화 기법dev-ops/aws 2025. 4. 20. 16:26
FaaS 기반 Lambda 실행 흐름과 Cold Start 최적화 기법온디맨드 방식의 EC2 인스턴스의 경우 애플리케이션 자체를 VM에 올리기 때문에 API 호출이 없더라도 인스턴스가 실행되는 시간 단위로 비용이 발생한다. 반면에 FaaS(Function as a Service)는 애플리케이션을 함수 단위로 분리한다. FaaS는 이벤트 기반 아키텍처로써, 함수는 이벤트가 발생할 때만 실행된다. 여기서 이벤트란 클라이언트의 API 호출을 예시로 들 수 있다. 서버나 인프라를 직접 관리하지 않고, 이벤트를 처리할 수 있는 함수 코드만 작성하여 배포하면 된다. 함수는 API 호출, 파일 업로드, 스케줄링 등의 이벤트가 발생할 때만 실행되며, 호출 및 실행 시간 동안만 비용이 발생한다. FaaS의 대표적인 예시..