[Network] 교차 출처 리소스 공유 : CORS(Cross Origin Resource Sharing) 이해하기
·
공통/Network
해당 글에서는 교차 출처 리소스 공유 : CORS(Cross Origin Resource Sharing)에 대해 이해를 돕기 위해 작성한 글입니다. 1) 교차 출처 리소스 공유 : CORS(Cross Origin Resource Sharing) 💡 교차 출처 리소스 공유 (CORS: Cross-Origin Resource Sharing) - 브라우저가 자신의 출처(Same Origin)가 아닌 ‘다른 어떤 출처(Cross Origin)’로부터 자원을 요청하는 것에 대해 허용하도록 서버가 이를 허가해 주는 HTTP 헤더 기반 메커니즘을 의미합니다. - 서버가 실제 요청을 허가할 것인지 확인하기 위해 브라우저가 보내는 ‘사전 요청(프리플라이트, Preflight)’ 메커니즘에 의존합니다. 이 사전 요청을 통..
[Security] 암호화/복호화 이해하기 -1 : 기초, 암호화 종류(단방향, 양방향)
·
공통/Security
해당 글에서는 암호화/복호화에 대해 이해하며 암호화의 종류에 대해 이해를 돕기 위해 작성한 글입니다.  1) 암호화(Encryption) / 복호화(Decryption) 1. 암호화(Encryption)💡 암호화(Encryption)- ‘평문’ 형태로 되어 있는 데이터나 정보를 ‘읽을 수 없는 형태(암호화 된 데이터)’로 변환하는 것을 의미합니다. 이러한 읽을 수 없는 형태로 만들기 위해 ‘암호화 키’가 필요합니다.- 암호화의 목적은 정보를 보호화하고 기밀성, 무결성, 인증성을 보장하기 위해 사용이 됩니다.   💡 암호화 과정 예시- 송신자와 수신자 간의 “Hello”라는 평문으로 데이터를 주고 받습니다.- 이 데이터는 외부의 사용자가 이를 읽고 데이터를 가로챌 수 있기에 사용자 간의 암호화 된 데이..
[Network] 프록시(Proxy) 이해하기 : 종류, 사용 목적 별, 오픈 소스 종류
·
공통/Network
해당 글에서는 프록시에 대해 이해를 돕기 위해 프록시 종류와 사용 목적 별 프록시 및 프록시로 사용되는 오픈소스에 대해 알아봅니다. 1) 프록시(Proxy)💡 프록시(Proxy)- 클라이언트와 서버 사이에서 통신을 할 때, 중간에서 ‘중계 역할을 수행하는 서버’를 의미합니다. 즉, 클라이언트와 서버 간에는 직접적으로 통신하는 것이 아닌 중계 역할을 하는 ‘프록시 서버’를 거쳐서 서로간의 요청-응답을 수행합니다.  [ 더 알아보기 ]💡 클라이언트와 서버 사이에 프록시 서버가 존재하면, 클라이언트가 호출하는 엔드포인트는 프록시 서버가 되는 건가?- 프록시를 사용하면 클라이언트는 프록시 서버로 요청을 보내야 합니다. 프록시 서버는 이러한 요청을 받아 실제 서버로 전달하고, 서버의 응답을 다시 클라이언트에게..
[데이터 통신] 소켓 통신(Socket Communication) 이해하기 : 송신-수신 통신 과정
·
공통/데이터 통신
해당 글에서는 소켓 통신의 흐름의 이해를 돕기 위해 작성한 글입니다.1) 소켓 통신(Socket Communication)💡 소켓 통신(Socket Communication)- 네트워크에서 두 컴퓨터 간의 ‘실시간 양방향 통신’을 제공하는 기술을 의미합니다. 양방향 통신은 송신자 측이 데이터를 수신할 수도 있으며, 수신자 측이 데이터를 송신할 수 있는 구조를 가집니다. - 두 컴퓨터 간에는 '특정 IP 주소와 포트번호'의 조합으로 네트워크 간의 연결을 수행하며, 수신자(클라이언트)는 데이터를 요청하면 송신자(서버)에서는 요청에 대한 응답을 제공해 주는 '클라이언트-서버' 모델을 사용하여 데이터를 송수신할 수 있습니다.- 소켓 통신은 'TCP'와 'UDP'라는 두 가지 주요 프로토콜을 사용할 수 있습니다..
[데이터 통신] TCP/IP 통신 이해하기 : TCP/IP 4계층, 송신-수신 통신 과정
·
공통/데이터 통신
해당 글에서는 TCP/IP 통신의 이해를 돕기 위해 TCP/IP 4 계층에 대해 알아보며, 송신자의 처리과정과 수신자의 처리과정에 대해 이해를 돕기 위해 작성한 글입니다. 1) TCP/IP 통신(Transmission Control Protocol / Internet Protocol)💡 TCP/IP 통신(Transmission Control Protocol / Internet Protocol)- 인터넷 네트워크에서 컴퓨터 간의 데이터를 교환하는데 있어서 사용되는 통신 프로토콜을 의미합니다. 해당 통신 프로토콜은 4 계층(응용 계층, 전송 계층, 인터넷 계층, 네트워크 인터페이스 계층)으로 구성되어 있습니다.- 데이터 전송 측에서는 ‘패킷’으로 분할하여 전송하고, 수신 측해서는 해당 ‘패킷’을 수신하는 ..
[데이터 통신] HTTP, HTTPS(SSL/TLS) 통신 이해하기 : 클라이언트-서버 통신 과정
·
공통/데이터 통신
해당 글에서는 HTTP, HTTPS 통신에 대해 이해를 돕기 위해 작성한 글입니다.  1) HTTP(HyperText Transfer Protocol) 통신💡 HTTP(HyperText Transfer Protocol) 통신- 웹 브라우저와 서버 간에 데이터(HTML, Image, CSS, JS, JSON/XML 등)를 전송하기 위해 사용되는 프로토콜입니다.- 클라이언트(송신 측)에서 요청을 보내면, 서버(수신 측)는 이 요청을 해석하여 적절한 응답을 클라이언트에게 반환하는 형태의 통신 방법입니다.- 대표적인 HTTP 통신을 위한 방법으로 REST API, SOAP API, GraphQL API를 이용하는 방식들이 있습니다.   [ 더 알아보기 ]💡 프로토콜(Protocol)은 무엇인가?- 컴퓨터 또..
[공통/아키텍처] 이벤트 기반 아키텍처(EDA: Event-Driven Architecture) 이해하기 -1 : 정의 및 특징, 주요 모델
·
공통/아키텍처
해당 글에서는 이벤트 기반 아키텍처(EDA: Event-Driven Architecture)에 대해 이해를 돕기 위해 작성한 글입니다.    💡 이벤트 기반 아키텍처(EDA: Event-Driven Architecture)를 이해하기 이전에 마이크로 서비스 아키텍처(MSA: Micro Service Architecture)의 구조적인 문제에 대해서 확인하여 EDA 특징에 대해서 알아봅니다.    1) 마이크로 서비스 아키텍처(MSA: Micro Service Architecture)💡 마이크로 서비스 아키텍처(MSA: Micro Service Architecture)- 하나의 애플리케이션을 ‘독립적으로 배포 가능한 서비스 단위’로 분할을 하여, 서로 간의 변경과 조합이 가능하도록 이루는 구조를 갖는 ..
[OpenSource] Vault 이해하기 -1 : 이론, 구성요소, 처리과정
·
공통/OpenSource
해당 글에서는 OpenSource인 Vault에 대해 이해를 돕기 위해 작성한 글입니다. 💡 [참고] Vault와 관련된 글에 대해 궁금하시면 아래의 글을 참고하시면 도움이 됩니다분류설명링크환경설정Docker로 Vault Server 구축 방법https://adjh54.tistory.com/393환경설정Dockerfile로 Vault Server 구축 방법https://adjh54.tistory.com/415환경설정Vault Server Unseal Key 초기화 방법https://adjh54.tistory.com/396 1) Vault💡 Vault - HashCorp 사에서 만든 Vault는 다양한 환경에서 애플리케이션의 외부 비밀 속성(예: 데이터베이스 비밀번호, API 키 등)을 외부화된 구성으로 ..
[공통/아키텍처] 소프트웨어 아키텍처 10가지 패턴 -2 : 피어 투 피어, 이벤트-버스, MVC, 블랙보드, 인터프리터 패턴
·
공통/아키텍처
해당 글에서는 시스템을 구축할 때 설계를 하는 소프트웨어 아키텍처의 10가지 패턴에 대해 알아보고 활용되는 예시에 대해 확인해 봅니다. 💡 [참고] 해당 글은 이전에 작성한 글에서 이어집니다. [개발방법론] 소프트웨어 아키텍처 10가지 패턴 -1 : 정의, 사용 사례해당 글에서는 시스템을 구축할 때 설계를 하는 소프트웨어 아키텍처의 10가지 패턴에 대해 알아보고 활용되는 예시에 대해 확인해 봅니다. 1) 소프트웨어 아키텍처 패턴(Software Archetect Pattern)adjh54.tistory.com    7) 피어 투 피어 패턴(Peer-to-Peer, P2P)💡 피어 투 피어 패턴(Peer-to-Peer, P2P)- 모든 참가자(Peer)는 동등한 위치에 있고 모든 참가자가 서버와 클라이..
[공통/아키텍처] 소프트웨어 아키텍처 10가지 패턴 -1 : 계층, 클라이언트-서버, 마스터-슬레이브, 파이프-필터, 브로커 패턴
·
공통/아키텍처
해당 글에서는 시스템을 구축할 때 설계를 하는 소프트웨어 아키텍처의 10가지 패턴에 대해 알아보고 활용되는 예시에 대해 확인해 봅니다.   1) 소프트웨어 아키텍처 패턴(Software Architect Pattern)💡 소프트웨어 아키텍처 패턴- 소프트웨어 설계에서 공통적으로 발생하는 문제를 효과적으로 해결하기 위한 템플릿 또는 가이드라인을 의미합니다.- 시스템의 전체 구조와 그 구조의 주요 요소들과 그 요소들 간의 관계에서 발생하는 패턴들을 주로 정의합니다.- 이를 통해서 재사용 가능한 설계를 제공하며 개발자들은 시스템을 더 효과적으로 설계하고 이해하는데 도움을 줍니다.소프트웨어 아키텍처 종류설명사용예시계층 패턴시스템을 기능별로 분리하여 개발, 테스트, 유지 보수를 용이하게 하는 패턴웹 애플리케이션..