0. 왜 여기다가 쓰냐고?


망할 컴이 에러나서 모든 문서의 읽고 쓰기가 안됨. 무슨 보안프로그램을 삭제해야 가능한데 그것도 오늘 저녁에야 가능


거기다가 남이 보니까 최대한 덜 쪽팔리게 쓰기 때문에 그게 맘에 듬



1. 무엇을 왜?


기존에 개발된 공학 프로그램은 문제가 다음과 같이 있는데


- 소프트웨어의 S도 모르는 사람들이 막 짜다보니 한 함수의 길이가 천줄짜리인거도 있음.


- 자기만 알면 되니까 불친절함


- 근데 그 사람들이 사라지면 노답 프로그램으로 진화하게됨...


- 또다른 문제는 갑자기 이 분야에서도 단위 시험 같은걸 요구함 ㅡㅡ... 벤치마크만 풀면 다인줄 알았는데


따라서 유지보수가 쉽고, 테스트 기반이며, 누구라도 그나마 쉽게 알고리즘을 구현해서 박을 수 있는 프로그램이 필요함


이를 위하여 취급하는 자료형?부터 프로그램 구조, 언어까지 싹 한번은 정리할 필요성이 대두됨



2. 어떻게


우선 기존의 공학 프로그램을 다시 맨땅에 헤딩하면서 짜면 똑같은게 또 나올테니


- 사용언어로 목표로 하는건 C++기반으로 파이썬을 호출해서 데이터 처리 좀 쉽게 해보자 또는 반대로 해보자. 


- 자료형으론 인공위성에서 사용한다던 hdf5 포멧이 있던데 이런걸 참조해서 규격화된 자료형을 사용해보도록 하자 (지금은 수기가짜리 텍스트)


- 간단한 버젼의 프로그램을 가지고 최대한 추상화해서 uml으로 그리던 뭘하던 정리함.


- 정리된 걸 바탕으로 더미 모듈들을 조합해서 구현해보고, 이를 확장하되 내가 추상화된게 잘된건지 계속 재확인 및 수정 (정리가 제대로 되지 않았겠지)


- 계속해서 기존의 프로그램에 있던 기능을 추가하여 완성



3. 뭘 참고할꺼지?


- 수치해석쪽에서 OOP 이야기하는 책이 있어서 그걸 참조


- 와 더불어 당빠 내 자신의 컴퓨터 언어 공부도 졸라 해야함


- 하지만 내가 하고 싶은건 2~3년내로 기존의 프로그램을 대체하거나 또는 그 가능성이 있는 프로그램을 구현하는 것이기 때문에, 지엽적인 부분은 과감히 스킵


- 정 필요하면 그때가서 그 전문가를 부르면 되지, 나는 내가 잘 알고 있는 알고리즘들을 최대한 정리해서 짜는 것!



4. 어디서 멈출꺼냐?


- 시간은 앞으로 최대 3년.


- 퀄리티는 적어도 테스트하기 수월하며, 기존의 벤치마크는 동일하게 풀고, 많이 쓰는 놈들은 나만의 라이브러리화해서 자주 써먹을 수 있게