본문 바로가기

전체 글26

[우아한테크코스 5기] 프리코스 4주차 다리 건너기 미션 학습 내용 및 회고 우리는 확실성이 아닌 정반대에서 즐거움을 찾기로 선택할 수 있다.- 소크라테스 익스프레스 완벽한 정답이 존재하지 않는 상황에서, 지속적으로 더 나은 방법을 계속 생각했기 때문에 프리코스를 진행하면서 몰입의 즐거움을 느낄 수 있었습니다. 클래스(객체)를 분리하는 연습 2, 3주차와 다르게 4주차는 클래스를 분리하기 더욱 어려웠던 것 같습니다. 4주차는 클래스 간 협력에 대해 더 많은 고민을 많이 했습니다. 이상하게 다리 건너기 게임은 이전 주차와 다르게 협력하는 부분이 어려웠습니다. 중간에 생각했던 설계를 4 ~ 5번정도 수정하면서 클래스를 분리하는 부분에서 부족함을 많이 느꼈습니다. 최종적으로는 응집도를 높이고 너무 많은 클래스에 의존하지 않도록 최대한 노력했던 것 같습니다. 리팩터링 단위 테스트를 작성.. 2022. 11. 23.
[우아한테크코스 5기] 프리코스 3주차 로또 미션 학습 내용 및 회고 3주차를 진행하며 코수타를 들으며 한 주 동안 많은 생각이 들었습니다. 내 능력 이상으로 미션 이외에 것들을 시도하려고 하는 건가? 라는 생각이 들었던 한 주입니다. 일단 그동안 해왔던 것처럼 묵묵히 걸어나가자고 결심했습니다. 파울로 코옐료의 아처에는 다음과 같은 말이 나옵니다. “의도는 명료하고 올곧고 균형 잡혀 있어야 한다.” 코드를 작성하면서 최대한 의도를 담으려고 노력했습니다. 3주차인 로또 미션에는 다음과 같은 추가적인 목표가 있었습니다. 클래스(객체)를 분리하는 연습 도메인 로직에 대한 단위 테스트를 작성하는 연습 클래스(객체)를 분리하는 연습 2주차에 진행했던 것보다 조금 더 의미 있게 클래스를 분리하려고 노력했습니다. 미션 시작 전 기능들을 나열하고 요구사항에 대한 부분을 나누면서 이러한 .. 2022. 11. 16.
[우아한테크코스 5기] 프리코스 2주차 야구게임 미션 학습 내용 및 회고 2주차 회고 PR -> https://github.com/woowacourse-precourse/java-baseball/pull/709 그동안 배운 객체지향에 관한 것 + 새로운 것을 적용해 보려고 매우 몰입했던 한 주입니다. 2주 차에는 요구사항을 만족하는 것 이외에 다음 목표를 기준으로 삼았습니다. 역할, 책임, 협력의 관점에서 객체들을 지속적으로 생각하기 응집도, 결합도, 의존성 관점에서도 생각해 보기 red → green → refactor의 TDD 사이클 적용하여 코드 작성하기 객체지향 생활체조에 언급된 원칙들을 최대한 만족하려고 노력하기 1개의 들여 쓰기, 메서드 라인 수 최대 10라인 적용하기 초반에는 요구사항을 정리한 뒤 해당 책임은 누가 가지는 것이 좋을까?에 대한 생각이 너무 많아서 .. 2022. 11. 9.
[우아한테크코스 5기] 프리코스 온보딩 미션 학습 내용 및 회고 1주 차 첫 번째 주의 온보딩 미션은 추후에 진행될 프리코스 미션을 위한 발판이 되어줄 수 있는 주차라고 생각했고 시작하기 전 요구사항을 만족하는 것 이외에 세 가지의 목표를 기준으로 삼았습니다. 하나의 메서드가 하나의 기능을 간결하게 표현하는 것 읽기 쉬운 코드를 작성하는 것 의도가 담긴 커밋 메시지를 남기는 것 클래스를 분리하고 책임을 가진 객체들이 협력하는 방법으로 프로그래밍하지 않고, 단일 클래스에서 하나의 메서드가 하나의 기능을 간결하게 표현하는 것에 집중을 했습니다. 메서드를 분리하는 연습을 한 것은 추후에 객체지향 프로그래밍을 할 때도 도움이 될 꺼라 생각합니다. 리팩토링 부분에서 부족함이 많이 보였던 1주차였던 것 같습니다. 객체지향 프로그래밍 미션이 나왔을 때 더욱 파이팅 하겠습니다! P.. 2022. 11. 2.
반복문안의 문자열 연결을 하는 경우 어떤 방법을 사용해야 할까? 개요 String 클래스는 문자열을 다룰 때 사용된다. 문자열 연결의 경우 기본적으로 + 연산자를 사용하여 문자열을 연결한다. 좋은 방법인지? 또한 더 좋은 방법은 없는지 알아보자 JDK 1.5 이후의 문자열 연결 JDK 1.5 이후 문자열 연결 연산자의 경우 컴파일 과정에서 StringBuilder와 append 메서드를 사용하도록 최적화를 해준다. The Java language provides special support for the string concatenation operator ( + ), and for conversion of other objects to strings. String concatenation is implemented through the StringBuilder(or.. 2022. 10. 27.
[Spock] Spock 사용하기 Spock이란? Spock은 Java 및 Groovy 애플리케이션을 위한 테스트 프레임워크입니다. 테스트 코드는 Groovy로 작성됩니다. Spock 2.0부터는 JUnit5를 사용합니다. 실행 환경 Spring Boot 2.7.4 Zulu 11 build.gradle 설정 plugins { ... // groovy plugin 사용 id 'groovy' } repositories { mavenCentral() // jitpack.io를 저장소로 추가 maven { url 'https://jitpack.io' } } dependencies { // spock framework를 위한 의존성 testImplementation 'org.spockframework.spock.. 2022. 10. 2.