모던 자바 인 액션 12장

LocalDate, LocalTime, LocalDateTime 알아보자 LocalDate & LocalTime & LocalDateTime LocalDate (feat. java8 doc) 사실상 LocalDate 와 LocalTime은 대동소이한 점이 많기에, LocalTime과 LocalDateTime은 생략한다.(Java Doc도 특별히 차이점에 대해 기술한 사항이 없음….) LocalTime만의 특징 LocalDate의 시간 버전이고…..ㅋ 초의 단위시간이 ‘nanosecond’이다. LocalDateTime만의 특징 뭐 그런거 없다. 그냥 LocalDate + LocalTime인 spec임…. Immutable한 객체이며, 별도의 ‘시간’ 정보는 저장 & … Read more

모던 자바 인 액션 11장

NPE는 만악의 근원 NPE는 만악의 근원이다. 프로젝트는 커녕, 토이프로젝트나 하다못해 학교 과제라도 해 보면 이게 얼마나 자주 터지고 빡치는건지 굳이 말 안해도 될 듯. 그러니까 NPE를 예방할 수 있는 코드를 만들어 보자 이게 별로 좋지 않은 방법이란 것은 뭐…굳이… 그럼 이런 방법으로 해볼까? 뭔가 좀 더 느낌있어 보인다 그치..? 근데 저렇게 if를 덕지덕지 칠하고 early … Read more

리덕스 in react

‘리덕스’ 가 무엇이냐? 딱 잘라 말할 수 없는 ‘개념’적인 것이다. 일종의 프레임워크-라이브러리?-같은거라 생각하면 됨..(‘스프링 프레임워크가 무엇이냐?’ 라고 질문받으면 할 말이 없는거랑 똑같음…) 굳이 한마디로 축약하자면 ‘상태 관리 라이브러리’ 정도이다. 근데 자바 개발자에겐 복잡함….홍길동마냥 동에번쩍 서에번쩍…..;; 일단 전반적인 동작과정을 최대한 축약해서 말하자면 다음과 같이 말할 수 있다. 컴포넌트(혹은 컨테이너)에서 action을 dispatch하여, reducer가 action에 따른 정해진 동작을 … Read more

모던 자바 인 액션 10장

도메인 전용 언어 특정 비즈니스 도메인의 문제를 해결하기 위해 만든 언어 회계 전용 소프트웨어 입출금 내역 계좌 대출 등등등 전문가가 아니라 비전문가가 봐도 이해할 수 있어야 함 문법 자체가 어렵지 않고 쉬운 직관적인 구조로 설계되어야 함 가독성이 좋아야… 장점 간결함 비즈니스 로직을 간편하게 캡슐화하므로 반복을 피할 수 있음 가독성 앞서 말했듯 비 전문가가 봐도 이해할 … Read more

모던 자바 인 액션 9장

작년 이맘때 모던 자바 인 액션 9장을 리뷰했었는데 다시 보니 새롭네요. 9장? 이 장에서 다루고자 하는 내용은 다음과 같다. 람다와 스트림을 배우긴 배웠다 람다와 스트림을 사용하면 가독성이 개선 된다는 것도 알고 있다 그럼, HOW? 너댓줄짜리 코드야 예제에서 수없이 보았지만….실무 코드는? 따라서, 9장은 그 ‘HOW’ 에 대한 내용을 대표적인 디자인 패턴에 입각하여 설명하겠다 전략패턴 템플릿 메소드 … Read more

모던 자바 인 액션 8장

8장 첫문장. 컬렉션 API가 자바 개발자의 삶을 외롭지 않게(….) 해 주었으나, 극혐인건 여전하다. 예상치 못한 위치에서 에러도 뿜뿜 내뱉고, 사용하는 것 자체도 성가시다. 하지만 모던 자바로 돌입하면서(8,9) 이 컬렉션 API를 사용하기 조금 더 편하게 많은 개선이 되었다. 리스트(List) 집합(Set) 맵(Map) 이 대표적인 컬렉션들을 마음껏 manipulate 할 수 있도록 해 주는 것들에 대해 살펴보기로 하자 컬렉션 … Read more

모던 자바 인 액션 7장

7.2.1. 까지…. 병렬 스트림!!! 컬렉션에서 parallelStream을 호출해서 병렬 스트림을 생성할 수 있음 1 ~ n까지 합을 구하는 메소드를 만든다고 하자. 일반적인 스트림을 사용한다면 다음과 같이 작성될 수 있다. 그럼 이제 병렬 스트림을 이용하여보자. 간단하다…. 그림으로는 두개의 청크만 쪼개지는 것을 표현하였지만, 딱 두개로 쪼개지지는 않는다. 병렬 스트림의 내부적인 구조를 살펴보면, ForkJoinPool을 사용한다고 한다. 프로세서의 수와 동일하게 … Read more

리액트를 다루는 기술

기본적인 HTML, js 는 안다고 치고, 기본적인 HTML 및 js 외의 타입스크립트 or 리액트가 갖고있는 문법적 특성만 내 지식 기준으로 정리. 감싸인 요소 컴포넌트에 요소(HTML 태그)가 여러개가 있는 경우라면, 반드시 최상위 노드 1개만 존재해야 함. 컴파일되지 않는다. 이유 리액트는 기본적으로 Virtual DOM으로 동작한다. 리액트는 컴포넌트의 변화를 감지하기 위해, 성능이슈로 인해 컴포넌트 내부는 반드시 ‘하나의 DOM트리’ … Read more