6주차 ) 첫 조별 프로젝트

작성: 2020.12.26

수정: 2020.12.26

읽는시간: 00 분

Development/DevLife

반응형

6주가 지났습니다.

 

뭐라도 할 수 있을까? 에서 

뭐든 할 수 있겠다. 싶을 정도로 많은 것들을 새로 배우고 있습니다.

 

조별 과제를 시작했습니다.

코딩을 하는데 협업을 단 한번도 해본적이 없기 때문에 기대보다는 막연함이 앞섰습니다.

조별과제가 시작된 직후엔 압박감과 무력감에 스트레스가 굉장히 심해졌습니다.

주어진 시간은 1주일 뿐인데 당장에 할 수 있는게 아무것도 떠오르지 않았습니다.

 

앉은 컴퓨터 자리대로 3명씩 팀을 배정해 주셨습니다.

다행히도 바로 옆자리 팀원은 수업시간에 막히는 부분이나 어려운 부분이 있으면 서로 도와가며 하다 보니

지금 배우고 있는 java 와 database 에서 서로 어느 부분까지 어느 정도로 이해를 했는지 대부분 인지를 하고 있었습니다.  이 친구는 수업내용을 조금은 어려워 하지만 본인이 수면시간을 줄여가면서도 어떻게든 진도를 다 따라왔습니다.

한자리 건넌 자리의 팀원과는 물리적인 거리때문에 전혀 수업이나 진도에 대해 교류를 하지 못해서, 수업내용을 어디까지 이해하셨는지 전혀 알 수 없었습니다.

 

저희 학원은 수업 진도가 굉장히 빠릅니다.

저는 하루 24 시간중에 취침시간과 저녁식사시간, 아침 학원에 가기 전과 귀가 후로 와이프와 커피한잔 하며 대화를 하는 시간을 제외하고는 하루의 모든 시간을 수업쉬는시간, 점심시간도 아껴가며 공부만 했는데도 수업진도를 맞춰 따라 이해하기가 정말 버거울 정도였습니다. 

 

너무 빠른 진도때문에 건너자리의 팀원분은 수업내용이해에 어려움을 겪고 있는 듯 했습니다.

어느 정도 까지 이해하셨는지 확인하기 위해 동의를 얻고 그분의 과제와 개인 자유과제 발표 프로젝트 코드를 살펴 보았습니다. 수업내용을 놓친지가 꽤 되신 듯 했습니다.

 

고민이 많아졌습니다. 

일주일동안 혼자 공부만 한다고 하셔도 그 진도를 따라올 수 있을까 말까 할 정도로 수업 진도가 너무 나가버렸습니다.

하물며 거기에 팀 프로젝트까지 참여하기가 가능할까 싶었습니다.

 

조별 과제 진행에 대해 몇가지 방안을 생각하며 고민에 빠졌습니다.

 

1. 본인이 쉽게 할 수 있는 임무만 맡도록 한다.

: 이 경우 조별과제로 본인이 얻을 수 있는게 거의 없습니다. 자료조사하고 DB에 추가할 데이터들 수집해오는건 본인 시간을 데이터들과 교환하는 일인데, 지금 빠른 진도와 싸우고 있는 우리에게 '시간'은 가장 중요한 자산입니다. 불평등하게 시간낭비를 시키고 싶지 않았습니다.

 

2. 프로젝트에서 맡는 일을 최대한 줄여줘서 시간을 벌어준다. 그 시간동안 최대한 공부를 하며 진도를 따라오도록 한다.

: 처음에 2안으로 가려고 했습니다. 어떻게든 시간을 벌어주는게 본인에게 가장 필요할 거라 생각했습니다. 하지만 그저 시간이 주어진다고 스스로 공부해서 진도를 맞추는게 쉽지 않겠단 생각이 들었습니다. 모두에게 첫 팀 프로젝트인데, 이런식으로 좋은 기회를 놓치게 하고 싶지 않았습니다. 우리 팀 프로젝트에 좀 더 소속감을 가졌음 좋겠단 생각도 들었습니다.

 

본인이 할만한, 하지만 중요한 임무들을 분배해 주었습니다.

처음엔 프로젝트 화면 디자인하기 임무를 드렸는데 요구사항에 맞춰서 항상 신속, 정확하게 결과물을 주셨습니다.

수정이 필요해 피드백을 드리면 의도한 바를 정확히 캐치해서 수정해주셨습니다. 

디자인을 준비해 주시니 거기에 맞춰 구현만 해내는건 정말 편했습니다. 협업이 왜 중요한지 알 것 같았습니다.

 

프로젝트 전반에 대한 이해를 꼭 하셨으면 해서 발표도 맡아 달라고 요청을 드렸는데 흔쾌히 수락해주셨고 PPT 만드는것을 얼핏 봤는데 완성도가 너무 높아서 발표 퀄리티에 맞출 프로그램 준비를 걱정해야 할 정도가 되었습니다. 

일처리 확실하고 책임감 있고 성실합니다. 뭐든 이해가 빠릅니다. 걱정했던 제 스스로가 부끄러워 질 정도였습니다.

최종 프로젝트까지 계속 같은팀이었으면 좋겠단 생각이 들만큼 든든합니다.

 

함께 프로젝트를 조금 진행하다 보니 진행 방향에 대한 그림이 조금씩 그려지기 시작했습니다.

 

일단 팀원들 모두 Github 를 이용하자고 제안 했습니다. 새로운 Project에 맞춰 repository 도 생성 하고, 팀원들을 Contributor로 등록도 했습니다.

 

저는 수업 1주차가 끝난 첫 주말에 뭣도 모른채 주말에도 집에서 학원과 같은 학습 환경을 연동시켜두기 위해 낑낑대며 github을 가입하고 sourcetree를 설치해 뒀었는데, 팀 프로젝트에서 활용한다면 팀원 모두에게 큰 자산이 될거라 생각했습니다.

프로젝트를 github을 통해 진행하다 보니, 여태 제가 혼자 커밋하고 push&pull 했던건 github을 사용하는게 아니라 그냥 icloud 나 onedrive같은 데이터 클라우드를 사용했던 수준밖에 안됐다는걸 깨달았습니다.

github 사용에 익숙해지기가 너무나 힘들어 팀원들과 github 에 하루를 통째로 투자할 정도로 고생을 했지만, 마냥 버린 시간은 아니었습니다.

 

 

 

branch 를 처음으로 활용

세명이서 각자의 branch를 만들고 각자 준비한 파일들을 붙이니 신기하기도 하고, 드디어 처음으로 우리가 뭔가 할 수 있겠다는 생각이 들기 시작했습니다.

 

 

Projects 를 이용해 지금 진행중인 task들도 공유를 할 수 있고 요청도 진행 하기 시작했습니다.

 

 

issue를 활용해서 의견도 나누기 시작했습니다. 프로젝트에 체계적으로 함께 참여하며 기록도 남기니 정말 만족스럽습니다. 건너편 팀원분이 진도를 따라올 방법에 대해서도 윤곽이 잡히기 시작했습니다.

 

'이론'을 공부하며 수업내용을 하나하나 따라오는것 보다 함께 하는 프로젝트에서 바로바로 사용할 기술들을 사용하며 익숙해진다면, 나중에 결과적으로 수업내용을 포괄 할 수 있는 이론을 역으로 익히는게 가능하겠단 생각이 들었습니다.

Map과 List를 sql 쿼리를 사용한 문제를 풀어가며 연습할 수 있게끔 퀴즈를 드리는데 기대했던 것보다 10배 이상 잘 하고 있습니다.  수업 이해를 확인하기 위해 본인이 작성한 코드를 리뷰해봤을땐 객체지향 개념 들어가기 전 배열, 2차원 배열쯤 부터 이미 어려움을 겪고 있다고 생각했는데 개념 설명을 조금 해드리며 실습할 내용을 제안해 드리니 너무 쉽게 진도를 따라오셨습니다. 

 

하루 이틀정도 후면 본인 스스로 프로젝트에 기능 추가도 가능할 듯 합니다.

공부는 현재진행형입니다.

크리스마스가 낀 주말 토요일임에도 학원에 나와 제가 낸 문제를 풀 정도로 열의를 보여주셨습니다.

 

 

솔직히 객체지향과 try catch 까지만 진도 나간 후에 jdbc는 억지로 배운 느낌이 들다보니, 저도 이론에 대해 확실히 이해는 못하고 메서드 만들기와 활용 정도만 가능한 상황입니다. 나중에 네트워크 쪽 수업을 듣거나 스스로 책으로 공부할떄쯤 되면 이해 할 수 있지 않을까 싶습니다.

저도 이론을 이해못한 마당에 이론설명을 해드릴 수는 없고, 활용을 하며 익숙해 지는 방법을 택했습니다.

 

 

 

저희 팀이 준비중인 프로젝트는 근처의 맛집을 찾아주는 프로그램 입니다.

 

지금까지 6주동안 배운 내용으로 콘솔에서 작동되는 프로그램을 데이터 베이스를 활용해 만드는 것인데요.

 

매일 저녁 학원에서 가까운 식당을 찾아 끼니를 해결해야 하는데, 매일 무엇을 먹을지 고민하다가

 

학원에 다니는 많은 다른 학생들도 필요로 할 것이라 생각해서 주제로 정했습니다.

 

크리스마스 연휴를 활용해 기본적인 틀을 어느정도 구성했습니다.

 

매일 점심 반에서 도시락 주문할 사람들을 모아서 한명이 입금을 받고 대표로 주문해주고 있는데,

그게 과정이 굉장히 번거로워 보여서 프로그램으로 저희가 해결 할 수 있으면 좋겠다 싶어 기능을 준비중입니다.

매일매일 누가 입금했고 누가 입금 안해서 입금하지 않은 사람에게 입금해달라고 카톡 보내는 것도 불편해 보여서

애초에 만원정도씩 입금을 하면 '적립금' 형태로 활용해서 본인의 적립금 내에서 입금 과정 없이 '도시락주문' 이 가능하도록 해볼 생각입니다. 

 

데이터베이스도 컴퓨터 안에서만 실행되는 로컬컴퓨터 데이터가 아닌 진짜 서버가 필요한듯 해서 어제 밤을 새가며 Oracle cloud에 무료 instance를 하나 만들어 봤습니다. 

리눅스, 우분투 이런거 말로만 들어봤지 해본적도 없어서 낑낑대며 힘겹게 노력해서 

아직 DB 구축까진 못했지만 간단한 홈페이지 서버 정도는 만들 수 있었습니다.

 

 

 

 

 

페이징 처리 하는것도 처음이 어렵지, 몇번 반복해서 하다 보니 할만 했습니다.

 

조금씩 함께 구상했던 내용들이 형태를 갖추기 시작하니, 처음에 걱정했던 내용들은 사라지고

즐겁고 재밌다는 마음에 프로젝트 진행에 따라 벅차오르기 시작했습니다.

 

지금은 콘솔 화면에서 구현할 수 밖에 없지만, 열심히 하다 보면 머지 않아 실제 서비스 할 만큼 좋은 퀄리티의 프로그램을 만들 수 있을거란 생각이 듭니다.

 

다음주 발표일까지 열심히 준비해보겠습니다.

다음 주말에는 발표 후기와 프로젝트에 대한 자세한 설명을 올리도록 하겠습니다.

반응형