본문 바로가기

ALL321

[Javascript] Strict mode 자바스크립트는 1995년도에 개발된 오래된 언어입니다. 현재 2022년까지 무려 27년이 되었습니다. 긴 역사만큼 수많은 문법과 구문들이 자바스크립트에 등장했고, 그 중에서는 현재 사용하면 안정성 혹은 효율을 떨어뜨리는 구문도 존재합니다. 이런 구문들을 피하려면 왜 이 구문이 문제였고, 어떤 방식으로 피할지에 대해 알아야하는데, 이 구문들이 하나둘씩 늘어나다 보니 개발자들에게 부담으로 다가오기 시작했습니다. 그래서 자바스크립트는 Strict mode(엄격 모드)를 지원하기 시작해서 이러한 구문들을 자바스크립트 측에서 발견하여 알려주고, 개발자는 따로 알아두지 않아도 되도록 만들었습니다. 1. Strict mode Strict 모드는 개발자에게 편의성을 주는 모드입니다. 서론에서 언급했듯이, 여러 이유로 .. 2022. 1. 30.
[Javascript] Object 객체 객체들의 객체인 Object 객체에 대해서 알아보겠습니다. 1. Object 객체 Object 객체는 객체에 대한 공통적인 속성과 기능을 제공하는 객체입니다. 다시말해 Object 객체는 객체의 객체라고 할 수 있습니다. 내장형 객체와 사용자 정의 객체도 Object 객체에 포함되어 Object 객체의 기능들을 이용할 수 있습니다. Object 객체는 많은 멤버들을 가지고 있는데, 그 중에서 가장 많이 사용되는 멤버들을 몇 가지 소개하고 넘어가겠습니다. 멤버 설명 constructor 생성자 함수 지정 assign(target, obj, ...) 객체 target에 obj 객체들을 복사 create(prototype) prototype 객체를 기반으로 새 객체 생성 is(value1, value2) va.. 2022. 1. 30.
[Javascript] Closure 1. 스코프 체인 Closure에 대해서 알아보기 전에, 스코프 체인에 대한 개념을 간단하게 짚고 넘어가겠습니다. 자바스크립트는 스크립트가 실행 될 때, 내부적으로 Global 객체를 생성합니다. 이 객체는 인스턴스화하거나 메소드 호출이 불가능한 객체로, 스크립트에서 글로벌 변수/함수를 관리하기 위해 내부적으로 자동 생성되는 객체입니다. 마찬가지로 로컬 변수 또한 글로벌 객체와 유사한 객체로 관리됩니다. 이를 Call 객체(Activation 객체)라고 부르는데, Call 객체는 Global 객체처럼 인스턴스화나 메소드 호출이 불가능하며, 함수가 호출 될 때마다 로컬 변수들을 관리하기 위한 자동 생성 객체입니다. 이렇게 여태까지 몰랐어도 문제가 없었고, 직접 사용할 수도 없는 자동 생성 객체를 왜 굳이 .. 2022. 1. 29.
[MongoDB] 데이터베이스, 컬렉션 몽고디비에서 데이터베이스와 컬렉션을 만들고 이용하는 방법을 알아보겠습니다. 1. 데이터베이스 생성하기 시작하기 앞서 지금 어떤 데이터베이스가 있는지 알아보겠습니다. 현재 작업중인 데이터베이스를 확인하는 명령어는 db명령입니다. db 현재는 test라는 데이터베이스에서 작업중입니다. 실습을 위한 데이터베이스를 하나 만들어보겠습니다. 몽고디비에서 데이터베이스를 생성하는 명령어는 use입니다. use 데이터베이스명 use가 작업할 데이터베이스를 선택하는 일도 하지만, 지정한 데이터베이스명에 일치하는 데이터베이스가 없을 경우, 데이터베이스를 생성하기도 합니다. practice라는 이름의 db를 생성하고 선택까지 되었습니다. 현재 존재하는 데이터베이스를 확인하는 명령은 show dbs입니다. db가 생성되어 있더.. 2022. 1. 28.
[MongoDB] BSON BSON(Binary JSON)은 JSON의 이진 표현 방식입니다. JSON의 장점을 살려리면서도 JSON 보다 더 많은 데이터 유형을 가질 수 있다는 장점이있습니다. 또, 문자열 기반인 JSON은 해석하는데 이진 표현 방식보다 느릴 수 밖에 없기에 JSON 보다 더 빠른 속도를 가질 수 있습니다. 몽고디비에서는 데이터 레코드 저장하기 위한 방식으로 BSON을 이용합니다. 물론 관리자가 작성하고 볼 때는 JSON의 형태를 가지지만, 실제로 전송될 때는 이진 표현으로 만들어서 저장/송수신하게 됩니다. BSON은 JSON과 유사하게 키/값 쌍으로 이루어진 필드를 갖습니다. { 키: 값, 키: 값, ... } 위에서도 언급했지만 BSON은 JSON에 비해 더 많은 값을 가질 수 있다고 했습니다. JSON은 S.. 2022. 1. 27.
[MongoDB] 몽고DB 지난 포스팅까지는 SQL의 대표주자인 오픈소스 MySQL과 MySQL의 SQL 문법을 알아보았습니다. 이번에 소개드릴 데이터베이스는 몽고DB입니다. 왜 SQL을 배웠는데, 다른 것을 다시 배우는 지부터, 몽고 디비가 무엇인지까지도, 이번 포스트에서 소개해드리겠습니다. 1. NoSQL NoSQL은 이름에서 느낄 수 있듯이 SQL을 사용하지 않는 데이터베이스입니다. 사용하지 않는다고 했지만 이는 정확하지 않은 이야기이고, SQL을 사용할 수는 있으므로 No를 Not only라고도 부르기도 합니다. 그렇다면 SQL문을 사용하지 않았을 때의 장점은 무엇이길래 NoSQL이 등장하게 되었을까요? NoSQL 데이터베이스는 기존의 관계형 데이터베이스에 비해 융통성있고, 데이터를 다루는데 개선된 매커니즘을 다루고 있습니.. 2022. 1. 27.
300x250