전체 글(61)
-
NoSQL과 RDBMS
NoSQL과 RDBMS의 특징과 차이점에 대해서 장, 단점에 대해서 공부해 보겠습니다. NoSQL1. 개념과 특징"Not only SQL"로, SQL만을 사용하지 않는 데이터베이스 관리 시스템(DBMS)을 지칭하는 단어입니다.기존의 관계형 데이터베이스 보다 더 융통성 있는 데이터 모델을 사용하고, 데이터의 저장 및 검색을 위한 특화된 매커니즘을 제공합니다.2. 장점NoSQL 데이터베이스는 단순 검색 및 추가 작업에 있어서 매우 최적화된 키 값 저장 기법을 사용하여, 응답속도나, 처리 효율 등에 있어서 매우 뛰어난 성능을 나타냅니다. 3. 단점유연성으로 인해 데이터 구조 결정을 미루게 될 수 있습니다.데이터 중복을 계속 업데이트 해야 합니다.데이터가 여러 컬렉션에 중복되어 있기 때문에 수정 시 모든 컬렉..
2025.03.16 -
API와 EndPoint
APIAPI는 Application Programming Interface의 약자입니다. 단어를 하나씩 살펴보겠습니다. 애플리케이션은 고유한 기능을 가진 소프트웨어를 말합니다. 인터페이스는 두 애플리케이션 간의 일종의 서비스 계약입니다. 인터페이스에 따라 두 애플리케이션이 어떻게 통신할 것인지 정해집니다.통신이란 요청과 응답을 하는 걸 의미합니다. 두 애플리케이션이 어떻게 요청과 응답을 할지를 기록한 게 API 문서입니다. API를 개발하는 걸 (당연하지만)API 개발이라고 부르고요. 만들어진 API를 통해 두 애플리케이션이 통신할 수 있도록 만드는 걸 API 연동이라고 말합니다. 엔드포인트는 컴퓨터 네트워크에 연결하고 컴퓨터 네트워크와 정보를 교환하는 물리적 디바이스입니다. URIURI는 특정 리소..
2025.03.02 -
클라우드
클라우드란 컴퓨팅 서비스 사업자 서버를 구름 모양으로 표시하는 관행에 따라 "서비스 사업자의 서버"로 통한다.기업 내에 서버와 저장장치를 두지 않고 외부에 아웃소싱해 쓰는 서비스를 의미한다. 빅데이터를 클라우드로 관리하면 분석과 활용이 용이하다. 예상치 못한 트래픽 폭주를 염려해 과도한 설비투자를 할 필요도 없다.클라우드 서비스는 데이터를 보관하는 장소에 따라 퍼블릭(개방형) 클라우드와 프라이빗(폐쇄형) 클라우드로 나뉜다. 클라우드 업체의 데이터센터에 보관하면 퍼블릭 클라우드, 기업 안이나 데이터센터의 독립된 서버에 보관하면 프라이빗 클라우드로 볼 수 있다.퍼블릭 클라우드 서비스를 선택하면 모든 인프라를 클라우드 업체를 통해 제공받는다. 자체 인프라가 빈약한 스타트업(신생 벤처기업) 대부분이 퍼블릭 클라..
2025.02.16 -
HTTP통신
@RequestBody 애너테이션의 역할은 클라이언트가 보내는 HTTP 요청 본문(JSON 및 XML 등)을 Java 오브젝트로 변환하는 것입니다. HTTP 요청 본문 데이터는 Spring에서 제공하는 HttpMessageConverter를 통해 타입에 맞는 객체로 변환됩니다. @RequestBody를 사용할 객체는 필드를 바인딩할 생성자나 setter 메서드가 필요없다. 다만 직렬화를 위해 기본 생성자와 getter나 setter 중 1가지는 정의되어 있어야 한다. @ModelAttribute 애너테이션의 역할은 클라이언트가 보내는 HTTP 파라미터들을 특정 Java Object에 바인딩(맵핑) 하는 것입니다. /modelattribute?name=req&age=1 같은 Query String 형태 ..
2025.01.05 -
Swagger·Postman을 활용한 API 문서 자동화
교점의 별 만들기문제의 출처 https://school.programmers.co.kr/learn/courses/30/lessons/87377?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제의 답import java.util.ArrayList;import java.util.List;public class Solution { public String[] solution(int[][] line) { List points = new ArrayList(); long xMin = Long.MAX_VALUE; long xMax = Long..
2024.12.30 -
Ssh와 SSH Tunneling
SSH란?SSH는 Secure Shell의 줄임말로, 원격 호스트에 접속하기 위해 사용되는 보안 프로토콜입니다.기존 원격 접속은 ‘텔넷(Telnet)’이라는 방식을 사용했는데, 암호화를 제공하지 않기 때문에 보안상 취약하다는 단점이 있었습니다. 실제로 WireShark같은 패킷 분석 프로그램을 이용하면 누구나 쉽게 원격 접속 과정에서 옮겨지는 비밀번호나 파일 내용 등의 데이터를 탈취할 수 있습니다. 때문에 이를 암호화하는 SSH 기술이 등장했고, 현재 원격 접속 보안을 위한 필수적인 요소로 자리잡고 있습니다. 그리고 클라우드 서비스에서 제공하는 서버는 기본적으로 원격 접속을 해서 접근하고 사용합니다. 그래서 NBP나 AWS와 같은 CSP(Cloud Service Provider, 클라우드 서비스를 제공하..
2024.12.22