[회사 일기] 저번주와 이번주
저번주는 아예 안 썼네.. 특별히 기억나는 일도 없긴 하지만ㅋㅋㅋ 할 일도 있고 귀찮기도 해서 안 쓴다. 기억나는 거라도 적어보겠다.
21.05.24. 월요일
이사해서 주민센터 다녀온다고 반차를 썼다.
알고 보니 요새는 확정일자, 전입신고 모두 인터넷으로 할 수 있더라.. 굳이 안 내도 됐던 것.
암튼 뭐.. 이왕에 낸 거 아침에 늦잠도자고.. 하고 싶었지만?
새로 통근버스 타게 되는 장소를 잘 몰라서 확인하기 위해 나갔다 왔다.
다음날부터 편하게 탈 수 있도록 말이다.
확인 완료하고 아침에 잠깐 쉬다가.. 씻고 주민센터 갔다.
아침이니까 사람 별로 없겠지? 했는데ㅋㅋㅋ 아님.. 아니었음.
사람 엄청 많았다. 어.. 당황.
그래도 생각보다는 안 기다렸고 할 일 처리했다. 버벅거려서 종이 하나 잘 못썼는데.. 뭐 그래도 직원분이 잘 처리해주시는 게 편했다.
끝나고 집. 쉴 시간은 그다지 없었다. 앉아있다가 회사 가기..
역시 통근버스 안 타니까 불편하긴 했다.
회사에서는 오늘 경영현황 설명회를 했는데.. 암울한 회사 사정에 매우 슬퍼졌다. 진짜 부도나는 거 아니냐.. 하는 걱정이 들게 매출실적이 아주 안 좋았다... 죽지 마 우리 회사ㅜㅜ.
뭘 했는지는 모르겠고.. 시간이 다 가서 퇴근했다.
21.05.25. 화
매출 데이터만 가지고 분석을 하기에는 정확한 예측 결과가 나오지 않았다.
그래서 날씨 데이터라도 추가하자는 생각이 들었고.. 그렇게 추가를 하려면 모델에 대한 이해, 데이터의 형태에 대한 이해가 필요했다.
그래서 분석을 더 하기 시작..
그런데 내가 받은 소스코드에서 작성해둔 형태와 인터넷에서 주로 나오는 형태가 많이 달랐다...
그래서 또 힘들기 시작 ㅋㅋㅋㅋ. 아니.. 이해를 못 하겠다고요...
검색하고.. 정리하고.. 그러다가 한숨 돌리고.
그전에, 날씨 데이터를 적용할 때 어떤 지역의 날씨가 필요한지 알아야 했다.
그래서 우리 회사의 여러 점포들이 어떤 지역에 있는지를 정리했다. 그렇게 정리를 해보며 점포가 곳곳에 있구나..라는 걸 알게 됐던 것 같다.
파악 후, 공공데이터 포털에서 날씨 데이터를 얻을 수 있는 키를 발급받았다. 그리고 api 사용법을 찾아봄..
엄청 삽질하다가 다행히 어떻게 하는지 알게 됐다.
추가로 코로나 확진자 데이터도 얻어왔다.
이제 이걸 얻어왔으니.. 학습할 데이터에 추가해야 되는데... 후.. 내일 해야지.
21.05.26. 수
어제 데이터 가져오는 것까지는 했었지만, 그게 다가 아니었다..
아침부터 에러가 발생했는데 그건 문제는 아니었고.
매출 데이터는 18년 1월 1일부터 가져오는데 코로나는 20년쯤에 발생을 했더랬지...
없는 데이터에 대한 것과, 모든 지역에 대해서 또 나누고 해야 되는데... 신경 쓸 게 많았다.
계속 에러 나고 ㅋㅋㅋ. api가 주는 데이터가 모든 지역에 대해 주는 게 아니라 발생한 지역에 대해서만 주는데.. 그래서 뭔가 더 가져오기 불편하다고 해야 되나.. 이래저래 좀 그랬다.
그리고 명확한 지역에 대한 것도 아니었다. 두루뭉술하게 받아와야 되는 것도 있고.
그래서 발생했다 안 했다 정도만 0 1 이렇게 줘야 하는 건지, 정확히 안 되더라도 발생인원 데이터를 사용하는 게 맞는 건지... 머리 싸매다가 일단 안 쓰기로 했다. 날씨부터 어떻게 해보자고..
ㅋㅋㅋ 근데 날씨 데이터도 머리 아픈 문제가 있었다. 무슨 페이지 수.. 같은 게 있어가지고 그거 맞춰서 계속 가져와야 하는 거임.. 아니.. 그냥 시작 날짜와 마지막 날짜만 정해주면 다 가져와주면 안 되는 겁니까.. 왜 페이지 같은 개념은 왜 있어서 그렇게 되는 건지..ㅠㅠ 그것 때문에 또 삽질이 시작됐다.
나중에 여러 시도를 하다 보니 한 1년 치 데이터까지는 한 번에 가져올 수 있는 걸 알게 되어서 api 4번 정도 요청해서 다 가져왔다. 이렇게 하는 게 맞는 건지는 모르겠지만 아는 방법이 이것뿐이었다..
날씨 데이터 중에 내가 중요하다고 생각했던 게, 기온, 강수량, 풍속,... 하나 더 있었는데 네 가지였다.
그 네 가지 데이터를 지역마다 가져왔고, 우리 지점 데이터와 합치려고 생각했던 것.
정말 산 넘어 산이라고 생각했다.
21.05.27. 목
오늘은.. 정말 보기 싫었던 모델을 다시 봐야 하는 날이었다. 내가 이걸 할 수 있나.. 하는 생각에 아침부터.. 괴롭고 하기 싫었음 ㅋㅋㅋ.
그래서 사실 다른 것부터 했다. 책도 읽고.. 거기서 말하는 내용들을 쭉 먼저 보기로 했다.
python으로 머신러닝 하는 책이었는데, python 문법도 배우고.. pandas, keras.. 이런 것들도 쭉 봤다.
하나하나 분석하면서 보려고 생각은 했었는데 갈수록 지치고 지금 이거 필요한 거 아닌 내용이네.. 하면서 쭉쭉 넘긴 듯. 정말 ㅋㅋㅋ.. 어떻게 대강 살펴보긴 했다.
그런 후에 다시 검색을 시작했고.. 삽질하고.. 화나고 그런 과정을 반복했다..
21.05.28. 금
오늘은 해야 된다..
저번에도 보다가 말았는데 말이지. 그래도 별 수 있나. 내 일 누가 해주는 것도 아니고.. 결국 내가 알아야 하는 거니까. 책도 찾아보고, 인터넷도 뒤져보고, 하나하나 출력해보면서 구조를 파악해갔다.
명확하게 딱 설명을 해주는 게 잘 없었던 것 같다. 그래도 열심히 검색하면서 한 끝에 어느 정도 길이 보이기 시작했다.
이해하고 나서 다시 구조를 보는데.. 되게 신기하게? 남들이 안 하는 형식으로 구조를 작성을 했더라.
그러니까 None이 먼저 나오지...
모델을 만들 때 input_shape(time_steps, feature) 이 값을 넣어줘야 하는데
내가 받은 코드에는 input_shape(None, units) 이렇게 돼 있었음..
저렇게 쓴 게 잘못된 거 아니냐? 싶어서 내 생각대로 값 넣었다가 학습 아예 안되고 그랬었는데.. 넘겨주는 df 구조가 특이해서 그런 거였다 ㅋㅋㅋㅋ. 진짜 왜 그렇게 하는 건지......
이전 데이터를 묶어놓은 걸 행으로 다 만들어버린 형태라고 해야 되나. 말로 설명하기 좀 그렇긴 한데 아무튼 이상했다..
그래도 뭔가 깨달아서.. 아 그렇구나.. 했었고, 새로 얻어온 날씨 데이터를 넣기 위해서는 구조를 바꿔야 했기 때문에.. 코드를 더 분석해봤다.
이전에는 그냥 갖다 써야겠다!라고만 생각했고, 그냥 단순하게 값 몇 개만 변경하면서 학습률이 높아지기를 바랐었는데.. 결국에는 그게 답이 아닌 걸 알아버리니 분석을 할 수밖에 없게 됐고, 그러면서 알게 된 것도 꽤 되는 것 같다. 뭐.. 이후에 도움이 될 느낌은 아니지만 평생 안 할 공부를 한 느낌 ㅋㅋㅋ.
그래서 이런 함수를 쓴 거구나, 그래서 구조가 이런 거였구나.. 알면서 파악하고 수정하고... 데이터를 넣었다.
다는 못하고.. 다음 주에 하기로 했다.
21.05.31. 월
이해 덜 됐던 부분마저 보고, 날씨 데이터를 추가했다. 이런저런 오류가 또 발생했었는데.. 어떻게 해결은 했다. 제대로 된 해결책은 아닌 것 같지만 말이다...
그래서 날씨 데이터를 추가한 후에 학습된 결과는? 뭐가 나오긴 했는데 이게 예측을 제대로 한 것인지는 내일 실제 매출액이 나와 봐야 안다. ^0^..
그래도 뭔가 나 이제 제대로 이해하고 있구나! 하는 뿌듯함이 있었던 것 같다.
하지만 뭐다? 일이 그렇게 잘 풀리지 않는다~~ 날씨 데이터를 추가하면서 원래 결과가 나와야 하는 지점들에 대한 결과가 안 나오기 시작했다.
ㅋㅋㅋㅋㅋ 뭔데.. 진짜.. 돌아버리는 거임.
아니 열심히 데이터 뽑아와서 코드 분석해서 모델 수정하고 데이터 넣고 학습시켰는데 결과가 안 나온다고요? 갑자기 데이터 수가 부족해서 학습을 할 수 없다고요? 네?
머리가 지끈.
그래도 원인을 찾아야 했기 때문에.. 또 print 열심히 쓰면서 확인해갔다.
안 됐던 이유는.. 날씨 데이터에서 뽑아온 4가지의 특징 중에서 데이터가 부족한 것들에 의해 문제가 생겼던 것 같다.
어휴.. 뭐냐고.. 그래서 문제 됐던 거 지우고.. 뭔가 전처리가 잘못되어서 그런 거겠지만. 어떻게 할 방법도 모르겠다.
학습은 30분 정도나 걸렸다... 그사이에 코드 고쳤다가 코드 수정됐어요~ 하면서 서버 멈춰서 두 번 더 처음부터 다시 하고... 분노 게이지 상승해서 계단 쪽에 잠깐 나갔다 옴 ㅋㅋㅋㅋ.
학습 전체적으로 된 거 한 번 캡처하고 나서 퇴근했다.
21.06.01. 화
api 쓸 때 필요한 key를 코드에 넣는 게 아니라 따로 관리해야 할 것 같아서. env에 대해 찾아봤다. 파이썬에서도 그냥 쓰면 되는 것 같더라. 검색해서 적용했음.
오늘은.. 코드 정리 좀 하고.. 프론트 작업을 좀 했던 것 같다. 그러면서 또 많은 오류와 마주했지..
django 공부 좀 더 했고.. 차트도 해보면 좋을 것 같아서 이래저래.
뭔가 개발을 많이 했다기보다 할만한 걸 찾아보는 형태였던 것 같다.
21.06.02. 수
정말 웃기게도 날씨 데이터를 넣은 결과가 더 좋지 않았다. ㅋㅋㅋㅋ 허튼짓... 허탈함이 밀려온다. 도대체 왜..
.. 그래서 그냥 지워버렸다.. ^0^ 다 주석 처리하고 그냥 매출 데이터만 가지고 학습했던 원래 형태대로 돌려놨다.. ㅋㅋㅋㅋ
오늘은 원래 내 담당 일 관련해서 볼 게 있었다. 법인카드 데이터가 넘어오지 않아서 좀 확인을 해야 했다. 신규 발급한 카드의 경우, 새로 갱신을 해줘야 되더라. 갱신 안 하면 안 찾아지고 데이터도 안 넘어간다.
그리고 다시 ai 프젝으로 돌아와서...
사실 학습이 잘 되는 게 더 중요하지만.. 보여주는 것도 보여줘야 되기 때문에 프런트 작업도 좀 했다.
그런데 상승률이 +냐 -냐에 따라서 색을 좀 다르게 넣고 싶었는데 if 문 넣는 것 관련해서 막힘..ㅋㅋㅋ 데이터 넘기는 것도 내 생각 같지가 않고. 하하하하.
그래도 어느 정도 실마리가 보이는 것 같은데? 하는 정도까지 하고 퇴근시간 되어서 퇴근했다.
21.06.03. 목
어제 하다 만 부분을 마무리했다. + - 에 따라서 파란색, 빨간색으로 카드 색상이 변경되도록 했다.
이렇게 써야만 하는 거였구나.. 하면서 새로 알게 됐다. 해결이 되니까 재미있었던 것 같다.
생각지도 못하게 났던 오류가 또 있었는데, 그건 type 문제였다. number, string에 따라서 좀 문제 생기는 거. python은 동적 타입 언어라서.. 타입 지정을 안 하고 쓰다 보니까 이런 문제가 좀 있지.
이제 상세 페이지를 만들 차례였다. 이건 또 어떡하나. 데이터를 어떻게 넘겨줘야 하나 고민하면서 만들어나갔다.
그런데 오늘따라 뭔가 머리가 잘 돌아가는 느낌. 이 값을 넘기고, 그렇게 호출해서, 그 값을 받으면 되겠네! 하며 열심히 프로그래밍.. 그리고 성공~ 좋다 좋다.
그래프도 추가하면 좋을 것 같아서 chart.js에 대해서도 공부했다.
음... 하면서 내 맘 같지 않은... 문제들과 많이 만남. 크기 조절이 안 된다 ㅋㅋㅋ.
일단 넘어가기로 하고.. 그것보다 중요한 실제 매출액을 가져와야겠다.. 하면서 머릿속에 있던 걸 다 작성을 하고 난 후 돌린 순간.
..?
???
갑자기 되던 게 안 된다. 오류가 난다.
왜..? 뭐가 문제지? 뭔데? 왜?
새로 model 만들어서 그런가? 하면서 새로 작성한 부분 다 지우고 실행해도..
안 된다.. 왜.. 왜 안 되는데 ㅠㅠ 깃허브에 올려놓지도 않아서 되돌릴 버전도 없었다.
으아아아.. 그때부터 짜증과 분노에 휩싸이기 시작했다.
원인을 찾을 수가 없었고.. 오류를 검색해보면서 이건가 저건가 해봤지만..
모델만 여러 번 삭제하고 다시 만들고 하는 과정에.. 주석 처리도 했다가 지웠다가 난리에..
스트레스만 가득 쌓였던 것 같다. 욕 나오고 ㅋㅋㅋㅋ 계단 쪽에 가서 화 좀 식히고 오고.
다시 보다가.. 결국 퇴근할 때까지 안 되어서.. ^0^ 짜증 난 상태에서 회사를 나왔다.
하필 또 비가 오는 날이었어서 우중충에 찝찝했는데 더 싫었던 것 같다....
내일은.. 내일은 해결할 수 있을까?
21.06.04. 금
어제 좀 늦게 자서.. 피곤피곤했다. 늦게 잔 이유가 좋은 이유긴 했지만!
아무튼, 오류 고칠 생각에 좀 두렵긴 했는데... 정신 차리고! 하나씩 봤다.
실행이 되는 모델과 안 되는 모델이 있었는데, type을 확인해보니 두 타입이 달랐다.
호오. 이 문제인 것인가. 구글링으로 문제 해결법을 찾았고, migrations, migrate 어쩌고 해서 파일 다 삭제하고 다시 만들고 해 봤더니 동일한 type이 되었다.
그런데! 그게 문제가 아니었다. type은 제대로 됐는데, 오류는 여전히 동일한 오류가 났다.
그렇다면.. 모델의 문제가 아니라는 소리인데.
싸한 느낌에 다시 생각을 해보니... 아... 내가 util로 만들었던 date라는 파일 때문이었다.
date라는 게.. 파이썬에서 제공하는 date가 있고, 내가 util로 만든 date 파일이 있었는데 그게 이름이 동일해서 혼동되어 쓰인 탓에 ㅋㅋㅋㅋ 문제가 생긴 거였다.. ^0^..... 아..
date -> date_util 이름을 바꾸니 정상 동작함.. ^0^.... 아이고.... 이름을.. 주의해야겠다는 생각이 크게 들었다.
그 뒤로는? 어제 하다 말았던 model 관련해서 실제 매출액 가져오는 것도 넣었고, 그래프 그리는 것도 추가했다.
그래프 그릴 때 서로 가져온 데이터가 다른 경우에 좀 문제가 생기는 게 있어서 코드를 작성했는데, 오래간만에 알고리즘 문제 푸는 것 같았다. ㅋㅋㅋ 알고리즘... 내가 널 많이 싫어한다....
그렇게 하고 나니. 뭘 해야 할지를 모르겠더라. 뭐하냐 하다가, 이제 이 정도 만들었으니까 이거를.. 깃허브에 얼른 올려둬야겠다 싶었다. 어제 잘못되고 나서 진짜 슬펐었기 때문. 다시 되돌릴 방법도 없었고.
그래서 깃헙에 올리기 위한 정리를 했다.
print를 지우고, 주석을 지우고, 이상하게 작성했던 변수명 같은 것을 고쳤다.
그것만 해도 시간이 꽤 많이 지나갔던 것 같다.
적당히 정리를 마치고 add commit push...
12개의 커밋을 날렸다. 이렇게 다 완성하고 나서 한꺼번에 날리면 안 되는데 ㅋㅋㅋ 할 때마다 해야 되는데.. 귀차니즘이라서 이렇게 되어버렸네.
점심은 차 타고 근처 아웃렛에 가서 중식을 먹었다. 짬뽕집이었는데 탄탄면이 먹어보고 싶어서 시켰다. 처음에는 맛있었는데 ㅋㅋㅋ 땅콩 맛이 너무 강해서.. 마지막에는 그렇게 만족스럽지는 않았던 것 같다. 탄탄면은 원래 이런 건가... 생각했던 것과 달랐다. 양은 많아서 배는 꽉 찼음.
회사 근처에서 맛있는 음료수도 사 먹었고.. 기분 좋은 점심시간이었다.
퇴근하기 한두 시간 전쯤이었나, 과장님께서 화면 구성은 공짜 템플릿을 이용해보라고 하셔서 그걸 보고 있었다. 어떤 걸 사용할까.. 우리한테 맞는 건 뭘까 찾아보면서 하나를 골랐고, 어떻게 되어있는지 구성을 살피고 어디에 넣으면 되는지를 확인하는 시간을 가졌다.
퇴근 시간이 다 됐을 때, 팀장님께서 오셔서 다음 주에는 어떻게 되고 있는지 보여달라고 하셨다..
^0^ 와 부담스러워! 하지만 사실 보여드리는 게 맞지 ㅋㅋㅋㅋㅋ 이때까지 안 보여드리고 있었음 ㅋㅋㅋㅋ 사실.. 답답하셨을 텐데 지금까지 기다려주신 것일 것이다.
ㅋㅋㅋ. 근데.. 사실 죄송한데요 팀장님, 이거 결과 제대로 안 나와요 ㅋㅋㅋㅋ 예측 진짜 제대로 되는 게 없어요 ㅋㅋㅋㅋ 그리고 제가 지금 만들어 둔 게 있기는 하지만 엄청 구리답니다... 다음 주에 어떻게는 템플릿에 넣어서 그나마 보기 좋게라도 만들어볼게요 ㅋㅋㅋㅋㅋ 하는 생각을 하며.. 네..라고 했다. ^0^.... 와우..
그리고 퇴근. 엄청 피곤해서. 원래 공부해야 되는데 공부 안 하고 카톡 하면서 갔다.. ^0^... ㅎㅎ
주말이다~