220720 레벨테스트 TIL 3

샨티(shanti)·2022년 7월 20일
0

TIL

목록 보기
46/145
post-thumbnail

하루를 마무리 하기 전, 오늘 있었던 일들을 잔잔히 되짚어봅니다.
성공과 실패의 모든 요소에서 '배울 점'을 찾아내어 기록하고,
더 성장하는 내일의 나를 위해 'action plan'을 세웁니다.

오늘도 어김없이 어제와 오늘의 차이점을 비교하면서 애처로운(ㅋㅋ) TIL을 시작.

어제



어제는 '리뷰 검색하기' 기능을 추가한 것이 가장 특징적인 것이었다.
엄밀히 말하기에 기능이 구현 되는 것 같기도 하고 안되는 것 같기도 한 아리송한 상황 ㅎㅎㅎ 왜냐면 화면 갱신 문제 때문이었는데 크게 신경쓰지 않기로 했기에...


오늘


  1. 크게 달라진 점이 있다면 기능이 하나 더 추가된 것? 바로 '오늘의 추천 책'이라는 기능이다. 16개의 관심분야 중 1개를 선택하면 분야에 맞는 책을 추천해주는 기능이다. 해당 내용은 '텍스쳐'라는 어플리케이션을 참고하여 만들었다. 아직 데이터를 완성한 것은 아니고 임의로 여러개의 책 정보를 좀 넣어둔 다음에 이 역시 임의의 알고리즘을 활용하여 책을 투트랙으로 추천하려고 한다. 하나는 '내가 선택한 분야에 딱 맞아 떨어지는 책' 을 추천해주고, 다른 하나는 내가 선택한 책과는 관련이 없는 분야의 책을 한 권 추천해주는 것.
    우서선 레이아웃만 구현하려고 2권의 책에 대한 정보를 csv 파일에 저장해두고, 이미지도 하드로 때려박아서 넣은건데... 어렵다 어려워 ㅎㅎㅎㅎ. 첨엔 관심 분야를 3개를 선택받으려고 했는데 구현된 내용이랑 내가 알고리즘 짜는 속도 보니까 3개는 엄두도 안나서 그냥 1개로 만족하려고 함.

  2. 노아님이 오셔서 너무나 간단하게 패널 갱신 문제를 해결해주셨다 ;;;;;;; 당황쓰.... 사실 오전에 알려주신 방법은 내 프로그램이 구현되는 데 또다른 부차적인 문제가 발생하기 때문에 바로 사용할 수는 없지만.... 정말 큰 도움을 얻었다. 자세한 내용은 아래에서 더 길게.


오늘의 작업일지와 비교해보기

오늘 작업을 시작하기 전 일지를 쓴 것과 완성 상황을 비교해본다.


우선 오늘 '완료' 상태로정했던 것은 '독후감을 100자 이내로 남길 수 있는 것'과 본인이 평소 관심있는 분야 3가지를 선택하면 그에 상응하는 책을 추천받을 수 있는 기능이 구현되는 것이었다.

결론만 말하면 반쪽짜리 성공이다.
100자 이내의 글을 쓸 수 있는 것은 이미 구현된 상태였기 때문에 걱정할 필요도 없었는데, 결국엔 저 '관심분야'에 따른 책을 추천받는 기능이 제대로 작동하지 않았다.
원인은 아래와 같다.

  1. 관심분야 3개를 선택받고 그 선택에 따라 책을 추천하는 알고리즘이 얼마나 복잡한지 모른 채 나대고(ㅋㅋ) 목표를 크게 잡은 것
  2. 이 기능이 구현되기 위해서는 일정부분의 하드코딩이 필요하다. (책 정보를 가져오고, 보여줄 이미지를 캡쳐해오고, 데이터로 저장하고...) 근데 그걸 16개의 카테고리로 설정해두었으니 나는 1개의 카테고리 당 책 3개만 정리하더라도 총 50여개에 달하는 책 정보를 데이터화시켜야 하는데 그걸 하루만에 할 순 없다. 이미 저 레이아웃 짜는데 하루가 다 지나가버렸다.

레이아웃을 짜는 데 시간이 그렇게나 많이 걸릴 줄은 몰랐고, 하드코딩 하는데 시간이 더더욱 든다는 점은 전-혀 예상하지 못했던 상황.
오늘 밤에 TIL을 쓰기 전 동료들과 잠시 이야기를 나누며 조언을 구했는데... 갈수록 이게 맞는가? 하는 생각이 든다. ㅎㅎ
책 정보 수집해서 정리하는 데 시간이 너무 쓰인다면 과연 금요일까지 또다른 기능을 추가하고 확장시킬 수 있을지, 가독성 좋은 코드를 짜기 위해 시간을 투입할 수 있을지 너무나 불분명하다.

카테고리를 확 줄일 것인가, 아니면 이 짓을 하더라도 결국 저 기능을 구현하고 말것인가....
욕심같아서는 카테고리를 줄이고 싶지 않다. 그냥 딱 보기에 디자인이나 모양새가 그리 나쁘지 않기 때문이기도 하고, 마치 매몰비용을 포기할 수 없는 기분이랄까. 저 16개 카테고리 만들겠다고 어제 새벽에 쏟아부은 시간이 아까워서 그렇기도 하고.

또 한편으론, 100줄짜리 독후감 쓰겠다는 프로그램에서 저 책 추천 기능은 무슨 목적으로, 무슨 이유 때문에 제공되는걸까? 뭐 이런 잡생각도 들고...

아 원래 프로그램 개발이란게 이런 것인가... 정말 생각이 꼬리에 꼬리를 물어가며 끊이질 않는다.


오늘 노아님을 통해 배운 '디버깅'의 프로세스

솔직히 오늘 노아님의 디버깅 프로세스를 보면서 많이 놀랐다.
스윙이라는 것이 현업에선 사용되지 않는다는 걸 누구나 알고는 있지만, 그래도 내심 '어떻게 진행할지를 생각하고 오셨겠지?' 하고 있었다.
하지만 그게 아니었다. 정말 하나 하나 실험을 해가면서 문제를 해결해나갔고 결국은 지금 상황에서 적절하게 활용할 수 있는 메소드를 적절한 구글링과 실험을 통해 찾아내어 추천해주고 가셨다.

요 얼마전에 깃이랑 싸우다가 다 팽개치고 새로운 브랜치 파버리고 끝내려고 했던 내 모습과 정말 대조적이었다.
그리고 오늘 시연을 통해 왜 노아님이 '문제가 발생한 건 오히려 좋은 경험'이라고 말씀하셨는지도 이해가 갔다.
문제를 풀기 위해 노력하고 생각하는 과정을 거치며 그 경험이 반복되어야 디버깅 실력도 는다.
어쩌면 내가 이제까지 완벽하게 풀어내지 못했던 깃의 문제나 코딩도장 문제들은 나의 실력을 업그레이드 시켜줄 수 있는 좋은 기회였음에도 불구하고
내가 요리조리 피해갔다. 시간이 없다는 이유로, 힘들다는 이유로, 나중에 하면 되겠지 라는 이유로, 그리고 잠깐은 면피할 수 있는 임시방편의 길을 찾았다는 이유로...
하지만 그렇게 피해온 것들이 결국에는 나의 베이스먼트를 야곰 야곰 갉아먹고 모래 위에 집을 짓도록 만들었다.

이번 레벨테스트를 통해서는 깨닫는 바가 참 많은 것 같다.
물론 트레이너님들은 '깨닫기'를 바라기 보다는 '나은 작품'을 만들어내기 원하시겠지만...
일주일 사이에 내 실력이 기하급수적으로 향상될 수는 없을 것이기에 아마 내 작품의 한계는 명확할 것이다.
그럼에도 불구하고 정말 깨닫는 바가 많다. 아마 이 일주일의 시간이 없었더라면 또다시 나는 마카오 뱅크의 늪에서 그저 허우적대며
그 강의 하나 좀 익숙해졌다는 것만으로도 마음이 놓인다며 자위하고 있었을 것이다.

개발엔... 정말 끝이 없어보인다. 아샬님이 코딩의 신이라고 불리우는 이유도 아주 조금은 알 것 같다.
일정 경지에 오르기까지 얼마나 수많은 시간을 투입하고 노력과 또 실험과 고뇌가 이어졌을까.
차마 다 가늠할 수도 없다. 그리고 나도 그 시작점에 발을 들여놓았다는 것이 오히려 무서울 지경이다.

아.... 혹등고래...등에 탄 것이 오늘에서야... 처음으로.... 엄숙하게 느껴졌다.


내일, 금요일 발표를 위한 액션 플랜

좀 전에 동료들과 잠시 이야기하면서 선포했듯이. 더이상의 기능은 추가하지 않으련다 (ㅋㅋㅋㅋㅋ)
내일과 금요일 발표 직전까지는 지금 현재 기능들이 정상적으로 구현되고, 또 레이아웃이 더는 흐트러지지 않는 선에서 리팩터링 하는 것으로 끝을 보련다.
나는 항상 '수요일'을 마음속의 한 주 끝으로 생각하고 있기에 목, 금은 차마 마무리 짓지 못한 과제들을 수행하기 위한 버퍼로 사용하려 한다.
그 버퍼를 사용하기에는 생각보다 남은 과제가 너무 산적하기에. 얼른 하드코딩이고 뭐고 뚜드려야 한다.

분명 내 코드는 좋지 않다. 말도안되는 반복과 전혀 분리되지 않는, 엉켜있는 관심사들...
그럼에도 불구하고 지난 8주차의 레벨테스트 때와 같이 오로지 나의 목표는 하나!

일단은 돌아가게 하는 것.

일단은 돌아가게 한 뒤에. 그다음에 내가 할 수 있는 선에서 또다시 최선을 다 하자.

오늘의 액션플랜은 코드의 효율도 생각하지만 어쨌든 기능이 좀 돌아갈 수 있도록 책 추천 관련 데이터를 수집하고 쌓는 것.
그걸 오늘 새벽 내에 끝내면 내일은 리팩터링에 올인하면 된다. 레이아웃은 대강 잡아놨으니!!!!!

자 이제 달려보자. 이틀.... 이틀 빡세게 달리고 나서 금요일 저녁에는 아이와 한~껏 놀아주고 싶다.

사랑해!!!!!!!!! 봄아!!!!!!!!!!!!!!!!!!!
엄마 금요일까지만 좀 봐주라~~!!!

profile
가벼운 사진, 그렇지 못한 글

0개의 댓글