Architecture
-
OSI ModelArchitecture/Infrastructure 2025. 2. 15. 01:00
OSI Model & 7 Layers OSI 7계층은 컴퓨터 네트워크에서 통신 프로토콜의 기능을 계층별로 나눈 모델로, 각 계층은 네트워크 통신에서 특정한 역할을 담당한다. Protocol 두 시스템이 서로 데이터를 주고받을 때, 어떻게 통신할지, 어떤 형식으로 데이터를 보낼지, 오류가 발생했을 때 어떻게 처리할지 등을 규정한 일종의 약속 (네트워크 통신에서 데이터의 교환 규칙과 절차를 정의한 규격) 문법 (Syntax): 데이터의 형식이나 구조를 정의. 예를 들어, 메시지가 어떤 순서로 나타날지, 각 데이터 필드가 어떻게 구성될지를 결정.의미 (Semantics): 데이터가 전달되는 의미나 목적을 정의. 예를 들어, 특정 메시지가 "데이터를 요청하는 것인지", "전송 완료를 알리는 것인지" 등을..
-
Twelve-FactorArchitecture/Infrastructure 2025. 2. 15. 00:31
Twelve-Factor클라우드 환경에서 애플리케이션을 개발하고 운영하는 데 필요한 모범적인 개발 방식을 제시클라우드 네이티브 애플리케이션의 특성을 잘 반영한 방법론으로, 현대적인 애플리케이션 개발에 많은 도움을 준다애플리케이션의 확장성, 유지보수성, 배포 효율성을 높이는 데 초점 개발과 운영의 일관성 유지: 환경에 상관없이 애플리케이션이 일관되게 동작하도록 함확장성: 애플리케이션이 쉽게 수평 확장(horizontal scaling)될 수 있도록 함효율적인 배포: 배포 과정이 일관되고 자동화, 빠르고 안정적유지보수 용이성: 애플리케이션을 운영하면서 적은 비용으로 확장하고 유지보수할 수 있도록 도움. Twelve-Factor의 12가지 원칙 1. Codebase (하나의 코드베이스, 여러 배포)애플리케이..
-
CollectionArchitecture/Data Structure 2025. 2. 14. 19:56
Collection객체 지향 프로그래밍에서 여러 개의 요소를 하나의 집합으로 묶어 다룰 수 있도록 하는 데이터 구조여러 개의 데이터 항목을 저장하고, 이를 효율적으로 관리하는 기능을 제공하는 인터페이스 또는 클래스를 의미Java에서 컬렉션 프레임워크의 최상위 인터페이스로, 데이터의 그룹을 다루는 다양한 자료구조에 대한 공통적인 규약을 제공Collection Interface : 리스트, 셋, 큐 등 여러 컬렉션 클래스를 위한 기본 인터페이스로 사용java.util 패키지에 속함 Iterable: 컬렉션을 순차적으로 반복(iterate) 할 수 있게 해주는 인터페이스 TreeSet내부적으로 이진 탐색 트리를 사용하여 요소들을 자동으로 정렬합니다.중복된 값을 허용하지 않으며, 빠른 검색 및 정렬 기능을 제공..
-
OOP (Object-Oriented Programming)Architecture/Application Architecture 2025. 2. 14. 19:25
OOP (Object-Oriented Programming)객체지향 프로그래밍 (OOP) : 소프트웨어 설계 및 구현 방식으로, 프로그램을 "객체"라는 독립적인 단위로 분리하여 문제를 해결 OOP에서 지향하는 바는 코드를 더 구조적이고 재사용 가능하며 유지보수가 용이하게 만드는 것 1. 캡슐화 (Encapsulation)데이터와 메서드를 하나의 단위로 묶고, 객체 외부에서는 내부 구현을 숨기려는 원칙데이터의 무결성을 보호하고, 외부에서 직접 데이터에 접근하지 못하게 하여 코드의 안정성을 높임ex. 클래스 내부에서 데이터를 관리하고, 그 데이터에 접근하는 방법을 메서드로 제공하여 데이터를 안전하게 수정하도록 제한 2. 상속 (Inheritance)기존의 클래스에서 새로운 클래스를 만들어 그 기능을 재사..
-
MVC PatternArchitecture/Application Architecture 2025. 2. 14. 18:58
ProcessClient Controller (API) Service(Business) DAO(Persistance) DB Controller : Client - Server 중간역할API 요청에 따라 응답View로 Request Body에 담긴 데이터를 DTO로 변환하여 Service 로 전달처리결과를 DTO로 받고 Response Body에 담아 Client에게 반환 @ControllerAPI, View 를 동시에 사용View 반환이 주목적 @RestControllerView가 필요없는 상황에서 API만 서비스에서 사용@Controller + @ResponseBody데이터반환이 주목적 2. Service : 데이터 가공자 역할DAO 를 통해서 DB 접근 DTO로 데이터 전달받은후 비지니스 로..
-
LinuxArchitecture/Infrastructure 2023. 3. 18. 18:10
Mac Terminal를 사용하던 중 2년전 포트폴리오를 준비하여 AWS 서버에 Oracle 및 Java 환경을 구축하려 애쓰던 기억이 떠올랐다. 다행히도 당시에 명령어를 정리해 놓은 내용이 남아 있었고 올해 Blog를 시작하며 그동안 정리해 놓은 텍스트들을 올릴 예정이다. 새롭게 알게되는 내용들을 게시물에 계속 업데이트하려고 한다. (너무 간략하게 적어놔서 디테일이 떨어진다 😅) 1. Linux 개요Linus Tovalds에 의해 개발됨 (open source 개념의 시작)서버구축이 주요 목적 : cloud service 대부분이 linux (aws)멀티 유저 운영체제 : 하나의 Server를 여러사람이 사용 (권한 및 보안관리가 중요)Ubuntu Server : Radhat 계열의 Linux ..