본문 바로가기
728x90
반응형

CS6

Clean Architecture(클린 아키텍처)에 대한 개념과 구조 Clean Architecture(클린 아키텍처)란 소프트웨어 시스템의 구조를 구성하는 하나의 디자인 패턴으로, 소프트웨어를 독립적인 컴포넌트로 나누고, 각 컴포넌트가 독립적으로 개발과 테스트가 가능하도록 설계하는 방법을 말합니다. 로버트 C. 마틴(Robert C. Martin)의 "Clean Architecture: A Craftsman's Guide to Software Structure and Design"에서 소개된 이 아키텍처는 소프트웨어의 유연성, 테스트 용이성, 확장성 등을 보장하여 유지보수성을 높이고, 비즈니스 로직을 최대한 독립적으로 관리할 수 있도록 합니다. 클린 아키텍처의 구조는 크게 다음과 같이 나뉩니다. Entity: 애플리케이션의 비즈니스 로직을 담당하는 엔티티입니다. 애플리케.. 2023. 7. 20.
RSA 암호화란? RSA 암호화는 공개키 암호화 방식 중 가장 널리 사용되는 암호화 알고리즘 중 하나입니다. 1977년에 Ron Rivest, Adi Shamir, Leonard Adleman에 의해 개발된 이 알고리즘은 이름을 따서 RSA로 알려져 있습니다. RSA는 암호화와 복호화에 각각 다른 키를 사용하는 "비대칭키 암호화" 방식을 기반으로 합니다. 즉, 공개키와 개인키를 쌍으로 사용하여 데이터를 암호화하고 복호화합니다. RSA 암호화 방법 RSA 암호화는 다음과 같은 단계로 이루어집니다. 소수 생성: 먼저 무작위로 두 개의 큰 소수(p와 q)를 선택합니다. n값 계산: n = p * q를 계산합니다. n은 공개키와 개인키 생성에 사용되는 중요한 값이며, 암호화와 복호화에도 활용됩니다. φ(n) 값 계산: φ(n)은.. 2023. 7. 16.
JWT(JSON Web Token) 토큰: 생성 방법과 사용 방법 JWT(JSON Web Token)는 웹 애플리케이션 간 정보를 안전하게 전송하기 위한 컴팩트하고 자가수용적인 방법을 제공하는 토큰 기반의 개방형 표준입니다. 이번 블로그에서는 JWT의 생성 방법과 사용 방법, 그리고 기본적인 개념에 대해 알아보겠습니다. JWT 개념 JWT는 세 부분으로 이루어진 문자열로 구성되며, 다음과 같은 형태를 가집니다. header.payload.signature Header(헤더): 토큰의 유형과 해시 알고리즘 정보를 담고 있습니다. Payload(페이로드): 토큰에 담을 정보(클레임)들이 인코딩되어 있으며, 해당 토큰의 내용을 나타냅니다. Signature(서명): 토큰의 무결성을 검증하기 위한 서명으로, 헤더와 페이로드를 함께 해싱하여 생성됩니다. JWT 생성 방법 헤더 .. 2023. 7. 16.
TCP와 UDP - 네트워크 통신에서의 두 가지 주요 프로토콜 안녕하세요! 이번에는 TCP와 UDP에 대해 알아보고, 두 프로토콜 간의 개념과 차이점에 대해 소개해드리려고 합니다. TCP와 UDP는 네트워크 통신에서 가장 널리 사용되는 프로토콜입니다. TCP (Transmission Control Protocol) TCP는 연결 지향형 프로토콜로, 데이터의 신뢰성과 흐름 제어를 제공합니다. TCP는 3-way handshake 방식을 사용하여 클라이언트와 서버 간의 연결을 설정하고, 연결이 성립된 후 데이터를 안정적으로 전송합니다. TCP는 데이터의 분할, 순서 보장, 오류 검출과 복구 등의 기능을 제공하여 안정적인 데이터 전송을 보장합니다. 대표적으로 웹 브라우징, 이메일, 파일 전송 등의 서비스에 사용됩니다. UDP (User Datagram Protocol) .. 2023. 6. 27.
HTTP 통신 - 웹의 핵심 개념과 동작 방식 안녕하세요! 이번에는 HTTP 통신에 대해 알아보고, 웹의 핵심 개념과 동작 방식에 대해 설명해드리려고 합니다. HTTP는 HyperText Transfer Protocol의 약자로, 인터넷에서 웹 페이지를 주고받는 데 사용되는 통신 프로토콜입니다. HTTP의 개념 HTTP는 웹 브라우저와 웹 서버 간에 텍스트 기반으로 데이터를 주고받는 프로토콜입니다. 클라이언트(웹 브라우저)가 서버에 요청을 보내면, 서버는 요청에 대한 응답을 반환합니다. 웹의 핵심 기술로, 웹 페이지의 로딩, 데이터 전송, 하이퍼링크 등을 가능하게 합니다. HTTP의 동작 방식 HTTP는 클라이언트-서버 모델을 기반으로 동작합니다. 클라이언트는 HTTP 요청 메시지를 생성하여 서버에 보냅니다. 서버는 요청을 받고, 해당 요청에 대한 .. 2023. 6. 26.
UTF-8, UTF-16, EUC-KR - 한글 인코딩 방식 비교 안녕하세요! 이번에는 UTF-8, UTF-16, EUC-KR이라는 세 가지 한글 인코딩 방식을 비교해보려고 합니다. 각각의 특징과 용도를 알아보면서 어떤 상황에서 어떤 인코딩 방식을 선택해야 하는지 알아보도록 하겠습니다. UTF-8 UTF-8은 가장 널리 사용되는 유니코드 인코딩 방식입니다. 다양한 언어의 문자를 표현할 수 있어 전 세계적으로 널리 사용됩니다. 가변 길이 인코딩 방식으로, 한글은 평균적으로 3바이트로 표현됩니다. ASCII 문자는 1바이트로 표현되어 용량 효율성이 높습니다. 웹 개발에서 주로 사용되며, 인터넷 표준으로 채택되어 있습니다. UTF-16 UTF-16은 또 다른 유니코드 인코딩 방식입니다. 모든 문자를 2바이트로 표현하는 고정 길이 인코딩 방식입니다. 한글도 2바이트로 표현되므.. 2023. 6. 26.
728x90
반응형