본문 바로가기

Tech40

react 리뷰 정리 1. 제어 컴포넌트를 권장한다는 의미는 비제어 컴포넌트로 구현이 가능하더라도 제어 컴포넌트를 권장한다는 말이다. 컴포넌트가 데이터(상태)를 명확히 알고 관리하고 있을 때 밸리데이션을 추가하기도 쉽고 여러모로 컴포넌트의 동작이 더욱 쉽게 예측 가능해 진다. onSubmit(event) { event.preventDefault(); const payment = Number(event.target.elements["purchase-input"].value); 제어 컴포넌트를 쓰면 위 코드 부분이 더욱 간결해질 수 있다. onSubmit 뿐만 아니라 다른 메서드에서 payment 값이 필요 할 수도 있는데 이에 대응하기도 쉬워진다. 2. Context API와 같은 event bus가 필요한 프로젝트인가? 항상.. 2021. 6. 15.
React component Component 란? 하드웨어는 각각의 독립된 기능을 가진 모듈들로 만들어진다. 하지만, 소프트웨어는 종속적인 경우가 많고 다른 모듈과의 호환성도 고려하지 않고 개발하는 경우가 많다. 이런 상황에서 재사용의 중요성과 필요성을 위해 나온 패턴이 컴포넌트 패턴이다. 1. 컴포넌트는 독립적인 소프트웨어 모듈이다. 컴포넌트는 독립적인 기능을 수행하는 모듈로서 이후 다른 모듈로 대체 가능하다. 2. 컴포넌트는 구현, 명세화, 패키지화 그리고 배포될 수 있어야 한다. - 소스코드가 아닌 실행코드 기반으로 재사용할 수 있도록 구현(implementation)이 완료되어 있어야 한다. - 컴포넌트의 용도, 유형, 기술 표준과 인터페이스 등에 대한 정보들에 대해서 명세화(specification)되어 있어야만 한다. .. 2021. 5. 29.
자바스크립트 꼬리물기와 for에 관하여... 재귀 함수에 관하여 (&& unrolling recursion) 모든 프로그래밍 문제는 패턴을 찾으면 쉽게 해결할 수 있다. 우리는 패턴을 짜기에 가장 먼저 재귀 함수를 쉽게 떠올릴 수 있다. 그렇게에 주로 재귀 함수를 통해 문제를 해결하려고 한다. 1부터 num까지 더하는 재귀 함수 function sum(num){ if (num == 1) return (1); return (sum(num-1) + num); } 하지만, 재귀 함수들은 항상 stackoverflow의 위험 가능성이 있다. 우리는 고작 재귀 함수로 100000의 덧셈도 계산하지 못한다. 또한, 이런 코드들은 잠재적으로 버그를 일으킬 가능성이 높고 버그를 알기도 쉽지 않다. 꼬리물기 재귀 함수 C는 메모리를 모두 사용할 때까지 제한 없이 .. 2021. 5. 28.
선언형 프로그래밍과 명령형 프로그래밍 React의 특징 중 하나에 선언형이 있다. 선언형은 무엇을 의미할까? 프로그래밍 패러다임은 프로그램을 작성할 때의 관점을 의미한다. 우리가 아는 객체지향도 프로그래밍 패러다임 중 일부이다. 명령형 프로그래밍 (파스칼, C) 선언형 프로그래밍 (SQL, 프롤로그) 구조적 프로그래밍 (파스칼, C) 객체지향 프로그래밍 (자바, C++) 함수형 프로그래밍 (하스켈, 리스프) 객체기반 (자바스크립트, 에이다) 이벤트 드라이븐 프로그래밍 절차적 프로그래밍 오늘은 명령형 프로그래밍과 선언형 프로그래밍에 대해서 알아보자. 아래 그림은 역사적인 관점에서 분류를 나타낸것이라서 절대적은 아니다. 명령형 프로그래밍(Imperative programming)과 선언형 프로그래밍(declarative programming) .. 2021. 5. 11.