해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :)
수강 회고
그동안 마스터즈 코스 과정을 하면서 팀원들끼리는 물론, 혼자서도 오프라인 모임(카페 등)에서 프로그래밍을 해본 적이 없었다. 마스터즈 코스 과정을 시작하기 전부터 코로나 확진자 수가 급격하게 증가하여 3월에 일일 확진자 수가 무려 60만명을 상회했었기에 오프라인 모임에 나가는 것이 껄끄러웠기 때문이었다. 이로 인해 나는 지난 4개월 간 집에서만 프로그래밍을 했었다.
하지만 저번 투두리스트 팀 프로젝트를 하면서 팀원들과 많은 의사소통을 하면서 오프라인 모임에 대한 Needs가 조금씩 생겨나기 시작했다. 아무래도 Zoom 등의 화상 회의 프로그램을 통해서 소통하다보니 여러모로 소통하기가 쉬운 일이 아니었다. 때마침 이번 반찬 서비스 미션 때 같은 백엔드 역할을 맡게 된 피오가 나의 집과 가까운 곳에 살고 있었기에 오프라인 모임을 해보면 어떨까라는 생각이 문득 들었다. 더욱이 요즘 코로나 확진자 수 추이가 점차 감소세에 있었기 때문에 지금이 적기라고 생각이 들어, 오늘 오전 마스터 클래스 강의를 수강한 이후 오후에 구로역 인근 카페에서 피오와 오프라인 모임을 가졌다.
처음으로 오프라인 모임을 통해 프로그래밍 관련 의사소통을 해보니 (당연히?) 화상 회의 프로그램을 통해 의사소통을 하는 것 보다 훨씬 효과적이었다. 화상 회의 프로그램을 통해 의사소통을 진행할 때는 내가 말할 때 상대방이 어떤 생각을 가지고 있는지를 제대로 파악하기가 쉽지 않았고 말하는 타이밍을 맞추는 것 역시 까다로웠었는데 이렇게 오랜만에 오프라인 상에서 의사소통을 해보니 상대방에게 나의 의사를 좀 더 명확하게 전달할 수 있었던 것 같다. 아울러 상대방이 말하는 것도 오프라인 상으로 들으니 좀 더 이해가 잘 되는 느낌을 받을 수 있었다. 무엇보다 상대방과 편하게 대화가 가능해져 중간중간 잡담(담소)을 나누기도 용이하여 분위기가 딱딱 끊어지는 화상 프로그램을 통한 의사소통과 달리 분위기가 자연스럽게 흘러갔었던 것 같다.
사실 온라인 모임과 오프라인 모임의 장단점이 있는 것 같다. 단순히 정보 공유 차원에서의 모임은 모임에 오고가는 시간을 절약하는 차원에서 온라인 모임이 더 적절해 보이고 팀 프로젝트처럼 업무적으로 많은 의사소통이 필요할 때는 오프라인 모임이 더 적절해 보인다. 팀 프로젝트를 하면서도 사실 각자 맡은 일을 수행하면서 단순한 정보 전달만을 한다면 굳이 오프라인 상으로 만날 필요는 없을 것 같다는 생각이 들었다. 역시나 가장 좋은 것은 온라인 모임과 오프라인 모임의 '적절한' 균형이지 않을까 싶다. 😅
학습 회고
- 주문 서비스 웹 앱 구현 프로젝트
- 팀원들(백 엔드 2명, 프론트 엔드 2명)과 zoom 회의실에서 학습
ConnectionPool과 DataSource에 대한 이해
애플리케이션 서버와 DB 서버간의 연결(Connection)을 하는데에는 시간이 오래 걸리거나 자원을 많이 소모하는 등 비용이 많이 들게 된다. 이를 개선하기 위해서 애플리케이션 서버(WAS 등)에서는 DBMS(Database Management System)와 미리 연결을 해놓은 Connection 객체들을 Pool에 저장해 놓는데, 이를 ConnectionPool(DBCP)이라고 한다.
만일 연결이 필요해질 때(클라이언트의 특정 요청이 있을 때) 해당 Pool로부터 Connection 객체를 빌리고 사용한 후에는 다시 해당 Connection 객체를 Pool에 반납하는 것이다. 이때 만일 Connection 객체를 반납하지 않으면 ConnectionPool에 Connection 객체가 없어서 프로그램이 늦어지거나 심할 경우 장애가 발생하게 된다.
이때 이러한 ConnectionPool을 관리하는 목적으로 사용되는 객체가 DataSource이다. 애플리케이션 서버에서는 DataSource를 이용해 Connection 객체를 얻어오고 반납(close 메서드 호출 등)하는 등의 작업을 수행할 수 있게 된다.
학습 참고자료
- 부스트코스 '웹 프로그래밍(풀스택)'
좋았던 점
- 오늘 처음으로 오프라인 모임을 가져보았는데 Zoom으로 할 때 대비 의사소통에 있어 굉장히 효과적이었습니다. 👍
아쉬웠던 점
- 오전에 호눅스의 OAuth 관련 마스터 클래스 강의가 있었는데, 어제 수면 시간이 너무 부족해 제대로 집중하기가 힘들었습니다. 😥
이전 보다 개선되었던 점
- 그동안 코로나 확진 추세 때문에 오프라인 모임에 나가는 것에 대한 막연한 두려움이 있었는데, 팀원과의 거리적 가까움 및 최근 코로나 확진 감소 추이세로 용기를 내어 오프라인 모임에 나가게 되었습니다. 지난 4개월 동안 온라인 모임만을 하면서 모임 내지 협업을 진행했었으나, 오늘 오프라인 모임을 통해서 오프라인 상의 협업 방법을 조금이라도 익힐 수 있었던 것 같습니다. 🥕