Dictionary 14

[Web, WS, WAS] 웹(Web) 기본 개념

제목[Web, WS, WAS] 웹(Web) 기본 개념관련게시글[Web, WS, WAS] 웹 기본 개념목차0. 웹(Web), 웹서버(Web Server), 웹 애플리케이션 서버(Web Application Server)의 중요성1. 웹이란 무엇인가?2. 웹을 구성하는 주요 기술3. 웹의 작동 원리 (HTTP 프로토콜의 개념)0. 웹(Web), 웹서버(Web Server), 웹 애플리케이션 서버(Web Application Server)의 중요성 웹 개발자는 클라이언트 측의 코드 작성뿐만 아니라,서버 측 기술과 그 역할을 이해하는 것이 매우 중요합니다.웹 서비스는 WS, WAS, Web의 상호작용으로 동작합니다.따라서 WS,WAS, Web의 동작 원리와 상호작용을 이해한다면,현재 서비스의 취약점과 강점, 개..

Dictionary 2024.08.31

[Kafka] 개요; Message Broker & Kafka

0. Message Broker메시지 브로커는서로 다른 애플리케이션(또는 시스템) 간 통신 및 데이터 교환을 촉진하는 중개 소프트웨어 구성 요소입니다.메시지 브로커를 통해데이터를 수신하는 소비자 애플리케이션과 생성자 애플리케이션을 분리할 수 있습니다.생산자가 소비자에게 효율적, 안정적으로 전달되도록 보장하는 중재자 역할을 합니다.메시지 브로커의 주요 특징은0.1 디커플링 Decoupling애플리케이션 간의 결합을 해제(디커플링 - Decoupling)할 수 있다는 것입니다.이를 통해 애플리케이션이 서로의 존재를 인식할 필요 없이 통신할 수 있으며,애플리케이션 간의 느슨한 결합을 가능하게합니다.컴포넌트 독립성 및 유연성생산자와 소비자가 서로 독립적으로 동작할 수 있습니다.생산자는 메시지를 브로커에 보낸 후..

Dictionary 2024.06.22

[Dictionary] Computer Network, 컴퓨터 네트워크

0. Network(망)네트워크는 둘 이상의 개체들이 연결되어 서로 소통하거나 자원을 공유하는 시스템을 의미합니다.철도나 버스 등을 활용한 교통 네트워크,사람 간 관계를 활용한 소셜 네트워크,전기 공급이 이루어지는 전력 네트워크 등 다양한 종류의 네트워크가 있습니다.1. Computer Network컴퓨터 네트워크는두 대 이상의 컴퓨터가 데이터와 리소스를 전송하기 위해 유무선으로 연결되어 있는 것을 말합니다.간단하게 말하면 두 대 이상 연결된 컴퓨팅 장치의 그룹이라고 할 수 있습니다.네트워크 내의 모든 컴퓨터는 연결되어 있기 때문에,컴퓨터 간 거리에 관계없이 정보를 교환할 수 있습니다.2. 작동정보 전송은 물리적(또는 무선) 기술과 통신 프로토콜이라고 하는 규칙 시스템을 통해 이루어집니다.노드와 링크가 ..

Dictionary 2024.06.20

[GitHubFlow] 형상관리 전략 GitHubFlow

개발을 진행할 때 협업은 상당히 중요합니다.OilNow 프로젝트를 시작하기 앞서,GitHub를 활용한 GitHubFlow를 진행할 것이며,왜 이 방법을 채택하였고, 어떻게 진행할 것인지에 대해 작성해보려고 합니다.왜 GitHubFlow인가?GitHubFlow는 간단하기 때문에 소규모 프로젝트에 적합합니다.각각의 기능이나 작업이 하위 브랜치를 통해 병합되기 때문에, 동시 다발적인 개발이 가능합니다.Pull Request를 통해 손쉽게 코드리뷰할 수 있습니다.Issue와 Pull Request, Project를 통해 프로젝트의 작업에 대한 추적이 쉽습니다.하위 브랜치 작업, 병합, 배포의 과정이 빠릅니다.이제 여러 단계를 나눠서 세부적으로 설명해보겠습니다0.1. (선택) Organizations을 생성합니다..

Dictionary 2024.01.16

Shebang #!

Shebang은 #!을 지칭합니다. #!은 쉘에서 특정 프로그램을 사용하기 원할 때, 그 프로그램의 경로와 함께 사용합니다. 예컨대, python3을 사용하는 스크립트를 작성한다고 하면 python3의 경로에 따라 #!을 작성하는 것으로 시작합니다. #!/usr/bin/python3 print("Hello Shebang") bash가 필요한 스크립트라면 #!/usr/bin/bash echo "Hello Shebang" Shebang을 통해 bash가 필요한 스크립트라고 지시합니다. 물론, 스크립트에 작성하지 않고 명령어를 사용할 때 기재해도 됩니다. 그렇지만 스크립트 파일이 많아진다면, 실행에 사용해야 하는 프로그램이 python3인지 bash인지 착오가 생길 수 있습니다. 따라서 Shebang #! 을..

Dictionary 2024.01.11

Session vs Request Scopes

브라우저에서 오는 모든 요청은 서버에 배포된 웹 애플리케이션에 의해 처리됩니다. Request Scope 요청 범위는 오직 하나의 요청에 적용됩니다. 요청이 다시 전송되면 요청 속성은 메모리에서 삭제될 것입니다. (삭제된 속성은 그 이후에 이루어지는 요청에 다시 사용할 수 없습니다) (Model 의 기본값은 Request Scope입니다) Session Scope 세션 범위에서는 세부정보가 다수의 요청에 걸쳐 저장됩니다. 세션에 저장할 때, 추가로 메모리를 차지하고 모든 세부정보가 서버에 저장되기 때문에 조심해야 합니다. (@SessionAttribute를 추가하여 세션범위를 요청할 수 있습니다)

Dictionary 2024.01.06

[Dictionary] Bootstrap

Bootstrap이란?웹 페이지를 꾸마가 위해 CSS cascading 스타일 시트를 사용할 수 있습니다.Bootstrap은 가장 널리 사용되는 cascading 스타일 시트 프레임워크입니다.(현재 2023.12.29 최신 버전은 Bootstrap5입니다)사용을 위한 사전 준비과거(수동 다운로드)과거에 Spring에서 Bootstrap을 사용하려면 관련 리소스를 static 디렉토리에 넣어줘야 했으며,새 버전을 적용하려면, 이 과정을 반복해야 했으므로 편하면서도 까다로웠습니다.따라서 webjars라는 프로세스가 등장하며 인기를 끌게 되었습니다.현재(webjars 의존성)그 이유는, webjars를 통해 Bootstrap을 수동으로 다운로드하지 않아도 되기 때문입니다.사용을 위해 아래 의존성을 설정합니다...

Dictionary 2023.12.29

OAuth 2.0 개요

들어가기 앞서 OAuth 2.0은 인가(Authorization)를 위한 표준 프로토콜입니다. 웹 애플리케이션, 데스크톱 애플리케이션, 휴대폰 및 디바이스에 대한 특정한 인가(Authorization)흐름을 제공하여 클라이언트 개발을 단순하게 해줍니다. OAuth 2.0 Authorization 프레임워크를 통해 제3자가 리소스 소유자(HTTP 서비스 사용자)와 서비스 사이에서 상호작용을 하거나, (제3자가) 스스로 권한을 획득하는 방법 등을 통해 액세스 권한을 획득하고, HTTP 서비스에 대하여 액세스할 수 있습니다. 0. 개요 전통적인 클라이언트-서버 인증(Authentication) 모델에서 클라이언트는 서버에서 보호중인(인가된 사용자만 접근가능한) 자원에 액세스를 요청하기 위해 리소스 소유자의 자..

Dictionary 2023.10.15

JSON Web Tokens, JWT란?

1. JSON 웹 토큰이란? 당사자 간에 정보를 JSON 개체로 안전하게 전송하기 위한 방법을 정의하는 개방형 표준(RFC7519)입니다. 전송하는 정보는 디지털 서명이 되어 있어(발신자 확인 및 정보 위변조 방지) 신뢰할 수 있습니다. HMAC 알고리즘 또는 RSA 및 ECDSA 를 사용하는 비대칭 암호화 방식(공개/개인 키 쌍)을 사용하여 서명할 수 있습니다. 서명된 토큰을 사용하여 전송하는 정보를 숨기고, 비대칭 키를 통해 개인 키를 가지고 있는 사람만 인증합니다. 정보 전송을 위한 방법 중 하나로, 암호화를 통해 서명하여 신뢰도가 높습니다. 인증을 통해 토큰을 발급하고, 토큰에 권한을 부여하여 사용할 수 있습니다. 2. 사용 예시 액세스 승인과 정보 교환에 사용할 수 있습니다. 1. 액세스 승인 ..

Dictionary 2023.10.14

클라우드의 서비스 제공 형태 XaaS, SaaS, PaaS, IaaS

클라우드 서비스는 다양한 도구와 기술을 사용자에게 서비스 형태로 제공합니다. (애플리케이션, 플랫폼, 인프라, 보안, 운송 등 아주 다양합니다) 컴퓨팅 액세스와 원격 액세스를 통해 모든 것이 서비스로 제공될 수 있습니다. as a Service aaS 서비스형이라는 용어는 제3사에서 클라우드 컴퓨팅 서비스를 제공한다는 의미입니다. 따라서 사용자는 코드, 고객 관리와 같은 더 중요한 업무에 집중할 수 있습니다. 각 유형의 클라우드 컴퓨팅을 활용하면 관리해야할 온프레미스 인프라가 감소합니다. 기존에는 온프레미스환경에서 IT자산을 설치, 관리 및 유지보수하는 방식을 사용했습니다. 클라우드 컴퓨팅은 클라우드 서비스 제공자(제3사)가 IT자산을 소유, 관리 및 유지보수하고, 고객이 인터넷 연결을 통해 이를 소비하..

Dictionary 2023.09.26
728x90
반응형