본문 바로가기

전체 글88

[개인 프로젝트] - 아키텍처 구상 데이터베이스는 NoSQL 중 MongoDB를 사용할 것까지 정했다. 이제 본격적으로 아키텍처를 구상하려고 한다.1. 사용 언어우선, Agentic AI 코드는 Visual Studio Code에서 Python으로 구현한 상태이다. 로컬 테스트까지 성공했으며, 외부에서 호출할 수 있는 API만 완성하면 되는 상태다. 결과물을 내놓기에 괜찮은 코드이지만, 연구 프로젝트에서는 웹 서비스 형태로 출시하기를 원해 대략적인 와이어프레임을 바이브 코딩으로 제작했고, 이제 본격적으로 백엔드 쪽 아키텍처를 구상하려고 한다. 웹 API 호출을 처리하는 것은 그동안 웹/앱 개발에 주로 사용해왔던 Spring Boot(Java)로 구현할 예정이다. 그런데 이때 문제는 Java 서버에서 Python 코드를 실행/호출해야 하는 .. 2026. 1. 28.
[개인 프로젝트] - MongoDB 설계 이전 글에서 MongoDB를 사용하기로 결정하했고, 이제 본격적으로 설계를 해야 하는 단계에 들어섰다. 지금까지 NoSQL을 직접 사용해 본 경험이 없기에 MongoDB를 어떻게 설계하고 활용해야 할지 여러 자료를 찾아보며 정리해 보았다.1. RDB처럼 테이블 설계가 필요한가?가장 먼저 고민했던 점은 RDB와 같은 사전 설계까 필요한지 여부였다. 기존에 RDB를 사용할 때는 ERD Cloud 등을 활용해 테이블 구조를 먼저 설계하고, PK, FK, 테이블 간 관계, 속성들을 명확하게 정의한 뒤 구현을 진행했다. 하지만 MongoDB는 NoSQL 데이터베이스이며, 정해진 스키마가 없는 구조를 가진다. 이 때문에 RDB처럼 사전에 테이블 구조를 엄격하게 설계해야 하는지에 대한 의문이 생겼다. 여러 자료를 .. 2026. 1. 28.
[개인 프로젝트] - NoSQL 개인 프로젝트라고 하기엔 다소 애매하지만, 겨울방학 인턴을 하면서 필요한 DB를 조사하던 중, 마침 ACC 활동하면서 부족하다고 느꼈던 AWS 서비스 중 NoSQL 분야를 함께 공부해 정리해두면 좋을 것 같아서 티스토리 블로그에 기록하려고 한다. 이번 글은 ACC에서 발표를 관련 발표를 진행하신 분 자료를 많이 참고할 예정이다.1. AWS 클라우드 데이터베이스AWS에서 제공하는 데이터베이스 종류는 다음과 같이 크게 3가지로 나뉠 수 있다.RDS/AuroraDB: 관계형 데이터베이스DocumentDB/DynamoDB: NoSQLRedis/Memcached: 인 메모리 데이터베이스내가 발표를 진행했던 RDS/AuroraDB 제외하고 지금과 다음 글에서는 아래 두 개에 대해서 정리해 볼 예정이다. 본격적으로 .. 2026. 1. 26.
[블록체인] - 이더리움_Consensus 지난 글까지는 이더리움의 Smart Contract와 DApp에 대해서 정리해 보았다. 이번 정리글에서는 이더리움의 Consensus 과정에 대해서 정리해 보려고 한다.1. 이더리움의 PoW와 PoS 이더리움은 원래 비트코인과 동일한 PoW(작업증명) 합의 프로토콜을 사용해왔다. 그러다가, 2022.09 The merge라는 이름으로 대규모 업데이트를 진행한 뒤, PoS(지분증명) 합의 프로토콜로 변경되었다. Pre-Merge(PoW 사용 시기)에는 비트코인과 동일하게 block header 안에 difficulty와 mixHash 필드가 존재했다. 이는 PoW 난이도 계산과 검증을 위한 필드들이었다. 하지만, Post-Merge(PoS 전환 이후)에는 해당 필드들이 빠지고 대신 PoS에서 필요한Con.. 2025. 12. 12.
[블록체인] - 이더리움_Smart Contracts와 DApp 이전 정리글에서는 이더리움의 Account, Transaction, Block에 대해서 정리해보았다. 이번 정리글에서는 Smart contract와 DApp에 대해서 자세히 정리해 보려고 한다.1. Smart Contract 앞선 정리글에서 자주 등장했던 Samrt Contract는 대체 무엇일까? CA(Contract Account)에는 code와 data storage가 존재한다. Smart contract는 간단히 말해 이 code와 storage가 결합된 형태로, EVM 위에서 실행되는 프로그램이라고 정리할 수 있다. 즉, Smart Contract는 이더리움 네트워크에 배포되어 validator가 실행할 수 있는 EVM 코드 프로그램이다. Smart Contract는 다음과 같은 특징을 .. 2025. 12. 12.
[블록체인] - 이더리움_Accounts, Transaction, Blocks 지난 글에서는 이더리움의 기본 개념들을 정리해 보았다. 이번 글에서는 이더리움의 Account와 Transaction, Block의 구조와 어떻게 동작하는지 한 번 정리해 보려고 한다.1. Account 비트코인에서는 Address라는 개념을 사용했지만, 이더리움에서는 Account 개념을 사용한다. 이더리움에서는 Account에 두 종류가 존재하는데, 다음과 같다.EOA(Externally Owned Accounts): ETH 보관 용도 유형의 Account, Private key에 의해 통제된다.CA(Contract Accounts): Smart Contract 보유 용도 유형의 Account, 이 안에 contract 코드와 관련있는 것들에 의해 통제된다. 두 종류의 Account에 대해서 더 자.. 2025. 12. 12.