목록전체 글 (118)
all is well!!
👀 Node.js란? 1. JavaScript용 호스트 환경으로 Chrome V8 JavaScript 엔진으로 빌드된 브라우저 외부에서 JS를 실행할 수 있는 JavaScript 런타임이다. 2. 브라우저 환경에서 JavaScript 코드를 실행하는것은 아니여서 node.js는 DOM과는 상호 작용할 수 없다. 3. PHP, Java나 ASP.net 대신 사용 가능하다. 4. 서버를 시작하고 들어오는 요청을 처리할때 Node.js로 서버 사이드 스크립트를 실행은 서버를 시작하고 모든 미들웨어를 등록하기 위해 한번 실행한다. 5. JavaScript 환경이여서 프론트엔드 개발자에게는 다른 언어를 배울 필요 없이 서버측 코드를 작성할 수 있는것이 큰 장점이다. Node.js - web server ex) /..
1. 하이 레벨 언어 운영체제에 가까울수록 로우 레벨 : 메모리를 직접 관리함(C언어) 어플리케이션에 가까울수록 하이 레벨 : 메모리 자동 관리함(JS) 하이 레벨 언어의 단점은 편리한대신 성능이 낮다. 2. 인터프리터 언어 JS는 인터프리터 언어로 컴파일이 필요없다. 3. 가비지(쓰레기) 콜렉션 이름 그대로 사용하지 않는 객체를 자동으로 제거해준다. 4. 멀티 패러다임 1. 절차지향 프로그래밍 2. 객체지향 프로그래밍 3. 함수형 프로그래밍 JS는 전부 가능하다. 5. 프로토타입 기반 JS에 있는것들은 거의 다 객체(원시타입 제외) Ex)Array.prototype.push 6. 일급 함수 함수를 변수처럼 처리한다. 함수를 다른 함수 안으로 처리 할 수 있다. 함수에서 함수를 반환한다. 7. 동적 변수..
👀 프로그래밍? 1. 프로그래밍 언어를 사용해 컴퓨터에게 실행을 요구하는 일종의 커뮤니케이션. 요구사항의 집합을 분석해 적절한 자료구조와 함수의 집합으로 변환한 후 그 흐름을 제어하는 것. 2. 프로그래밍의 목적은 문제 해결이다. 문제 - (문제해결능력) -> 해결방안 - (문법/의미) -> 코드 3. 코드로 정확하고 상세하게 요구사항을 설명하기 위해서 논리적, 수학적 사고가 필요하다. 그리고 해결 과제를 작은 단위로 분해하고 패턴화해서 추출해야한다. ex) 두발로 걷는 로봇을 위한 '걷기'기능 추가 1.판단해야 하는상태(오른발이 앞에 있는지 왼발이 앞에있는지)2.그 상태를 판단하는 시기3.판단 기준을 정의해야 한다. 이것을 바탕으로 분해한 처리의 실행 여부를 결정.장애물이란 무엇(크기, 움직임 등)..
😇 문제 🙏 답 1. replace + 정규식을 이용한 풀이 정규표현식 g : 발생할 모든 패턴에 대한 전역검색 정규표현식 i : 대소문자 구분x function solution(s) { const number = s .replace(/zero/gi, '0') .replace(/one/gi, '1') .replace(/two/gi, '2') .replace(/three/gi, '3') .replace(/four/gi, '4') .replace(/five/gi, '5') .replace(/six/gi, '6') .replace(/seven/gi, '7') .replace(/eight/gi, '8') .replace(/nine/gi, '9'); return Number(number); } * replace(..
👀 클로저란 ?클로저는 내부 함수가 외부 함수보다 더 오래 유지 되었을때, 외부 함수가 종료된 후에도 외부 함수의 변수를 내부 함수에서 참조할 수 있는 구조입니다.클로저가 변수를 참조할 수 있는 이유는 실행 컨텍스트의 Lexical Environment와 관련이 있습니다. Lexical Environment는 변수나 함수 선언을 저장하는 Environment Record와, 외부 함수의 Lexical Environment를 참조하는 Outer Environment Reference로 이루어져 있습니다. 덕분에 외부 함수가 종료된 후에도 내부 함수는 외부 함수의 변수를 지속적으로 접근할 수 있습니다. 이때 참조된 변수는 힙 메모리에 저장되어 유지됩니다.함수가 호출될 때마다 실행 컨텍스트가 생성되어 스택에..