SOPT 앱잼 - 서버 개발기📝 6

Seungjae·2021년 1월 6일
0

앱잼 개발기

목록 보기
6/8

중간과제 제출 완료👏


오늘은 아니고 정확히 말하면 어제 중간과제 제출을 완료하였다. 사실 진척도도 정리해보고 api명세서도 쓰고, readme도 작성하고 보니 생각보다 우리가 진행 속도가 빠른 것 같아서 매우 기분이 좋았다. 그리고 api명세서 작성, readme 작성도 쓸때는 문서작성이라 좀 귀찮고 지루했지만 나중을 봤을 때 더 좋은 경험이 된 것 같아서 만족스러웠다. 그리고 api명세서를 노션에 처음 써보는데 확실히 양식을 가져다가 쓰니 훨씬 속도도 빠르고 정리도 깔끔하게 된 느낌이었다. 앞으로 api명세서를 쓸 일이 있으면 양식을 이용해서 노션에서 정리하는 것도 좋은 선택이라고 생각했다. 이제 중간과제 제출까지 마무리했으니 이제는 클라이언트와의 소통을 통해 api를 수정하고, 아직 구현하지 못한 부분들을 구현하는 것에 초점을 맞추어 작업을 진행할 것 같다.

앞으로...🚪


이제 앞에서 말한 것처럼 api수정 및 남은 기능 구현을 중심으로 작업을 할 것 같다. 그리고 나중에 추가하면 좋을 것 같은 것은 transaction기능이 있었다. 사실 스프링에서는 사용 가능한 것을 알고는 있었는데 노드에서도 사용가능한지 잘 몰랐었는데, 같은 팀원이 사용 가능하다고 알려줘서 나중에 시간이 된다면 적용할 계획이다. transaction이란 예를 들어 설명하자면 은행에서 내가 돈을 어느 곳에 송금한다고 치자. 그러면 이것을 간단히 보면 2가지로 분류할 수 있다.(그냥 내 임의로 나눠봤다.)

  1. 돈을 송금했기에 내 계좌에서 돈의 금액이 줄어든다.
  2. 돈을 송금했기에 내 돈을 받은 사람의 계좌의 금액이 증가한다.

이렇게 2가지로 분류한다고 했을 때, 이 작업들은 한 세트로 이루어져야한다. 만약에 내 통장의 돈만 줄어들고 작업이 종료되거나, 내 통장의 돈은 줄지 않았는데 상대방의 통장의 금액은 증가할 경우 큰 문제가 발생한다. 이럴 때 사용하는 것이 transaction이다. 이러한 기능들을 하나로 묶어줘서 디비에서 이 2가지가 모두 안정적으로 완료되면 commit해주고 2가지 기능중 어느 기능이 진행되다가 오류를 만났을 경우 아예 이 2가지 기능 모두를 rollback해버리는 것이다. 우리 서비스에도 쓸 데가 있어보이므로 나중에 시간이 될 때 추가해도 참 좋을 것 같다.

profile
코드 품질의 중요성을 아는 개발자 👋🏻

0개의 댓글