본문 바로가기
728x90
반응형

개발자 도전기/[SW사관학교 정글] 개발일지25

정글에서 살아남기 | WEEK12 | 오랜만에 느끼는 설렘! 더 성장하자구우 싱숭생숭한 일주일. 이번 주에 정글의 마지막 프로젝트인 '나만의 무기' 프로젝트 팀이 확정되었다. 그리고 나는 팀의 리더를 지원했다. 리더로서 팀을 맡게 된 만큼 진짜 제대로 해야겠지만, 아직 내가 많이 부족하고 준비가 안 된 것 같다. 지금부터라도 다른 팀원들보다 더 신경쓰고 더 시간을 할애하도록 해야겠다. 지금 진행하는 pintos가 중요한 만큼 리더의 역할도 중요하기 때문! 1. pintOS 암튼! 이번 주는 2주 동안 진행되었던 pintos project3을 완료했다. 우리 조는 extra인 cow를 제외하고 나머지 부분들은 다 구현했다. 그러나 테스트를 할 때마다 swap-fork, page-merge, sync-read 부분이 fail과 pass를 왔다갔다 한다. 코치님께서는 이것은 완전히 구.. 2021. 10. 31.
나만의 무기 | 프로젝트 소개 | 지인들과 내기를 위한 소셜 웹 게임 1. 주제 소셜 웹 미니 보드 게임: 친구, 동료들과 실시간으로 온라인에서 멀티 게임을 즐길 수 있도록 하는 웹 서비스 기획 지인들과 내기를 위해 짧은 러닝타임과 간단한 조작법의 게임들 개발 예정 2. 프로젝트 목표 | 안정적인 동시성 프로그래밍 소셜 서비스인만큼 동시 접속자들이 게임을 진행할 때, race condition 등의 동기화 문제 없는 서버 구축 | 접근성 누구나 쉽게 접근할 수 있도록 웹 기반 게임 개발 쉬운 게임 룰과 조작법으로 게임에 대한 진입 장벽 낮추기 | Fun 게임의 본질은 재미! 짧은 시간에 동료끼리 재밌는 추억을 공유할 수 있는 게임 구현 3. 주제 선정 배경 커피나 점심 내기를 할 때 사다리 타기 등 복불복 게임만 하는 것은 식상함 웹으로 쉽게 접근할 수 있고, 간단하게 즐.. 2021. 10. 24.
정글에서 살아남기| WEEK11 | 계속되는 삽질, 이 경험마저 도움이 되겠지 현재 백신 2차 모더나 맞은 상태. 어제부터 진짜 개아프다. 말도 안 되게 아프다... 온 몸이 바늘로 찔리는 것처럼 쿡쿡 쑤시고 숨쉴 때마다 폐가 아프다ㅠㅠㅠ 옷은 아무리 껴입어도 혹한기 마냥 춥다. 타이레놀 먹고 계속 죽은 듯이 잠만 자니까 쪼오오오끔은 나아진듯. 점심에 범석이랑 민우랑 점심 먹고(그나마 시킨 것 절반도 못 먹음) 그 이후에 아무것도 안 먹고 있는데 입맛도 전혀 없음. 내일은 진짜 많이 괜찮아지길 바라면서....! 이번 주도 저번 주와 마찬가지로 계속 핀토스 프로젝트3 진행하는 중. 현재 fail 3개만 남고 나머지는 다 통과한 상황. 이번 주는 되게 고무적인게, 그래도 에러가 있을 때, 에러 문구를 보면서 직접 디버깅을 하나씩 해갔다는 점. 그게 옳은 방법인지 아닌지는 판단할 수 없.. 2021. 10. 24.
정글에서 살아남기| WEEK10 | 가상 메모리 너무 어렵다 프로젝트 2를 겨우 끝냈다. 그것도 extra 부분까지 다 구현해서 테스트 케이스 97개를 모두 pass했다. 하지만 과연 올패스를 하는 것만으로 만족해야 하는걸까? 나는 정말 핀토스 user program 부분들을 모두 이해했을까? pintos는 카이스트에서는 원래 한 학기에 걸쳐서 진행하는 프로젝트라고 한다. 심지어 전공 학생들도 매우 힘들어 하고 제일 싫어하는 과목이라고 한다. (교수님피셜임 ㅋㅋㅋ) 교수님 강의를 들을 때, 홍욱이형이 "비전공자 입장에서 핀토스를 공부하고 있는데, 어떤 부분에 초점을 맞춰서 공부를 해야 하는지?" 라는 질문을 했었고, 교수님께서는 "학생일 때, 이 정도로 길고 복잡한 코드량을 경험하기 드물다. 이 코드들을 읽으면서 이해하고 배치할 줄 아는 것이 pintos의 목적 .. 2021. 10. 17.
정글에서 살아남기| WEEK09 | syscall......!!!!!!!!!! 캠퍼스 주변에 높은 건물이 없어서 뻥 뚫린 하늘을 볼 수 있는 것이 정말 좋다. 저녁 먹고 강의실 가는 도중 하늘 너무 예뻐서 바로 카메라 들고 사진 찍었다. 결과물 만족쓰 이번 주는 저번주에 이어 pintos project2를 공부하고 있다. 다음주 목요일까지 프로젝트를 끝내야 한다. 아직 시간이 꽤 남아있지만 여전히 테스트를 통과하지 못 하고 있다. 시스템 콜 부분을 어찌저찌 구현을 했다만, halt 시스템 콜만 pass가 되고 나머지 부분들은 계속 fail.... 일단 오늘 내로 에러 원인을 찾고 해결한 후, 내일 조원들에게 알려주는 것이 목표이긴 한데.... 쉽진 않다 ㅠㅠㅠ 내일까지 해결되지 않으면 동기들에게 물어봐야겠다. 2021. 10. 10.
정글에서 살아남기| WEEK08 | 본격적인 OS Deep-Dive 시작 정글에 들어온 지 벌써 3달 째가 되었다. 하루하루가 말도 안 되게 빨리 지나간다. 아니 스쳐가는 것 같다. 매일 강의실에서 내가 잘하고 있는지 아닌지 불안해하며 공부만 하다 보니 악명 높은 pintos프로젝트까지 오게 되었다. 분명히 엊그제 알고리즘 짜고 rbtree배우고 malloc하고 있던 것 같은데 시간 미친 듯이 빠름.... 여하튼 정글 들어온 날부터 2달 동안 아침 7시에 기상하여 꾸준히 아침 운동을 했다. 5개월간 장기적인 체력 관리를 위해서 필수라고 생각했고, 정글 이전부터 내 생활 패턴이 아침에 일찍 일어나기 때문에 시간과 동선을 최적화하여 강의실 가기 전 아침 운동 - 조식을 패턴화했던 것이다. 그런데 그렇게 2달이나 패턴을 지켰음에도 불구하고 오전마다 피곤하다.. 갈수록 높은 난이도 .. 2021. 10. 4.
정글에서 살아남기 | WEEK07 | 웹서버 만들기 이번 주 차는 일이 많았다. 추석 연휴도 있었고, 백신 맞아서 두통으로 고생도 했었고(물론 심하지는 않아서 다행쓰) 특히 추석 때 고향에 잠깐 내려갔다가 다시 대전으로 복귀할 때 버스를 놓쳐서 다음 시간 버스를 탔었고(진짜 운좋게 한 자리 남았었음..) 차 거어어업나게 막혀서 버스에서만 다섯 시간 있었고, 캠퍼스까지 복귀하는데 6시간 30분이나 걸렸었다.. 이것만으로도 체력 고갈... 여하튼 이번 주는 웹서버 만들기가 목표였고, 역시 C언어로 Tiny 웹 서버를 구현했었다. flask 프레임워크를 이용하여 웹 서버를 만드는 것과는 다르게 더 low하게 코드 구현을 해야 되어서 꽤 어려웠던 부분들이 많았다. 1. 웹서버 만들기 1. 네트워크 프로그래밍(Network Programming) | 클라이언트, .. 2021. 9. 28.
정글에서 살아남기 | WEEK06 | 시스템 콜, 데이터 세그먼트, sbrk, 메모리 단편화? 태초마을로 돌아가자(컴퓨터 시스템 기초 이해 필수) 정글 6주 차!! week06의 키워드 WEEK06: 시스템 콜, 데이터 세그먼트, sbrk, 메모리 단편화 week05주 때 RBTREE를 구현하면서 malloc을 사용했었다. 그리고 이번 주 차에는 내가 사용했던 malloc함수를 내가 만드는 것이 목표! 1. Malloc Lab 구현 저번 주에는 실사용에 사용되는 효율적인 자료구조를 통해 C언어 문법에 대해서 익혔다면, 이번 주는 C언어에서 메모리 할당에 사용되는 malloc함수를 직접 구현하면서 데이터가 메모리에 어떤 방법으로 할당되는지 등 메모리에 대한 개념을 이해하는 것이 과제의 목표였다. 말롭랩 과제에 대한 자세한 설명은 아래 링크로! 2021.09.14 - [개발자 도전기/[SW사관학교 정글] 개발일지] - Malloc Lab | 동적 메모.. 2021. 9. 19.
정글에서 살아남기 | WEEK05 | 이런 C......!! Red-Black TREE 구현하기 4주 간 알고리즘 던전에서 나왔더니 C언어의 지옥이 다가왔다...! 새로운 탐험 시작!! 운영진님들이 말하는 C언어란... 시작부터 겁을 주신다...ㅋㅋ 여하튼 C는 Assembly 언어와 매우 가까운 언어로, C를 사용하면서 조금 더 컴퓨터의 본질에 가까이 가는 것을 기대하신다고 한다. 그리고 이번 week05주 차의 키워드 WEEK05: 동적 메모리 할당, 포인터, 메모리 누수, 균형 이진 탐색 트리 저 단어들은 뭘까...? 뭐 알고리즘 할 때도 당연히 다 모르던 키워드들이었기 때문에 크게 신경쓰지 않았다. 결국엔 다 알게 될 것이기 때문에!! 1. 개발환경 설치 C언어 개발을 더 매끄럽게 하기 위해 Ubuntu 20.04 LTS (x86_64)환경에서 gcc 9.x 컴파일러를 사용하는 것을 권장하셨.. 2021. 9. 12.
728x90
반응형