목록분류 전체보기 (19)
05AM
`Comparable`과 `Comparator`는 객체의 정렬을 위해 사용되는 인터페이스입니다. 두 인터페이스는 서로 다른 방식으로 정렬 기준을 정의합니다.🔷 `Comparable`Comparable 인터페이스는 객체 자체에 기본 정렬 기준을 정의하고자 할 때 사용됩니다. 이 인터페이스를 구현하는 클래스는 자연 정렬(natural ordering)을 가지게 됩니다. 예를 들어, 숫자는 오름차순, 문자열은 사전순 등이 있습니다. 사용 상황:클래스의 기본 정렬 순서를 정의하고 싶을 때객체의 기본 정렬 기준이 하나만 있을 때Comparable 인터페이스는 `compareTo` 메서드를 하나 가지고 있습니다.➡️ 구조public class ClassName implements Comparable { @O..
🔷 `collect()`Java Stream API의 메서드로, 스트림의 요소를 다양한 컬렉션으로 수집하거나 특정한 방식으로 집계하는데 사용된다.`collect` 메서드는 주로 Collector를 인수로 받아 스트림의 요소를 수집한다.// List로 수집List wordList = words.stream().collect(Collectors.toList());// Set으로 수집Set wordSet = words.stream().collect(Collectors.toSet());Stream (Java SE 11 & JDK 11 ) (oracle.com)🔷 `Collectors`다양한 유틸리티 메서드를 제공하는 클래스로, 주로 스트림의 요소를 컬렉션으로 수집하거나 특정한 집계 연산을 수행할 때 사용된다..
DDD(도메인 주도 설계)와 스프링 프레임워크를 사용하는 프로젝트 구조에서 "model", "domain", "entity"는 각각 다른 의미를 가지고 있으며, 특정한 종류의 클래스들을 포함합니다. 이 용어들은 종종 서로 교차하여 사용되기도 하지만, 각각의 역할과 책임이 있습니다. Domain 정의: 도메인은 소프트웨어로 해결하고자 하는 문제 영역입니다. DDD에서는 이 문제 영역을 중심으로 모델링을 진행합니다. 도메인 내에서 비즈니스 로직과 애플리케이션의 핵심 기능이 정의되고 구현됩니다. 패키지 구성: domain 패키지는 다음과 같은 클래스들을 포함할 수 있습니다. Entity: 도메인 내의 핵심 개념을 나타내는 객체로, 식별자(ID)에 의해 구별됩니다. 엔티티는 비즈니스 로직을 포함하며, 도메인의 ..
☀️ TCP 통신의 문제점 Packet Loss (손실) : 데이터 패킷이 송신자에서 수신자로 전송되는 도중에 네트워크 상에서 손실되는 현상 원인: 네트워크 혼잡, 잘못된 라우팅, 패킷 충돌, 하드웨어 결함 등 다양한 이유로 발생할 수 있습니다. 영향: 데이터의 전송 속도 감소, 연결의 비안정성, 데이터의 무결성 문제 등이 발생할 수 있습니다. 해결 방법: 재전송 요청(ARQ)와 같은 메커니즘을 사용하여 손실된 패킷을 다시 보내거나, 전송 제어 프로토콜(TCP)와 같은 프로토콜이 패킷 손실을 감지하고 재전송을 수행합니다. Out-of-Order Packets (순서 바뀜) : 데이터 패킷들이 송신자에서 보낸 순서와 다른 순서로 수신자에게 도착하는 현상 원인: 패킷들이 서로 다른 경로로 전송되거나, 네트워..
☀ 암호화 정보 보안의 핵심 요소 중 하나로, 데이터를 변형하여 원본을 알 수 없게 하는 과정을 의미 이를 가능하게 하는 것이 암호화 알고리즘과 키이다. 대칭키와 공개키는 암호화의 두 주요 방법으로, 각기 다른 특성과 용도를 가지고 있다. ☀ 대칭키 암호화 (Symmetric Key) 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘 특징 단일 키 사용 암호화와 복호화에 동일한 키를 사용한다. 비밀키 하나만 알아내면 해독이 가능하다. 속도 대칭키 암호화는 공개키 암호화에 비해 연산이 단순하여 속도가 빠르다. 키 관리 대칭키 전달과정에서 보안 위험에 노출될 수 있다. 장점 속도가 빨라 대용량 Data 암호화에 적합하다. 단점 키를 교환해야 하는 문제가 있다. 키 관리 어렵다. 확장성 떨어진다. 기..
☀ HTTP (Hypertext Transfer Protocol) 클라이언트와 서버 간 통신을 위한 통신 규칙 세트 또는 프로토콜 사용자가 웹 사이트를 방문하면 사용자 브라우저가 웹 서버에 HTTP 요청을 전송하고, 웹 서버는 HTTP 응답으로 응답한다. 웹 서버와 사용자 브라우저는 데이터를 일반 텍스트로 교환한다. 간단히 말해 HTTP 프로토콜은 네트워크 통신을 작동하게 하는 기본 기술이다. 작동 방식 HTTP는 OSI (Open Systems Interconnection) 네트워크 통신 모델의 어플리케이션 계층 프로토콜이다. HTTP는 여러 유형의 요청과 응답을 정의한다. 예를 들어, 웹 사이트의 일부 데이터를 보려는 경우 HTTP GET 요청을 전송한다. 연락처 양식 작성과 같은 일부 정보를 전송하..