본문 바로가기

일상기록장

(20)
Week 8~9. PintOS 프로젝트 2(User Program) 회고 7.5주차부터 8주차까지 약 1.5주동안 진행된 핀토스 프로젝트2가 끝났다. 이번 주간에는 코로나에 걸리는 바람에 약 5일 정도는 제대로 공부를 하지 못했다. 때문에 격리에서 돌아온 이후에는, 주변 동료들의 도움을 많이 받으면서 구현보다는 개념 이해에 집중해서 최대한 가성비있게(?) 공부하고자 했다. 다행히도 어찌어찌 모든 테스트 케이스를 통과하긴 했지만, 동료들 도움이 없었다면 절대 해내지 못했을 것 같다..! (감사합니다..) ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 제목만으로 우리반 사람들 사이에서 엄청난 공감을 얻었던 블로그들이다. 진짜... 핀토스 쉽지않다. 우리 팀원분은 한가지 테스트케이스에서 약 20% 미만의 확률로 됐다가 안됐다가 해서(심지어 에러메시지도 없어서 원인도 찾기 어려운..) 엄청난 스트레스를 받으셨..
Week 7. PintOS 프로젝트 1(Threads) 회고 대망의 핀토스 주차..! 정글에 들어오기 전부터 커리큘럼에서 가장 큰 특징점이라 생각했고, 또 나만무를 제외하면 가장 기대했던 기간이다. 뭔가 핀토스 하면 전공자들 사이에서도 나름 악명높고 인증받은 프로젝트이기에, 그만큼 이 기간을 잘 지나가면 '넌 개발자 해도 돼'라는 심리적 징표를 얻게되는 것 같았기 때문이다. 실제로 해보니 그냥 교과서를 읽어보는 걸 넘어서 실제 OS의 동작을 설계하고 구현해보는 경험은 정말 특별한 것 같다. 전공자가 아니면 하기 힘든 경험을 하기 위해 들어왔기 때문에 매우 만족스럽다. 11월 23일에 핀토스 프로젝트가 시작되었고, 프로젝트 1을 마무리한 오늘은 정확히 10일차이다. 걱정도 많았고 실제로도 쉽지 않았지만 그래도 아직까지는 어찌어찌 잘 헤쳐온 것 같다. 근데 정말로 정..
Week 6. Proxy Lab 주차 회고 정글에서 네트워크에만 집중할 수 있는 유일한 주차가 지나갔다. 네트워크 지식 기반이 없기도 하고, 네트워크에만 집중할 기회이다 보니까 이번주는 평소보다 이론 공부에 더 욕심을 냈던 것 같다. 그래서 구현 과제를 정말 최소한만 했다는 점은 아쉽다 ㅠ 그래도 어느정도 이론적 기반은 생긴 것 같은데, 숭숭 뚫려있는 빈 구멍들은 훗날 더 채워나가보는 걸로! 이번주부터는 대망의 PintOS 기간이다. 정글에 오기 전, 정글 커리큘럼에서 가장 눈에 띄었던 프로젝트이다. 스탠포드에서 만들고, 카이스트에서도 핵심 과목의 핵심 과제라고 하길래 정말 기대가 컸다. 하지만 당장 눈앞에 닥친 지금은..? '이걸 내가 할 수 있을까...?😂' 라는 불안이 큰 것 같다ㅎㅎ 더군다나 이번주 팀은 그대로 3주간 쭉 유지되는데, 유일..
Week 5. Malloc Lab 주차 회고 5주차 끝! 이번주도 재미있었다. 갈수록 규모가 큰 프로젝트 파일을 다루고 있는데, 마치 복잡한 기계의 어느 한 부품을 고치면 전체가 살아움직이는(?) 그런 미묘한 카타르시스가 느껴진다. 다만 아직 디버거를 사용하는 법에 익숙하지 않아서 시간 나면 한번 익히고 넘어가야 될 것 같다. 돌아오는 주는 Proxy lab 이다. 지금껏 컴퓨터 내부만 뜯어보다가, 컴퓨터 간의 연결로 세계관이 확장되는 순간이다. 네트워크에 대해서는 아직 아는 바가 없어서, 초반 며칠은 개념 공부에 더 집중해야 할 것 같다. 이번주도 기대중! 이번주 배운 것 가상메모리 메모리 관리 기법 (특히 페이징) 메모리 단편화 동적 메모리 할당기의 내부구조 힙, sbrk, malloc, free implicit free list, explic..
Week 4. RB-tree Lab 주차 회고 4주차가 끝이났다. 어느새 정글에 입소한지 한달이 지났다. 벌써 약 20%가 지난 것😨 익숙해졌다고 긴장을 늦추면 안된다는 생각을 하고 있는 요즘이다. 이번주는 경조사도 있고 뭐도 있고.. 그러다보니 마음이 살짝은 붕 떴던 것 같다. 자리를 비우는 시간이 좀 많았다. 그래도 재미있는 팀원들을 만나서, 입소 이후로 가장 많이 웃었던(웃겼던) 일주일이었다. 커리큘럼은 알고리즘이 끝나고 드디어 C언어를 사용하는 구간에 들어왔는데, 생전 사용해본 적 없던 C언어를 가지고 복잡한 자료구조를 구현해보는 것이 이번주 목표였다. 평소에 C언어 하면 막연하게 어려운 언어라는 인상만 갖고 있었는데, 두려움을 느낄 틈도 없이 그냥 익숙해지고 코드 짜기 바빴다. 그러다보니 어느새 조금은 익숙해진듯?? 코치님들이 포인터 사용..
Week 3. 자료구조/알고리즘 주차(3) 회고 오늘 시험을 마지막으로 자료구조/알고리즘 주차가 끝이났다 ! ! 입소식이 엊그제 같은데, 어느새 미니프로젝트와 알고리즘 주차를 지나왔다. 고생했다 나! 아직 한달도 채 되지 않았지만, 들어오기 전과 비교하면 굉장히 많은 지식들을 가져가는 것 같아 기쁘다. 단순히 양만 많은 게 아니라, 코치님들의 가이드 하에 양질의 지식들 위주로 학습하고 있어 의미가 깊다. 뭐랄까 약간이나마 CS 공부가 왜 중요한지를 직접 체감하고 있다. 가장 피부로 와닿는 점은, 어느새 동료들과 시간 복잡도, 공간 복잡도 측면에서 토론을 하는 것이 자연스러워졌고, 각 자료구조의 특성들도 고려하면서 코드를 고민하게 되었다는 점이다. 이게 의식적으로 하는 게 아니라 자연스럽게 이루어지고 있다. 이렇게 성장에만 집중할 수 있는 환경을 만나기..
Week 2. 자료구조/알고리즘 주차(2) 회고 자료구조, 알고리즘 주차의 두번째 주가 끝났다. 이번에는 팀원 한 분의 사정상 사실상 2인팀으로 진행했는데, 3인팀 대비 오히려 긴밀한(?) 회의를 할 수 있어서 좋은 점도 있었다. 👍 이번주 공부한 내용들 CSAPP 1장 트리 (Tree) 기본적인 트리 순회 방법 (전위, 중위, 후위 순회) 이진 검색 트리 (Binary Search Tree, BST) 힙 (Heap) 우선순위 큐 (Priority Queue) 기타 트리 구조 B-트리, B+ 트리 (주로 데이터베이스와 파일 시스템에서 사용) 트라이 (Trie) (문자열 검색에 유용) 세그먼트 트리 (구간 질의 문제에 사용) 그래프 기초 기본적인 그래프 탐색 알고리즘: DFS, BFS 신장 트리, 최소 신장 트리 최소 신장 트리를 찾는 방법 기초: U..
Week 1. 자료구조/알고리즘 주차(1) 회고 자료구조/알고리즘 주차의 첫 일주일이 지났다. 정글은 매주 목요일을 기점으로 주차가 끝난다. (주말이라고 풀어지지 말라는 의미 ㅎ) 이번 주차는 지난주 미니프로젝트가 끝나고 토요일(10/14)에 시작했기 때문에 이틀 정도가 적었다. 그래서인지, 아님 아직 공부 방법이 잡히지 않아서인지 시간이 많이 부족했다... 점점 난이도가 올라갈 것이므로 배운 점 이번 주차엔 정글에 들어오면서 많이 기대했던 부분인 CS 지식 습득에 풀 집중 할 수 있었다. 이번주 공부 키워드는 다음과 같다. 배열, 문자열, 반복문 재귀 함수 복잡도(BigO, 시간, 공간) 정렬 (삽입 정렬, 퀵 소트, 머지 소트, 힙 소트) 완전 탐색, 이분 탐색, 분할 정복 자료구조 (스택, 큐, 우선순위 큐, Linked List, 해시 테이블)..