최근 최현도 교수와 함께 쓰는 태양광 기업의 기술협엽 전략 논문의 자료를 재구축 하는데 힘을 쏟고 있다.
이제는 SQL을 쓰는데 많이 익숙해져서 R이 잘 하는 기능과 SQL이 잘 하는 기능을 분리해서 작업을 해나가고 있다.
RMySQL 패키지를 쓰자니 코딩하는데 생산성이 떨어져서 sql 스크립트를 만들고 system() 명령으로 수행하고 있다.
오늘 드디어 모든 작업을 완료했다.
그 동안 내가 실수한 부분도 있었고, 최교수가 자료를 잘 못 전해준 적도 있어서 여러번 로직을 바꾸고 함수를 수정/보완하느라 많이 늦어졌다.
게다가 데이터 용량이 크니 SQL 수행하는 데도 시간이 꽤 걸려서, 한번 실수를 하면 수정/보완하는데 많은 시간을 할애했다.
물론 땜빵식으로 해결하면야 빨리 할 수 있었지만, 이번에는 100% replication이 되고 documentation에도 완벽을 기하고 싶었다.
그래서 이 파일 저 파일 검증도 여러번 하고, README.md 파일도 매우 꼼꼼하게 작성했다.
이렇게 일을 하다보니 느리게 진척이 되는데다가 에너지가 많이 빠지는 느낌이 들었다.
원래 오늘은 석원형, 재원이와 등산을 가기로 했던 날이지만 몸 상태도 별로 좋지 않았고 상협이 중간고사도 가까워서 등산을 연기했다.
그리고는 어제와 오늘은 연구실에 상협이와 같이 가서 상협이는 중간고사 공부를, 나는 분석작업 마무리를 했다.
거의 코드가 완성되어 갈 때 R 패키지를 업데이트를 하고, 테스트 코드를 작성했다.
해당 테스트 코드가 작동하지 않아서, 나는 패키지 업데이트 때문에 함수 사용법이 바뀌었거나 연관 패키지에 버그가 발생한 것으로 착각을 하고 정말 오랜 시간 삽질을 했다.
하다하다 못 해 github의 RMySQL 개발자 홈페이지도 들어가고, 이 사람이 쓴 글도 읽어보았다.
이 개발자는 요새 RMariaDB 개발에만 매진하고 있다길래.. 혹시나 RMariaDB로는 그 버그를 해결할 수 있을 것으로 착각으로 하고 RMariaDB를 설치하고 모든 코드를 RMariaDB용으로 다 고쳤다.
그럼에도 불구하고 버그가 있을 것이라고 생각하는 부분(그리고 내가 테스트용 코드를 잘 못 적어놓은 부분)은 여전히 문제가 해결되지 않아서, 개발자에게 issue까지 던졌다.
이 와중에 R-4.1.2 -> R-4.1.3으로 업그레이드도 해보고, 패키지도 다 새로 설치해보고, 다시 R-4.1.2로 돌아가는 등 많은 삽질을 했다.
virtual env를 안 써서 이런 사단이 났구나 싶어서, 자책도 많이 했다.
그러나 순식간에 날아온 답변에는 내가 테스트 코드를 잘 못 적었다는 짤막한 글이 담겨있었다.
얼마나 피곤했으면 몇 줄 안 되는 테스트 코드를 실수할까 싶어 무척 당황스러웠다. 고맙다고 답글을 남기고 오늘 아침에 마무리를 하겠다고 마음을 먹으면서, 막걸리로 하루를 마무리했다.
드디어 오늘 그 동안 마음에 걸렸던 부분을 깔끔하게 다 정리하고, Google Maps API도 거하게 한번 다시 사용하면서 완벽하게 replication이 가능하게 만들었다.
이제야 마음이 좀 놓인다.
최현도 교수와 초반에 작업하던 때와는 달리 새로운 데이터를 생성했으며, 처음에 의도했던 바대로 데이터가 뽑혀서 다행이다.
결과를 보내주게 되어서, 한참 동안 미안했던 마음이 조금 안정이 되었다.