내일배움캠프(112)
-
[내일배움캠프] 계산기 구현 - 피드백 반영(1)
피드백 사항 첫 번째 내용인 '네이밍' 에 대한 내용을 정리해보려 한다. 정확하게는 '클래스 및 메서드의 네이밍' 으로, 어떤 피드백을 받아 프로젝트에 어떻게 반영했는지 기록했다. 피드백을 반영한 코드는 여기서 확인 할 수 있다. 1. 클래스명 먼저 클래스의 경우 현재 문제가 되는 것이 입력 값의 유효성을 검증하는 역할을 가진 'ValidInput' 클래스이다. 나의 경우 '입력 값의 유효성 검증' 이란 의미를 포함하고 있으며 길이를 최대한 줄이기 위해 이러한 네이밍을 하였는데, 실상은 적절하지 못한 네이밍으로 보인다는 것이 피드백 내용이다.1-1. 줄임말(약어) 사용 기존 TIL 에도 이름이 길어보여 줄임말을 활용해 네이밍을 했다고 작성했지만, 상당히 잘못된 생각이었다. 항상 "내가 작성한 코드는 '나..
2024.09.17 -
[내일배움캠프] TIL - 24.09.13(금)
뭔가 매끄럽게 잘 풀리지 않았던 하루였다. 왜 그런지 이유는 찾아 따로 정리까지 해두었지만...개인 사정으로 인해 바로 수정이 어려워 정말 '남겨두기' 만 하였다. 최대한 빠르게 복귀해 해당 부분을 수정할 생각이도 코드를 짜지 못하는 기간에는 손으로 부족한 설계를 좀 더 진행 또는 마무리 할 생각이다. ※ 참고 : 나는 TIL 작성 방식을 내가 학습하며 정리한 다른 게시글들과 하이퍼링크를 거는 방식으로 작성하였다. 학습한 내용에 하이퍼링크를 걸어두었으니 해당 링크를 통해 학습을 정리한 내용에 접근할 수 있다.
2024.09.13 -
[내일배움캠프] 숫자 야구 게임 구현 - Level.01 요구사항(1)
'Level.01 요구사항' 중 '정답 생성' 과 '플레이어 입력' 을 구현하였는데, 구현 이후 다시 코드를 확인하며 회고하려 한다. 구현 코드 및 프로젝트 설명은 여기서 확인 할 수 있다. 1. 정답 생성 일단 게임 시작시 정답을 생성하는 역할을 추상화한 인터페이스와 그 구현 클래스를 작성했는데, 지금 보니 구현 클래스의 이름을 '세 자리 숫자 정답' 을 생성한다는 의미를 담아 지었는데 다시 보니...이건 아니다. 아마 요구사항에 정답의 길이를 '3자리' 에서 '5자리' 로 늘리는 부분이 있었는데, 그걸 의식했던 것 같다. 하지만 위 이미지에서도 그렇지만 정답의 길이가 늘어난다고 해서 클래스의 필드나 메서드가 크게 바뀌는 것은 없다. 바뀌어 봤자 'List numbers' 에서 꺼낼 값이 3개에서 5..
2024.09.13 -
[내일배움캠프] TIL - 24.09.12(목)
Java 챕터의 2번째 과제에 대한 발제가 오늘 있었고 이번 과제는 '숫자 야구 게임' 을 구현하는 것이었다. 발제가 끝나고 바로 요구사항을 분석/정리 하였고 설계를 진행해 보았다. 상세한 설계는 아니지만 이번 프로젝트를 어떻게 풀어나갈지 실마리를 잡을 수 있었다. 특히 이전 과제의 경우 요구사항의 각 레벨에 따라 애플리케이션 구현 방식이 달라(특히 level01은 main 메서드에 작성해야 했음) 의도적으로 각 요구사항이 반영된 계산기를 따로 만들어 사용자가 선택하도록 구성하였는데, 이번 과제의 경우 요구사항의 레벨이 구현 단계의 느낌이 강해 하나의 애플리케이션을 작성하고 점차 기능을 확장 및 수정하는 방식으로 진행하기로 결정했다. 물론 단순히 요구사항의 느낌만으로 택한 방식은 아니다. 해당 방식을 통..
2024.09.12 -
[내일배움캠프] 숫자 야구 게임 구현 - 요구사항 정리 및 설계
두 번째 개인과제는 '숫자 야구 게임' 을 구현하는 것이다. 오늘은 해당 과제의 요구사항을 분석/정리한 뒤 생각해본 계획에 대해 적어본다. 요구사항을 분석/정리해 보니 전체적인 그림이 어느 정도 그려졌는데, 이전 '계산기' 구현 과제의 경우 요구사항 레벨 별로 구현방식이 정해져 있다보니 계산기를 레벨 별로 구현한 뒤 합치는 방식으로 진행을 하였는데, 이번 과제의 요구사항 레벨은 진행 단계의 느낌이 강해서 한 프로젝트 내에 여러 게임을 만드는 것이 아닌 하나의 게임을 구현할 것이다. 결과적으로 프로젝트에 하나의 게임(application)을 구현하게 된 만큼 좀 더 객체지향스럽게 구현해 보고자 하였고, 아래의 내용을 작성하게 되었다. 1. 요구사항 분석 및 정리 프로젝트 요구사항은 여기에 정리해 두었다. ..
2024.09.12 -
[내일배움캠프] TIL - 24.09.11(수)
어제부로 진행하던 '계산기 구현' 과제를 마무리하고 제출하였기에 오늘은 그 동안 과제 진행으로 'To Do List' 에 적어둔 것들을 학습하는 시간을 가졌다. 그간 코딩 문제(알고리즘 및 SQL)를 풀며 문제 해결에 도움이 되나 제대로 알고 있지 못핸 던 것들을 적어두었으며, 'To Do List' 에 적어둔 내용은 아래와 같다. 각 항목에 학습을 정리한 포스팅과 링크를 걸어 두었다.WITHUNIONIFNULLRECURSIVE개인적으로 학습간 'UNION' 에 대한 예시를 만들어 보면서 실무에서 크게 쓸 일이 있을까라는 의문이 들었는데, 해당 부분은 튜터님을 찾아가 실무 경험을 들어보며 어떠한 경우 해당 함수를 사용한 적이 있는지 들을 수 있었다. 단순 학습만으로는 예상하기 어려운 부분이었는데 직접 실..
2024.09.11