향해99

1주차 회고

dev_0hoon 2024. 6. 22. 15:55

1. 문제 (과제, 프로젝트를 진행하면서 부딪혔던 기술적인 문제)

Q.이번 주차를 지나며 겪었던 문제가 무엇이었나요?

A. Test 코드 작성은 처음 작성하는 것에 가까웠습니다. 초반에는 @SpringBootTest를 걸어 서버를 돌리며 테스트를 진행했습니다. 작성을 진행하던 중 이건 통합테스트라는 것을 알게되었고, 단위테스트로 진행하기 위해 Mockito를 처음 사용해보게 되었습니다. 따라서 단위테스트에 대한 개념을 좀 더 알게되었고, Mockito를 사용하면 DB데이터에 상관없이 오로지 비지니스 로직에 대한 테스트만 가능한 것에 생산성이 많이 올라갈 수 있겠다는 생각을 하게 되었습니다.

2. 시도

Q. 문제를 해결하기 위해 어떤 시도를 하셨나요?

A. 처음 알게되는 개념들 특히 Mockito와 동시성에 대해 무작정 코드를 작성하기 보다는, 개념을 찾아서 이해를 하려고 노력했습니다. 일부러 실패 케이스를 작성해서 내가 작성하는 코드가 예상대로 움직이는지, 내가 생각한 개념이 맞는지를 테스트하려 했습니다.

 

3. 해결

Q. 문제를 어떻게 해결하셨나요? 

A 문제가 생길 때마다 검색을 하거나, 코치님께 질문했습니다. 다만 이야기를 들어도 개념이 잡히지 않는 경우가 많았습니다. 동료에게 물어보거나 검색한 것 같습니다.

 

A2. 동시성에 대한 개념은 실무에서는 본적이 없었습니다. 그렇게 많은 사용자가 이용하는 홈페이지를 다뤄본 적이 없었고, 프론트 단에서 처리하는 것만 몇번 봐왔습니다. 향해99를 통해 동시성을 직접 구현해보고 테스트함에 있어 좋았습니다. 동시성 문제를 해결하기 위한 여러 방법이 있고, 테스트해보며 시간을 많이 투자했던 것 같습니다.

4. 알게된 것

Q. 문제를 해결하기 위해 시도하며 새롭게 알게된 것은 무엇인가요?

A. 전문적인 용어 지식의 부재라고 생각되었습니다. 이런 전문적인 단어를 사용하는 개발자를 본 적이 없었기에, 접할 기회가 없었던 것 같습니다. 코치님이 말씀하시는 단어들을 들릴 때마다 받아적고 찾아봐야 할 것 같아요..

 


 

### **Keep : 현재 만족하고 계속 유지할 부분**

Q. 이번 주를 마무리 하며 나에게 만족했던 부분은 무엇인가요?

A. 과제 제출이 중요하긴 했지만, 개념을 이해하려 시간을 보냈습니다. 그 부분이 만족스럽습니다.

### **Problem : 개선이 필요하다고 생각하는 문제점**

Q. 이번 주를 마무리 하며 개선이 필요하다고 생각했던 문제점은 무엇인가요? 

A. 전문적이 지식의 부재가 문제가 되었다고 생각합니다. 

 

### **Try : 문제점을 해결하기 위해 시도해야 할 것** 이 문제점을 해결하기 위해 다음 한 주간 시도 할 것은 무엇인가요?

A.  컨트롤러 테스트를 하지 못했기 때문에, 이번에 추가해서 작성해봐야 할 것 같습니다. 또 시간확보가 어려웠습니다. 한 주간 루틴을 잘만들어서 해결해봐야 할 것 같습니다. 

A. 동시성 테스트를 할 때 사용하는 라이브러리에 대해 시간이 없어 무작정 사용한 부분이 있습니다. 개념을 조금 더 채워야 할 것 같스빈다.

A. 테스트코드에 너무 꽂혀 서비스 로직에 대한 명확한 리팩토링, 클린한 코드 작성을 못한 것 같습니다. 차주에는 서비스 로직에 집중하며 테스트 코드를 작성 해보도록 해야 겠습니다.