분류 전체보기27 주소창에 주소를 쳤을 때 일어나는 일 주소창에 www.google.com, www.naver.com 등을 입력하면 어떤 일이 생길까? 이 질문에 대해 처음 들었던 대학교 시절, 나는 별다른 대답을 할 수 없었다. 당연함. 아는 게 없으니까 시간이 지난 지금, 그 시절보다는 아는 게 많아졌지만 여전히 이 질문에 대해 스스로 만족할만한 대답을 할 수 없단 걸 깨닫고 정리하는 시간을 가져보려고 한다. URL 검사 URL 파싱 HSTS(Http Strict Transport Security) 리스트 확인 -> 리스트에 해당 URL이 있다면 HTTPS로 통신한다 나의 IP 찾기 같은 서브넷에 DHCP 서버를 찾는 DHCP Discover 메세지 Broadcast DHCP가 응답 → Client의 IP, 가까운 Router IP, 가까운 DNS 서버 .. 2021. 7. 31. OSI 7계층과 TCP/IP 4계층 OSI 7계층 OSI 7계층이란? Open Systems Interconnecrtoin 의 약자로서, ISO(국제표준화기구)에서 컴퓨터 네트워크 프로토콜 디자인과 통신을 계층으로 나눠 설명한 모델 네트워크 구성 요소를 표준화 → 시스템 간의 상호연결성 부여 7계층 : 응용 계층(Application Layer) 실제로 사용자가 사용하는 UI 및 I/O 작업 응용 프로세스 간의 정보 교환, 전자 메일, 파일 전송 등의 서비스를 제공 데이터 단위 : Message 프로토콜 HTTP SMTP FTP 6계층 : 표현 계층(Presentatoin Layer) 인코딩, 암호화 데이터 단위 : Message 5계층 : 세션 계층(Session Layer) 통신을 관리 duplex, half-duplex, full d.. 2021. 7. 31. [NestJS] Cannot find module '@nestjs/core/router/route-path-factory' 오류 해결 Cannot find module '@nestjs/core/router/route-path-factory' Nest로 만든 프로젝트에 Swagger 모듈을 연동시키고 실행시키면 위와 같은 오류가 날 때가 있다. NestJS와 nestjs/swagger의 버전이 올라가면서 생긴 문제이다. nest의 7.x.x 버전은 nestjs/swagger의 4.x.x 버전과, nest의 8.x.x 버전은 nestjs/swagger의 5.x.x 버전과 호환되므로 이에 맞게 버전을 수정해주어야 한다. 만약 7버전의 Nest를 사용중이라면 package.json에서 아래처럼 @nestjs/swagger의 버전을 내려주고 npm install을 실행시켜주면 된다. 2021. 7. 17. RDBMS와 NoSQL RDB(Relational DataBase) 관계형 데이터베이스, RDB는 관계형 데이터 모델을 기반으로 하는 데이터베이스이다. RDB는 다음의 두 특징을 가진다. 사용자에게 데이터를 관계 로서 표현한다. → 행과 열의 집합으로 구성된 테이블의 묶음 형식으로 데이터를 제공 테이블 형식의 데이터를 조작할 수 있는 관계 연산자를 제공한다. 위에서 말하는 관계란 1:1, 1:N, M:N 관계와 같은 foreign key로 맺어지는 관계를 말한다. 또한 트랜잭션 시, 강력한 ACID를 지원한다. ACID란? - 원자성(Atomicity) : 트랜잭션은 실행되다가 중단되지 않음 - 일관성(Consistency) : 트랜잭션 수행 후에도 도메인 유효범위, 무결성 제약조건 등을 위배하지 않음 - 독립성(Isolati.. 2021. 7. 11. 그래픽 카드 구매 NVIDIA GEFORCE RTX 2070 SUPER 제품 중 준수한 성능과 뛰어난 a/s로 소문난 이엠텍 비레퍼 제품을 구매하였습니다 이걸로 딥러닝 열심히 돌려야지 ㅎㅎ 2020. 1. 22. BOJ백준 3649 로봇프로젝트 풀이(C++) 문제링크 문제는 주어진 블록 중 두개를 골라 주어진 길이의 구멍을 막을 수 있나 알아보는 문제이다.즉, 주어진 값이 있을 때, 그 중에서 주어진 조건을 만족하는 차이가 가장 큰 값이 있는지 탐색하는 문제라고 볼 수 있다. 접근 방법은 다음과 같다. 어떠한 크기의 구멍을 두 블록으로 막는다고 했을 때 두 블록은 '반드시' 하나의 작은 블록과 하나의 큰 블록으로 이루어져 있다.따라서 주어진 블록 값들을 오름차순으로 정렬한 뒤 각각의 끝에서부터 블록을 하나씩 골라 구멍의 값과 비교하고 다음에 따라 원하는 값을 찾을 때까지 반복한다. - 구멍의 크기가 두 블록의 합보다 작은 경우 -> 작은 블록 쪽을 큰 쪽으로 한 칸 옮긴다(인덱스가 i였다면 i+1로 증가시킨다.)- 구멍의 크기보다 두 블록의 합이 큰 경우 -.. 2019. 2. 21. 이전 1 2 3 4 5 다음