항해 99 회고록 : 1주차 < 미니프로젝트 & 알고리즘 >

RobinChoi·2022년 1월 16일
1

항해99

목록 보기
2/2
post-thumbnail

항해 1주차가 지났다. 이번 주차에 진행한 내용을 간단히 글로 작성해 놓기로 한다.

미니프로젝트 (1/10 ~ 1/13)

1) JWT 토큰 방식을 사용한 로그인 처리
2) jinja2 문법을 사용하여 API로 서버사이드 렌더링

이 두 방법을 반드시 적용한 웹 사이트를 만들어 내는 것이었다.

우리 조는
1) 국내 조주기능사와 IBA 세계협회에서 주는 칵테일 레시피를 DB에 저장하여 칵테일 레시피를 보여주고,
2) 유저별로 좋아요를 누른 레시피를 보여주고,
3) 자신이 직접 커스텀 레시피를 공유할 수 있고,
4) 댓글로 각 레시피 당 평점을 넣을 수 있는
사이트를 만들었다.

첫 날 주제를 정하는 부분부터, DB 및 API 기능까지 모든 부분이 스무스하게 진행되어서, 바로 작업에 들어갈 수 있었다. 특히 "작업 스코프가 넓어서 시간 내에 진행을 못할 수도 있을 것 같다"는 튜터님의 코멘트가 있었는데, 미리 우선순위를 정하여 시간 내에 구현이 어려울 것 같은 기능들은 과감하게 제거했다. 팀원들과의 의사결정 속도도 매우 빨라서 더욱 더 과제에 몰입할 수 있었던 것 같다.

깃이라는 것

대부분의 항해99 학생들이 현재 깃으로 프로젝트 관리를 하고 있을텐데, 보통 개인 레포지토리에 올리기 때문에 commit, push, pull 외에 다른 명령어를 쓸 일이 거의 없다. 나만 해도 이번에 깃을 협업툴로 사용하게 되면서 제대로 공부해볼 수 있었는데, 프로젝트에 돌입하기 전에 텍스트 파일을 만들고 브랜치를 만들어 merge하는 연습을 했는데..

DB, API 짜는데 2시간, 깃 배우는데 4시간..에러가 현실이 되다..


다들 터미널, 소스트리, 깃허브 데스크탑을 이용해 깃을 사용하는데 난리가났다.. conflict의 연속.. 4시간정도 서로 깃을 배우다가 아, 브랜치보다는 일단 메인으로 끌고가자 해서 우리는 아주 원시적인 방법으로 프로젝트를 진행하기로 했다. 바로 푸쉬할 때마다 서로한테 알람을 주는 것.. 그렇게 우리는 메인 하나로 별다른 컨플릭트 없이 프로젝트를 마무리 할 수 있었지만, 아쉬운 점을 굳이 하나 꼽자면 이 부분이었다. 다음 번 프로젝트를 진행하기 전에 기능 별, 작업자 별 브랜치를 별도로 만들어서 테스트 후 머지하는 방법을 꼭 숙지하고 들어가는 것이 나의 첫 번째 목표이다.

협업을 배우다

원격으로 진행하는 프로젝트는 처음이라서 사실 고민을 많이했는데, 너무 좋은 조원들을 만날 수 있던 덕에 일이 수월하게 흘러갔다. 특히 조장님을 비롯한 다른 분들이 기능 구현에 있어서 신의 손급으로 손이 빨라서 프로젝트를 빨리 마무리 할 수 있었던 것 같다. 내가 맡은 부분은 리스트페이지를 출력하고, 레시피별로 출력할 수 있게 API를 만들고, html을 구성하는 부분이었는데, 혼자서 진행하기 버거운 부분이 많았는데도 다들 기능 구현부분을 도와줘서 시간 내에 끝낼 수 있었던 것 같다. 스스로 부족한 점을 느꼈지만, 이 경험을 통해서 다시 공부하는 자극제로 삼은 시간들이어서 힘들었지만 소중했던 시간이었다.

알고리즘 (1/14 ~ )

미니프로젝트 이후 만나게 된 알고리즘. 항해99 심화반 트랙이 생기면서 기존 기본반과의 가장 큰 차이점이 이 알고리즘을 4주동안 진행하는 것이었기 때문에 꽤 기대를 가지고 있었다. 책도 아주 훌륭한 책으로 선정을 해주셔서, 기쁜 마음으로 배우고 있다. 책이 난이도가 알고리즘을 시작하는 사람들에게 있어서는 꽤 있는 편이었기 때문에, 코드를 짜면서 낑낑대기보다 현재는 일정 시간을 지나서 못푸는 문제는 해석을 하는 방법으로 알고리즘 주간을 헤쳐가고 있다.
자료구조 역시 꽤 애를 먹고 있기 때문에, 예전에 배웠던 자료구조 내용에 + 각 자료구조 별 파이썬 구현을 중점으로 공부를 해나가고 있다.

컴퓨터적, 수학적 사고를 기르는 법
나는 백준에서 조금씩 공부를 했었지만, 자바 베이스였고 초보 문제 위주였기 때문에 사실 책 내용의 난이도가 쉽지는 않았다. 공부하면서 가장 급선무라고 판단한 부분이 바로 컴퓨터적 사고로 문제를 풀어내는 법이었고, 새로 만나게 된 조원분이 플로우 차트를 그려보면 좀 더 쉬울거라고 하셔서, 현재 그런 방식으로 문제를 풀어내고 있다. 한달 뒤 목표가 프로그래머스 2~3레벨로 치고 올라가는 건데, 이번 시간을 내 로직 개선의 발판으로 삼을 수 있게 알고리즘에 온 힘을 다하려 한다. 다행히 좋은 팀원분들을 만나서 이번에도 잘 해쳐나갈 수 있을거라고 자신한다.

같이 일하기 좋은 사람

프로젝트와 알고리즘 스터디를 하면서 느끼는 부분은 일단 개발은 절대 혼자 할 수 없기 때문에, 늘 열려있는 자세를 가지고 좋은 관계를 만들어나가는 것이 핵심이라는 점이다. 코드를 잘 짜는 것도 물론 중요하지만 같이 일하기 좋은 사람이 되어야 좋은 코드도 짤 수 있다고 생각한다. 지금까지 항해99 기간동안 정말 고맙고 감사한 분들을 많이 만나서 행복했고 더 배우고 성장할 수 있었던 것 같다. 아직 받는 입장에 많이 처했기 때문에, 좋은 분위기를 유지하고 부차적인 것에만 도움을 줄 수 있었지만, 항해99 기간동안 성장하여 나도 반대로 많은 도움을 줄 수 있는 그런 개발자가 되기를 소망하고, 노력하고 있다.

profile
Connecting the dots

0개의 댓글