
오늘은 처음으로 장암역에서 지하철을 탔다. 평소엔 인천시청역에서 타고 다녔는데, 장암역이 확실히 사람이 훨씬 적었다. 출근 시간임에도 앉아서 갈 수 있었고, 동수역에서 7호선으로 갈아탈 때도 마지막 열차라 그런지 다소 여유가 있었다. 물론 약간 끼긴 했지만, 이전에 비하면 무척 쾌적했다.
장암역에서 출발하는 건 오늘이 처음이었기에 시간을 조금 잘못 계산해서, 예상보다 신대방삼거리역에 일찍 도착했다. 그렇게 나가는 길에 우연히 한 할아버지를 마주쳤다. 오른쪽 벽을 손으로 짚으며 힘겹게 걸음을 옮기시는 모습이 눈에 들어왔고, 잠시 망설이다가 조심스럽게 도와드려도 될지 여쭤보았다. 그런데 할아버지는 환하게 웃으시며 괜찮다며, “학생도 바쁠 텐데 먼저 가요”라며 다정하게 말씀하셨다. 나는 웃으며 인사드리고 먼저 걸어 나왔지만… 계속 마음이 쓰였다.
오늘은 수업 시작까지 20분 이상 여유가 있었기에, 도움을 드리고도 충분히 돌아올 수 있었을 시간적 여유가 있어서 더욱 그랬다. 에스컬레이터 내릴 때 괜찮으셨을까, 혹시 2번 출구로 나가시던 중이면 그 앞에 계단뿐인데 엘리베이터를 알려드렸어야 하는 건 아닐까 하는 아쉬움이 계속 맴돌았다. 횡단보도를 기다리던 중, 다시 돌아갈까 진지하게 고민할 정도였다. 다음에 이런 상황을 또 마주한다면, 조금 더 용기 내어 꼭 도와드려야겠다고 다짐했다.
오전에는 어제 마무리하지 못했던 GitHub 수업을 이어갔다. 오늘은 특히 Pull Request의 조건과 브랜치 전략에 대해 자세히 배웠는데, 개인 프로젝트만 해봤던 나에게는 처음 접하는 개념들이 많았다. fork와 organization의 차이를 배웠고, 특히 협업 시에는 organization을 기반으로 프로젝트를 진행하는 것이 권장된다는 설명이 인상 깊었다. organization은 공동 접근 권한을 부여하기 쉬워서, 별도의 PR 없이도 팀원 간 push/pull이 가능하다는 점에서 매우 효율적인 구조였다.
브랜치에 대한 룰(rule)을 미리 설정해 놓고, 특정 브랜치에는 반드시 PR을 통해서만 병합되도록 하는 구조도 새로웠다. 실무에선 이처럼 CI/CD 파이프라인과 연동하여 브랜치별 접근을 제어하고, 코드 리뷰나 승인 없이 main 브랜치에 바로 push하는 일을 방지한다고 했다.
issue 관리는 노션, 구글 드라이브 문서, GitHub Issue 등 다양한 방식으로 할 수 있고, 실무에서는 대부분 Jira를 쓴다고 했다. 다만 Jira는 러닝커브가 있기 때문에, 아직 학습 단계인 우리에겐 GitHub Issue가 현실적인 대안이라는 조언도 주셨다.
오늘 배운 병합 전략 중에서는 Squash and Merge, Rebase and Merge, Merge commit 방식 세 가지를 비교해서 설명해주셨는데, 각각의 장단점이 명확해서 무척 유익했다.
- Squash and Merge는 커밋을 하나로 압축해서 병합하므로 메인 브랜치 이력이 깔끔해진다는 점이 장점이지만, 브랜치 병합 후 계속 사용할 수 없다는 점은 주의해야 한다.
- Rebase and Merge는 커밋을 선형 구조로 정리하는 데 유리하고, git bisect 같은 디버깅 도구에서도 깔끔하게 작동한다는 장점이 있다.
- 반면 Merge commit은 브랜치 흐름을 그대로 남겨서 추적이 쉽다는 장점이 있어, 협업 히스토리를 중요하게 생각하는 팀에서 선호한다는 것도 오늘 처음 알았다.
오후에는 본격적으로 DB 프로젝트 준비가 이어졌다. 강사님은 좋은 프로젝트를 하려면 다른 팀의 프로젝트를 많이 참고하고, Read.me를 잘 작성하고, 테스트 쿼리를 반드시 준비하라고 강조하셨다. 특히 DDL, DML은 따로 명확히 구분해서 준비하라고 하셨고, 테스트 쿼리는 단순 CRUD가 아닌 실사용 시나리오 기반으로 준비하는 것이 좋다고 조언해주셨다.
우리 팀은 주제 투표를 통해 아이템을 선정했는데, 우연히 내가 별도로 진행 중인 다른 팀 프로젝트와 유사한 주제가 나왔다. 그래서 그 아이디어를 공유했고, 팀원들도 괜찮다며 함께 진행하자는 데에 동의해주었다. 기획 부담이 크지 않게 출발할 수 있었던 점이 참 다행이었다.
오늘은 ERD 설계를 본격적으로 진행했는데, 하다 보니 테이블이 꽤 많아지고 관계도 복잡해졌다. 그래도 강사님께서 "확장 가능한 큰 구조를 짜는 것이 훨씬 학습에도 도움이 된다"고 하신 말씀이 생각나서 과감하게 설계를 이어갔다. 우리 팀은 아침부터 모여 빠르게 완성하자는 공감대를 이뤘고, 내일은 강남에 모여 오프라인으로 프로젝트를 진행하기로 했다.
아직까진 우리 팀이 다른 팀들보다 진행 속도가 눈에 띄게 빠른 편이다. 첫 프로젝트인 만큼, 단순히 마무리만이 아닌 ‘완성도 있는 마무리’를 목표로, 가능하면 가장 먼저 프로젝트를 제출하는 팀이 되고 싶다.
오늘 좋았던 점은 장암역으로 출발지를 바꾼 덕분에 훨씬 쾌적한 출근을 할 수 있었다는 것, 그리고 깃헙 PR 전략과 브랜치 룰, 병합 방식 같은 그동안 잘 몰랐던 협업 기술을 구체적으로 배울 수 있었다는 점이다. 실무에서 바로 써먹을 수 있을 것 같은 내용들이라 더 집중이 잘 됐다.
'부트캠프 > 한화시스템 BEYOND SW캠프' 카테고리의 다른 글
| 한화시스템 BEYOND SW 부트캠프 16기 16일차 (2025-06-10 | 화) (2) | 2025.06.10 |
|---|---|
| 한화시스템 BEYOND SW 부트캠프 16기 15일차 (2025-06-09 | 월) (0) | 2025.06.10 |
| 한화시스템 BEYOND SW 부트캠프 16기 13일차 (2025-06-04 | 수) (0) | 2025.06.04 |
| 한화시스템 BEYOND SW 부트캠프 16기 12일차 (2025-06-03 | 화) (0) | 2025.06.03 |
| 한화시스템 BEYOND SW 부트캠프 16기 11일차 (2025-06-02 | 월) (0) | 2025.06.02 |