티스토리 뷰

Programing/TIL

20190622

oh-yes 2019. 7. 14. 21:10
20190622

1. DDD Start 8장 읽기

애그리거트 트랜잭션 처리에 대한 내용으로 애그리거트 수정이 동시에 발생했을 경우, 이를 어떻게 처리 할지에 대한 내용을 담고 있다. DB 레벨에서의 선점 락과 선점 락으로 인해 발생할 수 있는 문제(데드락)을 회피하기 위한 비선점 락에 대한 전략(JPA-Hibernate의 @Version을 활용한 업데이트 전략) 그리고 오프라인 락을 통하여 락에 대한 선점을 미리 하는 방법까지 간단하게 학습할 수 있었다.

다시 읽어보면서 내용 정리를 해보고 좀 더 깊게 생각해봐야겠지만, 실제 업무에서는 대부분 DB 레벨에서의 선점 락을 사용하는 경우가 많았는데, 디비 레벨에서의 선점 락을 사용할 경우, 락을 대기하는 스레드가 발생하여 실제 동시성에 크게 영향을 주면서 개발을 할 수 밖에 없었다. 하지만, 비선점 락을 잘 연구해보고 활용할 수 있다면 굳이 선점 락을 사용하지 않고도 Update 성격의 데이터 처리를 할 수 있겠다라는 생각이 들었다.

이번 장을 읽으면서 좀 더 와닿은 예제는 아틀라시안 컨플루언스의 사례였다. 회사에서도 컨플루언스를 사용하면서 실제 같은 페이지를 수정하는 경우가 종종 있는데 여기서 적용된 락에 대한 정책이 바로 오프라인 락 정책이었다는 사실에 내가 모르고 못 보는 여러 개발에서 실제 책에서 본 그런 내용들이 적용되어 있음에 스스로가 아직 한참 멀었구나 하는 생각이 들었다.

2. 백기선님 REST API 강좌 듣기

그런 REST API로 괜찮은가을 보고 내가 여태까지 개발해놓고 스스로 REST라고 불렀던 API들은 사실 그냥 WEB API 혹은 HTTP API 정도가 되는 것을 알게 되었다. 사실 이전에 REST라고 하면 그저 자원을 URI로 식별하고 자원에 대한 행위를 HTTP METHOD로 하며 HTTP 명세에 있는 헤더 값을 잘 활용하는 정도라고 생각했는데, 내가 생각 정의한 내용은 말그래도 REST 모델에서 아주 일부분에 불과한 사실...

그래서 좀 더 내가 만든 API 그리고 앞으로 개발할 내용에서 보다 충실한 REST한 API를 만들고 싶다는 생각이 들어서 강의나 리소스를 찾아보다가 발견한 것이 백기선님 강의이다. 사실 Spring Boot에 대한 내용보다는 실제 REST한 구현에 필요한 방법론이나 접근 방식이 더 궁금해서 강의를 구매한 이유가 더 컸다. 7강까지 들었는데 서두에서 예제로 보여줬던 다양한 API들(네이버, 카카오, Github)의 예시를 들었던 것도 좋았고 컨퍼런스에서 발표하셨던 내용을 한번 복기 해주는 것도 좋았다.

시간이야 늘 없다지만, 짬짬히 듣고 예제코드까지 완성해야겠다.

'Programing > TIL' 카테고리의 다른 글

20190810  (0) 2019.08.10
20190714  (0) 2019.07.14
20190609  (0) 2019.06.10
20190603  (0) 2019.06.03
20190528  (0) 2019.05.28
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함