String to Int Array (String -> int[]) 변경
2021. 5. 26. 13:18
개발 지식/Memo
String str = "1,2,3,4,5,6,7"; int[] intArray = Arrays.stream(str.split(",")).mapToInt(Integer::parseInt).toArray(); Integer[] integerArray = Arrays.stream(str.split(",")).map(Integer::valueOf).toArray(Integer[]::new)
HTTP 메시지 구조
2021. 1. 30. 20:18
개발 지식/WEB 기본 지식
HTTP 메시지는 요청 메시지와 응답 메시지의 내용이 조금 다르다. 우선 HTTP 메시지의 구성을 살펴보자 HTTP-message = start-line *( header-field CRLF ) CRLF [ message-body ] CRLF는 엔터를 의미 tools.ietf.org/html/rfc7230#section-3 HTTP 1.1의 공식 스펙을 확인해보면 위와 같은 형식으로 이루어진다고 기술되어 있다. HTTP 메시지 구조는 크게 4가지로 나눌 수 있다 - start-line : 시작 라인 - *( header-field CRLF ) : 헤더 - CRLF : 공백 라인 - [ message-body ] : 내용 start-line (요청 메시지) 요청 메시지에서 start-line = reque..
Stateful, Stateless (상태유지, 무상태)
2021. 1. 30. 19:29
개발 지식/WEB 기본 지식
Stateful (상태유지) 서버에서 클라이언트의 상태를 유지(기억)하고 응답 - 항상 같은 서버를 통해서 응답받아야 한다. - 만약 서버에 장애가 생겨서 다른 서버를 통해 작업을 수행하려고 한다면, 다시 처음부터 수행해야한다. (새로운 서버에는 유지하고있는 값이 없기 때문에) 로그인 등의 작업에 많이 사용 Stateless (무상태) 서버에서 클라이언트의 상태를 유지(기억)하지 않음 - 클라이언트에서 요청할 때 모든정보를 담아서 서버로 요청한다. - 모든정보를 매번 다시 받기때문에 중간에 서버가 장애가 나서 다른 서버를 통해 작업을 수행해도 모두 처리할 수 있다. 수평확장에 유리 (즉, 필요에 따라 서버 무한 증설이 가능) 실무에서의 한계점 설명처럼 모든곳에서 Stateless (무상태)를 사용하도록 ..
[jQuery] 마우스 우클릭 이벤트
2021. 1. 28. 19:11
개발 지식/Etc.
특정 영역에서만 우클릭 이벤트를 발생시키고 싶어서 event 함수를 적용해서 처리했다. 또 사용할 것 같은 기능이라 정리! CSS .custom-menu { display: none; z-index: 1000; position: absolute; overflow: hidden; border: 1px solid #CCC; white-space: nowrap; font-family: sans-serif; background: #FFF; color: #333; border-radius: 5px; margin:0; padding:0; } .custom-menu li { padding: 8px 12px; cursor: pointer; } .custom-menu li:hover { background-color: ..
웹 브라우저 요청 흐름
2021. 1. 24. 15:11
개발 지식/WEB 기본 지식
웹 브라우저 요청 흐름 주소창에 URI를 통해 접근했을 경우 동작하는 흐름을 간단히 알아보자면 1. DNS, Port 조회 2. 웹브라우저가 HTTP 요청 메시지를 생성 3. Socket 라이브러리를 통해 전달 (TCP 3 way handshake) 4. TCP/IP 패킷 생성 5. 네트워크망을 통해 전달 6. 전달받은 서버에서 TCP/IP 패킷을 제거하여 HTTP 요청 메시지 확인 7. HTTP 응답 메시지를 생성 후 전달 HTTP 요청 메시지 ex) www.google.com/search?q=통개발&hl=ko GET /search?q=통개발&hl=ko HTTP/1.1 Host: www.google.com 이런 방식으로 생성된 메시지를 TCP/IP 패킷으로 감싼다고 생각하면 된다. 2021/01/17 ..
TCP, UDP
2021. 1. 17. 15:57
개발 지식/WEB 기본 지식
TCP TCP/IP 이전 게시물에서 설명했던 IP 프로토콜의 한계점인 - 데이터 유실과 손실에 대한 정보를 알 수 없는 점 - 보낸 순서대로 도착하지 않는 점 2021/01/13 - [WEB 기본 지식] - IP(인터넷 프로토콜) 2가지를 해결할 수 있는 방법 중 하나가 TCP 프로토콜을 사용하는 것이다. (UDP 로도 일부 해결됨) IP 프로토콜의 패킷 구조가 출발지 IP, 목적지 IP, 내용이었다면, 출발지 PORT, 목적지 PORT, 전송 제어, 순서, 검증 정보 등을 담은 TCP 세그먼트를 함께 사용하여 문제점을 보안할 수 있다. TCP 특징 - 연결 지향 (TCP 3 way handshake를 통한 가상 연결) - 데이터 전달 보증 (패킷 누락 정보 확인 가능) - 순서 보장 TCP 3 way ..
IP(인터넷 프로토콜)
2021. 1. 13. 21:07
개발 지식/WEB 기본 지식
IP 프로토콜의 역할 - 지정한 IP 주소에 데이터 전달 - 통신 단위는 패킷 사용 패킷의 구조는 우편을 떠올리면 이해하기 쉬울 것 같다 출발지의 IP, 목적지의 IP, 내용 IP 프로토콜의 한계 (문제점) 비연결성 : 받을 대상의 IP (목적지 IP)가 잘못된 주소 거나 서비스 불능 상태여도 일단 전송된다. (대상 서버가 받을 수 있는 상태인지 미리 확인이 불가함) 비신뢰성 : 중간에 손실되거나 유실되도 알 수 없다. 순서대로 도착한다는 보장이 없다. 즉, 일단 보내고, 보내면 끝! 또한, 같은 IP를 사용하는 서버에 통신하는 애플리케이션이 다수라면 구분하기 어렵다. 이러한 단점들을 해결할 수 있도록 도와주는 프로토콜이 TCP, UDP 이다.