06 Swagger
1. Swagger 1. Swagger? Swagger는 REST API를 설계·문서화·테스트할 수 있도록 도와주는 오픈소스 프레임워크 단순한 문서 작성 도구가 아니라, API의 전체 라이프사이클을 지원하는 툴 모음 2. Swagger 주요 역할 역할 설명 기대 효과 ...
1. Swagger 1. Swagger? Swagger는 REST API를 설계·문서화·테스트할 수 있도록 도와주는 오픈소스 프레임워크 단순한 문서 작성 도구가 아니라, API의 전체 라이프사이클을 지원하는 툴 모음 2. Swagger 주요 역할 역할 설명 기대 효과 ...
1. 스프링과 스프링부트 1. 스프링부트 스프링부트(Spring Boot)는 스프링(Spring Framework)을 더 쉽게 사용할 수 있도록 만들어진 상위 도구이자 확장 프레임워크 스프링부트 없이 스프링만 사용할 수 있지만, 스프링부트는 반드시 스프링 위에서 동작하는 구조 2. 스프링의 한계 설정의 복잡성 초기...
1.스프링 삼각형 요소 풀네임 핵심 개념 역할/효과 IoC Inversion of Control 객체 생성 및 의존성 제어를 컨테이너가 담당 (DI 기반) 코드 결합도 감소, 테스트 용이 AO...
1. 전체 1. 전체 패턴 개념 / 목적 구조 특징 사용 예시 (Java) 스프링 사용 사례 어댑터 (Adapter) 인터페이스 불일치를 맞춰서 기존 코드와 새 코드를 연결 Target 인터페이스 + Adaptee + A...
1. 스프링 모듈 구분 모듈 주요 기능 Core Container (핵심 컨테이너) - spring-core- spring-beans- spring-context- spring-expression (SpEL) IoC/DI 컨테이너, 빈 생성/...
1. Spring initializr 스프링프로젝트 생성할때 사용 https://start.spring.io 2. 스프링부트 실행시 메타데이터 설정 항목 설명 이번 설정 Project 프로젝트 유형을 선택합니다. 프로젝트의 의존성을 관리하기...
1. lombok Lombok은 자바용 오픈소스 라이브러리로, 반복되는 보일러플레이트 코드(boilerplate code)를 컴파일 시점에 자동으로 생성해주는 도구 note 보일러플레이트 코드 = 개발자가 매번 비슷하게 작성해야 하는 코드들 (getter/setter, toString, equals, hashCode, 생성...
1. Spring Filter/interceptor 1. Servlet Filter 위치: 디스패처서블릿 이전 (가장 앞단) 범위: 스프링 MVC 유무 상관없이, 서블릿 레벨에서 모든 요청/응답을 가로챔 주요 역할 인증(Authentication) / 인가(Authorization) → 스프링 시큐리티가 여기에 구현 ...
1. Validation 1. Spring Validation 스프링은 Bean Validation(JSR-303/JSR-380) 표준을 기반으로 동작 기본 구현체는 Hibernate Validator DTO/VO 클래스 필드에 어노테이션으로 검증 조건을 부여하고, 컨트롤러에서 @Valid 또는 @Validated를 사용해 적용 2. ...
1. AOP 1. AOP 핵심 로직과 공통 관심사(Cross-Cutting Concern)를 분리하는 프로그래밍 기법 핵심 로직(Core Business Logic): 실제 애플리케이션이 수행하는 기능 횡단 관심사(Cross-Cutting Concern): 로깅, 트랜잭션, 보안, 성능 측정 등 여러 곳에서 반복되는...
1. DI 1. 의존성 어떤 클래스가 다른 클래스(객체)의 기능을 사용해야 할 때 “의존성이 있다.” Car가 Tire 객체를 사용해야 굴러갈 수 있다면, Car는 Tire에 의존 public class Car { private Tire tire = new KoreaTire(); // Car는 KoreaTire에 의존 } ...
1. 전체흐름 1. Reqeust (클라이언트 -> 서버) DispatcherServlet: 프론트 컨트롤러, 모든 요청 진입점. HandlerMapping: URL, 메서드, 애노테이션 등을 기반으로 어떤 컨트롤러 메서드를 호출할지 결정. HandlerAdapter: 선택된 컨트롤러를 실제 실행할 수 있도록 어댑터 역할. Con...
1. Controller 1. Controller 설정 @Controller public class HelloController { @GetMapping("/hello") public String sayHello(Model model) { model.addAttribute("message", "안녕하세요, 스프링 MVC!...
1. mvc 1. mvc Model (모델) 애플리케이션의 데이터와 비즈니스 로직을 담당 데이터베이스에서 고객 정보를 가져오는 코드, 계산 로직 등 View (뷰) 사용자에게 보여지는 화면 담당 JSP, Thymeleaf, HTML 등 Controll...
1. mybatis 1. mybatis SQL Mapper 프레임워크 직접 작성한 SQL을 매핑해서 Java 객체와 연동 JDBC 기반 → 커넥션 풀(HikariCP 등)과 함께 사용 특징: SQL 제어권을 개발자가 직접 갖는다 2. 특징 항목 내용 SQ...
1. Transactional 1. Transactional 스프링에서 제공하는 선언적 트랜잭션 관리 어노테이션 메서드나 클래스에 붙이면 트랜잭션 범위를 정의할 수 있음 핵심 역할: DB 작업을 하나의 트랜잭션 단위로 묶어서 모두 성공하거나 모두 실패하게 관리 2. 동작의 흐름 메서드 시작 → 트랜잭션 시작 메서드 정상 종료 ...
1. DB Connection DB와의 연결 자체를 관리하는 역할 1. DB Connection DB 커넥션 관리 객체 / 인프라 계층 흔히 Connection Pool / DataSource / DB 인프라라고 부름 Data Access Layer 와는 다르게, DB와의 연결 자체를 관리하는 역할 2. 종류 ...
1. Data Access Layer 애플리케이션에서 DB와 직접 데이터를 주고받는 모든 기술을 통칭 1. Data Access Layer 종류 범주 예시 SQL Mapper MyBatis, iBatis 등 ORM Hibe...
1. ActionFactory 1. ActionFactory 팩토리 패턴 + 액션(Action) 객체 구조”를 결합한 웹 애플리케이션 설계 패턴 1. 액션(Action) 객체 요청 하나하나를 처리하는 작은 책임 단위 클래스 예: LoginAction, LogoutAction, RegisterAction 각 Action은 execu...
1. MVC1&MVC2 1. MVC1 1. MVC 1 패턴 (정의) 초기 JSP/서블릿 웹 구조에서 나온 패턴 JSP가 Controller와 View 역할을 동시에 수행하는 구조 요청 처리, 비즈니스 로직 호출, 화면 출력까지 JSP 안에서 처리 2. 역할 구분 Controller ...
1. 파일업로드 - http 1. 폼(form)과 HTTP HTML <form>은 사용자 입력 데이터를 서버로 전송하는 표준 방법 전송 방식(method) GET → URL 쿼리 스트링으로 전송, 짧은 데이터/검색용 POST → 요청 본문(body)에 데이터 전송, 대용량/보안 데이터 업로드에 적합 ...
1. 쿠키(Cookie) 1. 쿠키 클라이언트(브라우저)에 작은 데이터를 저장하고, 이를 통해 서버가 사용자를 식별하거나 상태를 일부 유지할 수 있게 하는 수단 용도 로그인 상태 유지 (단, 중요한 정보는 세션 사용) 사용자 환경 설정 저장 (테마, 언어) 장바구니 정보 일부 유지 구...
1. JSP 태그 1. JSP태그 JSP는 HTML에 Java 코드를 직접 넣을 수 있는데, 이렇게 하면 유지보수가 어렵고 코드가 지저분해짐 그래서 JSP는 태그(tag) 형태로 기능을 캡슐화해서 제공 HTML처럼 형식으로 작성 내부적으로 Java 코드로 변환하여 실행됨. 2. JSP 태그 종류 | 구분 ...
1. JSP 1. JSP(JavaServer Pages) HTML 코드 안에 Java 코드를 삽입해 동적인 웹 페이지를 생성할 수 있게 해주는 자바 기반 기술 JSP는 실행되기 전에 서블릿 코드로 변환되고, 이후 컴파일되어 동작함. JSP 파일(.jsp)은 기본적으로 HTML 구조를 가지면서, 필요한 부분에만 Java 코드나 JSP 태그를...
1. Servlet 1. Servlet HTTP 요청-응답을 처리하기 위해 서버 사이드 자바 기반 서버 컴포넌트 Java 기반 웹 애플리케이션에서 HTTP 요청을 받아 처리하고, 그 결과를 HTTP 응답으로 돌려주는 서버 측 컴포넌트 브라우저 → 서버로 들어오는 요청을 자바 코드로 처리하게 해주는 역할 2. 주요개념 ...
1. 스레드락 요약 락 이름 요약 대표 클래스 언제 사용하나? Mutex 가장 기본적인 배타 락 synchronized, Lock 충돌 방지, 단순 구조 Reentrant Lock ...
1. 자바에서 쓰레드 1. Runnable 인터페이스 class MyTask implements Runnable { // run() 메서드만 하나 가짐 @Override public void run() { System.out.println("Runnable로 실행됨"); } } public...
1. DBCP / 커넥션풀 / DataSource 구분 정의 역할 특징 / 예시 커넥션 풀 (Connection Pool) 데이터베이스와의 연결(Connection) 객체를 미리 일정 개수 생성해두고 풀(Pool, 저장소)에 보관한 뒤, 애플...
1. JDBC 1. JDBC 자바에서 DB에 연결하고 SQL을 실행할 수 있도록 정의된 표준 API 즉, 자바 애플리케이션 ↔ 데이터베이스 간의 통신을 담당하는 표준 인터페이스 DB 벤더(Oracle, MySQL, PostgreSQL 등)가 자기 DB용 JDBC 드라이버를 제공해야 사용 가능 2. JDBC 기능 ...
1. extends 1. 상속 한 클래스가 다른 클래스의 속성과 메서드를 물려받는 것 “하위 클래스 IS-A 상위 클래스” 관계 2. 목적 공통 기능 재사용 : 상위 클래스에서 구현한 메서드를 하위 클래스가 그대로 사용 가능 기능 특화/확장 : 하위 클래스에서 필요한 메서드를 오버라이드하거나 새로 추가 코드 중복 최소화 : 공...
1. T-memory 1. T-memory 공식적인 표기 방법 X 편의를 위해서 사용하는 방법 O 2. 모양 ┌──────────────────────────────────┐ │ Method Area │ │ 클래스 코드, 메서드 코드, │ │ static 변수 등 ...
GC는 애플리케이션이 실행되는 도중에 루트(root)에서 객체까지의 참조 가능성(Reachability)을 안전하고 정확한 타이밍에 탐지하여 메모리를 해제하고, 힙영역을 최적화 하는 과정 1. Serial GC (단일 스레드 GC) - 초기 GC 1. 특징 GC 중에는 모든 애플리케이션 스레드가 멈추고, 1개의 GC 스레드만 힙을 정리하며, ...
메모리 관리가 적절히 이루어지지 않을 경우, 메모리 누수 및 자원 고갈로 인해 프로그램이나 운영체제가 비정상적으로 종료될 위험이 존재함. 1. 메모리 관리 1. 메모리 관리를 하지 않으면 메모리 누수(Memory Leak)는 프로그램 또는 운영체제의 비정상 종료를 초래할 수 있음. 잘못된 메모리 접근(Dangling Pointer)은 메모...
1. 서버보안 1. 보안 관련 주요 용어 1. 보안 리스크(risk) 서버와 네트워크 운영 중 발생할 수 있는 정보 유출, 서비스 중단, 데이터 변조 등의 위험 요소 주로 인적 실수, 취약한 설정, 악성코드, 네트워크 공격 등에서 발생 사고가 발생하기 이전에 존재하는 잠재적 위험 요소 예시 웹 서버의 관리자 계정 비...
1. DMZ 1. DMZ DMZ(DeMilitarized Zone)는 네트워크 보안 설계에서 외부 네트워크(인터넷)와 내부 네트워크(사내망) 사이에 두는 중간 완충지대 외부 사용자가 접근해야 하는 서버(웹 서버, 메일 서버, DNS 서버)를 배치 외부 트래픽이 내부망까지 바로 들어오지 못하게 보안 완충 구간 형성 외부에서 DMZ 서버가...
1. 클라우드 1. 클라우드 물리적으로 내 컴퓨터나 회사 서버에 직접 저장하거나 처리하지 않고, 원격 데이터센터에 있는 컴퓨터 자원을 인터넷으로 접근해 사용하는 것 필요할 때 원하는 만큼 빌려 쓰고, 사용한 만큼 비용을 지불하는 형태 2. 클라우드의 특징 유연성: 컴퓨팅 자원을 필요할 때 즉시 늘리거나 줄일 수 있음 확장성: ...
1. 상태 / 무상태 프로토콜 1. 상태 프로토콜 / 무상태 프로토콜 HTTP처럼 상태를 저장하지 않는 프로토콜들을 묶어서 무상태 프로토콜(stateless protocol) 상태를 저장하는 프로토콜을 묶어서 상태 프로토콜(stateful protocol) 상태(State)는 데이터의 진행 정보 및 관련 데이터(세션, 연결 정보 등)를 의...
1.HTTP 1. 기본용어 클라이언트/서버모델 네트워크 통신 구조 중 하나로, 클라이언트는 서비스나 데이터를 요청하고, 서버는 해당 요청을 처리하고 응답하는 구조 웹 브라우저(클라이언트) ↔ 웹 서버 요청 메시지 클라이언트가 서버로 전송하는 메시지. 요청 방식(메서드), 요청 대...
1. 사설 네트워크 / 공용 네트워크 구분 설명 예시 사설 네트워크 제한된 사용자만 접근 가능한 폐쇄형 네트워크 회사 내부망, 가정용 공유기 공용 네트워크 누구나 접근 가능한 개방형 네트워크 ...
1. 네트워크 관련 용어 네트워크(Network) : 어떤 대상과 다른 대상을 특정한 장치나 규칙에 따라 연결하여 구성한 유기적인 시스템. 일반적으로 컴퓨터, 서버, 라우터 등 다양한 장치를 상호 연결해 데이터를 주고받을 수 있게 함. 노드(Node): 네트워크에 연결된 각 장치를 의미. 컴퓨터, 서버, 라우터, 프린터 등 네트워크 상에서 통...
1 응용계층 1. 응용계층 기능 설명 네트워크 서비스 제공 이메일, 웹, 파일 전송 등 네트워크 기반 서비스 제공 프로토콜 기반 데이터 처리 응용 프로그램끼리 통신할 수 있도록 데이터 포맷/전송 처리 ...
1. 전송 계층 1. 전송계층 컴퓨터 간이 아니라, 컴퓨터 안의 프로그램(애플리케이션)끼리 정확하게 데이터를 주고받게 해주는 계층 역할 데이터를 쪼개고 붙임 (분할 & 재조립) 신뢰성 보장 (오류 제어) 흐름 조절 통신 대상 지정 (포트 번호 사용) 2. 프로토콜 종...
1. 네트워크 계층 1. 네트워크 계층 개요 송신 측에서 수신 측까지 데이터를 중간 경로(라우터)를 거쳐 전달하는 책임 논리 주소(IP 주소) 기반으로 종단 간 통신 경로를 설정 전송 계층에서 넘겨받은 세그먼트를 패킷(IP 패킷) 단위로 캡슐화하여 전달 2. IP 패킷의 구성 네트워크 계층에서 데이터를 전달할 때 사용하는 데이터 ...
1. 데이터 링크 계층 1. 데이터 링크 계층 개요 네트워크 7계층 중 2번째 계층(하위 계층) 물리 계층에서 받은 비트열을 프레임 단위로 조직화 직접 연결된 두 장치 간의 안정적 데이터 전송을 담당 MAC 주소 기반의 주소 지정 및 오류 감지 기능 제공 2. 데이터 링크 계층 역할 프레이밍: 연속된 비트열을 구조화된 프레임 ...
1. 물리계층 1. 물리계층 개요 네트워크 7계층 중 가장 하위 계층 비트 단위의 데이터를 전기적/광학적 신호로 변환하여 전송 상위 계층의 논리적 데이터를 실제로 전송 가능한 상태로 처리 2. 물리계층의 역할 0과 1로 구성된 데이터를 전기 신호(또는 광신호 등)로 바꾸어 전송 전송된 신호를 다시 0과 1의 비트열로 복원 ...
1. Race condition 1. RaceCondion 여러 스레드나 프로세스가 동시에 공유 자원에 접근할 때, 실행 순서나 타이밍에 따라 프로그램의 결과가 달라지는 상태 “누가 먼저 실행되느냐에 따라 결과가 달라지는 문제” 동시성(concurrency) 환경에서 주로 발생하며, 예측 불가능하고 디버깅이 어려움 2. 특징 공유...
1. try-with-resources 자원을 자동으로 닫아주는 try문 파일, 스트림, 소켓, DB 커넥션처럼 사용을 다 한 뒤에 close() 를 호출해서 반납해야 하는 객체들을 처리할 때 쓰는 구문 기본문법 try (자원 선언) { // 자원 사용 } catch (...) { // 예외 처리 } 2. ...
1. 인텔리제이 - servelt Project 프로젝트 생성할때 아키텍처 설정 org.apache.maven.archetypes:maven-archetype-webapp 메이븐 프로젝트로 간단하게 생성/스마트톰캣 자동 설정은 가능함. 이렇게 안하면 매우 복잡해져서 이클립스를 사용하거나 스프링 레거시쓰는게 편해짐. 스프링부트를 사용하면...
1. 자바 버전 1. 자바 종류 용어 의미 특징 JDK (Java Development Kit) 자바 개발 도구 컴파일러(javac), JVM 실행기(java), 표준 라이브러리 포함 Java SE (Standar...
1. JavaBean 1. JavaBean Sun(Java)에서 발표한 “재사용 가능한 컴포넌트” 규약 프레임워크가 자동으로 객체를 만들고 다루기 쉽도록 “클래스를 작성할 때 지켜야 하는 약속 2. JavaBean 규칙 조건 이유 / 목적 public 기본 생성...
1. 데이터 전달 / 저장 객체 종류 역할 / 특징 Servlet 환경 Spring 환경 VO (Value Object) 읽기 중심, DB 데이터 값 객체 DB 조회 후 HttpServletRequest에 담아 전달 DB...
1. 익명함수 1. 익명 함수란 이름 없이 정의되는 일회성 함수 주로 인터페이스나 클래스의 구현체로 사용 한 번만 사용되는 동작을 간결하게 구현 2. 자바에서 익명 함수 등장 배경 자바는 함수 자체를 독립적으로 정의하는 구조가 없음 (함수 = 클래스 메서드에 종속) 하지만 특정 행동(동작)을 전달해야 하는 상황이 많음 스레...
1. 유닉스의 탄생과 구성 1. 유닉스의 설계원칙 유닉스는 시분할 시스템과 다중 프로세스를 지원하도록 설계 소형 컴퓨터용 운영체제의 모범 사례로, 설계자(프로그래머)의 편의성을 중시하여 운영체제 크기가 작고 구조가 단순함. 대부분의 알고리즘은 속도나 복잡성보다는 단순성에 초점을 맞춤 2. 유닉스의특징 대화형 시스템: 사용자...
01. 분산시스템 1. 분산시스템/네트워크 분산처리는 여러 컴퓨터 사용자들이 네트워크로 연결되어 서로 데이터를 주고받으며 협력해서 작업을 수행하는 시스템 네트워크는 서로 독립된 시스템들이 빠른 통신 채널을 통해 상호 통신할 수 있도록 지원하는 데이터 통신 구조 2. 시스템 구성 약결합 (Loosely Coupled) 시스템 ...
운영체제에서 파일 시스템이란, 디스크 같은 저장 장치에 파일과 디렉터리 구조를 구성하여 데이터를 효율적으로 저장하고 관리하는 체계이다. 사용자는 이러한 논리적 구조를 통해 파일에 접근하며, 내부적으로는 각 파일마다 고유하게 존재하는 i노드(inode)에 저장된 메타데이터(metadata)를 기반으로, 운영체제가 물리적인 저장 장치에서 실제 파일 데이터...
01. 입출력 시스템 관리 1. 입출력 시스템/입출력 모듈/입출력장치 입출력 장치 (I/O Device) 가장 말단의 실제 물리적 장치 사용자와 실제로 데이터를 주고받는 대상 키보드, 마우스, 프린터, 디스크, 네트워크 카드 데이터를 물리적으로 입력받거나 출력하는 하드웨어 입출...
1. 가상 메모리 1. 가상메모리 모든 프로세스가 동시에 메모리를 전부 사용하는 것이 아니기 때문에, 논리 주소와 물리 주소 바인딩(MMU) 을 통해 당장 필요한 페이지만 물리 메모리에 올리고, 사용하지 않는 페이지는 디스크(보조기억장치)에 저장(swap) 해두는 방식으로, 프로세스에게는 실제 메모리보다 더 큰 공간을 제공하는 것처...
1. 메모리관리 1. 메모리 관리자 역할: 프로세스에 메모리를 할당, 해제하고 보호하는 운영체제 내 모듈 협업 대상: 운영체제의 메모리 관리 모듈 + 하드웨어(메모리 관리 장치, MMU) 주요 정책 적재 정책 (Loading Policy): 디스크에서 메모리로 프로세스를 언제 반입할지 결정 배치 정책 (Pl...
1. 스케줄링 1. 스케줄링 OS 스케줄링이란, 디스크에 저장된 작업을 메모리 내 준비 큐에 올리고, 그중에서 실행할 프로세스나 스레드를 선택하여 CPU에 할당하는 일련의 과정 좋은 스케줄링은 프로세서의 효율을 높이고, 작업의 응답시간을 최소하하여 시스템의 작업 처리능력을 향상시킴 2. 스케줄링 목적 자원 할당의 공정성 보장 단위...
1. 교착상태 1. 교착상태 둘이 상의 작업이 대기 상태로 중요한 자원을 사용하려고 기다릴때 발생함. 어떤 작업에 필요한 자원을 다른 작업이 점유하여 사용할 수 없어, 프로세스가 결코 일어나지 않을 사건을 기다릴때 교착상태에 빠졌다라고 표현함. 초기 일괄 처리 시스템에서는 사용자가 작업 제어카드에 작업을 완료하는데 필요한 자원을 명시해서 교착...
1. 병행프로세스 1. 독립 프로세스 다른 프로세스와 공유 메모리, 변수, 자원 등을 사용하지 않으며, 어떤 프로세스의 실행 여부나 결과에 영향을 주지도 받지도 않는 구조 종류 단일 프로그래밍 : 하나의 프로세스가 CPU를 점유하여 종료된 후 다음 프로세스를 실행 다중 프로그래밍 : 여러 프로세스가 메모리에 동시...
1. 스레드 스레드(Trhead)는 프로세스에서 작업을 실행하는 단위 스레드 한개가 들어가면 단일 스레드(SingleThread), 다수의 스레드가 들어가면 다중 스레드(Multi Thread) 다중 스레드(MUlti Thread)는 다수의 실행을 병렬로 진행할 수 있음. 2. 경량 프로세스 / 중량 프로세스 1. 경량 프로세스 (Li...
1. 프로세스 다중 프로그래밍 환경에서 여러 프로그램이 동시에 메모리에 적재되어 CPU를 공유하며 병행 실행되기 시작했고, 이 과정에서 각 실행 중인 프로그램을 구분하고 자원 할당/보호/스케줄링을 위해 운영체제가 도입한 관리 단위가 프로세스(Process) 프로세스의 일반적인 정의는 실행중인 프로그램 2. 프로그램과 프로세스 프로그램...
1. 운영체제 사용자와 하드웨어 사이에서 중간 매개체 역할을 하며, 응용 프로그램의 실행을 제어하고, 자원을 효율적으로 할당 및 관리함. 또한 입출력 제어와 데이터 관리를 포함한 다양한 서비스를 제공하는 소프트웨어 사용자에게 편리한 환경을 제공하고, 시스템 자원을 효율적으로 관리하여 성능을 극대화하며, 제어 서비스의 품질 향상을 위해 지속적으...
1. 생성(Creational) 패턴 🔍 1. Singleton (싱글톤) 항목 요점 문제정의 객체를 생성해야 하는데, 생성할 클래스가 유동적이거나 클라이언트가 어떤 구체 클래스를 생성해야 할지 모르거나 알 필요가 없을 때, 객체 생성을 어떻게 설계해야 하는가? ...
1. 디자인패턴 1. 디자인패턴 반복되는 설계 문제에 대해 검증된 해결 방법을 정리한 것 클래스/객체 구조를 정형화하여 유지보수성과 확장성을 높임 “이 상황엔 이런 식으로 설계하면 안정적이다”는 공통 패턴 GOF 패턴은 클래스/객체 단위 설계를 하고, 아키텍처, EIP, 동시성 등의 시스템/서비스 단위 설계를함. 2. 솔리드원칙(S...
1. SOLID 원칙 1. SOLID 원칙 유지보수가 쉽고, 확장 가능하며, 오류가 적은 소프트웨어를 만들기 위한 설계 지침 SOLID 원칙은 ‘좋은 객체지향 설계의 뼈대’이며, 소프트웨어 품질과 생산성을 높이기 위한 기본 철칙 2. SOLID의 시작 배경 요소 내용 ...
1. 절차지향 (Procedural Programming) 1. 정의 프로그램을 순차적인 절차(Procedure)와 함수(Function)의 흐름으로 구성하는 전통적인 프로그래밍 패러다임 데이터를 중심으로 여러 절차(로직)가 그 데이터를 처리하는 구조로 되어 있음 2. 핵심 개념 항목 절차지향 프로그...