본문 바로가기
728x90

분류 전체보기126

말하고 싶다 말하면서 개발하고 싶다 누군가와 토의하고 토론하면서 생각을 발전나가고 싶다 대학때부터 그랬다. 혼자서 공부하다가도 생각나는 것이 있으면 항상 친구를 불러서 "미안하지만 나 얘기 좀 하자" 이러고 혼자서 이야기하면서 생각을 정리했다 물론 결론은 생성적인 토의로 이어진다 다른 사람들은 내가 생각하지 못한 것을 알고 있다. 물론 이 이야기의 전재는 나도 그만큼 알고 있어야 한다. 깊이가 있는 사람들과의 대화 나와 비슷한 역량의 사람들과 이야기하면 즐겁다 나보다 더 깊이가 있는 사람과 이야기 하는 것은 더 즐겁다 하지만 반대의 입장에서는 어떠할까? 두가지의 경우가 있을 것 같다 첫번째는 나의 경험담을 신나게 이야기하는 사람 두번째는 무시하고 혼자만의 길을 걷는 사람 전자와 일하고 싶다 그러려면 내가 그 사람에 .. 2020. 6. 17.
전역변수 테스트가 문제다 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.
728x90