본문 바로가기
728x90

Programming125

전역변수 테스트가 문제다 Enum 사용시 static 메소드를 사용하게 된다 내부에 필드를 지정해주고 바꾸게 되는데 그렇게 되면 테스트 전체에 영향을 끼친다 어떻게 하면 좋을까... 2020. 6. 16.
쓸데 있는 것만 공부하자 당장 쓸거 아니면 공부해도 다 까먹는 심지어 어디에 적어놔도 어디에 적었는지 까먹는다 당장 사용할 것만 공부해놓으면 앞으로 계속 반복적으로 사용할건데 왜 쓰지도 않을 것을 그렇게 공부해놓고 나중에 까먹고 다시 돌아가서 시간낭비 하는가 시간이 금이다. 쓸 것만 하자 알고리즘은 간단히 알고리즘 풀 때는 최대한 받아온 값들을 사용하여 코드를 최소화하려고 해야겠다. for (int i = 0; i < m; i++) { int x = sc.nextInt(); broken[x] = true; }바로 값을 받아서 검증하는 과정을 넣어서 최대한 코드를 생략 그리고 전체 플로우를 함수의 input과 output을 사용해서 대략적인 그림을 그리고 개별적인 함수들을 구현하는 방식으로 가는 게 좋겠다. 하나에 집중하다보면 전.. 2020. 6. 15.
하고 싶은 것은 많은데 시간은 왜 이렇게 없냐 스프링부트 공식 문서 정독 예전에 만들던 토이프로젝트를 잠깐 보니 스프링부트를 다시한번 정리하고 싶은 마음이 굴뚝같이 들었다. gradle.build에 buildscript가 무엇인지 감만 잡고 만들다 보니 깊이 알고 싶다. 사실 그레이들 공식문서 번역을 어느정도 했었는데 스프링 프로젝트에 도움이 된건지 아닌건지도 모르겠다. 아니면 그냥 번역만 해놓고 다시 한번 안봐서 머리속에 지워진 것일 수도 있다. 리팩토링 해야겠다. (역시 TDD 사이클...) 백기선님이 예전에 스프링부트 공식문서를 정독하셨던데 하루에 1시간씩 30일 조금 넘게 걸리신 것을 보면서 도전의식에 불을 짚혀버렸다. 이번에는 번역한답시고 꼼꼼하게 보기보다는 코드를 따라가면서 중요한 부분만 간단하게 기록하는 식으로 남기는게 좋을 것 같다. .. 2020. 6. 12.
불변 객체는 어떻게 만들까 클린코드 8기 과정을 들으면서 많은 분들의 코드로 부터 많은 부분을 배울 수 있었습니다. 그중에서 제 눈에 가장 많이 보였던 것이 바로 불변객체였습니다. 사실 스프링부트의 개발에 익숙하다 보니 Entity와 Dto를 생각없이 만들고 있다는 생각이 많이 들었습니다. 앞으로의 미션도 많이 남았기에 한번 정리해보도록 하겠습니다. TDD를 배우고 있는 입장에서 불변객체를 생성하는 과정을 TDD로 살펴보도록 하겠습니다. 불변객체란? 불변 객체는 객체가 가지고 있는 값(state)이 변하지 않는 객체입니다. public class Person { private String name; public Person(String name) { this.name = name; } } Person 나은이 = new Person.. 2020. 6. 10.
immutable 객체로만 연습해 봐야겠다 어제 문자열 덧셈 계산기 미션을 수행하면서 마지막에 if문 분기가 너무 많아졌다는 것을 느꼈다 물론 주어진 테스트 코드가 조건들을 테스트하는 것이였지만 같은 코드가 반복되는 것이 좋지 않은 것은 사실이다. 요즘 같은 미션을 하는 분들의 다른 코드를 보곤 하는데 공통적으로 많이 하셨던 것이 불변객체를 사용하는 것이었다. 사실 불변 객체에 대해 듣기만 들었지 실제로 와 닿지는 않았다. 평소에 회사에서 사용할 일이 있었다면 쓰겠는데 그러지 못하니 필요성은 당연히 느껴지지 않았겠지...심지어 불변 객체와 방어적 복사가 비슷한 것인지 알았다. TDD로 정리하는 것도 괜찮겠다 알고리즘과 TDD 평소 알고리즘에 대한 뭐랄까.. 항상 우선순위가 밀렸던 것 같다. 사실 시간을 많이 잡아 먹기에 시간대비 효율이 안나오는 .. 2020. 6. 10.
또 밤샜다 또 밤샜다 어제는 일찍 잘 줄 알았는데, 자동차 경주게임에서 마지막에 설계 부분이 발목을 잡았다. 사실 설계가 아니라 Random 객체를 생성하고 nextInt() 메소드를 사용할 때, Random(9) 이런 식으로 넣어놓고 잘됬다고 혼자 좋아하고 있었더라ㅎㅎ.... 필드에 대한 테스트를 작성은 했는데 2시 넘어가니까 자야된다는 생각에 테스트고 뭐고 막 했던 것 같다. 역시 캔트백 옹의 말은 진리인 것 같다. 조급함은 테스트와 반비례한다 사실 이렇게 이야기한 것은 아니지만 맥락상 비슷하다고 생각한다. 역시 조급하면 TDD가 안돼. 그대로 어느정도는 감이 왔으니까 로또 1단계를 조금 러프하게 가져가고 점점 정교하게 가다듬는 방향으로 가야겠다. 이것이 TDD의 묘미 아니겠는가 블로그 UI 개편 개편이라기엔 .. 2020. 6. 9.
728x90