공부

공부/CS

[네트워크] 서브네팅 이해하기 (2) 서브넷, 서브네팅, CIDR

잘못된 내용이 있다면 덧글로 알려주시면 감사하겠습니다! 아래 글과 이어지는 내용입니다. [네트워크] 서브네팅 이해하기 (1) IPv4와 클래스, 주소의 고갈 이전 글의 결론으로, 효율적인 IPv4 주소 할당을 위하여 서브넷 마스크를 클래스가 지정해주는 대신, 필요에 따라 원하는 값의 서브넷 마스크를 적용할 수 있도록 바뀌었다는 것을 알았다. 이를 다시 정리하자면, 클래스 주소 지정 방식 대신, 클래스 없는 주소 지정 방식에 CIDR를 사용한 서브네팅을 도입하게 된 것이다. CIDR은 뭐고 서브네팅은 뭔데..? 좀 더 정확히 알아보도록 하자. 서브네팅 : 클래스 단위보다 더 효율적으로 나누기 서브넷(Subnet) 서브넷은 하나의 네트워크를 분할하여 나눈, 부분 네트워크를 일컫는 말이다. 하나의 네트워크가 ..

공부/CS

[네트워크] 서브네팅 이해하기 (1) IPv4와 클래스, 주소의 고갈

잘못된 내용이 있다면 덧글로 알려주시면 감사하겠습니다! 간단한 것 같은데 자꾸만 헷갈려서, 스스로 한 번 정리해볼 필요성을 느꼈다. 이 글에서는 IP 주소 체계에 대한 이해와 함께 서브넷, 서브넷팅이 무엇인지 정리해보려고 한다. 먼저 전체를 이해하기 위한 전제를 먼저 설명한 뒤 클래스의 분배 방식과 이에 대한 한계, 서브넷과 서브넷팅에 대해 설명할 것이다. 전제 1. IP 주소는 한정적 자원 인터넷에 연결되는 모든 컴퓨터는 고유한 번호인 IP 주소를 가진다. 현재 네트워크에서 일반적으로 사용되는 IP 주소 체계는 IPv4이다. IPv4의 주소는 32bit 길이를 가지고, 이를 8bit씩 4개의 구간(옥텟)으로 나타낸다. 따라서 각 자릿수는 0부터 2^8의 범위로 표현할 수 있다. 그렇다면 사용 할 수 있..

공부/Web

[웹] SOP, CORS 정의와 대응 방법

[10분 테코톡] 🌳 나봄의 CORS의 내용을 정리하고, 추가 학습 내용을 덧붙여 작성했습니다! SOP (Same Origin Policy) 다른 출처의 리소스를 사용하는 것을 제한하는 보안 정책 Origin(출처)란? url의 protocol, host, port를 통해 같은 출처인지, 다른 출처인지 판단한다. 세 가지가 모두 같아야지만 같은 출처라고 판단한다. 하지만 브라우저마다 다르다. IE는 port를 판단 기준에 넣지 않는다. port가 달라도 동일 출처라고 보는 것이다. 또, 브라우저에서는 String value로 값을 비교하기 때문에 http://localhost:80과 http://127.0.0.1은 같지만 다른 출처라고 판단한다. 왜 보안을 위해 이런 방식을 사용해야 할까? 다른 출처의 ..

공부/Spring

Spring Boot의 로깅, 로깅을 왜 할까?

레벨2 미션에서 예외 처리를 할 때, 예측하지 못한 서버 오류가 발생할 경우에는 로그를 남겨주는 방식으로 처리하고 있었다. 하지만 '로그를 남긴다'는 게 어떤 행위인지, 또 어떤 도구를 사용해 할 수 있는지 잘 알지 못하고 있다는 것을 깨달았다. 그래서 이번 기회에 간단히라도 정리해보려고 한다. Log와 Logging 로그(log)는 컴퓨터의 처리 내용이나, 이용 상황을 시간의 흐름에 따라 기록한 것을 말한다. 어플리케이션에서의 로그는 실행 중 발생하는 다양한 이벤트에 대한 기록이라고 할 수 있다. Logging은 위와 같이 로그를 남기는 행위를 말한다. System.out.println()과 Logger의 차이 System.out.println()은 성능이 떨어진다. System.out.println(..

공부/CS

[네트워크] Unicast, Broadcast, Multicast - 네트워크 전송 방식

Unicast, Broadcast, Multicast 이 세 가지는 네트워크에서 송신 호스트가 데이터를 전송하는 서로 다른 방식이다. 그렇다면 어떻게 이렇게 다른 방식으로 데이터를 전송하는 것일까? Unicast 고유 주소로 식별된 하나의 네트워크 목적지에 1:1로 트래픽 또는 메시지를 전송하는 방식. 목적지의 MAC 주소를 프레임에 포함시켜 보내는 방식을 사용한다. 특정 PC가 유니캐스트 프레임을 보내면, 로컬 네트워크 상의 모든 PC들은 일단 이 프레임을 받아들여 LAN 카드에서 자신의 MAC 주소와 비교한다. 일치하지 않으면 이를 버린다. ⇒ CPU까지 접근할 필요가 없다. 만약 목적지의 MAC 주소를 모르는 프레임이 스위치를 통해 들어왔다면, 해당 패킷은 스위치에 연결되어있는 모든 포트로 브로드캐..

공부/CS

[네트워크] 소켓의 실체?

소켓 L5와 L4 계층 사이에서 통신하는 인터페이스를 소켓(Socket)이라 부르는데, 이것이 무엇일까? STORY 01의 내용을 정리해보았다. OS에 내장된 프로토콜 스택이 송신하는 과정 소켓을 작성한다 서버에 접속한다 데이터를 송/수신한다 서버에서 연결을 끊어 소켓을 말소한다 IP와 이더넷의 패킷 송/수신 동작 Socket 라이브러리 네트워크 애플리케이션의 아랫부분에 있다. 리졸버는 DNS 서버에 조회하는 동작을 실행한다. 프로토콜 스택 OS에 내장된 네트워크 제어용 소프트웨어. 프로토콜 스택과 LAN 어댑터가 브라우저에서 받은 메시지를 서버에 송출하는 동작을 한다. 소켓의 실체는 통신 제어용 제어 정보 먼저, 소켓은 개념적인 것이어서 실체가 없다. 프로토콜 스택은 내부에 제어 정보를 기록하는 메모리..

공부/Web

[웹] HTTP 기초 용어 정리

HTTP 프로토콜 기초 개념, 용어를 전체적으로 정리해보았다. HTTP 기초 개념 HTTP는 HTML 문서를 전송받기 위해 만들어진 응용 프로그램 계층(L7)의 통신 프로토콜이다. (이미지 출처: https://developer.mozilla.org/ko/docs/Web/HTTP/Overview) 기본적으로 클라이언트의 요청에 대응하는 응답형식으로 작동한다. ASCII로 인코딩된 텍스트 정보이다. TCP, IP 프로토콜에서는 단위 데이터가 16진수로 이루어졌던 것과 달리 HTTP는 사람이 읽고 쉽게 이해할 수 있다. HTTP 프로토콜 초기 버전과 HTTP/1.1에서는 클라이언트와 서버 사이의 연결을 통해 공개적으로 전달되었지만, HTTP/2에서는 최적화와 성능 향상을 위해 HTTP 프레임 별로 캡슐화하여..

공부/Spring

[문제 해결] @AutoConfigureTestDatabase 설정으로 @JdbcTest에서 원하는 DB 사용하기

전제 장바구니 미션에서, H2 데이터베이스를 사용하고 있는데 리뷰어님이 알려주신 unsigned를 테이블의 id값에 붙여주기로 했다. (DDL에서 정수 타입에 unsigned를 붙이면, 음수 값을 허용하지 않고 양수값의 범위를 더 넓혀준다) 하지만 H2 SQL은 unsigned를 지원하지 않아서, MySQL 문법으로 동작하도록 applicaition.properties 파일에서 아래와 같이 H2의 Mode를 설정했다. spring.datasource.url=jdbc:h2:mem:shopping-cart-test;MODE=MYSQL 문제 상황 그런데 이를 설정한 뒤 테스트를 돌리니, @JdbcTest에서 예외가 발생했다. 잘못된 문법이어서 SQL문을 실행하지 못했고, 그로 인해 dataSource의 초기화..

d02
'공부' 카테고리의 글 목록 (3 Page)