개발자공부 3

의존성 역전 원칙의 진짜 의미

1. 의존성 역전 원칙(DIP)이란 무엇인가?1-1. 정의와 원칙의 배경 의존성 역전 원칙(Dependency Inversion Principle, DIP)은 로버트 C. 마틴(Robert C. Martin)이 제시한 SOLID 원칙의 마지막 다섯 번째 규칙이다. DIP는 단순한 코드 스타일 가이드가 아니라, 소프트웨어 구조 전체의 설계 방향을 근본적으로 바꾸는 패러다임이다. DIP는 다음 두 가지 핵심 문장으로 요약된다고수준 모듈은 저수준 모듈에 의존해서는 안 된다. 둘 다 추상화에 의존해야 한다.추상화는 세부 구현에 의존하지 않아야 하며, 세부 구현이 추상화에 의존해야 한다. 여기서 고수준 모듈은 시스템의 비즈니스 규칙을 담은 핵심 로직이고, 저수준 모듈은 DB, 메시지 브로커, 외부 API, 프레..

컴퓨터공학 2025.05.21

DBMS와 RDBMS의 차이: 헷갈리는 개념을 명확히 정리하다

1. DBMS란 무엇인가? 데이터 관리를 위한 핵심 시스템 DBMS란 Database Management System의 줄임말로, 데이터를 저장하고 관리할 수 있도록 도와주는 소프트웨어 시스템을 의미한다. 데이터베이스는 단순한 정보 저장소에 불과하지만, 여기에 DBMS가 더해지면 데이터의 입력, 수정, 삭제, 검색, 백업, 보안 등의 작업을 자동화하고 통제할 수 있는 환경이 제공된다. 예를 들어, 한 기업에서 고객 정보를 데이터베이스에 저장한다고 가정하자. 단순히 데이터를 넣는 것만으로는 충분하지 않다. 고객 정보가 중복되지 않도록 관리하고, 잘못된 입력을 방지하며, 필요할 때 특정 고객의 정보를 빠르게 검색할 수 있어야 한다. 이 모든 기능을 제공하는 시스템이 바로 DBMS이다. DBMS는 단일 사용..

컴퓨터공학 2025.03.27

데이터베이스란 무엇인가? 개념부터 이해하자

1. 데이터를 체계적으로 저장하는 기술, 데이터베이스 데이터베이스(Database)란 데이터를 구조적으로 저장하고 효율적으로 관리할 수 있도록 설계된 시스템 또는 기술을 의미한다. 여기서 구조적 저장이란, 데이터를 정해진 형식과 규칙에 따라 일정한 틀 안에 보관한다는 뜻이다. 이는 단순히 정보를 모아놓는 것이 아니라, 정렬, 검색, 수정, 삭제 등 모든 작업을 일관되게 수행할 수 있도록 체계화한다는 개념이다. 현대 사회에서는 개인부터 기업, 정부에 이르기까지 모든 주체가 수많은 데이터를 생성하고 소비하고 있다. 예를 들어, 스마트폰에서 메신저 앱으로 주고받는 메시지, 쇼핑몰에서 확인하는 상품 목록, 은행 앱에서 조회하는 거래 내역 등은 모두 형태는 다르지만 본질적으로는 ‘데이터’이다. 이러한 데이터는 ..

컴퓨터공학 2025.03.27