일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 출처 : 자바스크립트 딥다이브
- 출처 : 한입크기로 잘라먹는 타입스크립트
- 쏙속 들어오는 함수형코딩
- 나는 flux좋아...
- 생코님Redux
- 자바스크립트 딥다이브
- 흥달쌤
- 큰돌의 CS책
- 에릭 노먼드
- 출처는 코딩애플
- 이웅모
- 리엑트를 다루는 기술
- 에릭 노이먼
- 고등애플
- 유틸리티타입은 공식문서 자주 보자
- 함수형 코딩
- 갈길이 멀구나
- 에릭노이먼
- 출처 : 코딩애플
- 로버트 C마틴
- 클린코드다시읽기
- 쏙쏙 들어오는 함수형코딩
- https://product.kyobobook.co.kr/detail/S000001952246
- 쏙쏙들어오는함수형코딩
- 출처 : 코딩앙마
- 쏙쏙 들어오는 함수형 코딩
- 오종택개발자님
- 출처 : https://www.boostcourse.org/
- 김영한쌤
- 출처는 코딩앙마
- Today
- Total
목록BoOk (18)
흰둥씨의 개발장
요새 클린코드를 다시 읽으면서 아래 노션링크에 독서록을 남기고 있다. https://organized-panama-944.notion.site/337d75ef13ff40d7bc33dbba40d30dc6?pvs=4 그 중 오류처리 부분을 읽으면서 필자는 왜 이렇게 하라는 걸까? 라고 생각하며, 내 언어로 이해한 것들을 남겨 보았다:) - 오류코드보다 예외를 사용하라고 하는 이유는 뭘까? : 오류발생시 확인하는 과정도 잊지 않고 검토 할수 있고, 실행로직과 오류처리 코드가 뒤섞이지 않고 분리되어 가독성 측면에서도 좋고, 실행로직을 재사용하기에도 좋아지기 때문 - try-catch-finally문 작성을 권장하는 이유는 뭘까? : catch문이 실행된다면 try에 문제가 있을때이다. 그렇기 때문에 오류의 범위..
자바스크립트는 명령형, 함수형, 프로토타입기반 객체지향 프로그래밍을 지원하는 멀티 패러다임 프로그래밍 언어 자바스크립트는 거의 모든 것이 객체임 ㄴ> 원시타입 값 제외한 나머지 값들(함수, 배열, 정규표현식, 객체...)는 모두 객체임 - 1) 객체 지향 프로그래밍 ㄴ여러개의 독립단위(=객체)의 집합으로 프로그램을 표현하려는 프로그래밍 패러다임 ㄴ실제 세계의 사물이나 개념을 인식하는 철학적 사고를 프로그래밍에 접목하려는 시도에서 시작함 - 객체 (object) : 속성을 통해 여러개의 값을 하나의 단위로 구성한 복합적인 자료구조 상태 데이터(property)와 상태데이터를 조작하는 동작(method)을 묶어서 하나의 논리 단위로 묶어둔 것 - 속성 (attribute / property) : 실체의 특징..
추상화는 어디까지 하는게 좋은걸까 ? 결국 그 범위, 어느정도까지라는 것은 개발자의 손에 남겨진 과제… 추상화의 범위는 협업시에 추상화한 부분에 대해서, 공유가 잘 되어야 함 혼자 코드를 짜고 있다면 추상화수준이 같은 수준을 유지하고 있는지 확인하면서 진행하기 추상화를 할지 How to!? '구현' 위주로 먼저 진행 해보는 것도 좋다고 생각한다. '공통된 부분'을 뽑아내는 방식으로 진행하기 (김영한님 youtube 참조함) 프로젝트 리더가 추상화레벨, 추상화 적용될 로직에 대한 기준을 제시하면서 진행하거나 팀원들끼리 어떤 로직에 추상화를 어떤레벨로 적용해볼지 연구하면서 진행해보기 함수의 인자 개수는 0개인게 정말 이상적일까? 인자의 개수가 적을수록, 테스트시 유리하고, 유지보수에도 좋고, 가독성에도 좋기..
1) 일급객체 1. 무명의 리터럴로 생성할수 (=런타임에 생성가능) 2. 변수나 자료구조(객체, 배열...)에 저장할 수 있음 3. 함수의 매개변수에 전달가능 4. 함수의 반환 값으로 사용가능 위 조건을 만족하는 객체는 "일급객체" 자바스크립트의 함수는 일급객체임 함수의 특징 1. 함수를 객체와 동일하게 사용할 수 있음 2. 객체는 값이므로 함수도 갑과 동일하게 취급 = 값을 사용할수 있는 곳이라면 어디든 리터럴로 정의가능 3. 함수는 런타임에 객체로 평가됨 => JS의 함수는 일반객체와 같이 매개변수 전달 가능, 함수의 반환값으로 사용가능 해서 '함수형 프로그래밍' 가능 함수와 객체의 차이 1. 일반객체는 호출불가, 함수는 호출가능 2. 함수객체는 일반객체에 없는 고유의 프로퍼티를 가지고있음 2) 함수..
생성자 함수? new연산자와 함께 호출하여 객체(인스턴스)를 생성하는 함수 ㄴJS는 Object, String, Number, Boolean, Function, Array, Date, RegExp, Promise...등의 빌트인 생성자 함수 제공 인스턴스 ? 생성자 함수에 의해 생성된 객체 1) Object 생성자 함수 ㄴnew연산자와 함께 Object생성자 함수를 호출하면 빈객체를 생성하여 반환 ㄴ빈객체 생성이후 프로퍼티 or 메서드 추가해서 객체완성가능 const people = new Object(); //생성자 함수 이용해서 빈객체 생성 people.name = 'Zzanggu'; //프로퍼티 추가 people.sayhi = function () { //메서드 추가 console.log('Hi, ..
1) 내부 슬롯(internal slot)과 내부 메서드 (internal method) ㄴ자바스크립트 엔진의 구현 알고리즘을 설명하기 위해 ECMAscript사양에서 사용하는 pseudo property와 pseudo method const myObject = {}; myObject.[[property]]//SyntaxError; 내부 슬롯은 자바스크립트 엔진의 내부로직으로 직접접근불가 myObject.__proto__ // Object.prototype ; 일부 내부슬롯, 내부메서드 한하여 간접접근가능 2) 프로퍼티 어트리뷰트와 프로퍼티 디스크립터 객체 ㄴ자바스크립트 엔진은 프로퍼티 생성할때 프로퍼티 상태를 나타내는 속성을 기본값으로 자동정의함 ㄴ프로퍼티 상태 ? 프로퍼티의 값(value), 값갱신가..
1) var키워드로 선언한 변수의 문제 - 1) 변수의 중복선언 허용 var x = 1; var x = 2; //중복선언을 허용함 console.log(x); // 2 - 2) 함수레벨스코프 ㄴ함수의 코드블록만 지역스코프로 인정해줌 ㄴif문, for문과 같은 함수아닌 코드블록 안에서 선언하면 전역변수됨 var x = 100; if(true){ var x = 200; } console.log(x); //200 - 3) 변수 호이스팅 ㄴvar키워드로 선언된 변수는 변수선언 이전에 참조됨 (런타임전 참조되어 undefined로 초기화함) console.log(x); //undefined x = 100; console.log(x); //100 2) let 키워드 - 1) 변수 중복 선언 금지됨 let x = 1..
1) 변수의 생명주기 - 1) 지역 변수의 생명 주기 ㄴ 변수는 생물과 유사하게 생성되고 소멸되는 생명 주기(life cycle)가 있음 (변수의 생명주기는 메모리 공간이 확보allocate된 시점부터 메모리 공간이 해제release되어 가용 메모리 풀에 반환되는 시점까지임) ㄴ 전역변수의 생명주기는 애플리케이션의 생명주기와 같음 ㄴ지역변수의 생명주기는 함수의 생명주기와 일치함(함수내 선언된 변수는 함수가 호출되어 실행되는 동안에만 유효함 = 함수내 선언된 변수는 자신이 등록된 스코프가 소멸될때 까지 유효함, 할당된 메모리공간은 누구도 더이상 참조 하지 않을 때 가비지 콜렉터에 의해 화르륵) ㄴ변수는 자바스크립트 엔진에 의해 런타임 이전에 먼저 실행됨 (함수내 선언된 변수는 함수 호출시, 다른 문들이 순..
스코프 (scope, 유효범위) ㄴ식별자가 유효한 범위 ㄴ자바스크립트 엔진이 식별자를 검색할 때 사용하는 규칙 ㄴ네임스페이스(같은 공간에서 같은 이름 식별자 사용불가) - 1) 스코프의 종류 *전역(global) : 코드의 가장 바깥영역 (함수바깥) *지역(local) : 함수 내부 ㄴ변수는 자신이 선언된 위치(전역인지 지역인지)에 따라 스코프가 결정됨 ㄴ전역변수: 전역에서 선언된 변수(어디서든 참조가능) ㄴ지역변수 : 지역에서 선언된 변수 (함수내와 해당함수의 하위 지역 스코프에서만 유효함) - 2) 스코프 체인 ㄴ스코프가 함수의 중첩에 의해 계층적 구조를 가짐 ㄴ상위스코프 변수는 하위스코프에서 참조가능 ㄴ하위스코프 변수는 상위스코프에서 참조불가 - 3) 함수, 블록 레벨 스코프 * 블록레벨스코프 (b..
1) 함수 ㄴ수학의 함수처럼 입력(input)을 받아 출력(output)을 내보내는 일련의 과정 ㄴ프로그래밍 언어에서는 일련의 과정을 문(statement)으로 구현하고 코드블록으로 감싸서 하나의 실행단위로 정의한 것 ㄴ매개변수(parameter) : 함수 내부로 입력을 전달 받는 변수 ㄴ인수(argument) : 입력 ㄴ반환값(return value) : 출력 ㄴ함수는 값이고, 여러개 존재할 수 있어, 특정 함수를 구별하기 위해 식별자인 함수 이름을 사용 (함수역할 파악할수 있게 ; 가독성높이기) ㄴ함수정의만으로 함수 실행되지 않고 함수 호출해야함 ㄴ함수호출 (function call/ invoke) : 인수를 매개변수를 통해 함수에 전달하여 함수 실행을 명시적으로 지시해야 함 ㄴ함수를 사용하는 이유는..
- 원시 타입 (primitive type) ㄴ원시 값은 변경불가능한 값(immutable value) ㄴ원시 값을 변수에 할당하면 변수(확보된 메모리)에 실제 값이 저장됨 ㄴ원시 값을 갖는 변수를 다른 변수에 할당하면 원본값이 복사되어 전달됨(값에 의한 전달) - 객체 타입 (object/ reference type) ㄴ객체는 변경가능한 값(mutable value) ㄴ객체를 변수에 할당하면 변수에 참조 값 저장됨 ㄴ객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달(참조에 의한 전달) 1) 원시값 - 1) 변경 불가능한 값 (불변성) ㄴ한번 생성된 원시값은 읽기 전용 값= 불변 = 데이터 신뢰성 보장 ㄴ재할당하면 변수가 참조하던 메모리 공간의 주소 변경됨 (할당된 원시값이 변..
자바스크립트는 객체 기반의 프로그래밍 언어 ㄴ객체의 집합으로 프로그램을 표현하는 프로그래밍 패러다임 1) 객체 - 객체 (= object) ㄴ0개이상의 프로퍼티로 구성된 집합 (프로퍼티는 키 key와 값 value로 구성됨) ㄴ함수도 프로퍼티 값으로 사용가능 / 프로퍼티 값이 함수면 일반함수와의 구별을 위해 method라고 부름 ㄴ프로퍼티와 메서드로 구성된 집합체 ㄴ변경 가능한 값 (mutable value) ㄴ자바스크립트를 구성하는 거의 '모든 것' ㄴ원시값(변경 불가능한 값)을 제외한 나머지 값(함수, 배열, 정규표현식 등) ㄴ값과 메서드를 모두 포함할수 있어 상태와 동작을 하나의 단위로 구조화할 수 있어 유용함 - 객체 타입(= reference type)? 다양한 타입의 값을 하나의 단위로 구성한..