'지금까지 날 도와준 이들 이름 하나하나 빠짐없이 여기에 남기기 위해'라는 가사가 와닿는 노래인 CREDIT과 함께 지금까지의 삶 중 가장 간절하고 치열했고 인상 깊었던 2023년의 기억을 남기기 위해 회고를 작성해보려고 한다. 서울 생활 시작 2023년은 김해 청년의 서울 생활로 시작했다. 2월 졸업을 앞두고 당장 취업할 자신도 없었고, 실력도 없었다. 이에 대한 고민들을 가지고 앞으로의 계획에 대해 많이 방황했던 것 같다. 부모님과도 많은 얘기 끝에 1년 정도 추가적인 지원을 해주겠다고 하셔서 방향을 찾아보기로 했다. Thanks For University Friends 운이 좋게도 대학교를 다니는 동안 귀중한 인연들을 많이 만날 수 있었고, 그 인연들과 뜻깊은 경험을 많이 해보았다. 첫 프로젝트는 ..
체스 체스는 가로와 세로가 각각 8줄씩 64칸으로 격자로 배열된 체스보드에서 두 명의 플레이어가 기물들을 규칙에 따라 움직여 사우는 보드 게임이다. 플레이어는 킹, 퀸 각 1개, 룩 2개, 나이트 2개, 비숍 2개 그리고 폰 8개로 총 16개의 기물을 가지고 시작하고 피스 6종류는 각각 다르게 이동한다. 체스는 기물을 움직이는 일반적인 방법 외에도 캐슬링, 앙파상, 프로모션과 같은 변칙적인 방법으로도 기물을 움직일 수 있다. 하지만 이번 미션 요구사항에 그런 규칙까지 구현하는 조건은 없었기에 많은 것을 구현하기보다는 구현해야 하는 요구사항에 집중하기로 페어와 얘기 후 결정했다. 체스 게임을 해보기는 했으나 많이 접해보지 못하여 도메인에 대한 이해도가 낮았기에 페어와 직접 게임을 하며 도메인을 이해해 보기..
블랙잭 블랙잭은 카지노 게임 중 하나로 트럼프 카드를 뽑아 21에 가까이 만들면 이기는 게임이다. 플레이어 간 대결을 하는 것이 아닌 각 플레이어는 딜러와 대결을 하게 된다. 딜러와 플레이어는 처음에 각 2장의 카드를 받고 게임을 시작한다. 플레이어의 카드는 모두 공개되며, 딜러의 카드는 한 장만 공개된다. 플레이어는 카드를 확인 후 더 뽑을지 결정할 수 있고 가지고 있는 카드 숫자의 합이 21을 넘는 경우 버스트로 딜러가 이기게 된다. 트럼프 카드에는 A, 2, 3, 4, 5, 6, 7, 8, 9, 10, J, Q, K의 수가 존재하는데 2~10은 나타내는 수가 점수가 되고 J, Q, K는 10점을 의미한다. A는 상황에 따라 1 또는 11 중 선택할 수 있다. 처음 받은 카드 2장 점수의 합이 21인..
사다리 타기 미션 레벨 1의 두 번째 미션은 위와 같이 사다리 타기를 구현하는 것입니다. 결정이 필요한 상황에서 무작위로 결정하고자 할 때 사다리 타기를 많이 사용하는데 저 또한 많이 사용해 보았기에 도메인을 이해하는데 큰 어려움이 없었습니다. 이해하고 있는 사타리 타기를 바탕으로 요구사항을 정리해 보았습니다. 플레이어 이름을 설정할 수 있습니다. 이름은 최대 5글자인 영문자로 중복될 수 없습니다. 2명 이상, 10명 이하로 구성됩니다. 사다리 2개 이상, 10개 이하의 라인으로 구성됩니다. 라인의 각 지점에서 지정된 방향으로 움직입니다. 움직이고 아래 라인으로 내려갑니다 당첨 항목 공백이 될 수 없고 5글자 이하로 작성합니다. 개수는 플레이어 수와 동일합니다. 사다리 설계 도메인 관계도 이전 미션과 마..
바라왔고 기대했던 우아한테크코스가 2월 7일부터 시작되었다. 1주 차는 온보딩과 단위 테스트를 학습하는 기간으로 10개월 간 진행되는 우아한테크코스에 대한 과정과 온라인 코드 리뷰 방식에 대해 공유하고, 자동차 경주 미션이 진행되었다. 각 미션은 구현과 리팩토링 2단계를 거쳐 진행된다. 기본적으로 1단계 구현 단계에서는 랜덤으로 정해진 페어와 함께 페어 프로그래밍을 진행하게 된다. 자동차 경주 미션 자동차 경주 미션은 위와 같은 입출력을 수행하는 애플리케이션을 구현하는 미션이다. 자세한 요구사항은 여기에서 확인할 수 있다. 이번 생에 페어 프로그래밍은 처음이라 페어 프로그래밍이란 하나의 컴퓨터에서 두 사람의 프로그래머가 작업하는 방식을 말한다. 페어 프로그래밍을 처음 알게 되었을 때는 각자가 각자의 컴퓨..