본문 바로가기

전체 글322

이펙티브자바 2장 생성자 대신 정적 팩터리 메서드(static)를 고려 ※정적 팩토리 메서드 : 객체를 생성하는 메서드를 만들고 static으로 선언하는 기법 그 클래스의 인스턴스를 반환하는 단순한 정적 메서드 전통적으로 클래스의 인스턴스를 얻는 방법은 public 생성자이다. 하지만 정적팩터리 메서드를 제공할 수 있다. 팩터리 메서드 이점 1) 이름을 가질 수 있다. 생성자에는 넘기는 매개변수와 생성자 자체만으로는 반환될 객체의 특성을 설명하지 못한다. 2) 호출될 때마다 인스턴스를 새로 생성하지는 않아도 된다.(싱글톤) 더욱 유연해지기에 immutable class는 인스턴스를 미리 만들어 두거나 새로 생성한 인스턴스를 캐싱하여 재활용하는 식으로 불필요한 객체 생성을 피할 수 있다. ex) Boolean.valueOf.. 2019. 11. 23.
1장 이펙티브 자바 컴포넌트 : 가능학 작으며, 보드는 복사되는 것이 아니라 재사용되야하며, 컴포넌트 사이의 의존성은 최소한으로 유지되야 한다. 자바 타입 : 인터페이스, 클래스, 배열, 기본(primitive)타입 총4가지 애너테이션은 인터페이스의 일종, enum(열거타입)은 클래스의 일종이다. 인터페이스, 클래스, 배열은 참조타입이라하며 이들은 객체 (object)이다. 반면, primitive타입은 그렇지 않다. 클래스의 멤버로는 필드, 메서드, 멤버 클래스, 멤버 인터페이스가 있다. 메서드 시그니처는 메서드 이름과 입력 매개변수의 타입들로 이뤄진다. 반환 값의 타입은 시그니처에 포함되지 않는다. API(Application programming interface) : 프로그래머가 클래스, 인터페이스, 패키지를 통해 .. 2019. 11. 22.
코드 스플리팅 윕팩 : 리액프 프로젝트를 사용자에게 제공하기 위해서는 빌드 작업을 통해서 주석, 경고 메세지, 공백등을 제거하여 파일 크기를 최소화 하기도 하며, 브라우저에서 JSX문법이나 다른 최신 자바스크립트 문법이 원할하에 실행되도록 코드의 트랜스파일 작업도 실행하는 작업을 담당함다. 웹팩에서 별도의 설정을 하지 않는 경우 프로젝트에서 사용중인 모든 자바스크립트 파일과 모든 CSS 파일이 각각 하나로 합쳐진다. 이러한 경우 당장 필요하지 않은 컴포넌트 정보도 불러오며 로딩시간이 길어지기에 코드 스플리팅중 하나인 비동기 로딩을 통하여 필요한 시점에 불러와서 사용할 수 있다. import를 함수로 사용하면 Promise를 반환하는데 이를 이용하여 코드 스플리팅을 할 수 있다. React.lazy와 Suspense R.. 2019. 11. 22.
리덕스 액션 : 상태에 어떤 변화가 필요하면 액션이라는 것이 발생하며, 이는 하나의 객체로 표현된다. 액션 객체는 반드시 type 필드를 가지고 있어야 하며, 이 값은 액션의 이름. 액션 생성함수 : 액션객체를 만들어 주는 함수 리듀서 : 변화를 일으키는 함수, 액션을 만들어서 발생시키면 리듀서가 현재 상태와 전달받은 액션 객체를 파라미터로 받아오며, 두값을 참고하여 새로운 상태를 만들어서 반환 스토어 : 프로젝트에 리덕스를 적요하기 위해 만들며, 한개의 프로젝트는 단 하나의 스토어만 가질 수 있다. 디스패치 : 스토어의 내장함수 중 하나이며, 액션을 발생시키는 것이다. 구독 : 스토어의 내장함수 중 하나이며, subcribe 함수 안에 리스너 함수를 파라미터로 넣어 호출해주면, 리스너 함수가 액션이 디스패치되.. 2019. 11. 19.