목록전체 글 (85)
개발일지
스코프, 호이스팅, TDZ 스코프 자바스크립트의 스코프는 함수 레벨 스코프를 따른다. 같은 함수 레벨에 존재하면 값을 참조할 수 있다는 건데 ES6에서 let 키워드가 도입되면서 블록 레벨 스코프를 사용할 수 있게 됐다. 전역 스코프 -어디서든지 접근할수 있는 변수 지역 스코프 -함수 자신과 하위 함수에서만 참조 가능 지역 변수 -지역 스코프를 갖는 지역 변수 -함수 내에서 선언된 변수로 해당 함수와 해당 함수의 하위 함수에서 참조 가능 암묵적 전역 변수 선언하지 않은 변수에 값을 할당하면 전역 객체의 프로퍼티가 되어 전역변수처럼 동작한다. 하지만 변수 선언이 없었기 때문에 호이스팅은 발생하지 않는다. (variable = 1) === (window.variable = 1) ////////////////..
undefined 원시 자료형으로 undefined 타입이고 아무것도 할당받지 않은 상태를 의미한다. var 키워드로 선언한 변수는 암묵적으로 undefined로 초기화된다 변수 선언에 의해 확보된 메모리 공간을 처음 할당이 이뤄질 때까지 빈 상태(*대부분 비어 있지 않고 쓰레기 값이 들어 있다.)로 내버려 두지 않고 자바스크립트 엔진이 undefined로 초기화한다. 따라서 변수를 선언한 이후 값을 할당하지 않은 변수를 참조하면 undefined가 반환된다. 변수를 참조했을 때 undefined가 반환된다면 선언 이후 값이 할당되지 않은 즉, 초기화되지 않은 변수라는 것을 알 수 있다. 이처럼 undefined는 개발자가 의도적으로 할당하기 위한 값이 아니라 자바스크립트 엔진이 변수를 초기화할 때 사용..
ORM ( Object Relational Mapping ) Object Relational Mapping의 줄임말로 객체와 관계를 매핑해주는 것 입니다.객체 지향 언어에서는 모델을 정의할 때 Class를 사용하고, 관계형 데이터 베이스에선 Table을 사용합니다. 바로 여기서 객체 지향 언어로 된 Class를 관계형 데이터 베이스의 Table와 연결시켜 준다는 것이죠. 이것은 직접 SQL문을 작성하지 않고, 객체 지향적으로 코드를 작성할 수 있도록 도와주는 것이죠. : 데이터베이스와 객체 지향 프로그래밍 언어 간의 호환되지 않는 데이터를 변환하는 프로그래밍 기법을 말합니다. TypeORM은 Node.js, Browser, React Native 플랫폼 등에서 JS,TS와 함께 사용할 수 있는 ORM입니..
NestJS Nestjs는 타입스크립트 기반으로 OOP (Object Oriented Programming, 객체지향프로그래밍), FP (Functional Programming, 함수형 프로그래밍) 및 FRP (Functional Reactive Programming) 요소를 결합하는 특징을 가지고 있습니다. NestJS는 Architecture 구조를 제공함으로써 Node.js의 주요 문제를 해결해 줍니다. NestJs는 Node.js를 위한 프레임워크로, 규칙과 구조 없이 자유분방한 node.js를 순식간에 Python+Django, Java+Spring 수준으로 만들어줍니다. 때문에 각 개발자들이 Architecture를 통일하고 소통 비용을 절감하며, 확장성 있고 효율적인 개발을 할 수 있습니다..
ES6 ECMA스크립트(ECMAScript, 또는 ES)는 자바스크립트를 표준화 하기위해 만들어진, ECMA-262 기술 규격에 따라 정의하고 있는 표준화된 스크립트 프로그래밍 언어를 말합니다 추가된 기능 const, let const 와 let 는 기존 var에 있던 재할당과 재선언에 대해서 심각한 오류가 발생하는걸 막기 위해 나타난 거다 let 재할당 이 가능하고 재선언은 안됩니다 const 재할당, 재선언이 불가능해서 다른곳에서 쓰일 일이 없어서 오류와 같은 상황이 적다 객체와함께 사용할때를 제외하고는 변경이 불가능한 변수이다 화살표 함수 함수를 쓰는 방식에 표현식과 선언식이 있었는데 더 간략하게 쓸수 있는 화살표 함수가 나왔다 화살표 함수를 map과 filter, reduce 등 내장 함수와 함께..
타입스크립트는 자바스크립트에 타입을 부여한 언어로 자바스크립에 확장된 언어로 자바스크립트보다 엄격한 형식으로 쓰여진다 그래서 에러를 사전에 방지할수 있고, 코드가이드 및 자동완성 기능이 있어서 개발 생산성이 올라가는 효과가 있다 이런식으로 변수에 처음에 문자열으 넣고 변수에 재할당을 할때 같은 타입을 넣어야지 오류가 안나옴 원래는 변수명 뒤에 어떤 타입이 들어갈지 명시를 해주어야 하는데 타입스립트에서 자동으로 변수에 쓰여진 값을 보고 이 변수에는 같은 타입이 들어가는 변수로 인식해서 재할당할때 다른 타입의 값을 쓰면 아래처럼 오류가 난다 타입을 명시 //타입 명시 let bbb: string = "반갑습니다"; bbb = "안녕하세요"; let num: number = 500; num = 10; let ..
callback 다른 함수의 인자로 이용가능한 함수 이벤트에 의해 호출되어지는 함수 다른 함수의 인자로 이용가능한 함수 function add (x, y, callback){ let qqq = x * y callback(qqq) // result(data) 실행됨 } function result (data) { console.log(data, "콜백함수 실행") } add(5, 10, result) // 50 콜백함수 실행 위의 함수에는 인자로 x, y, callback 이 들어가 있고 그 인자에는 5, 10, result 함수가 들어가 있습니다. add 함수를 실행시키면 인자로 들어간 x,y 가 실행이 되고 qqq에는 50이 들어가고 아래 result 함수가 실행되고 data 안에는 50이이라는 값이 ..
크롤링 (헤엄치다) - 꾸준히 가져오기 웹상에서 우리가 필요한 데이터를 탐색해서 수집하는 작업을 뜻함 html페이지를 가져와서 필요한 데이터만 추출 open Api를 제공하는 서비스에서 open api를 호출해서 필요한 데이터만 가져오는 링크를 따라 들어가면 연결된 페이지가 나오는것 같은 느낌인거 같다 웹크롤러 자동화된 방법으로 웹에서 다양한 데이터를 수집하는 소프트웨어 원하는 서비스에서 원하는 데이터를 편하게 얻을수 있다 주로 파이썬에서 사용 스크래핑(긁다) - 한번 가져오기 특정 웹사이트나 페이지에서 원하는 부분의 데이터를 자동으로 추출하는 것 크롤링은 웹상을 돌아다니며 방대한 양의 데이터를 수집하기때문에 특정 키워드의 심층 분석할때 좋고, 실시간 데이터 수집을 계속해서 동작하므로 변화하는 데이터를 ..