증상 npm install로 패키지 설치 시 아래 경고가 출력되는 경우가 있습니다. PM> npm install typesafe-actions npm : npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@2.3.1 (node_modules\chokidar\node_modules\fsevents): At line:1 char:1 + npm install typesafe-actions + CategoryInfo : NotSpecified: (npm WARN option...ules\fsevents)::String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError npm WARN notsup..
Redux는 자바스크립트 앱의 State 관리 프레임워크입니다. 리덕스를 사용함으로서 리액트에서 State 변이와 State 전달에 있어 복잡성을 낮추어 주며, 리액트에서 데이터 로직과 비지니스 로직을 손쉽게 분리할 수 있는 방법이기도 합니다. 또한 지루하고 반복적이고 복잡한 앱의 테스트와 디버깅을 쉽게 만들어주며 테스트 코드를 통해 테스트를 자동화할 수 있게 도와줍니다. 리덕스 사용 시 준수해야 할 3원칙 전체 State를 하나의 객체로 관리 State를 하나의 객체로 관리함으로써 State 변화를 쉽게 추적하고 관리 할 수 있게 만들어줍니다. 리액트 프로그램을 특정 State로 손쉽게 재현할 수 있게 되며 테스트나 디버깅에 용이함을 제공합니다. 프로그램의 State 변화를 히스토리 처럼 관리할 수 있..
클래스형 컴포넌트는 함수형 컴포넌트와 Hook이 등장하기 이전에 사용하던 컴포넌트 형태로 ES6(ECMA Script 2015)부터 추가된 JavaScript Class를 바탕으로 컴포넌트를 작성합니다. 함수형 컴포넌트 성능이나 메모리 사용에 있어 약간의 이점이 있음 Hook을 통해 state, lifeCycle을 구현함 클래스형 컴포넌트에 비해 표현이 간결함 클래스형 컴포넌트 ES6(ECMA Script 2015)부터 추가된 Class를 통해 컴포넌트 선언 함수형 컴포넌트와 Hook이 등장하기 전에 폭넓게 사용되었기 때문에, 레거시 코드에서 자주 발견할 수 있는 형태 표현방법이 좀 더 명시적이고, 함수형 컴포넌트 보다 약간 기능이 더 많음 클래스형 컴포넌트 생명주기 - 암기할 필요는 없지만 각 단계를 ..
이 글은 A Simple Explanation of React.useEffect()를 바탕으로 번역된 내용입니다. 잘못된 해석이 있을 수 있으며, 모든 권리는 원저자에게 있으며 원저자의 요청에 따라 언제든지 수정/삭제될 수 있습니다. React hook의 풍부한 표현식은 상당히 인상적입니다. hook을 사용하면 적은 코드를 작성하면서 더 많은 작업을 할 수 있습니다. 하지만 hook의 간결함에는 대가가 있습니다. 상대적으로 사용하기 어렵죠. 함수형 컴포넌트에서 side-effect를 관리하기 위한 useEffect() hook이 특히 사용하기 어렵습니다. 이 포스트에서는 useEffect() hook은 언제 어떻게 사용해야하는지 안내해드립니다. 1. useEffect()는 Side-effect를 위한 함..
useEffect()? React에서 제공하는 useEffect()는 Side-Effect를 처리하기 위해 사용한다고 합니다. 그렇다면 Side-Effect는 무엇일까요? 의료계에서 말하는 부작용의 의미는 아니고, 컴퓨터 공학에서 사용하는 다른 의미가 존재합니다. Side-Effect? 함수가 실행되면서 함수 외부에 존재하는 값이나 상태를 변경시키는 등의 행위를 말합니다. 예를들어 함수에서 전역변수의 값을 변경하거나 혹은 함수 외부에 존재하는 버튼의 텍스트를 변경하거나, 파일을 쓰거나, 쿠키 저장, 네트워크를 통해 데이터를 송신하는 것 등이 있습니다. Side-Effect는 절차형 프로그래밍에서 흔히 존재하는 작업이었고 무조건 나쁜 패턴이라고는 볼 수 없습니다. 하지만 Side-Effect는 프로그램을 ..
ASP.NET 웹사이트 전역에서 사용할 값을 저장하는 방법은 여러 가지가 있습니다. 대표적으로 Application State에 저장하는 방법과 전역 Static 변수에 담는 방법, DB나 파일로 저장하는 방법 등이 있습니다. 이러한 방법들의 특징과 장단점을 파악하여 적절하게 사용하는 것이 필요합니다. Application(혹은 Session) State에 값을 저장 저장위치: Application State에 값을 저장하면 기본적으로 메모리에 저장됩니다. 따라서 파일로 저장하거나 DB에 쓰는 것보다는 빠른 속도를 보장합니다. 하지만 방대한 데이터를 Application State로 저장할 경우 서버의 메모리가 부족해질 수 도 있습니다. 이 경우 서버는 자주 메모리의 데이터를 디스크에 페이징하려고 할 것..
.NET Core 인증을 구현했을 때 에러메시지가 다음과 같이 영어로 나타날 때 한글화 하는 방법을 소개합니다. Passwords must have at least one non alphanumeric character. Passwords must have at least one lowercase ('a'-'z'). Passwords must have at least one uppercase ('A'-'Z'). 방법1: IdentityErrorDescriber 재정의하기 직접 원하는 오류 메시지를 작성하고 싶다면 IdentityErrorDescriber Class를 Override해야 합니다. IdentityErrorDescriber를 상속하여 원하는 에러메시지로 Override합니다. 아래는 영문으로 ..
ASP.NET Core2에서 Server GC를 활성화 하는 방법 GC Mode는 Workstation과 Server 2가지로 구분된다. [Workstation Mode] exe 프로세스 당 1개의 GC Managed Heap를 생성한다. .NET의 gcServer 기본값은 false이므로 기본적으로 workstation Mode로 동작한다. 일반적인 Windows Application은 Workstation Mode로 동작한다고 볼 수 있다. [Server Mode] 논리 프로세서 1개 당 1개 GC Managed Heap를 생성된다. 따라서 서버에서는 여러 개의 GC Managed Heap이 생성되며 더 빠른 GC속도를 보여준다. 예를들어 8Thread CPU를 사용하는 경우 8개의 GC Manage..
- c#
- material-ui
- StringComparison
- MS SQL
- Xamarin.iOS
- Xamarin.Forms
- Android
- TypeScript
- Xamarin.Forms eBook
- npm
- VisualStudio
- Vue
- ASP.NET Core
- .NET Standard
- ios
- React
- WPF
- Xamarin
- Xamarin.Forms 요약
- flutter
- Total
- Today
- Yesterday