카이스트 정글17 Proxy Lab 그리고 ECF 평소에 개발을 하다보면 마주치는 다양한 이슈들이 있다. 특히 내 관심사인 데브옵스와 관련해서 더욱 그렇다. 주로 네트워크, 운영체제, 시스템 최적화와 같은 초기 시스템 디자인시 고민해야하는 것들이다. 나는 초기 설계에 꽤 시간을 들여 고민하는 편이다. 이전에 겪어보지 못한 이슈를 만날 때 마다 야크셰이빙을 통해 새로운 지식을 습득하는 편인데, 설계 단계에서 발생하는 이슈들은 거의 대부분 CS 지식을 필요로 했고 이는 오히려 내 지식의 빈 자리를 채워주곤 했다. 정글 6주차 과제인 Proxy Lab 도 그러했다. 프록시는 데브옵스라면 뗄래야 뗼수없는 관계다. 현업에서 항상 봐왔지만 이를 상세히 다뤄보진 못했는데 마침 이번 기회에 정글에서 다뤄볼 수 있게 되었다. 더욱이 모든 것을 c언어로 구현해야 했기에 .. 2024. 9. 25. 야크셰이빙 중독 야크셰이빙(Yak shaving)이라는 용어를 그대로 해석하면 "야크 털 깎기" 지만, 아래와 같은 의미로 쓰인다.본래의 목적을 이루는데에 필수적이지 않은 부수적인 작업들을 하다 결국 전혀 다른 일을 하고 있는 모습 예시를 들면 다음과 같다.봄이 왔으니 세차를 해야겠네이런, 호스가 망가졌네. 홈 디포우에서 새 호스를 사야겠어하지만 홈 디포우는 Tappan Zee 다리를 건너편에 있어. 톨게이트를 지나기 위해 EzPass가 필요하네옆 집에 사는 Bob에게 EzPass를 빌려야겠어그런데 아들이 Bob한테서 보이스카웃에 가려고 베개를 빌려갔었는데...Bob에게 빌려간 베개를 돌려주기 전까지는 EzPass를 빌려주지 않을 거야베개의 야크 털이 많이 빠져서 지금 당장 돌려줄 수 없겠어베개에 넣을 야크 털을 구해서.. 2024. 9. 21. Malloc Lab 그리고 CS:APP 4주차의 Red-Black Tree 구현에서 Insert 연산에서 새로운 Node를 할당하는데 stdlib.h 헤더의 malloc 함수를 사용했었다. 5주차에서는 이 malloc를 약식으로 직접 구현해보는 것이 목표이다. 마찬가지로, 기본 코드 구조를 제공받는데, 이는 카네기 멜론 대학교(CMU)의 dynamic storage allocator를 C언어로 작성하는 실습 과제를 그대로 수행하는 것이다. 이는 아래의 CS:APP(Computer Systems: A Programmer's Perspective) 책에 포함된 Labs 중 하나이며, Malloc Lab이라 불린다. (참고로 책의 저자도 카네기 멜론 대학의 교수이다.) 좀 늦었지만, 내가 이 책을 정글에서 처음 펼쳐본건 5주차 malloc lab .. 2024. 9. 13. 레드-블랙 트리 그리고 C언어 정글 커리큘럼의 4주차 부터는 "탐험 준비" 라는 커리큘럼인데, 아마도 pintos를 향한 첫 걸음이 아닐까 생각한다. 4주자는 RB Tree 를 C언어로 구현하는 것이다. 물론, 밑바닥부터 구현하는 것은 아니고 기본적인 코드는 제공된다. 예를 들어, 코드 구현에 필요한 타입 같은 것들이 이미 선언되어 있으며, 함수 원형도 헤더파일에 이미 작성되어 있다. 이러한 empty body의 함수들에 코드를 채워넣는 것이다. 그리고, 작성한 코드를 테스트할 수 있는 테스트 코드 또한 포함되어 있다. 이것을 사용해서 테스트를 하는 방식이다. 다행히, 나는 C언어에 대한 경험이 있었기 때문에 언어의 장벽에 막히지는 않았다. 한창 C언어를 공부할 당시, 포인터에 대한 내용만 담겨 있는 책을 따로 공부를 했기도 하고, .. 2024. 9. 12. 정글 나인 헬퍼 제작 후기 "카이스트 9기 정글러들을 위한 문지캠퍼스 식단 봇"매일 3회, 특정 시간에 슬랙 채널에 아침, 점심, 저녁 식단을 자동으로 전송한다. 정신없는 red-black tree 주차에 어떻게든 시간을 내서, 간단한 슬랙 봇을 만들어 보았다.여기서 "간단한"의 의미는 손쉽게 만들었다는 의미가 아니다.흔히 오픈소스를 둘러보면 발견할 수 있는 Simple... 로 시작하는 작은 프로젝트, 여기서 쓰인 Simple 을 의미한다.정말 최소한의 필요한 기능, 최초에 필요로 했던 기능만을 남기고 불필요한 것들을 모두 제거한 미니멀한 봇이다. 그럼에도 불구하고, 제작 및 배포 까지 총 5시간은 걸린 것 같다. 기존에 비슷한 봇을 만들었던 경험이 있었기 때문에, 대략 아이디어 및 웹 스크래핑 방법을 구상하고 서버에서 어떻게 .. 2024. 9. 6. 컴퓨팅 사고로의 전환 카이스트 정글에 입소한 지 어느덧 한 달이라는 시간이 흘렀다. 3주간의 "컴퓨팅 사고로의 전환" 과정이 이제 막 끝이 났다. 후기를 짧게 요약하자면, "컴퓨팅 사고로의 전환? 뭐 당연히.... 응?" 아무리 짧은 정글 5개월 커리큘럼이라지만.. 역시 카이스트는 카이스트구나. 나의 선택은 옳았다. 들어오길 정말 잘했다고 생각한다. 나는 평소, 나 스스로의 사고방식에 대한 확신이 없었다.항상 직감적으로 판단했던 것들.. 그런 것 같아 보이지만 명쾌하게 그것을 증명할 수 없었던, 어딘가 2% 부족한, 회색지대에 남아있던 것들이 이곳 정글에서 뭔가 점점 선명해지고 있는 것 같다. 나 스스로 확신을 내릴 수 있게 된 것이다! 물론 아직 멀었다. 이제 고작 4주차다. 새삼 정글의 커리큘럼이 더욱 맘에든다. 나는 이.. 2024. 8. 31. 이전 1 2 3 다음