각종 학습 요약
-
Concept: REST API의 기본 개념 이해와 활용각종 학습 요약/Web 2022. 6. 8. 11:42
REST API의 기본 개념 이해하기 REST(Represented State Transfer) API란? REST란 HTTP(웹)의 장점을 최대한으로 활용할 수 있도록 제시된 아키텍처입니다. 기본적으로 제공되는 HTTP 메서드들을 규칙에 알맞게, 바람직하게 사용하는 것이죠. 다른 말로 하면, 자원을 URI로, 행동을 메서드로 잘 표현하여 요청과 응답을 정의하는 방식입니다. 무엇을 하고 있는지, 어떤 것에 대한 대화인지를 HTTP 요청/응답 메시지를 보고 파악할 수 있도록 하는 것이죠! REST API의 제한 조건 6가지의 제한 조건이 존재합니다. 설명에 앞서서 무엇들이 있는지 요약해보는 것이니 이해되지 않아도 괜찮습니다. 가볍게 훑어보시고 설명을 담고 있는 아래 문단으로 넘어가시죠! 인터페이스 일관성 ..
-
DNS의 작동 원리를 설명하는 9분 짜리 영상각종 학습 요약/Web 2022. 6. 7. 23:50
DNS - Domain name system에 대한 간략한 작동 원리 영상입니다. 오늘 커리큘럼에서 DNS에 대해 설명이 짧게 지나갔던 것 같아요. 추가로 알아두면 좋은 내용으로... 그래서 올해 초에 혼자 개발 공부를 시작하면서 DNS에 대해서 짧게 정리했던 내용이 있어서 공유하고자 가져와봤습니다. 물론 이 영상도 짧고 부족하지만, 그래도 요 정도(아주 요약된 버전..의 설명)는 알고 있어도 좋을 것 같아요. 최대한 틀린 내용이 없게끔 노력했지만, 당연히 틀린 내용이 있을 수 있어요. 피드백은 어떤 것이든 환영합니다 :) 다들 화이팅입니다 :D
-
Concept: 시간복잡도의 기본적인 이해각종 학습 요약/Concept 2022. 5. 31. 11:21
시간복잡도Time Complexity의 기본적인 이해 이 글에서는 시간복잡도의 대표적인 유형과 기본적인 원리에 대해 이해해봅니다. 시간복잡도가 왜 낮아야 좋은 건지, 내가 짠 코드가 어떤 시간복잡도에 해당하는지는 알고 있도록 돕는 글입니다. 이 글을 읽어도 시간복잡도를 증명하거나 하는 일은 할 수 없습니다. 그 정도의 개념을 설명하고 있어요. 시간복잡도란? 시간복잡도는 매-------------------우!!!!!! 큰 수의 데이터 표본을 다룰 때에 좀 더 효과적으로 처리하고자 고안된 개념이에요. 시간복잡도 표기와 읽기 O(1), O(n)과 같은 식으로, 대문자 O 옆에 괄호를 쓰고, 그 안에 복잡도를 기록하는 식으로 표기합니다. 이 표기법을 빅오 표기법이라고 해요. 각각 오원, 오엔의 시간복잡도를 갖..
-
자료구조: 그래프Graph의 기본적인 활용각종 학습 요약/DataStructure 2022. 5. 30. 23:40
그래프 graph (3) - 기본적인 활용 그래프의 기본 개념을 설명한 이전 포스팅(개념1, 개념2)에 이은 글입니다. 소개했던 그래프 탐색 방법 두 가지를 실제로 활용하는 법─DFS와 BFS를 java 코드로 구현하는 법에 대해 알아보겠습니다. 깊이 우선 탐색DFS과 넓이 우선 탐색BFS의 주요 구현 방식 DFS는 주로 Stack(자료구조)이나 재귀를 통해 구현됩니다. BFS는 주로 Queue(자료구조)를 이용해 구현됩니다. DFS는 왜 재귀 || Stack으로 구현? DFS에 대해 공부를 하고 오셨거나 개념에 대한 이전 두 포스팅을 보고 오셨다면 아시겠지만 다시 한 번 정리해서 말해보겠습니다. 깊이 우선 탐색은 끝 조건에 도달할 때까지 계속 반복해서 들어간 후, 끝 조건을 만나면 리턴을 시작해서, 호..
-
자료구조: 그래프Graph의 기본적인 이해 (2)각종 학습 요약/DataStructure 2022. 5. 28. 22:07
그래프 graph (2) - 기본 개념 이해 그래프의 기본 개념을 설명한 이전 포스팅에 이어서 그래프 정보를 기록하는 두 가지 방법을 소개하고, 탐색 방법 두 가지를 소개합니다. 그래프를 코드로 기록하는 방법 그래프를 기록하는 데에는 인접행렬Adjacency Matrix이라는 방법과 인접리스트Adjacency List라는 두 가지 방식이 존재해요. 인접행렬 방식은 행렬 형태로 이차원 배열을 만들어주고 서로 연결되었는지를 기록하고요. 인접리스트 방식은 정점과 연결된 정점의 정보를 링크드리스트로 연결합니다. 두 가지 방식을 예시로 설명하기 위한 구조를 정의해야 할 것 같은데요. 아래와 같은 그래프가 존재한다고 해볼게요. 그래프의 예시를 하나 그려봤어요. 이 그림을 가지고 설명해보겠습니다. 인접 행렬 Adja..
-
자료구조: 그래프Graph의 기본적인 이해 (1)각종 학습 요약/DataStructure 2022. 5. 28. 21:17
그래프 graph (1) - 기본 개념 이해 그래프를 설명하는 글의 카테고리를 Concept로 할지 Data Structure로 할지 고민하다가 후자로 하기로 했습니다! 우리가 프로그래밍을 하다보면 어떤 이유에서든 '탐색'이라는 걸 필요로 할 때가 있죠? '탐색'이란 누구에게나 일상적이고 익숙한 개념이지만, 컴퓨터는 우리와 달리 알려준 것만 알 수 있으니까, 좀 더 구체적이고 명시적으로 알려줄 필요가 있을 거에요. 그래서 컴퓨테이셔널하게 좀 더 풀어서 설명해보자면, 탐색이라는 건 관계를 가지는 어떤 node들을, 정해진 방문 방법을 가지고 순차적으로 방문하며 처리하는걸 말해요. 그리고 이렇게 탐색을 할 수 있도록 정의된 대상을 그래프graph라고 합니다. 이렇게 말하니 좀 낯..
-
자료구조 - Tree와 순회, 코드로 알아보기각종 학습 요약/DataStructure 2022. 5. 28. 20:35
자료구조 - Tree와 순회 구현 지난 포스트에서는 binary tree에 대한 기본 개념을 익혀보았습니다. 이번 포스트에서는 Java를 이용해서 지난번 설명한 개념을 토대로 구현해보도록 하겠습니다. Tree - 구현된 코드 살펴보기 👇Node를 구현한 Class와 설명 하나의 node는 자기 자신(의 데이터), 그리고 child node-left & right의 정보를 가지고 있습니다. 자식이 부모를 기억하거나, 자식과 부모가 서로를 참조하고 있거나 할 수도 있는데 일단 여기서는 parent node가 child node를 갖고 있는 걸로 간단하게 구현해보았어요. class Node { T data; Node left; Node right; } 👇Tree를 구현한 코드와 설명 Tree는 Node들을 갖..
-
자료구조: 트리Tree의 기본 개념각종 학습 요약/DataStructure 2022. 5. 28. 19:57
자료구조: 트리Tree의 기본 개념 Graph Concept를 이해하기 위한 아주 기본적인 tree 개념에 대해 알아봅니다. 트리가 어떤 개념인지, 트리의 특성, 트리의 종류, 그리고 탐색방식에 대해서요. 이진트리 child node가 최대 2개 붙는 경우 이진트리binary tree입니다. 세 개, 혹은 그 이상도 존재하는 트리도 있긴 해요. 이진탐색트리 Binary search tree root node보다 값이 작은 child node는 왼쪽에, 값이 큰 child node는 오른쪽에 배치해서 탐색을 용이하게 한 트리 구조입니다. 줄여서 BST라고들 말해요. 밸런스 - balanced / unbalanced 왼쪽/오른쪽 child node의 개수가 균형을 이루지 않아 트리로 판단하기 어려운 정도가 ..