반응형

2025/02/15 6

Docker란?

📌 Docker란? 🐳 **Docker(도커)**는 애플리케이션을 컨테이너(Container)로 패키징하여 실행할 수 있는 가상화 플랫폼.쉽게 말해, 어떤 환경에서도 동일하게 실행될 수 있도록 애플리케이션과 그 실행 환경을 한 번에 묶어 배포하는 도구야! 🚀 📌 Docker의 핵심 개념 ✅ 1. 컨테이너(Container) • 애플리케이션과 실행 환경(라이브러리, 설정 파일 등)을 격리된 공간에서 실행할 수 있도록 만든 것. • 컨테이너 덕분에 OS와 상관없이 동일한 환경을 유지하면서 실행 가능! ✅ 2. 이미지(Image) • 컨테이너를 실행하기 위한 설정 파일 및 애플리케이션 코드가 포함된 패키지 • 이미지를 기반으로 컨테이너를 생성함. • 예: nginx:latest, mysql:8.0, n..

개발공부/CS 2025.02.15

API란?

이종의 기기간 통신을 하는데 있는 인터페이스.📌 API란? **API (Application Programming Interface)**는➡️ **응용 프로그램(Application) 간 데이터를 주고받을 수 있도록 해주는 인터페이스(Interface)**를 의미해. 즉, 서로 다른 소프트웨어가 소통할 수 있도록 만들어진 규칙과 도구의 집합이야. 📌 API의 역할 • 서로 다른 프로그램이 데이터를 주고받도록 도와줌. • 복잡한 시스템의 내부 동작을 몰라도 필요한 기능만 사용할 수 있음. • 개발자가 특정 기능을 쉽게 사용할 수 있도록 미리 정의된 규칙을 제공. 예를 들어, 우리가 날씨 앱에서 실시간 기온을 확인할 때➡️ 날씨 데이터는 외부 API(기상청 API 등)에서 가져오는 거야. 📌 API 예..

개발공부/CS 2025.02.15

TDD: 테스트 주도 개발.

📌 테스트 주도 개발 (TDD: Test-Driven Development) **테스트 주도 개발(TDD, Test-Driven Development)**은 **“테스트를 먼저 작성하고, 이후에 실제 코드를 작성하는 개발 방법론”**이야. 즉, **“실패하는 테스트를 먼저 만들고, 그 테스트를 통과하도록 최소한의 코드를 작성한 후, 리팩토링을 통해 개선하는 방식”**이야.이 과정이 “Red → Green → Refactor” 라는 반복적인 순환 구조로 진행돼. 📌 TDD의 핵심 사이클 (Red → Green → Refactor) 1️⃣ Red (실패하는 테스트 작성) • 새로운 기능을 개발할 때, 먼저 테스트 코드를 작성하고 실행. • 당연히 아직 기능이 구현되지 않았으므로 테스트는 실패(Red) 함..

개발공부/CS 2025.02.15

RESTful API?

RESTful API는 REST (Representational State Transfer) 원칙을 따르는 API를 의미.즉, 클라이언트와 서버가 HTTP를 사용하여 데이터를 주고받는 방식을 정의하는 것! 🚀 📌 REST의 기본 원칙 (6가지) 1️⃣ 클라이언트-서버 구조 (Client-Server Architecture) • 클라이언트(프론트엔드)와 서버(백엔드)를 분리하여 독립적으로 개발 가능하도록 함. • 예: React (클라이언트) ↔️ Node.js API (서버) 2️⃣ 무상태성 (Stateless) • 서버는 클라이언트의 상태를 저장하지 않음 → 요청(Request)만 보고 처리해야 함. • 예: 로그인 정보를 서버에서 기억하는 것이 아니라, 매 요청마다 토큰(JWT)을 포함해야 함. ..

개발공부/CS 2025.02.15

OOP의 5가지 설계 원칙

SOLID  SRP(Single Responsibility Principle): 단일 책임 원칙OCP(Open Closed Priciple): 개방 폐쇄 원칙LSP(Listov Substitution Priciple): 리스코프 치환 원칙ISP(Interface Segregation Principle): 인터페이스 분리 원칙DIP(Dependency Inversion Principle): 의존 역전 원칙 SRP(Single Responsibility Principle): 단일 책임 원칙클래스는 단 하나의 목적을 가지고, 하나의 기능에 하나의 책임을 가져야한다.위반 :문제점: 리포트 생성과 출력이 하나의 클래스에서 처리됨.class Report { public void generateReport() ..

개발공부/CS 2025.02.15
728x90