Week 05 ~ 07 : 전산학 프로젝트 17

[Malloc Lab] 2. Implicit, Next fit을 이용한 malloc 구현

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 // Implicit과 공통되는 선언부 생략 static char *lastplacedP; static size_t lastplacedsize; int mm_init(void) // Implicit과 동일 static char *extend_heap(size_t words) // Implicit과 동일 static char ..

[Malloc Lab] 1. Implicit, first fit을 이용한 malloc 구현

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 12..

[Red Black Tree] 3. C로 RB Tree 구현

1. 리눅스 C 개발 환경 구성 / RB Tree 이해 2. 파이썬으로 RB Tree 구현 3. C언어 기초 문법 공부 4. 파이썬으로 작성된 RB Tree를 C 코드로 번역 5. C에서 추가적으로 구현해야 할 부분(포인터 사용, 메모리 할당 및 삭제 등) 공부 후 구현 6. testcase 검사 후 에러 부분 보수 C 문법 공부 -> 무지성 통번역 후 실행 -> 에러 고치기 -> 완성 일단 선언, if, while 등의 기초 문법, 함수, 포인터 같은 C의 문법을 공부했다. 그냥 파이썬 코드를 보면서 이건 어떻게 써야할까 싶을때마다 새로 검색하며 공부한 거라 구멍이 많다. 코드를 보면서 안건데 이 긴 코드에 for문이 하나도 없어서 for문은 아직 써본적이 없다 ㅋㅋ 필요해지면 배우면 되겠지... 1 ..

[Red Black Tree] 2. 파이썬으로 RB Tree 구현

1. 리눅스 C 개발 환경 구성 / RB Tree 이해 2. 파이썬으로 RB Tree 구현 3. C언어 기초 문법 공부 4. 파이썬으로 작성된 RB Tree를 C 코드로 번역 5. C에서 추가적으로 구현해야 할 부분(포인터 사용, 메모리 할당 및 삭제 등) 공부 후 구현 6. testcase 검사 후 에러 부분 보수 정글 week05의 docs에 와닿는 글이 있었다. 좋은 성능만큼 개발 및 유지 보수에 비용이 들기 때문에 대부분의 첫 개발은 성능을 포기하고 고급언어로 대충 개발합니다. 그러나, 서비스가 커짐에 따라 대체로 다음과 같은 최적화 과정을 거칩니다. 일단 기계 대수를 늘려서 현재 서비스 수요를 감당 성능에 영향을 주는 주요 부분들, 즉 매우 많이 실행되거나 고성능이 요구되는 부분을 분리 해당 부..

[Red Black Tree] 1. 리눅스 C 개발 환경 구성 / RB Tree 이해

1. 리눅스 C 개발 환경 구성 / RB Tree 이해 2. 파이썬으로 RB Tree 구현 3. C언어 기초 문법 공부 4. 파이썬으로 작성된 RB Tree를 C 코드로 번역 5. C에서 추가적으로 구현해야 할 부분(포인터 사용, 메모리 할당 및 삭제 등) 공부 후 구현 6. testcase 검사 후 에러 부분 보수 Ubuntu 20.04 LTS (x86_64) 환경을 구성하기 위해서 WSL2 가상머신을 이용했다. WSL2를 쓰면 패키지 빌드 중 몇가지 에러가 뜨지만 구글링하면 다 나와서 쉽게 해결 가능하다. AWS EC2를 이용해도 되지만 로컬에서 하는게 취향에 맞는다. github도 팀원과 공유가 필요할 때만 쓰고 코드들은 전부 하드에 정리해두고 있다. 필요한건 전부 손 닿는 위치에 두고싶은 느낌 R..