분류 전체보기346 Network - HTTP 살펴보기 (1) (Request / Response / Header) updated 03/07/24 HTTP 프로토콜의 속성들을 두 포스팅으로 나눠 정리해보았다 오늘은 그 첫번째 포스팅이다. 공부해보도록 하자 1. HTTP 프로토콜의 구성요소인 요청 / 응답 / 헤더 의 이모저모 살펴보기 이동하는 웹사이트의 주소가 https 일 때만 도메인 주소를 남깁니다. https://devbirdfeet.tistory.com/ 이동하는 웹사이트 주소가 https 일 때 주소를 남깁니다. https://devbirdfeet.tistory.com/214 웹사이트가 같을 때 주소를 남깁니다. 예를 들어: https://devbirdfeet.tistory.com/214 이라는 주소에서 다른 웹사이트로 이동한다면, https://devbirdfeet.tistory.com/ 로 이동할 때만 주.. 2023. 12. 7. 자료구조 - 스레드 트리 스레드 트리 - 정해진 순회 방법에 따라 방문 순서를 유지하는 스레드라는 포인터를 사용 (스레드 포인터를 갖는 이진트리) - 스레드는 오른쪽(노드의 후속 노드) / 왼쪽(노드의 선행 노드) 두가지가 있다 - 스레드 없이 순회를 그냥 하게되면 스택에 저장해서 관리해야하는 번거로움이 발생해서 사용하기 시작되었다 - 전위 순회, 중위 순회 , 후위 순회 2. 스레드 트리 구현 struct TNode { int info; // 데이터 TNode left; // 왼쪽 자식 포인터 TNode right; // 오른쪽 자식 포인터 TNode right_thread; // 왼쪽 스레드 포인터 TNode left_thread; // 오른쪽 스레드 포인터 } - 중위 순회 연산 // 루트를 가리키는 포인터(firstin).. 2023. 12. 5. 자료구조 - 트리란 1. 트리 트리는 논리적 계층을 가진 자료구조이고 트리의 종류는 다음과 같다 binary tree heap binary search tree : AVL tree / BB tree / Splay tree m-way tree trie m-ary search tre : B-tree 2. 용어와 논리적 표현 방법 루트 : 트리에서 부모를 갖지 않은 노드 노드 : 트리를 구성하는 항목 aka 정점(vertex) 서브 트리: 루트 하위의 트리 진입 차수 : 노드로 들어오는 선의 개수 진출 차수 : 노드에서 나가는 선의 개수 내부 노드 : 루트도 잎도 아닌 노드 형제 : 같은 부모를 가진 노드 포화 이진 트리 : 이진 트리에서 각 레벨이 허용하는 최대 개수 노드를 가지는 트리 완전 이진 트리 : 높이가 k 인 이진 .. 2023. 12. 3. 자료구조 - 연결리스트의 응용 1. 연결 리스트의 변형 단순 연결 리스트는 링크가 하나만 있고, 각각의 노드는 후행 노드만을 가리키는 구조이다 특정 노드의 후행 노드는 쉽게 접근할 수 있지만, 선행 노드는 헤드부터 재검색해야 한다. → (선행과 후행) 두개의 링크를 가지는 이중 연결 리스트가 등 - 장 2. 원형 연결 리스트 리스트의 마지막 원소의 링크는 null 이다 마지막 원소의 링크를 첫번째 헤드로 연결시키게 되면 원형 연결 리스트가 된다 한방향으로 모든 노드가 연결되어 노드 간 접근성이 좋다 - 원형 연결 리스트의 생성 // 원형 연결리스트 노드 구조 정의 typedef struct ListNode { char int[10]; // 숫자형 데이터 10개 정도의 공간을 할당받고 struct ListNode* link; // 노드.. 2023. 12. 1. 자료구조 - 연결 리스트란 오늘은 연결리스트에 대해 정리해보았다. 그럼 따라와보자 1. 리스트의 개념 원소들 간의 순서가 지켜지며 유지되는 자료구조 리스트의 순서는 데이터가 저장되는 물리적인 위치와 상관없이 사람들의 머릿속에 인식되는 논리적인 순서, 혹은 원소들 간의 의미적인 순서이다 배열은 순서와 관련된 자료구조이다 배열은 인덱스로 표현되는 순서가 === 메모리(주기억장치, DDR) 내의 물리적인 저장순서를 결정한다 리스트 구현 방법 1. 리스트는 배열을 이용하여 구현한다 2. 리스트는 원소 값을 저장하는 공간 + 다음 원소의 위치 정보를 저장하는 공간으로 구현한다 2. 배열을 이용한 리스트의 구현 👍 리스트의 원소값을 순서대로 배열에 저장 (간 - 단) 👍 메모리의 공간 활용 효율이 높다 ↑ (포인터를 위한 메모리가 필요X) .. 2023. 11. 29. 자료구조 - Array(배열)이란 배열은 언제나 배열이었다 오늘은 자료구조에서 배열을 공부해보면서 좀더 색다른 매력을 느껴버렸다 자료구조 - Array(배열)이란 " 일정한 차례나 간격에 따라 벌여 놓음 " 이라는 뜻을 가지고 있다 차례(순서)에 관한 기본적인 자료 구조이다 인덱스 - 원소값 으로 구성 되어있다 (인덱스는 0번부터 시작하고 순서대로 값이 들어간다) 인덱스 배열의 원소들은 메모리 주소를 가지고 있고, 메모리 주소의 순서는 === 인덱스 순서와 일치한다 배열은 배열[인덱스] = 이런식으로 원소값에 직접 접근이 가능하다 배열과 인덱스로 알고리즘을 작성 ↓ 알고리즘에 따라 프로그램을 완성 ↓ 운영체제는 프로그램을 읽고 추상화된 언어를 해석해서 기계어로 번역해서 실행 (컴파일) ↓ 사용자에게 제공 배열의 추상 자료형 배열의 정의와.. 2023. 11. 26. 자료구조 - Queue(큐)란 지난 시간에는 스택을 오늘은 큐에 관해서 좀 더 집중해서 공부해보자 자료구조 - Queue(큐)란 스택은 입구와 출구가 같았다. 하지만 큐는 입구와 출구가 다르다. 스택을 프링글스에 비유하고 큐는 은행대기순번에 비유하곤 한다. 스택은 한쪽에서 삽입과 삭제를 한꺼번에 진행하는데, 요 부분을 top 이라고 한다 큐는 끝과 끝에서 각각 삽입과 삭제 연산을 진행한다. 삭제되는 부분을 "front" 삽입되는 부분을 "rear" 이라고 한다. 큐의 추상 자료형 객체의 정의(큐생성)과 연산자(삽입/삭제/꽉찬/텅빈)로 구성된다 // 큐 생성 Queue Create_q(maxSize) ::= 큐의 크기가 maxSize인 빈 큐를 생성하고 반환 // 꽉찬 큐 확인 Boolean IsFull_q(queue, maxSize).. 2023. 11. 24. 자료구조 - Stack이란 스택은 솔직하게 면접용으로 암기식 공부를 했었다. 하지만 이번엔 자료구조를 공부하며 정리를 해보았다 스택의 기본개념부터 확장된 연산 표기식까지 흩어졌던 지식들을 모아보았다 자료구조 - Stack이란 스택은 객체가 저장되는 순서를 기억하는 방법에 관한 자료구조이다 가장 마지막에 들어간 놈이 제일 먼저 출력(LIFO) 되는 방식이다 → 한마디로 스택은 객체의 순서를 정해주는 자료구조 ! 스택의 추상 자료형 스택의 정의와 적용 가능 연산을 명세 → 생성부터 종료까지 스택의 매니징에 필요한 여러 기능들을 소개한다 • stack : 0개 이상의 원소를 갖는 스택 (값이 들어 있는) • item : 스택에 삽입되는 원소 • maxQueueSize : 스택의 최대 크기를 정의 // 스택 생성 Stack CreateS.. 2023. 11. 23. JavaScript - Argument 란 (Feat. caller, callee) 함수를 공부하다보면 Argument 이야기가 나온다 Argument 이친구도 알아야겠다 싶어 포스팅를 쓰게 됬는데 caller와 callee 의 개념도 같이 알아야겠다 싶어 소금치듯 같이 뿌려보았다 JavaScript - Argument 란 (Feat. caller, callee) arguments, caller, 그리고 callee는 자바스크립트에서 함수와 관련된 속성이나 개념을 이다. 하지만 caller와 callee는 현재 사용되지 않거나 사용이 권장되지 않는다고 한다. (ES5부터는 caller와 callee의 사용이 제한, strict 모드에서는 arguments.callee가 금지) Argument arguments 는 유사 배열 객체이다 함수를 사용할 떄 매개변수로 여러개를 받는 상황이라면 .. 2023. 11. 19. 이전 1 2 3 4 5 6 7 ··· 39 다음 반응형