함수에는 입력과 출력이 있습니다. 입력은 함수가 계산을 하기 위한 외부정보입니다. 출력은 함수 밖으로 나오는 정보나 어떤 동작입니다. 입력과 출력은 명시적이거나 암묵적일 수 있습니다. -명시적 입력 :인자 -암묵적 입력 : 인자 외 다른 입력 ex) 전역변수 읽기 -명시적 출력 : 리턴값 -암묵적 출력 : 리턴값 외 다른 출력 ex) 전역변수 값 변경 액션에서 계산을 빼내기 (계산 추출) 1. 계산 코드를 찾아 빼낸다 (리팩토링) 2. 새 함수에 암묵적 입력과 출력을 찾는다. 3. 암묵적 입력은 인자로 암묵적 출력은 리턴값으로 바꾼다. 예시문제 // 전역변수 : shopping_cart_total function update_shipping_icons(){ var buy_buttons = get_buy_..
액션과 계산, 데이터는 어디에나 적용할 수 있습니다. 장보기 과정 액션 냉장고 확인하기 액션 운전해서 상점으로 가기 액션 필요한 것 구입하기 액션 운전해서 집으로 오기 각 과정들이 액션인 이유 -냉장고 확인하기 : 냉장고를 확인하는 시점에 따라 냉장고에 있는 제품이 다르다. -운전해서 상점으로 가기 : 두 번 운전해서 상점에 가면 연료가 두 배로 든다. -필요한 것 구입하기 : 누군가 브로콜리를 구입하면 브로콜리가 다 떨어질 수도 있기 때문에 구입하는 시점이 중요하다. -운전해서 집으로 오기 : 이미 집에 있다면 상점에 있는 것이 아니기 때문에 상점에서 집으로 올 수 없습니다. 언제 하는지가 중요한 단계입니다. 각 액션들을 데이터와 계산으로 나눠보자 ex) 냉장고 확인하기 데이터 현재 재고 데이터 필요한..
계층형 설계 함수형 프로그래머는 유지보수를 잘 하기 위해 계층형 설계를 사용합니다. 각 계층은 코드의 변경 가능성에 따라 나눕니다. 각 계층은 그 아래에 있는 계층을 기반으로 만들어 집니다. 그래서 각 계층에 있는 코드는 더 안정적인 기반 위에 작성할 수 있습니다. 이런 구조로 소프트웨어를 만들면 코드를 쉽게 변경할 수 있습니다. 가장 위에 있는 코드는 의존성이 거의 없기 때문에 쉽게 바꿀 수 있습니다. 아래에 있는 코드들은 위에 있는 코드보다 의존성이 많아 바꾸기 어렵지만 자주 바뀌지 않습니다. 함수형 프로그래머는 이 아키텍처 패턴이 계층을 만들기 때문에 계층형 설계(stratfied design)이라고 부릅니다. 계층형 설계는 일반적으로 비즈니스 규칙, 도메인 규칙, 기술 스택 계층으로 나눕니다. 계..
(학문적 정의) 함수형 프로그래밍이란(functional programming FP) 1. 수학 함수를 사용하고 부수 효과side effect를 피하는 것이 특징인 프로그래밍 패러다임 2. 부수 효과 없이 순수 함수pure function만 사용하는 프로그래밍 스타일 - 부수효과 : 함수가 리턴값 이외에 하는 모든 일을 말한다. 부수효과는 함수를 부를 때마다 발생하기 때문에 문제가 될수 있다. ex) 메일 보내기, 전역 상태 수정하기 - 순수함수 (=수학함수) : 인자에만 의존하고 부수 효과가 없는 함수 인자에만 의존한다는 말은 같은 인자를 넣으면 항상 같은 결과를 돌려준다는 말이다. 실용적 측면에서 (학문적)함수형 프로그래밍 정의의 문제점 1. 부수 효과는 필요하다. - 부수 효과는 소프트웨어를 실행하..
- Total
- Today
- Yesterday
- 문자열
- promise
- 배열내특정요소찾기
- 비동기
- 객체리터럴
- .then()
- 리액트 이미지경로
- react
- 함수형코딩
- unique "key" prop.
- 머리아프다..
- 조대곤교수님
- 에이블스쿨2일차
- 객체속성 추가 삭제
- 함수
- .catch()
- null과 undefined
- 전역변수
- 태스크큐
- 상속
- 미들웨어위치
- unexpected character
- JSX
- 동등비교연산자
- 프로토타입 체이닝
- Props
- cors위치
- universal rendering
- .finally()
- 대괄호표기법
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |