전체 글 검색 결과
전략 패턴 전략 패턴은 한 유형의 알고리즘을 보유한 상태에서 런타임에 적절한 알고리즘을 선택하는 기법이다. 다양한 기준을 갖는 입력값을 검증하거나, 다양한 파싱 방법을 사용하거나, 입력 형식을 설정하는 등 다양한 시나리오에 전략 패턴을 활용할 수 있다. 우테코 예외처리 코드 전략 패턴으로 해결해보기 우테코 프리코스를 진행하면서 입력값에 대한 예외처리를 하는 것이 상당히 어려웠다. 예외처리를 하기 위한 클래스를 구성하는 것 부터 메소드들의 리턴값 구성 등등 마음에 들게 코딩을 하지 못했다. 모던 자바 인 액션을 읽다가 전략 패턴을 접했는데 전략 패턴으로 입력값 검증을 잘 해낼 수 있을 것 같아서 도전해본다. 전략 패턴 도입 이전 코드 먼저 try-catch문을 사용했다. isLapInt()의 의도는 이렇다..
시작하기 앞서 드디어 리팩터링, 테스팅, 디버깅 파트다. 우테코 프리코스를 진행하면서 가장 답답했던 부분을 해소할 수 있을까? 프리코스를 진행하는 동안 계속 이렇게 코딩을 하는게 맞나? 하는 생각이 들었다. 이제 책들을 읽으며 잘못된 코드들을 뜯어 고쳐봐야겠다. 이 책에서는 람다 표현식으로 strategy, template method, observer, chain of responsibility, factory 등의 객체 지향 디자인 패턴을 간소화하는 방법도 살펴본다고 한다. 더불어 람다와 스트림 코드를 테스트하고 디버깅 하는 방법도 알려준다고 한다. 기대가 된다. 시작해보자! 코드 가족성 개선 람다, 메소드 참조, 스트림을 활용해서 코드 가독성을 개선할 수 있는 간단한 세가지 리팩터링 방법이 있다. ..
시작할까말까 모던 자바 인 액션을 읽는데 자바 병렬처리에 대한 내용이 나왔다. 책을 읽을 때 아직은 내가 취할 지식이 아니라는 생각이 들었다. 병렬 처리는 컴퓨팅 자원을 소모해 연산 수행 시간을 줄이는 기법이다. 책에서는 모든 경우에 병렬처리가 더 빠른것은 아니라고 말한다. 병렬 처리를 사용하기 위해서는 JVM의 오버헤드 등과 같이 고려해야 할 부분들이 많고 자료형도 많이 신경을 써야 한다. 그리고 결정적으로 소규모 연산에는 병렬 처리가 전혀 효율적이지 않다고 한다. 아직까지는 대규모 데이터를 처리해본 적이 없다. 그리고 잠깐 생각해봤을 때 대규모 데이터를 처리할 기회가 많지는 않을 것 같다. 그래서 한번 읽어보는 것으로 보류한다. 그래도 흥미로운 주제였다. 언젠가는 병렬 처리가 필요해서 책을 다시 들춰..
최근댓글