본문 바로가기

📝 끄적끄적6

미션2. 로또 - TDD 회고 본격적으로 TDD 기반으로 테스트 코드를 작성했다. 도메인 설계 기본기가 부족하니 객체에 대한 책임을 분리하는 게 어려웠다. 처음에는 프로덕션 코드보다 테스트 코드를 먼저 짜는 게 이상하고, 시간적으로 비효율적이라고 생각했는데 '이건 이렇게 동작해야 해!' 하는 테스트 코드가 있으니 과감하지만 안정적으로 리팩토링 할 수 있었다. 😮 1단계 - 문자열 계산기 "2 + 3 * 4 / 2"와 같은 문자열을 입력할 경우 이를 계산해 10을 출력하는 계산기를 구현해야 했다. 항상 메서드 재사용을 고려하자 나는 사칙연산 기호+기능을 enum 클래스로 구현했기 때문에 연산을 하려면 문자열 내의 기호와 일치하는 상수 값을 찾아야 했다. 처음에는 `values()` 메서드를 그대로 사용했다. public enum Ope.. 2023. 11. 29.
미션1. 자동차 경주 - 단위테스트 회고 포비님이 첫 번째 미션은 쉽다고 말하셔서 할만하겠지 했는데 완전 오산이었다. 첫 번째 미션부터 정말 어려웠고, 단기간에 이렇게 많은 블로그를 보고 학습한 적이 있었나 싶을 정도였다. 몇 시간 동안 고민하다 손도 못 댈 때도 있고, 진지하게 내 수준이 아닌 것 같아서 그만둬야 되는 거 아닌가 생각했다 😥 매 단계마다 엄청나게 많은 리뷰가 쏟아졌고, 계속 리팩토링 하면서 '재밌다!'라고 느끼는 게 신기했다! 1단계 - 학습 테스트 실습 1단계는 본 미션에 들어가기 전 워밍업 단계로 String과 Set Collection에 대한 테스트를 구현하는 미션이었다. @DisplayName()에는 테스트 대상의 input과 output에 대한 시나리오를 설명하자 처음에는 아래처럼 테스트 이름에 코드 로직을 설명했었다.. 2023. 11. 15.
TDD, 클린 코드 with Java 17기를 시작하며 NEXTSTEP에서 진행하는 TDD, 클린 코드 with Java 17기에 합류했다.🙌 시작하게 된 이유 이제 구현했다고 손 놓고 좋아하는 연차는 지났다. 점점 연차가 쌓이면서 번아웃이 오는 와중에 최근 프로젝트에서 계~속 닦달하는 바람에 거지같이 개발하면서 정말 현타가 왔다. 급한 로직을 부탁해서 구현하면 오오 해주지만 이건 진짜 구현만 한건데하고 기분이 더 안 좋았다. 그래서 자바 기본서를 사서 다시 읽었고, 클린 코드를 읽으면서 실무에 조금씩 적용하니 개발이 좀 재밌어졌다. 근데 코드 리뷰를 받질 않으니 잘 하고 있는건가? 계속 의심이 생겼다. 80만 원은 적지 않은 돈이다. 또 수료율이 30%도 안 된다고 하는데, 수료도 못하는데 듣는 게 맞나? 하고 많이 고민했다. 결제하기까지 정말 많은 회고록.. 2023. 11. 5.
자바의 신 개정판이 출간되었다. 연차가 쌓이면서 기본기의 중요성을 나날이 깨닫는 요즘 기본서를 찾던 와중에 자바의 신을 알게 되었다. 하지만.. 절판돼서 도저히 구할 수가 없었다. 중고장터에 글도 안 올라오고 있어도 다 판매완료였다.. 흐ㅠㅠ 🎉 10월 16일 자로 자바의 신 3판이 출간되었다.🎉 9월 중으로 리뉴얼된다는 소식을 듣고 네이버 카페에 가입해 매일 보고 있었는데 드디어!! (출간됐는데도 카페에 여전한 새 글 : 0을 보고 내가 올렸다는...) 2권 다 목차만 봤을 때는 구판과 내용상 큰 차이점은 없어 보인다. (책 안에 내용은 다를 수도 있다) 구판과의 차이점 jshell로 실습하는 과정이 추가되었다. 구판에는 각 목차가 '정리하며'에서 끝난다. 개정판에서는 Java 9부터 지원되는 jshell을 통해 예제를 실행해 보는 .. 2023. 10. 19.
스프링 부트와 AWS로 혼자 구현하는 웹 서비스 후기 읽게 된 이유 주로 레거시 위주로 수행하다 보니, AWS랑 git action CI/CD를 해보고 싶어서 추석에 읽었다. 느낀 점 테스트, 빌드, 배포를 자동화하니 정말 개발에 집중할 수 있겠다는 생각이 든다.. 나중에 꼭 실무 프로젝트에서 CI/CD를 사용해 보거나, 직접 구축해보고 싶다. 입사 후 첫 프로젝트에서 젠킨스를 사용했었는데, 그땐 완전 병아리 때라 배포하는 거 구경만 해봤다는..😅 2019년 책이다 보니 현재랑 Java, JUnit 버전 차이도 있고, 순탄히 진행되진 않았다. 검색하면서 최근 버전에 맞게 마이그레이션하는 과정도 필요했다. 아래 링크는 꼭 참고하는걸 추천한다. 스프링 부트와 AWS로 혼자 구현하는 웹서비스 후기 (1/2) 해당 github repository의 issues 또.. 2023. 10. 13.
자바 ORM 표준 JPA 프로그래밍 - 기본편 회고 완강한 지는 좀 됐지만 늦게나마 회고를 작성해보고자 한다. 수강한 이유 우선 현 직장에서 물론 많은 성장을 한 것은 사실이다. 하지만 1년? 혹은 1년 반 이후로 개인 공부를 하지 않는 이상 성장하기 힘들다는 생각을 했다. MSA, JPA, TDD, CI/CD, Kafka, REACT.. 등등 핫한 신기술은 계속 들려온다. 많은 SI회사는 신기술 도입에 보수적이기 때문에 실무에 적용하긴 힘들다. 그럼 신기술에 대한 갈증을 해소할 수 있는 방법은 개인 공부밖에 없다. 학교 선배에게 김영한 님 JPA 활용편1 강의가 좋다는 걸 자주 들었기에 고민 없이 이 강의로 정했다. 사내 스터디를 만들다. 난 혼공도 좋지만 여러 명이 해야 으쌰으쌰 하면서 놓친 개념도 캐치하고, 같이 성장하는 느낌이 좋다. 마침 회사에서.. 2023. 6. 15.