3주차를 마무리하며 지난 시간들을 돌아보니 지원서에 작성했던 목표에 조금씩 도달하고 있는 것 같다. 특히 스스로 깊이 있는 고민을 하는 과정을 즐기기 시작했다는 점이 가장 큰 변화다. 매주 미션을 수행할 때마다 설계-구현-피드백-회고의 순환 학습을 따르니, 각 과정에서 나만의 학습 방법이 명확하게 갖춰지는 것 같다. 특히 피드백 과정에서 공통 피드백, 코드 리뷰, 스터디원 피드백을 모두 정리하고, 이를 차주 목표로 설정하니 더 배워야 할 점들이 눈에 명확히 보이기 시작했다. 또한 코드 리뷰에 다시 한 번 답글을 달며 내가 구현한 코드를 다른 사람에게 설명하는 과정을 통해 메타인지를 할 수 있었던 것 같다. 대면 스터디에서는 각자의 코드를 설명하고, 회고록을 공유하며 더욱 즐겁게 프로그래밍에 임하고 있다...
1. 1주차 피드백 정리피드백은 공통 피드백, 코드 리뷰, 대면 스터디에서 얻은 피드백을 모두 정리했다. 뿐만 아니라 다른 사람들의 코드를 보며 나도 고려해보면 좋을 것 같은 내용들도 정리했다. Git으로 관리할 자원을 고려하자.커밋 메시지를 의미 있게 작성하자.공백 라인을 의미 있게(4개의 빈 칸을 들여쓰기 단위로) 사용하자.각 클래스와 메서드의 행위를 더 작게 분리하자.메서드 네이밍에 더 많은 시간을 할애하자.확장성을 위해 MVC 패턴을 적용해보자.확장성을 위해 Output을 담당하는 클래스에서 안내 메시지 출력 기능을 담당해보자.입・출력 객체 생성은 Controller 계층으로 분리해보자.요구사항을 더 꼼꼼하게 읽고, 이에 대한 검증을 확실히 구현하자.예외 케이스를 더 꼼꼼하게 많이 생각해보고, 이..
현재의 나는 Comfort Zone에 머물러 있는 것 같다. 부족함을 탓하고, 배움을 갈망하지만 실천하지 않았다. 스스로가 바뀌길 원한다면, 스스로 움직여야 한다. 한 번에 원하는 곳에 도달하기는 쉽지않다. 어느 정도 길을 그려놓고, 그 안에 작은 목표들을 세워서 Fail fast 하자. 실패하고, 반복하고, 피드백을 받는 과정을 통해 프리코스 안에서 나만의 학습법을 찾고, 부족했던 부분들을 조금씩 채워나가고 싶다. 프리코스는 참여자들에게 최소한의 학습 목표와 요구사항을 던져 놓는다. 물고기를 손에 쥐어주는 것이 아니라 물고기를 잡는 법을 알려준다. 물고기를 잡는 법을 알려주더라도, 사람마다 한 마리의 물고기를 잡을 때까지의 시간과 노력은 제각각이기 마련이다. 스스로 물고기를 잡을 때까지 나만의 방법을..
이제 0.0 버전을 점차 개선해나가보려 한다. 따라서 리팩토링을 해보았다.1. 리팩토링(1) 클래스 분리 Application 클래스 안에 구현했던 코드를 개선해보고자 클래스를 분리했다. SOLID 원칙 중 하나인 SRP(단일 책임 원칙)를 따르고자 했기 때문이다. 또한 '좋은 코드, 나쁜 코드'에 따르면 클래스는 자신의 기능에만 충실해야 한다. 따라서 입력, 출력, 계산 기능에 맞게 클래스를 세분화 했다. (2) 클래스 네이밍 구글 자바 스타일 가이드에 따르면 클래스 명은 명사 또는 명사구로 작성해야 한다. 따라서 InputHandler, OutputHandler, Calculator로 네이밍 했다. https://github.com/JunHoPark93/google-java-styleguide Git..
1일차 다짐처럼 우선 기능 요구사항 및 프로그래밍 요구사항을 만족하는 0.0 버전을 구현했다. 1주차 미션의 핵심 기능은 '계산기'다. 아래는 구현 과정에서 했던 고민이다.1. Console 라이브러리 분석아래는 우아한테크코스에서 제공한 Console 라이브러리이다.readLine()콘솔에서 한 줄의 입력을 받아 문자열로 반환하는 메서드close()scanner가 생성되어 있는 경우, 이를 닫고 다시 null로 설정하는 메서드getInstance() 메서드scanner가 아직 생성되지 않았을 경우 Scanner(System.in)으로 초기화하고, 생성된 객체를 반환하는 메서드import java.util.Scanner;public class Console { private static Scanner..
지금 나에게 필요한 건 그저 ‘잘’하는 것이 아니다. 내가 진정 백엔드 개발자가 되고자 한다면, 가장 많이 사용해보았던 Java의 기초를 아는 것이 중요하다고 판단했다. 그리고 작고 작은 키워드에도 “왜?”라는 질문을 던지며, 내가 좋아하는 프로그래밍을 평생 할 수 있는 나만의 학습법을 찾고 싶다. 우아한테크코스를 지원한 이유는 함께하는 사람들이 있다는 것이 가장 큰 이유였다. 망망대해인 바다 한 가운데서 종이배를 타고 가더라도, 때론 물을 퍼내기도, 때론 나무를 덧붙일수도 있다. 기나긴 여정 끝에 발견한 섬에서 이미 정착해있는 다른 사람들과 배를 고칠 방법을 의논할 수도 있다. 때론 조언을 얻기도, 때론 조언을 줄 수도 있다. 내가 생각할 수밖에 없는 환경에 놓여져 의식적인 연습을 하고 싶었다. 이전..