분류 전체보기
-
day ~ 50SW Jungle/daily 2024. 5. 1. 10:50
다시 오랜만에 글을 작성한다.그동안은 어땠는가 늦게 자고 늦게 일어나서 운동을 안하며 지냈다. 젠장 🥲그래도 공부는 열심히 했다. 말록랩, 프록시 등을 지나며 핀토스를 하고있다. 모르는 것 투성이에 공부할수록 배워야 할 것들은 늘고 지금 눈 앞에 있는 지식도 제대로 얻었는지 긴가 민가 하다. 그래서 그런가 동료들의 고민들도 많이 들린다.나도 예전엔 고민을 많이 한 것 같은데 요즘 너무 고민을 안하고 낙천적으로만 지냈나 싶기도 하다. 내가 여기서 얻어가고싶은 것은 뭐였고 수료한 직후 무엇을 하고 싶었는지 다시 되돌아봐야겠다. 답을 내지 못해도 열심히 고민했다면 충분하다고 생각한다. 어차피 답은 없다. 답이아니여도 반복문을 돌다보면 도달한다고 생각한다. 고민해도 결국 오늘 내가할일은 똑같다.아침에 일어나 ..
-
Pintos 디버그 세팅하기Archive/Tips 2024. 4. 26. 14:58
pintos kaist 프로젝트를 시작하게 되었다. 디버깅에 관한 팁을 적고자한다.pintos kaist 공식 문서에서 제공하는 디버깅 방법중 하나인 gdb 사용 법을 우선 적어보고자 한다.편하게 디버깅 툴을 쓰던 것과 달리 꽤나 원시적이라고 느껴서 이를 원시인 방법이라고 적겠다 🙉🙉원시인 디버깅1. gdb 가 설치되어있는가?우선 실행 환경에 gdb를 설치할것커널에gdb를 쳐서 설치되었는지 확인해보고 없다면sudo apt install gdb로 설치 2. pintos 실행핀토스를 실행할때 여러 옵션을 주고 실행할 수 있는 것을 아는가? pintos.c 를 까보아도 되고 pintos -h 를 실행해도 된다.--gdb 옵션을 pintos 명령어 다음에 인자로 주면 디버깅 을 할수있다.추가 tip`--` ..
-
malloc lab binary 케이스 메모리 이용률 개선하기SW Jungle/TIL 2024. 4. 18. 17:16
#MallocLab 96점 받는법segregated free list를 적용하고, realloc을 개선한 버전을 돌려보았다../mdrver -V 를 돌려보자위와 같은 결과를 받았다 다 좋은데 7, 8번 케이스만 메모리 활용도가 반토막 나있다!해당 케이스는 traces 폴더의 binary.rep 과 binary2.rep 이다. 직접 파일을 까보자.까보면102410012000240001a 0 16a 1 112a 2 16a 3 112a 4 16a 5 112a 6 16a 7 112a 8 16a 9 112a 10 16a 11 112a 12 16a 13 112a 14 16a 15 112a 16 16a 17 112a 18 16a 19 112a 20 16a 21..
-
VSCode 디버그 세팅Archive/Tips 2024. 4. 12. 19:47
디버그할 프로젝트 디렉토리와 동등한 위치에 .vscode 디렉토리를 만들고 launch.json 파일을 만든다. { "version": "0.2.0", "configurations": [ { "name": "디버그 파일 이름", "type": "cppdbg", // 사용할 디버거 "request": "launch", "program": "${workspaceFolder}{테스트할 파일 경로}", "args": [], "stopAtEntry": false, "cwd": "${fileDirname}", "environment": [], "externalConsole": false, "..
-
변수에 대한 이해SW Jungle/TIL 2024. 4. 12. 10:48
변수메모리 연결자 변수는 메모리 칸에 연결해주는 연결자라고 생각할 수 있다. 프로그래밍 언어에서 변수를 선언할 때, 실제로 하는 일은 메모리 '칸'을 예약하는 것이다.이 칸은 변수의 데이터 타입에 의해 결정되고, 시스템에게 얼마만큼의 메모리 칸을 할당해야하는지 알려준다.exint a; : 4 바이트 즉, 4칸 만큼의 메모리 칸을 쓸거고 그 주소를 a가 알고 있고 a가 찾아갈것이다.이는 사실int *a = get_memory(size of int) // 사용할 데이터 타입만큼의 주소를 할당해주고 주소를 저장한다.*a; // 해당 주소를 찾아가 해당 칸에 값을 저장한다.를 줄여 놓은 것이다.사실 변수는 진짜 값이 저장되는 곳(메모리)의 시작 위치와 그..
-
day ~ 24SW Jungle/daily 2024. 4. 5. 09:58
컴퓨터 사고로의 전환(알고리즘) 주차가 끝나고 C언어에 들어가며 매일 쓰겠다는 다짐과 달리 오랜만에 글을 작성한다. 역시, 무언갈 꾸준히 하려면 일정한 루틴에 넣고 해야지 하겠다고 마음만 먹어두면 역시 오래가기 힘들다. 강의실에 도착하면 10분정도 글을 쓰는 습관을 가져야겠다. 나는 잘지냈는가? 흠... 매일 아침 7시에 일어나서 8~ 8:30 까지 헬스와 유산소를 했다. 지난날의 나 대단해 👍 하지만, 여기의 생활에 익숙해진난 점점 일어나는 시간이 늦어지는 거 같다. 30분 더자거나 한시간 더 자거나... 아침 운동을 시작한 초심을 떠올렸다. 매일 일정한 나의 루틴을 갖는것, 작은 성취로 하루를 잘 보내기 위해, 그날 공부를 더 잘하기 위해, 멋진몸을 갖기위해. 그냥 운동을 하는 것이 중요한게 아니다...
-
day ~ 16SW Jungle/daily 2024. 3. 28. 20:44
알고리즘 2주차가 끝났다. DFS, BFS, 이분탐색 등등 여러분야의 알고리즘 기본기를 배웠던 주이다. 스스로 고민해서 방법을 아는 것에서 배운 것도 있겠지만 기본적인 기술을 일단 빨리 배우고 활용하는 연습에 집중하는 것도 중요하다고 느꼇다. 앞서가는 팀원과 스스로의 생각을 코드 한줄로도 못옮기는 나를 보면서 자괴감도 들었고 조바심도 많이 들었다. 실력이 너무 없어서 다음에 같은 팀하기 싫으면 어쩌지? 라는 생각도 했다. 빨리 팀원을 뒤쫒아 가고 싶었고 발목 잡기 싫어서 강의실 옆에서 쪽잠자면서 밤세워서 알고리즘 공부를 하루 했다. 졸리면 30분 알람 맞추고 자고 일어나서 다시 문제풀고 공부하고... 생각보다 15분 단위로 자고 일어나는게 상쾌하고 좋은 방법이었다. 어쨌든, 이 하루의 노력으로 다음날 문..
-
week01SW Jungle/TIL 2024. 3. 24. 15:36
알고리즘 주차 시작 기초적인 입 출력, 반복문 문제를 풀고 크게 재귀, 정렬, 완전탐색, 분할 정복, 이분 탐색의 문제들을 풀었다. 배운 지식을 이야기 하기 전에 한주동안 배운 방법론은 해야할 과제가 많고 시간이 부족하다면, 해결하는데 사용되는 기반 지식 혹은 이미 해결한 사례를 빨리 익히고 넘어가고 나중에 활용하는 것이다. 예를 들어 하 문제들은 공부를 하고 푸는데도 오래걸린다면 그냥 답을 보고 내것이 될때 까지 빨리 익히고 난이도가 높은 문제에서 어떻게 활용할지 고민하는데 시간을 쓰자 컴퓨터 사고로의 전환 우리의 과제는 알고리즘 문제를 쭉 푸는 것이지만 이번 주차의 이름은 '컴퓨터 사고로의 전환' 이다. 왜 이런 이름이 붙었는지는 문제를 풀면서 깨닫게 되었다. 어떤 문제를 풀때 우리 사람은 간단하게 ..