Last active
October 16, 2018 08:47
-
-
Save parkchanjong/cf9e8cd4df3f36d4e7b722de21fe8343 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
## 린터(linter) | |
* 코딩컨벤션과 에러체크 도와주는 툴 | |
* 협업을 위해 코딩스타일을 설정하고 규칙에 어긋난 코드를 맞추는것 | |
* 코딩스타일 표준-> 코딩 컨벤션(코드작성할때 추천하는 코딩스타일, 괜찮은 사례등을 모아놓은 가이드라인) | |
* 자바스크립트 es 린트 많이 사용 | |
## 코드유지보수 | |
* 정적분석 | |
* 줄바꿈, 메소드 길이,변수명 형식, 언더바,카멜케이스(중간중간 대문자로 낙타처럼..) | |
* 동적분석 | |
* 메모리누수 등 | |
* 테스트 | |
* pr 할때 테스트 코드도 같이 보내달라고함 - 없으면 나중에 소스가 수정될때 어떤 영향을 미치는지 알수 없음 | |
* 개발부채 | |
## 함수형 프로그래밍 | |
* 함수적 접근방식으로 문제 해결 | |
* 특징 | |
* 불변성 | |
* First-class, higher-order functions | |
* lazy evaluation | |
* 병렬 처리가능- 많은cpu 사용 가능 | |
## 일급시민 -함수에 대해서 일급시민을 지원해야함 | |
* 함수를 일급 시민으로 관리 | |
* 함수가 Argument로 전달될수 있다 | |
* 리턴값이 함수가 될수 있다 | |
* 함수를 값처럼 할당하기도 하고 수정하기도 한다 | |
* value | |
* type | |
* object | |
* entity | |
## 불변성 | |
* 함수형 프로그래밍 언어는 불변성 지향, 변경 가능한 상태를 최대한 제거하려고 노력 | |
* 순수함수(내부상태를 갖지 않아 같은 입력에 대해서는 항상 같은 출력) 지향, 부작용이 없는 함수 | |
* ex)삼각함수 - 내부상태가 존재하지 않고 출력값은 입력값에만 영향 받음 | |
* 특징 | |
* 프로그램 검증쉽다- 테스트 코드 작성 하기 쉽다 | |
* 최적화 가능 | |
* 동시성 프로그램을 작성하기 쉽다 | |
* 메모이제이션-반복되는 결과를 메모리에 저장해서 같은 결과가 나올때 실행하는 것 | |
## lazy evaluation | |
* 어떤 값이 실제로 쓰이기 전까지 그값의 계산을 최대한 미루는것 | |
* 장점 | |
* 필요할때 계산하므로 메모리 효율적 사용가능 | |
* 무한 자료구조를 만들어 사용가능 | |
* 실행도중 오류 피할수 있음(컴파일 타임 체킹) | |
* 컴파일러 최적화 | |
## string interpolation | |
* 문자열 보간 | |
* 문자열내에 변수와 같은 동적인 값을 출력하기 위해 사용되는 것 | |
## 절차지향형 프로그래밍 | |
* 순차적처리 - 프로그램 전체가 유기적으로 연결되도록 만듬 | |
* c언어 | |
## 리덕트 | |
* 자바스크립트 프레임워크 | |
* 자바스크립트 어플리케이션을 위한 예측가능한 스테이트 컨테이너 | |
* ![캡처](.\캡처.PNG) | |
* ![캡처2](.\캡처2.PNG) | |
* 데이터가 앱에 전달되서 뷰가 데이터 출력 | |
* 데이터는 독립된 버킷형태로 존재 | |
* 리덕트 -데이터 조종 리액트 -뷰, 유저가 실제 상호 작용,앱 조종 | |
* 스테이트 컨테이너 | |
* 한오브젝트 안에 모든 앱 데이터를 집중시킴 | |
* ![캡처2](.\캡처3.PNG) | |
* 리덕트는 현재 카운터의 스테이트를 추적 | |
* 앱의 스테이트를 포함하고 데이터가 컴포넌트를 뭘 어떻게 렌더링 할지 알려줌 | |
* 어떻게 스테이트를 디자인 하는지 중요(모델링) | |
![캡처2](.\캡처4.PNG) | |
* 유저가 이미지에 반응- 좋아요! - | |
![캡처2](.\캡처5.PNG) | |
https://user-images.githubusercontent.com/29893072/46244260-3a86ba00-c417-11e8-8bc2-a7694306317c.PNG |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment