Search

일기장 끄적끄적

Created
2020/06/19
얼마 전에 블로그를 개설했던 것 같은데 벌써 2주나 지났다. 정말 시간 개념이 무뎌질 정도로 정신 없는 것 같다. 분명 얼마전까지 5월 말이었던 기억이 나는데, 6월 초는 그냥 사라졌고 다시 블로그 작성하려고 돌아보니 6월 중순이라니 참 기분이 묘하다.
아마 나만 그런게 아니라 대학생 신분의 대부분 학생들은 비슷하지 않을까 싶다. 동기나 후배님들 보면 코로나 사태 때문에 온라인 강의를 듣는 모습을 볼 수 있었는데, 과제는 일반 학기랑 다르게 왜 그렇게 많은지 정말 정신 없어 보였다. 다음 학기에 휴학생 신분으로 '시스템 프로그래밍' 과목 청강 예정인데 걱정되기도 하고, 그 이후에 복학도 뭔가 무섭다 ㅎㅎㅎ....
그래서 최근 근황을 밝히자면, 씹어먹는 C 언어 정독을 마쳤고 몇 개발 프로젝트 회의를 마쳤다.

C 언어 공부

한 1주일 정도 걸릴 것이라고 생각 했던 C 언어 리뷰는 2주 조금 더 넘는 시간이 걸렸던 것 같다. 포인터에 대한 개념이 정말 없었구나를 뼈져리게 느꼈던 것 같다. 그래도 나름 블로그에 포스팅 하기 위해 내 말로 다시 푸는 시간도 꽤 들였던 것 같고, 덕분에 운영체제와 데이터 베이스 공부도 조금은 다시 했던 것 같다. 불만족스럽지는 않았던 2주였다.
이제 C 언어 리뷰에 대해서는 포인터 하나만 남겨두고 C++ 입문을 앞두고 있는데, 정말 많이 설렌다. C 언어만 해도 정말 내가 많이 모르는 구나를 느꼈는데, '이제까지 내가 쓰던 C++은 C++을 C처럼 사용한 것 밖에 안 되겠지'가 불보듯 뻔하게 느껴졌고 새로운 것들을 무지막지하게 배울 느낌이 드니 한 편으로는 기쁘기도 하다.
뭔가 알맹이 빠진 느낌은 여전하지만 상대적으로 C, C++ 공부하기 전보다는 좀 덜해진 것 같다. 이대로만 쭉 더 깊게, 내가 할 수 있는데 까지는 공부해보고 싶다. 이 공부에 대해서는 종만북도 공부 계획에 있었는데, 얼마 전에 '씹어먹는 C 언어'의 Geometry 과제로 '직선 간의 교차되는 수를 계산하라'라는 문제를 풀면서 종만북 공부 계획이 예정보다 더 당겨질 것을 직감했다.
직선 교차에 판별 여부를 구현 못하고 있어서 쩔쩔 매고 있었고, 인터넷 검색을 통해 판별 과정을 찾을 수 있었다. 두 직선에 존재하는 네 점 중에 세점에 대한 CCW (Counterclockwise)를 두번 구하여 2개의 CCW를 곱했을 때, 그 값이 0보다 작거나 같으면 직선이 교차하는 것을 알 수 있었다. (이에 대해서는 예외 케이스 존재하므로 해당 예외 케이스에 대한 처리를 해줘야 한다. 해당 내용은 나중에 따로 포스팅 예정이다.) 그리고 그 내용을 이해하고 난 후에, 그 내용의 출처가 종만북임을 알 수 있었다.
예전 같았으면 '아 저런 걸 또 더 해야 한다고?' 하면서 짜증부터 났겠지만, 지금은 (일단 내가 종만북을 갖고 있기 때문에) '빨리 종만북도 해봐야겠다. C++ 제대로 이해하고 종만북도 정독, 완독하고 싶다'는 생각이 먼저 들었다.

개발 프로젝트 회의

C 언어와 C++ 및 전공 지식에 대한 공부로 회의감을 느끼면서 개발 공부를 조금 미뤘다고 프롤로그에서 밝혔었다. 참 타이밍이란게 야속하다는 생각이 든다. 개발 프로젝트를 시작하려고 사람 구할 때는 그렇게 안 구해지다가, 막상 개발 조금 놓고 다른데 집중해보려 하니까 주변 사람들로부터 프로젝트 같이 하자는 제의가 왔다.
물론 그렇다고 안 한다고 하지 않았다. 일단 그래도 기술을 '어떻게 사용해야 하는지'에 대한 공부보다는 내가 아는 것들을 베이스로 '어떻게 구현하지'가 중점이 될 것 같아서 흔쾌히 수락했고, 오히려 고마워 했다.
오픈 소스 프로젝트, 부스트 캠프 등 다른 대외 활동에 지원할 예정이었으나 조금은 미뤄 두기로 했다. 당장 내가 아는 것에 비해서 구현 능력이 많이 떨어지다 보니 대외 활동보다는 나를 스스로 점검하는 시간을 조금 더 가져보고 싶었다. (대외 활동 통해서도 확인할 수 있겠지만, 팀 단위다 보니 내 모자람으로 다른 사람에게 민폐 끼치고 싶지 않았다.)
그래서 어떤 프로젝트냐? 하나는 지도 기반 서비스 개발 프로젝트였고, 나머지 하나는 플래너 개발 프로젝트였다. 두 프로젝트와 C, C++ 하면 올해 다 가지 않을까 싶다. 두 프로젝트 모두 모바일 프로젝트이며, 내가 할 줄 아는 기술이 정해져 있기 때문에 Flutter, Node.js를 이용하여 만들 계획이다. 다만 Redis, GraphQL까지 써보는 것을 목표로 하고 있고, 정말 시간만 된다면 배포까지 해보면서 배포 환경 구축할 때 Docker를 꼭 써보고 싶다.
추가적인 목표 말고, 프로젝트를 수행하면서 이루고 싶은 목표도 있다. RxDart와 Bloc 패턴 능숙하게 사용하도록 하는 것, 복잡한 UI 구조에 대해서 애니메이션 구현을 능숙하게 하는 것, 단순 UI 구현 말고 Interface 구축에 대해 시도해보는 것이다.
프로젝트가 잘 마무리 될지 미지수고 걱정도 많지만, 많은 선택지를 가지치기 했고 남은 선택지에 대해서 집중해보기로 한 만큼 최선을 다해보고 싶다. 구현한 것들에 대해서 겪은 이슈들이나 새로 안 것들은 간간히 개발 카테고리에 포스팅 할 계획이다.