내일배움캠프(114)
-
[내일배움캠프] 숫자 야구 게임 구현 - 요구사항 정리 및 설계
두 번째 개인과제는 '숫자 야구 게임' 을 구현하는 것이다. 오늘은 해당 과제의 요구사항을 분석/정리한 뒤 생각해본 계획에 대해 적어본다. 요구사항을 분석/정리해 보니 전체적인 그림이 어느 정도 그려졌는데, 이전 '계산기' 구현 과제의 경우 요구사항 레벨 별로 구현방식이 정해져 있다보니 계산기를 레벨 별로 구현한 뒤 합치는 방식으로 진행을 하였는데, 이번 과제의 요구사항 레벨은 진행 단계의 느낌이 강해서 한 프로젝트 내에 여러 게임을 만드는 것이 아닌 하나의 게임을 구현할 것이다. 결과적으로 프로젝트에 하나의 게임(application)을 구현하게 된 만큼 좀 더 객체지향스럽게 구현해 보고자 하였고, 아래의 내용을 작성하게 되었다. 1. 요구사항 분석 및 정리 프로젝트 요구사항은 여기에 정리해 두었다. ..
2024.09.12 -
[내일배움캠프] TIL - 24.09.11(수)
어제부로 진행하던 '계산기 구현' 과제를 마무리하고 제출하였기에 오늘은 그 동안 과제 진행으로 'To Do List' 에 적어둔 것들을 학습하는 시간을 가졌다. 그간 코딩 문제(알고리즘 및 SQL)를 풀며 문제 해결에 도움이 되나 제대로 알고 있지 못핸 던 것들을 적어두었으며, 'To Do List' 에 적어둔 내용은 아래와 같다. 각 항목에 학습을 정리한 포스팅과 링크를 걸어 두었다.WITHUNIONIFNULLRECURSIVE개인적으로 학습간 'UNION' 에 대한 예시를 만들어 보면서 실무에서 크게 쓸 일이 있을까라는 의문이 들었는데, 해당 부분은 튜터님을 찾아가 실무 경험을 들어보며 어떠한 경우 해당 함수를 사용한 적이 있는지 들을 수 있었다. 단순 학습만으로는 예상하기 어려운 부분이었는데 직접 실..
2024.09.11 -
[내일배움캠프] TIL - 24.09.10(화)
이전 TIL 에 작성한대로 과제의 요구사항에는 없지만 필요하고, 반영하고 싶었던 부분을 반영해 'Level04 계산기' 를 개인적으로 구현해 보았다. 반영한 부분은 'Exception 활용' 과 '메서드의 기능 최소화' 이다. 사실 반영하고자 하면 이전 계산기에 충분히 반영할 수 있는 부분이었지만 애초에 프로젝트를 요구사항을 반영하면서 어떻게 구현이 달라지는지 확인하고자 레벨별 계산기를 분리하였기에 요구사항에 대한 부분을 우선적으로 구현하고, 이제야 추가 계산기를 구현해 반영하게 되었다. 예상대로 마지막 구현했던 'Level03 계산기' 와는 차이점을 쉽게 파악할 수 있었고 해당 차이점을 통해 'Exception' 을 활용하면 어떤 이점이 있는지를 알 수 있는 경험을 하게 되었다. 'Level04 계산기..
2024.09.10 -
[내일배움캠프] 계산기 구현 - level.04
이번에 구현한 'Level04 계산기' 는 개인적으로 추가 기능을 반영하기 위해 구현하였다. 내가 반영하고자 하는 것은 바로 Exception 의 활용에 대한 부분인데 해당 부분을 반영하고자 한 이유는 현재 구현된 일부 메서드들이 2개 이상의 기능을 수행한다는 점 그리고 필요에 의해 구현했지만 'boolean' 을 반환하는 메서드를 비교적 자주 구현/사용한다는 점이다. 위 이미지의 메서드는 'level03/validation/ValidInput.validCalculation()' 메서드이다. 해당 메서드에 부여한 주 역할은 입력 값의 유효성을 검증하는 것인데, 현재 '검증' 뿐만 아니라 '출력' 도 같이 수행하고 있다. 그리고 메서드의 반환 타입이 boolean 인데 이러한 메서드가 여럿 되다 보니 추후..
2024.09.10 -
[내일배움캠프] TIL - 24.09.09(월)
주말간 'level03 계산기' 의 요구사항을 모두 반영하였기에 오늘은 다시 한 번 요구사항을 제대로 반영했는지 확인하고 작성한 코드를 다시 리딩하며 '리팩토링(refactoring)' 을 진행했다. 불필요하게 긴 클래스/메서드/변수 명들을 의도는 전달 할 수 있되 줄였으며, 기존에 미처 수정하지 못한 README.md 를 손 보았다. 현재로서는 작성한 코드는 요구사항을 만족하며 정상적으로 작동하는 것을 확인했으니 이제 내일은 요구사항에는 없지만 필요하다 생각하는 부분을 추가 반영하여 개인적으로 'level04 계산기' 를 구현하고 그 내용을 정리해 과제 제출 전 마지막 점검을 가진 후 제출을 할 계획을 세웠다. ※ 참고 : 나는 TIL 작성 방식을 내가 학습하며 정리한 다른 게시글들과 하이퍼링크를 ..
2024.09.09 -
[내일배움캠프] 계산기 구현 - 리팩토링
현재 '계산기 구현`에 대한 요구사항을 모두 프로젝트에 반영하였다. 이번에는 해당 프로젝트에 요구사항이 제대로 반영되었는지 확인하고 필요하다면 수정하려 한다. 더불어 구현 때문에 미루어 두었던 'README.md' 파일도 수정하였다. 1. README.md 다른 사람이 해당 프로젝트를 확인해도 쉽게 이해를 도울 수 있도록 READMD.md 를 작성해 두었는데, 이전에 없던 '목차' 와 '시스템 아키텍처' 를 추가하였다. 2. 코드 리팩토링(refactoring) 기존에 사용하던 클래스, 메서드, 변수의 이름을 수정하고 기존에 작성해둔 주석도 수정하였다. '클래스/메서드 이름 수정' 에 대한 일부는 아래와 같다.ValidInputData → ValidInput : 입력 값의 유효성 검증 역할을 가진 클래..
2024.09.09