이 글은 김영한님 ‘모든 개발자를 위한 HTTP 웹 기본 지식’ 강의를 듣고 작성합니다.[2. URI와 웹 브라우저 요청 흐름] 강의에 해당된 내용을 정리하며 회고록을 작성합니다. URI? URL? URN? 이 세개를 한 번쯤 들어봤을 것이다.3개의 개념을 확실히 잡고 가자! URI? URL? URN?URI는 로케이터(locator), 이름(name) 또는 이 둘을 다 추가로 분류할 수 있다. URIURI 는 Uniform Resource Identifier 약자로,Uniform : 리소스 식별하는 통일된 방식Resource : 자원, URI로 식별할 수 있는 모든 것(제한없음)Identifier : 다른 항목과 구분하는데 필요한 정보의 뜻을 가지고 있다.다른 항목과 구분하는데 필요한 정보! loca..
이 글은 김영한님 ‘모든 개발자를 위한 HTTP 웹 기본 지식’ 강의를 듣고 작성합니다.[1. 인터넷 네트워크] 강의에 해당된 내용을 정리하며 회고록을 작성합니다. 인터넷에서 두 개의 컴퓨터는 어떻게 통신할까? 컴퓨터1에서 컴퓨터2에게 “Hello, world!”라고 보내면 컴퓨터2는 “OK”라는 대답을 해준다고 가정해보자.여기에서 이 두 컴퓨터 사이에는 “인터넷”이라는 눈에 보이지 않는 통신세계가 있다!인터넷망을 통해서 다른 컴퓨터에게 메시지를 보내야하는데, 수 많은 중간 노드들을 거쳐서 안전하게 목적지 컴퓨터에게 도착하려면 어떻게 해야할까? 여기에서 IP, TCP/UDP에 대해 알아가자!더하여 간략하게 PORT, DNS도 소개한다. IP(Internet Protocol)인터넷 프로토콜(IP)은 인터..
이 글은 김영한님 스프링-입문 강의를 듣고 작성합니다.[3. 회원 관리 예제 - 백엔드 개발] 강의에 해당된 내용을 정리합니다. 테스트 케이스란?구현한 기능이 제대로 작동 되는지 확인하기 위해서 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해 해당 기능을 실행한다. 하지만 이런 방법은 실행하는데 오래 걸리고, 실행되고 데이터를 하나씩 다 입력해야 하고 불편하는 단점이 있다.Java는 JUnit이라는 프레임워크로 테스트를 실행해서 해당 부분 기능이 잘 동작되는지 확인 할 수 있다! MemoryMemberRepository 에서 Member domain 객체를 저장하고 관리하는 기능이 잘 되는지 확인해보자! 테스트 케이스 작성package hello.hellospring.reposi..
이 글은 김영한님 스프링-입문 강의를 듣고 작성합니다.[2. 스프링 웹 개발 기초] 강의에 해당된 내용을 정리합니다.Spring으로 응답을 하는데 3가지 방법이 있다.정적 컨텐츠MVC와 템플릿 엔진API 1. 정적 컨텐츠 파일을 그대로 날려준다.resources/static/hello-static.html 에 작성 정적 컨텐츠 입니다.http://localhost:8080/hello-static.html 실행하면 다음과 같이 나온다. 동작(헥.. 하나씩 다 만드느라 힘들었다..) localhost:8080/hello-static.html 웹브라우저에서 요청을 하면 스프링부트에 내장되어 있는 톰켓 서버가 그걸 받는다.톰켓 서버는 먼저, 스프링 컨테이너에 hello-static 관련 있는 컨트롤러를 ..
🌟 우선순위 큐란?우선순위를 가진 항목들을 저장하는 큐 FIFO 순서가 아니라 우선 순위가 높은 데이터가 먼저 나가게 된다. 우선순위 큐는 2가지로 구분된다.최소 우선순위 큐 : 가장 우선순위가 **낮은** 요소부터 삭제최대 우선순위큐 : 가장 우선순위가 **높은** 요소부터 삭제우선순위 큐 구현 방법배열을 이용한 우선순위 큐연결리스트를 이용한 우선순위 큐힙(heap)을 이용한 우선순위 큐여기에선 힙을 이용한 우선순위 큐를 설명한다.힙을 이용한 우선순위 큐 시간 복잡도는 O(logn)이다. 🌟 힙(heap) 이란?key(부모노드) >= key(자식노드) 또는 key(부모노드) 힙 종류최대 힙 : key(부모노드) >= key(자식노드) 완전 이진트리최소 힙 : key(부모노드) ✔️ Heapqpyt..
🌟 다익스트라 알고리즘이란?하나의 시작 정점에서 다르정점까지의 최단 경로를 계산하는 것이다. 최단 경로 알고리즘이라고도 불린다! ⚒️ Dijkstra의 최단 경로 알고리즘다음과 같은 그림에서 최단경로를 계산하려고 한다. 각 단계에서 S안에 있지 않은 정점 중에서 가장 distance값이 작은 정점을 S에 추가한다.정점 W를 거쳐서 정점 u로 가는 가상적인 더 짧은 경로가 있다고 가정해보자! 그러면 정점 v에서 정점 u까지의 거리는 v->w->u (경로2 + 경로3) 거리가 된다.그러나 경로 2는 경로 1보다 항상 길 수 밖에 없다. 현재 distance 값이 가장 작은 정점은 u이기 때문이다. => 거리1 이 알고리즘을 해결하기 위해선 3가지를 고려해야한다. directionvisitedqueued..