인터넷 프로토콜 스택 4계층을 공부 중 "애플리케이션 계층에서 데이터가 소켓 라이브러리를 통해 인터넷 계층으로 전송된다." 를 보고 소켓은 무엇인지에 대한 의문이 생겼다. 소켓이란? 소켓의 등장 통신이 일어나는 과정을 단계별로 파악하기 위해서 네트워크에서 통신이 일어나는 과정을 7단계로 나누어 네트워크를 관리한다.이를 OSI 7계층이라고 하며, 계층 간에 존재하는 네트워크 통신을 위한 규약인 레이어별 프로토콜이 있다. 하지만, 네트워크를 관리하기 위해서 계층만 나누는 걸로는 한계가 있다. 레이어별 프로토콜은 일종의 통신 규약일 뿐 프로토콜 구현을 위해 안에 들어갈 구체적인 구현부인 함수가 필요하기 때문이다. 소켓은 이러한 함수들의 body를 제공한다. 즉 프로토콜의 세부적인 명세를 일일이 정의할 필요없이..
인터넷 프로토콜 스택의 4계층이란? 스택이란 이름에서 알 수 있듯이 특정한 프로토콜이 아닌 프로토콜의 모임으로 인터넷에서 컴퓨터들이 서로 데이터를 주고 받는데 쓰이는 프로토콜이 모인 것이다. 4계층은 인터넷 기반의 효율적인 데이터 전송이라는 문제를 하나의 덩치 큰 프로토콜 설계로 해결하는 것이 아니고, 그 문제를 작게 나눠서 4개로 계층화한것이다. 계층은 다음과 같이 네트워크 인터페이스 계층, 인터넷 계층, 전송 계층, 애플리케이션 계층으로 나눌 수 있다. 네트워크 인터페이스 계층이란? 네트워크 인터페이스는 이름처럼 인접한 네트워크 기기 간에 데이터를 전송하는 역할을 담당하고 있다. 직접 연결된 네트워크용 하드웨어 기기 간에 데이터 전송을 제어함으로써 상위 계층은 하드웨어의 종류에 상관없이 통신할 수 있..
S3 버킷에 배포된 정적 웹 사이트에 HTTPS를 적용하고, Mixed Content Error를 직면하였다. 간단히 말해 HTTPS 적용된 정적 웹 사이트에서 HTTPS가 적용되지 않은 톰캣 서버에 요청했기 때문에 발생한 문제이다. 이를 해결하기 위해 Application Laod Balancer를 이용하여 EC2 인스턴스에 배포한 톰캣 서버에 HTTPS로 접근하기로 하였다. Application Load Balancer Elastic Load Balancing은 둘 이상의 가용 영역에서 EC2 인스턴스, 컨테이너, IP 주소 등 여러 대상에 걸쳐 수신되는 트래픽을 자동으로 분산한다. 등록된 대상의 상태를 모니터링하면서 상태가 양호한 대상으로만 트래픽을 라우팅한다. Elastic Load Balanci..
Queue 자료구조 (추후 블로깅 예정) Queue interface 사용법 Queue 선언 Queue 인터페이스는 Collection 프레임워크를 상속받으며, LinkedList, PriorityQueue 클래스 등으로 구현할 수 있다. import java.util.Queue; public interface Queue extends Collection Queue queue = new LinkedList(); Queue 메소드 목록 큐의 메소드는 두가지 형태로 되어있다. 하나는 만약 연산에 실패하게 된다면 예외를 던지고, 다른 하나는 특별한 값(null값이나 false)를 리턴한다. Queue 값 추가 queue는 FIFO 구조이기 때문에 rear(뒤)부터 값이 추가된다. public boolean a..
Stack 자료구조 (추후 블로깅 예정) Stack class 사용법 Stack 선언 Stack 클래스는 Vector 클래스를 상속받는다. (당연히 vector 클래스의 메소드를 사용할 수 있다.) Stack 생성 시 제네릭 부분에는 사용할 객체를 담으며 되며 생성되면 어떤 원소도 포함하지 않는다. import java.util.Stack; public class Stack extends Vector Stack stack = new Stack(); //Integer 스택 선언 Stack 값 추가 public E push(E item) stack은 LIFO 구조이기 때문에 다음과 같이 stack에 쌓이게 된다. Integer element1 = stack.push(1); //element1 == 1 Int..
S3웹사이트 엔드포인트에 HTTPS를 적용하려고 하였으나 S3 웹 사이트 엔드포인트는 HTTPS를 지원하지 않는다. AWS는 배포한 웹사이트를 더 안전하고, 보안을 강화하기 위해서 CloudFront를 사용하여 HTTPS를 적용하는 방법을 안내하고 있다. CloudFront Cloud Front는 AWS의 CDN(Content Delivery Network)서비스이다. 지리적으로 분산된 서버들을 연결한 네트워크(CDN)에서 Cloud Front는 클라이언트의 콘텐츠 요청으로 Origin Server에서 받아온 콘텐츠를 Edge Location에 캐싱하고 이후 같은 요청이 들어왔을 때, 그 캐싱해둔 것을 사용자에게 제공한다. 이러한 Cloud Front의 특성을 이용하여 Cloud Front Edge Se..
Set 인터페이스수학에서의 집합과 비슷하다.요소의 중복을 허용하지 않고, 저장 순서를 유지하지 않는 컬렉션기능리턴 타입메소드설명객체 추가booleanadd(Object element)주어진 객체를 추가하고, 성공하면 true를 중복 객체면 false를 반환한다.객체 검색booleancontains(Object o)주어진 객체가 Set에 존재하는지 확인한다. booleanisEmpty()Set이 비었는지 확인한다. IteratorIterator()저장된 객체를 하나씩 읽어오는 반복자를 리턴한다. intsize()저장되어 있는 전체 객체의 수를 리턴한다.객체 삭제voidclear()Set에 저장된 모든 객체를 삭제한다. booleanremove(Object o)주어진 객체를 삭제한다. HashSetSet 인..
List 인터페이스배열과 같이 객체를 일렬로 늘어놓은 구조를 가지고 있다.객체를 저장하면 자동으로 인덱스가 부여되고, 인덱스로 객체를 검색, 추가, 삭제할 수 있는 등의 여러 기능을 제공한다.List 인터페이스를 구현한 클래스에는 LinkedList, ArrayList, Stack, Vector 등이 있다. List 인터페이스 메소드Collection 인터페이스의 메소드 또한 상속받아서 사용이 가능하다. ArrayListArrayList 객체명 = new ArrayList(초기 저장 용량);//초기 용량이 인자로 전달되지 않으면 기본적으로 10으로 지정된다.기능적으로 Vector와 동일하고 이를 개선한 것이다. 리스트 계열 자료구조의 특성을 이어받아 데이터가 연속적으로 존재한다.(데이터의 순서 유지) 배..
Map 인터페이스Map 인터페이스는 키(key)와 값(value)으로 구성된 객체인 Entry 객체를 저장하는 구조로 되어있다. Entry 객체는 키와 값을 각각 Key 객체와 Value 객체로 저장한다. 즉, key, value 값은 기본형일 수 없다.키는 중복으로 저장될 수 없지만, 값은 중복 저장이 가능하다. Map 인터페이스를 구현한 클래스에는 HashMap, Hashtable, TreeMap, SortedMap 등이 있다. Map 인터페이스 메소드 HashMap해시 함수를 통해 키와 값이 저장되는 위치를 결정하므로, 사용자는 그 위치를 알 수 없고 삽입되는 순서와 위치 또한 관계가 없다. 해싱을 사용하기 때문에 많은 양의 데이터를 검색하는데에 있어서 뛰어난 성능을 보인다.HashMap의 개별 요..
컬렉션이란 여러 데이터의 집합을 의미한다.이러한 컬렉션을 다루는데에 있어 편리한 메서드들을 미리 정의해 놓은 것을 컬렉션 프레임워크라고 한다. 컬렉션 프레임워크는 주요 인터페이스로 List, Set, Map을 제공한다. List데이터의 순서가 유지되며, 중복 저장이 가능한 컬렉션을 구현하는데 사용된다.[Java] List 인터페이스List 인터페이스 배열과 같이 객체를 일렬로 늘어놓은 구조를 가지고 있다. 객체를 저장하면 자동으로 인덱스가 부여되고, 인덱스로 객체를 검색, 추가, 삭제할 수 있는 등의 여러 기능을 제공한kangkangsulae.tistory.com Set데이터의 순서가 유지되지 않으며, 중복 저장이 불가능한 컬렉션을 구현하는데 사용된다.[Java] Set 인터페이스Set 인터페이스 수학에..
- Total
- Today
- Yesterday
- CI/CD
- 정렬
- 영속 상태
- acm
- network
- LeetCode
- githubactions
- JPA
- 영속성 컨텍스트
- springboot
- java
- EC2
- entitylisteners
- Spring
- Route53
- 자바
- aws
- 지연 대기열
- CI와 CD의 차이
- appliationeventlistener
- Spring Boot
- fetchcount()
- 트랜잭션
- Hibernate
- DevOps
- 프로그래머스
- IAM
- 네트워크
- persistencecontext
- CodeDeploy
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |