BEYOND SW 캠프 15기 4주차 회고

mijuckboon·2025년 2월 15일

Intro

정신없었던 4주차가 끝났다. 먼저 무엇을 배웠는지 정리해본다.

학습 내용

Linux

리눅스에서 파일 관리 등 여러 명령어를 학습하고, DB 백업을 위한 레플리카 서버 구축 법을 학습하였다. 한 대의 컴퓨터에서 2개의 OS를 돌릴 수 없기에, 가상 머신을 이용한 가상화에 대해서도 배웠다.

배운 점

  1. 몸의 기억
    이미 많이 언급했던 "실습의 중요성"과 이어지는 이야기인데, 머리의 기억보다는 몸의 기억이 더 오래간다는 것을 느꼈다. 본인은 프로그래머스에 있는 SQL 108문제를 전부 풀어보았기에 SQL 명령어는 어느 정도 익어서 실습에 대체로 어려움이 없는 편이었는데, 리눅스의 경우 ls, cat, pwd, cd 같은 명령어도 숙지가 안된 상태이다보니 실습에 어려움을 겪었다. 그래도 수업 시간에 설명을 들으며 작성해보며 어느 정도 익숙해지긴 했다. 리눅스 CLI 명령어를 잘 아는 것이 중요하다고 알고 있는데, 많이 써보며 몸에 익히는 게 좋겠다.

  2. 수행 방법을 자세히 배우려는 태도
    프로젝트에서는 각자 개설한 GitHub Organization에 있는 저장소를 한화시스템 organization으로 import하는 것이 요구되었는데, 막연하게 "그렇게 하면 되는구나" 정도로만 생각하고 있었다. 그러던 중 한 팀원분께서 하는 방법을 몰라서 배우고 싶으니 import 하는 과정을 함께 보고싶다고 말씀하셨는데, 그때 나도 할 줄 모르는데 너무 막연하게만 생각하고 있었다는 걸 느꼈다. 저장소 import하는 모습을 함께 보았는데, 생각보다 어려운 점이 좀 있어서 함께 보기를 정말 잘했다고 생각했다. 그 팀원 분을 본받아서 방법을 작업에 대해서는 함께 보며 자세히 배우려는 마음가짐을 장착해야겠다.

  3. 타인의 프로젝트에서도 배울 점이 있다는 것
    프로젝트는 하면서 배우는 게 크다고 생각했는데, 금요일에 다른 팀의 발표를 들어보니 배울 점이 정말 많았다. 복잡한 비즈니스 로직을 처리하며 백엔드에서 고민할 법한 주제를 벌써 맞닥뜨려 해결해낸 팀도 있었고, 발표 진행 시 전체 ERD나 모델링 결과를 보여주면 알아보기 쉽지 않으니 기능별로 분리해서 발표한 팀도 있었다. 발표 구성에 대해 강사님께 질문을 드렸을 때 별도의 PPT를 준비하지 않고 readme를 함께 읽는 방식으로 해도 좋다고 하셨는데, 5팀이 전부 PPT를 준비해왔다. 또, 이번 프로젝트는 기능을 정확하게 구현하는 것도 중요하지만 그보다는 협업의 비중이 높은 느낌이었는데, 발표 내용을 들어보니 짧은 시간으로 진행되었음이 믿기지 않을 정도로 좋은 결과물들을 내신 것 같았다. 매니저님께서 함께하는 동기들 모두 잘 하고 좋은 분들이라고 말씀하셨는데, 생각했던 것보다 정말 수준이 높다는 것을 체감할 수 있었다. 이렇게 수준 높은 부트캠프에 함께할 수 있게 되어 정말 영광이다.

  4. 헛된 경험은 없다는 것
    본인은 수학교육 회사에서 1년 6개월을 재직하다가 개발자를 준비하게 되었는데, 그동안의 수학 공부 및 회사 생활 커리어를 모두 버리는 것이기에 날리는 시간이 되지 않을까 걱정하였다. 하지만 프로젝트에서 스프레드시트를 사용했는데 전 직장에서의 스프레드시트 사용 경험이 많이 도움되었고, 프로젝트에서 파이썬을 사용한 부분에서도 전 직장에서의 경험이 도움되었다. 프로젝트에 직접적으로 도움이 된 것 외에도 수학을 잘 알면 프로그래밍을 이해하는 데 도움되기에, 많이 돌아가고 있긴 하지만 그래도 그동안 경험해온 모든 것들이 헛되지 않았다는 것을 깨달을 수 있었다.

프로젝트 회고

인생에 있어 처음으로 개발 프로젝트를 해보았는데, 백엔드 등은 생각하지 않고 DB 단계까지 잘 설계해내는 프로젝트였다. 함께 한 다른 팀원 대부분이 개발 프로젝트를 해보신 분들이었는데, 이렇게 DB 단계까지만 해보는 건 처음이라고들 하셨다. 기간도 길지 않고 여러모로 제한된 환경이었지만, 나름 열심히 해내었다. 주간회고로 남기기에는 글이 너무 길어질 것 같기도 하고, 본인의 기여 내용에 대해서도 적어보고자 프로젝트에 대한 자세한 회고는 별도의 게시글로 남겨보려 한다. (TODO: 게시글 작성 이후 여기에 하이퍼링크 달기)
2025.02.15 작성 완료: 바로가기

발표 구성에 관한 생각

이번에 발표를 들어보니 프로시저를 작성한 부분 등 기술적인 부분에 대한 공유가 많았다. 개발자의 입장에서 도움이 될만한 내용이고 중요하지만, 만약 본인이 발표 내용을 구성했다면 다음과 같이 했을 것이다.

1. 프로젝트 개요, 주요 기능 (5분)
2. 협업 과정, 발생한 trade-off와 합의 결과 사례 (7분)
3. 트러블 슈팅 (3분)

프로젝트라면 결과물도 당연히 중요하지만, 강사님의 설명을 들었을 때 이번 프로젝트는 기능을 정확하게 구현하는 것보다는 협업이 꽤나 중요한 비중을 차지하는 요소인 것으로 판단하였다. (물론 앞으로 있을 모든 프로젝트에서도 당연히 협업은 중요하다. 어쩌면 이번 프로젝트보다 비중이 더 높을수도 있다.) 그리고 프로젝트 진행 과정에서 고민하고 해결한 부분을 조금 더 공유하고 어필하면 좋을 것 같다는 생각이 들었다. 위와 같은 구성으로 발표를 준비한 팀은 없었는데, 다음 프로젝트에서는 팀원들에게 위와 같은 구성을 제안해볼까 한다.

여담

수업이 끝나고 강의실에 남아서 함께 프로젝트를 하다보니 다른 팀의 회의 내용이 가끔 들렸는데, 우리 팀에서도 고민한 내용을 다른 팀에서도 논의하고 있는 걸 알게되면 반가웠다. "코딩 컨벤션", "20억" 이런 단어들을 우연히 듣게 되었는데, 후자의 경우 아마 INTBIGINT 중 어떤 자료형을 선택할지 고민하고 계셨던 것으로 보인다. (어쩌면 아닐 수도 있음)

교과목 평가 회고

프로젝트 제출 마감 및 발표일이었던 금요일의 마지막 시간에는 교과목 평가가 진행되었다. SQL 15문제, 리눅스 10문제로 총 25문제의 객관식 문제를 25분동안 푸는 것이었다. 리눅스는 평소에도 잘 몰랐던데다가 수업에서 다루어진 비중도 낮았다보니 많이 틀렸고, SQL은 비교적 익숙한 내용이라 나쁘지 않게는 보았다고 생각한다. (리눅스 6/10, SQL 12/15로 총 72점 획득)
결과 발표

리눅스의 경우 수업에서 할애한 시간에 비해 평가에서 차지하는 비중이 상당히 높았다고 생각되는데, 그만큼 리눅스가 중요하다는 의미로 보인다.

문제 상황

이번주에는 수업 진행에 따라 리눅스에 DB 서버를 구축하는 과정에서 어려움을 겪었다. 관련 내용을 공유해본다.

DB 서버 구축 시 보안 관련 작업 수행 실패

  • 설명: root 계정 비밀번호 설정 과정에서 다음과 같은 오류를 맞닥뜨렸다. 강사님께 도움을 요청드려 해결해보려고 mariadb를 지웠다가 다시 깔기도 해봤으나 같은 오류가 반복되었다.
    error 2002
  • 해결 방법: 감사하게도 팀원 한 분이 디스코드 화면 공유 요청을 하여 상황을 살펴보고 구글링 해주셨다. 다음 명령어를 입력하니 해결되었다. mysql 서비스가 시작하지 않아서 발생한 문제였다.
$ sudo service mysql start

개선할 점

프로젝트 준비를 위해 바빠서 그렇지만 주중에 노션 개념 정리를 전혀 하지 못했다. 주말 내로 최대한 작성해볼 예정이다.

느낀 점

프로젝트 수행 시 개인 기량 부족으로 맡은 기능을 완벽히 구현하지 못한 채 마무리되어 아쉬움이 남는다. 프로젝트 제출이 얼마 남지 않은 시점이 되어서야 어떻게 했어야 하는지가 머릿속으로 정리되었다. 그래도 좋은 팀원을 만난 덕분에 인생 첫 프로젝트임을 감안했을 때 꽤 훌륭한 결과물을 내었으며, 이번 프로젝트를 통해 많이 성장했다고 생각한다. 이번 프로젝트에서 미처 완성하지 못한 부분을 고쳐보는 것도 좋은 공부가 될 것 같다. 이번 경험을 통해 느낀 부족한 점을 개선하며, 앞으로 남아있는 프로젝트들을 보다 잘 수행해봐야겠다.

profile
곽진웅, 백엔드 개발자 준비 중

1개의 댓글

comment-user-thumbnail
2025년 2월 19일

와.. 글이 단단하네요!! 끝까지 화이팅!

답글 달기