리팩토링 전 상태: https://github.com/Wanted-preonboarding-team4/8percent-assignment-2
리팩토링 repo : https://github.com/Heon4856/8percent-assignment-2
리팩토링 전 상태 점검
1. serializer가 없어서, view 단의 코드가 지저분함
2. 테스트 코드가 미비함.
3. 거래내역 1억건에 대한 고려나, 잔액 무결성에 대한 고려가 빈약함.
이에 따른 리팩토링 계획
0. 과제의 의도 파악하기.
1. 문제의 해석
1) 왜 이러한 문제를 줬을까?
8 퍼센트는 핀테크 기업이다. 핀테크 기업에게 제일 중요한 것은 신뢰다. 사고는 곧바로 고객의 손실로 이어지거나 적어도 고객의 신뢰 저하로 이어진다. 때문에 견고하고 사고없는 프로그래밍이 매우 중요하다. 이에 따라서 계좌의 잔액과 거래내역의 잔액 무결성이라던지, 1억건이 넘어가더라도 손실이 없고, 빠르게 찾을 수 있는 부분에 대한 고려가 필요하다.
극단적으로 보수적으로 잡도록 할것이다.
1. drf 도입을 통해 view 단 코드 정리 --> 했음.
2. 테스트 코드 작성 -->12.11 하는 중
3. 거래내역 1억건에 대한 풍부한 고려 및 잔액 무결성에 대한 고려를 할 것. -->했음.
하면서 공부한 것:
https://semper-fide1is.tistory.com/104
1억건과 관련하여 :
1) 인덱싱을 해야한다.
https://jojoldu.tistory.com/243
2) partition을 해야한다.
https://stackoverflow.com/questions/22269720/how-to-do-db-partitioning-on-a-field-in-django
--> 근데 여기서 설명되어있는 라이브러리는 너무 업데이트가 안되어있어서,, 원래 라이브러리를 사용하였음.