TL
-
SOLID SRP : Single Responsibility Principle. 한 클래스에 대해 한 가지 기능만을 수행하도록 해라. OCP : Open/Closed Principle. 새로운 기능의 추가가 일어났을 때에는 기존 코드의 수정 없이 추가가 되어야 하고, 내부 매커니즘이 변경되어야 할 때에는 외부의 코드 변화가 없어야 한다. 버그 수정이 아닌 새로운 기능을 개발할 때 기존에 개발된 함수를 수정하면서 코드를 개발하고 있다면 OCP 원칙을 위배한 코드를 작성하고 있을 확률이 높다. LSP : Liskov Substitution Principle. 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다. ISP : Interface Segregation Principle..
03/09 TL. SOLID 5원칙(ts)SOLID SRP : Single Responsibility Principle. 한 클래스에 대해 한 가지 기능만을 수행하도록 해라. OCP : Open/Closed Principle. 새로운 기능의 추가가 일어났을 때에는 기존 코드의 수정 없이 추가가 되어야 하고, 내부 매커니즘이 변경되어야 할 때에는 외부의 코드 변화가 없어야 한다. 버그 수정이 아닌 새로운 기능을 개발할 때 기존에 개발된 함수를 수정하면서 코드를 개발하고 있다면 OCP 원칙을 위배한 코드를 작성하고 있을 확률이 높다. LSP : Liskov Substitution Principle. 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수행할 수 있어야 한다. ISP : Interface Segregation Principle..
2022.03.10 -
🍉 Object 생성자 함수 생성자 함수란 new 연산자와 함께 호출하여 인스턴스를 생성하는 함수를 말한다. Object 외에도 String, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인 생성자 함수를 제공한다. Object로 빈 객체를 생성 후, 프로퍼티 또는 메서드를 추가해 객체를 완성할 수 있다. const person = new Object(); person.name = 'Kim'; person.sayHello = () => { console.log('Hi My name is ' + this.name); }; Object 생성자 함수를 이용한 것보다는 객체 리터럴을 사용하는 편이 더 간편하다. 🍉 생성자 함수 🥥 객체 리터럴에 의..
21.09.22 TL. js - 생성자 함수에 의한 객체 생성🍉 Object 생성자 함수 생성자 함수란 new 연산자와 함께 호출하여 인스턴스를 생성하는 함수를 말한다. Object 외에도 String, Number, Boolean, Function, Array, Date, RegExp, Promise 등의 빌트인 생성자 함수를 제공한다. Object로 빈 객체를 생성 후, 프로퍼티 또는 메서드를 추가해 객체를 완성할 수 있다. const person = new Object(); person.name = 'Kim'; person.sayHello = () => { console.log('Hi My name is ' + this.name); }; Object 생성자 함수를 이용한 것보다는 객체 리터럴을 사용하는 편이 더 간편하다. 🍉 생성자 함수 🥥 객체 리터럴에 의..
2021.09.22 -
🍉 함수 호출 🥥 매개변수와 인수 함수가 호출되면 함수 몸체 내에서 암묵적으로 매개변수가 생성되고 undefined로 초기화된 이후, 인수가 순서대로 할당된다. function add(x, y) { // 암묵적으로 x, y를 선언, 초기화 후 인수 2, 5를 넘겨받는 과정을 거친다. return x + y; // x + y의 값을 평가한 뒤 반환한다. } var result = add(2, 5); // 매개변수 x, y로 인수 2, 5를 넘긴다. // result에는 평가된 x + y의 값이 담긴다. console.log(add(2)) // NaN // x에는 2를 넘기지만, b는 넘길 값이 없기 때문에 undefined 상태로 유지된다. // 2 + undefined 이므로 NaN이 반환된다. fuct..
21/09/17 TL. 자바스크립트 - 함수(2), 스코프🍉 함수 호출 🥥 매개변수와 인수 함수가 호출되면 함수 몸체 내에서 암묵적으로 매개변수가 생성되고 undefined로 초기화된 이후, 인수가 순서대로 할당된다. function add(x, y) { // 암묵적으로 x, y를 선언, 초기화 후 인수 2, 5를 넘겨받는 과정을 거친다. return x + y; // x + y의 값을 평가한 뒤 반환한다. } var result = add(2, 5); // 매개변수 x, y로 인수 2, 5를 넘긴다. // result에는 평가된 x + y의 값이 담긴다. console.log(add(2)) // NaN // x에는 2를 넘기지만, b는 넘길 값이 없기 때문에 undefined 상태로 유지된다. // 2 + undefined 이므로 NaN이 반환된다. fuct..
2021.09.18 -
device controller : 각 device가 갖고 있는 일종의 cpu이다. local buffer : 각 device가 갖고 있는 일종의 메모리이다. mode bit : 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 OS에 피해가 가지 않도록 하는 일종의 보호장치이다. 1 사용자 모드 : 사용자의 프로그램을 실행한다. 0 모니터 모드 : OS 코드를 수행한다. 커널 모드, 시스템 모드라고도 한다. 보안을 해칠 수 있는 특수 명령은 모니터 모드에서만 실행할 수 있는데 이를 특권 명령이라고 한다. 인터럽트가 발생시 하드웨어가 mode bit을 0으로 바꾸고, 사용자 프로그램에게 CPU를 넘기기 전엔 mode bit을 1로 세팅한다. 위험한 명령인데 mode bit가 1이다? 불손한 명령으로 여..
21/09/13 TL. 컴퓨터 시스템의 구조device controller : 각 device가 갖고 있는 일종의 cpu이다. local buffer : 각 device가 갖고 있는 일종의 메모리이다. mode bit : 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 OS에 피해가 가지 않도록 하는 일종의 보호장치이다. 1 사용자 모드 : 사용자의 프로그램을 실행한다. 0 모니터 모드 : OS 코드를 수행한다. 커널 모드, 시스템 모드라고도 한다. 보안을 해칠 수 있는 특수 명령은 모니터 모드에서만 실행할 수 있는데 이를 특권 명령이라고 한다. 인터럽트가 발생시 하드웨어가 mode bit을 0으로 바꾸고, 사용자 프로그램에게 CPU를 넘기기 전엔 mode bit을 1로 세팅한다. 위험한 명령인데 mode bit가 1이다? 불손한 명령으로 여..
2021.09.14 -
🍉 함수란? 함수 : 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것을 말한다. 🍉 함수 리터럴 js의 함수는 객체 타입의 값이다. 따라서 함수 리터럴로 생성할 수 있다. 일반 객체는 호출할 수 없지만 함수는 호출할 수 있다. 함수가 객체라는 사실은 다른 언어와 구별되는 js의 특징이다. 🍉 함수 정의 함수 정의하는 방법은 4가지가 있다. 함수 선언문 함수 표현식 Function 생성자 함수 화살표 함수 모든 함수 정의 방식은 함수를 정의한다는 공통점이 있지만 중요한 차이가 있다. 변수는 선언한다고 하고 함수는 정의한다고 표현한다. 한수 선언문이 평가되면 식별자가 암묵적으로 생성되고 함수 객체가 할당된다. 🥥 함수 선언문 function add(x, y) { return..
21/09/12 TL. 자바스크립트 - 함수(1)🍉 함수란? 함수 : 일련의 과정을 문으로 구현하고 코드 블록으로 감싸서 하나의 실행 단위로 정의한 것을 말한다. 🍉 함수 리터럴 js의 함수는 객체 타입의 값이다. 따라서 함수 리터럴로 생성할 수 있다. 일반 객체는 호출할 수 없지만 함수는 호출할 수 있다. 함수가 객체라는 사실은 다른 언어와 구별되는 js의 특징이다. 🍉 함수 정의 함수 정의하는 방법은 4가지가 있다. 함수 선언문 함수 표현식 Function 생성자 함수 화살표 함수 모든 함수 정의 방식은 함수를 정의한다는 공통점이 있지만 중요한 차이가 있다. 변수는 선언한다고 하고 함수는 정의한다고 표현한다. 한수 선언문이 평가되면 식별자가 암묵적으로 생성되고 함수 객체가 할당된다. 🥥 함수 선언문 function add(x, y) { return..
2021.09.12 -
🍉 객체란? js는 객체 기반 프로그래밍 언어이다. js를 구성하는 거의 "모든 것"이 객체다. 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 도무 객체다. 원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다. 또한 원시 타입 값은 변경 불가능한 값이지만 객체는 변경 가능한 값이다. 따라서 객체를 생성해 놓고 나중에 프로퍼티를 동적으로 추가할 수도 있다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다. js에서 사용할 수 있는 모든 값은 프로퍼티가 될 수 있다. js의 함수는 일급 객체이므로 값으로 취급 가능하고, 함수도 프로퍼티 값으로 사용 가능하다. 프로퍼티 값이 함수일 경우, 일반 함수와 ..
21/09/11 TL. 객체 리터럴, 원시 값과 객체의 비교🍉 객체란? js는 객체 기반 프로그래밍 언어이다. js를 구성하는 거의 "모든 것"이 객체다. 원시 값을 제외한 나머지 값(함수, 배열, 정규 표현식 등)은 도무 객체다. 원시 타입은 단 하나의 값만 나타내지만 객체 타입은 다양한 타입의 값을 하나의 단위로 구성한 복합적인 자료구조다. 또한 원시 타입 값은 변경 불가능한 값이지만 객체는 변경 가능한 값이다. 따라서 객체를 생성해 놓고 나중에 프로퍼티를 동적으로 추가할 수도 있다. 객체는 0개 이상의 프로퍼티로 구성된 집합이며, 프로퍼티는 키와 값으로 구성된다. js에서 사용할 수 있는 모든 값은 프로퍼티가 될 수 있다. js의 함수는 일급 객체이므로 값으로 취급 가능하고, 함수도 프로퍼티 값으로 사용 가능하다. 프로퍼티 값이 함수일 경우, 일반 함수와 ..
2021.09.12