25 - 클래스
·
✏️ Study/🧽 JS & TS
모던 자바스크립트 Deep Dive 정리 1. 클래스는 프로토타입의 syntactic sugar 인가? ▶ 클래스 = 함수 ▷ JS의 프로토타입 기반 패턴을 다른 프로그래밍 언어의 클래스 기반 패턴처럼 사용할 수 있도록 하는 syntactic sugar 클래스 만의 독특한 특징 ▶ 클래스는 new 없이 호출 불가, 생성자 함수는 new 없으면 일반함수로 호출 ▶ 상속을 지원하는 extends, super 키워드 존재 ▶ 클래스는 호이스팅 발생하지 않는 것처럼 동작, 생성자 함수는 함수 선언문일 경우 함수 호이스팅, 함수 표현식일 경우 변수 호이스팅 발생 ▶ 클래스의 모든 코드에는 암묵적으로 strict mode 적용 ▶ 따라서 클래스는 프로토타입 기반의 객체지향을 구현한다는 점에서 생성자 함수와 유사하지..
<이반 일리치의 죽음> 독후감
·
🗄️ Archived/📚비개발서적
📍책 정보- 제목: 이반 일리치의 죽음- 작가: 레프 톨스토이- 출간연도: 1886 📍위선이 가장 큰 문제다이반 일리치가 자신의 위선을 깨닫게 된 포인트- 의사들에게 진찰을 받으나, 옆구리 고통의 원인에 대해 속 시원하게 듣지 못함- 의사들도 환자의 몸 상태에 대해 100% 확실하게 말해줄 수 없어서.. (단지 의학적 지식과 경험을 바탕으로 정형화된 안내만 해줌)- 이반 일리치도 자신이 판사로 일하며 시민들이나 주변인들에게 이렇게 사무적인 태도로 대했음을 지각- 이로 인해 의사의 치료로 호전될 것이라는 기대를 버리게 됨 (처방받았던 약을 얼마 먹다가 먹지 않음) 이반 일리치가 가족들을 위선적이라고 생각한 배경- 자신은 이렇게 고통스럽고 죽음의 공포에 사로잡혀 있는데, 가족들은 지금까지 도통 효과가 없..
1. Intro
·
✏️ Study/⚛️ React
러닝 리액트(Learning React) 2판 1.1 리액트 사용에 앞서 ▶ 리액트 탄생의 바탕 ▷ 함수형 프로그래밍 패러다임의 대두 (자바스크립트) ▶ 리액트 사용의 효과 ▷ 가독성 ▷ 재사용성 ▷ 테스트 가능성 ▷ 이상의 3가지를 갖춘 패턴을 활용해서 더 좋은 자바스크립트 개발이 가능
24 - 클로저 (Closure)
·
✏️ Study/🧽 JS & TS
모던 자바스크립트 Deep Dive 정리 클로저란? ▶ 사전적 의미 : 함수와 그 함수가 선언된 렉시컬 환경과의 조합 ▶ 외부 함수보다 더 오래 유지되고 상위 스코프의 식별자를 참조하는 (중첩)함수 ▷ 함수가 선언된 렉시컬 환경을 이해하자 const x = 1; function outerFunc() { const x = 10; function innerFunc() { console.log(x); // 10 } innerFunc(); } outerFunc(); ▶ 중첩함수 innerFunc는 outerFunc의 내부에서 선언되었기 때문에, outerFunc의 x 변수에 접근 가능 ▷ 만약, innerFunc 함수가 outerFunc 함수의 내부에서 정의된 중첩함수가 아니면, innerFunc 함수를 out..
23 - 실행 컨텍스트 (Execution Context)
·
✏️ Study/🧽 JS & TS
모던 자바스크립트 Deep Dive 정리 1. 자바스크립트 소스코드(실행 가능한 코드)의 4가지 종류 ▶ 소스코드의 타입에 따라 실행 컨텍스트를 생성하는 과정과 관리 내용이 다르다 1-1. 전역 코드 ▶ 최상위 스코프인 전역 스코프를 생성 ▷ 전역 코드가 평가되면 전역 실행 컨텍스트가 생성됨 1-2. 함수 코드 ▶ 지역 스코프를 생성하고 스코프 체인에 연결 ▷ 함수 코드가 평가되면 함수실행 컨텍스트가 생성됨 1-3. eval 코드 ▶ eval 코드는 strict mode에서 독자적인 스코프를 생성 ▷ eval 코드가 평가되면 eval 실행 컨텍스트가 생성됨 1-4. 모듈 코드 ▶ 모듈별로 독립적인 모듈 스코프를 생성 ▷ 모듈 코드가 평가되면 모듈 실행 컨텍스트가 생성됨 2. 소스코드의 평가와 실행 ▶ 모..
22 - this
·
✏️ Study/🧽 JS & TS
모던 자바스크립트 Deep Dive 정리 1. this 키워드 ▶ 메서드가 자신이 속한 프로퍼티를 참조하려면, 자신이 속한 객체를 가리키는 식별자를 참조해야 함 ▷ 객체 리터럴 방식으로 생성한 객체는 식별자를 통해 참조할 수 있음 ▶ 하지만 생성자 함수 방식에서는 문제가 있음 ▷ 나중에 만들어질 인스턴스의 식별자를 모르기 때문 function Circle(radius) { // 이 시점에는 생성자 함수 자신이 생성할 인스턴스를 가리키는 식별자를 알 수 없다. ????.radius = radius; } Circle.prototype.getDiameter = function () { // 이 시점에는 생성자 함수 자신이 생성할 인스턴스를 가리키는 식별자를 알 수 없다. return 2 * ????.radiu..
리눅스 쉘 명령어
·
✏️ Study/🪜 Dev Infra
리눅스 쉘 명령어 익히기1. 리눅스 쉘이란?▶ 리눅스 : 유닉스에서 파생된 운영체제▶ 유닉스 쉘▷ 커맨드 라인이라고도 불리며 유닉스 계통 시스템을 사용자가 편리하게 사용할 수 있도록 인터페이스를 제공2. 유닉스 기본 명령어ls (list)▷ 현재 디렉토리의 파일 목록을 출력▷ ls -a : 숨김 속성까지 모두 나열▷ ls -l : 자세한 정보까지 나열cd (change directory)▷ cd [디렉토리] : 해당 디렉토리로 이동▷ cd .. : 상위 폴더로 이동mkdir (make directory)▷ mkdir [디렉토리] : 새로운 하위 디렉토리 생성rmdir (remove directory)▷ rmdir [삭제할 디렉토리] : 하위 디렉토리 삭제▷ 삭제할 디렉토리는 비어있어야 함▷ rm -r [..
vi, nano 에디터로 문서 작성
·
✏️ Study/🪜 Dev Infra
vi, nano 에디터로 문서 작성하기▶ Window 운영체제에서 기본적인 에디터가 메모장이라면,▶ 리눅스에서는 Vi 에디터가 기본 데이터임1. Vi editor▶ 리눅스 운영체제의 기본 스크린 에디터1-1. Vi editor 시작하기▶ 텍스트 파일 실행 vi NAME.txt ▷ NAME.txt 파일이 있으면 해당 파일이 열리고,▷ 없다면 새로 생성 1-2. Vi editor 모드▶ input mode (입력 모드)▷ 파일에 내용을 입력할 수 있는 상태▷ 텍스트 삭제, 커서 이동, 저장 등 명령어 입력 가능 ▶ last-line mode (EX mode, 실행 모드)▷ 단어 찾기, 라인 이동, 파일 저장, Vi 에디터 종료 등 명령 실행 가능 ▶ command mode (명령 모드)▷ Vi 에디터 사용시..