공부하는 코드들을 정리하기 위한 목적이다. 원래는 저장소 별로 분리를 하려고 했으나, 저장소 관리도 귀찮고, 쓸데 없이 다양해지는 것이 지저분해서 기존에 있던 것들은 기존 저장소에 두던지 혹은 이 저장소로 이전을 하고자 한다.
- 분류는 디렉토리로 구분한다.
- 기타 컴퓨터 설정, 간단한 팁등은 github-page에 정리하는 것이 원칙이므로 이 공간에는 두지 않는다.
- 사소한 코드도 모은다.
- 코드에 주석으로 아래의 코드가 무엇을 뜻하는지 설명할 것. 단, 코드가 설명이 되도록 공부 코드를 잘 작성한다.
- 공부해서 남주면 나한테 돌아온다.
- 공부해서 남주면 나한테도 주는 것이다.
- 내가 힘들게 공부하면, 남들은 쉽게 갈 수 있다.
- 그게 마음에 안 들면, 남들은 정말 넘볼 수도 없는 천재가 되면 된다.
- 그게 아니니 열심히 공부해서 남주자.
알고리즘 학습한 내용을 기억하기 위한 용도 기본적으로 Gist에 정리를 했었지만, 이렇게 정리를 하는 것도 나쁜 방법이 아닐거란 생각이 들어 시작하게 되었다.
알고리즘 풀이의 규칙을 정한다.
- 폴더를 이용해 언어별로 정리한다.
- 각 파일 Header comments를 꼭 기입하여, 어디 싸이트 문제? 문제 링크를 게시한다.
- 중요한 것은 알고리즘 풀이 보다 개선에 초점과 언어별로 풀이도 좋은 방법이라 생각하여 중복된 파일이 존재 할 수 있다.
- 또한, 가져온 코드의 경우 반드시 저작자 표기 필수!(알고리즘 풀이는 내 코드만 최고가 아니다.)
아무래도 자료구조를 직접 짜 볼 일은 거의 없을 것이라 생각이 든다. 하지만, 규칙을 미리 정해두는 것은 다짐이라고 할 수 있다.
- 직접 코딩한 자료구조는 /DataStructure 폴더에 정리한다.
- 자료구조의 가장 최선은 ADT 기반으로 자료구조를 코딩하는 것이다.
- 자료구조는 간결함 + 범용적인 데이터 셋을 가질 수 있어야 한다.
기타 정렬이라던가, 자료구조/알고리즘 관련 내용 코드는 /etc 폴더에 저장한다.
어줍잖은 코드더라도 모으면 재산이라고 생각하자.
하지만, 난 티끌 모아봐야 티끌이라고 믿어왔었다.