일단 지금 코드에서


부작용이 한눈에 보이거든?


저 execute부분 빼면 부작용이 없고


저 함수는 걍 1. DB에서 값 읽어오기

2. DB에 insert하기


이 두가지 부작용밖에 없음.


물론 읽어오는 부작용은 눈에 띄지 않고, 나는 이거는 Optional Lock으로 퉁쳐버렸어.

그냥 OptionalLock을 통해서 읽기는 무조건 안전하다고 가정해버릴거고 부작용으로 생각을 안할거야.





근데 이 글 쓰다가 눈치챈건데,

부작용을 발생시키고 다시 값을 읽어오는 부작용을 할 때에는 이게 중요하겟더라?


잠깐 고민좀 들어가볼게



결국은 나는 코드에서 부작용이 딱 잘 드러나도록.



이부분만 유의해서 보고

나머진 다 순수함수니까 계산식 까보던가 걍 잘 구했겠지 하고 넘기셈 안전함.



이걸 만들고 싶은건데



부작용을 어떻게 잘 격리시킬까 그 고민만 남아있음