목록분류 전체보기 (778)
치춘짱베리굿나이스
DBMS 설명 Database Management System 데이터베이스 관리 시스템으로, 데이터의 집합을 만들고 저장 및 관리를 도와주는 툴이다 DBMS를 통해 데이터베이스를 효율적으로 관리할 수 있고, 응용 프로그램들이 쿼리문을 통해 데이터베이스에 접근할 수 있게 된다 DBMS의 종류에 따라 ANSI SQL에 추가 문법들이 더해지거나 기능이 더해져 데이터베이스를 조금 더 구체적으로 다룰 수 있기도 한다 관계형 데이터베이스에서 가장 많이 사용되는 DBMS는 오라클에서 만든 Oracle Database이고, MySQL, Microsoft SQL, PostgreSQL 등도 많이 사용된다 특징이 조금씩 다르기 때문에 사용하기 전에 구체적으로 알아보는 것이 좋겠다 장단점 장점 데이터를 보기좋게 보여준다 CL..

SQL 설명 Structured Query Language (구조적 질의 언어) 데이터베이스 상에서 자료를 처리하고, 데이터베이스에 자료를 넣거나 뺄 때, 조건에 맞는 자료 등을 가져올 때 등에 사용되는 쿼리 언어이다 표준 SQL은 ANSI SQL이 정립되어 있으며, 아래에서 설명할 DBMS에서는 이 ANSI SQL을 기본으로 지원하기 때문에 어떠한 DBMS를 선택하든 ANSI SQL을 사용하지 못하는 일은 없다 명령어의 역할에 따라 DDL, DML, DCL로 구분된다 용어 Column (컬럼) 테이블에서의 세로줄 하나하나를 컬럼이라고 한다 하나의 컬럼에는 같은 형식, 같은 필드명의 데이터들이 들어온다 JSON 으로 치면 key에 해당한다 칼럼명 = 필드명 이라고 생각하자 Row 여러 컬럼을 가진 하나의..

Express로 간단한 서버 만들기 Express - Node.js 웹 애플리케이션 프레임워크 Express - Node.js 웹 애플리케이션 프레임워크 Node.js를 위한 빠르고 개방적인 간결한 웹 프레임워크 $ npm install express --save expressjs.com 프론트엔드 지망이라고 평생 안써볼 줄 알았지? 하하 맞아라 익스프레스 빔 이걸 쓸 날이 이렇게 빠르게 올 줄은 몰랐다 간단한 웹서버를 만들어야 할 일이 있어서 바로바로 삽질도 기록할 겸 이렇게 노션을 켰다 (물론 업로드되는 곳은 티스토리지만,,) 설치 $> npm install express $> yarn install express npm 링크 express express Fast, unopinionated, mini..

콜 스택 (호출 스택) 개념 프로그램이 함수 호출을 추적할 때 사용한다 현재 어떤 함수가 동작하고 있는지, 그 함수 내에서 어떤 함수가 동작하는지, 다음에는 어떤 함수를 동작하여야 하는지 등을 제어한다 스택의 LIFO (후입선출) 특성을 생각하면 호출 스택도 비슷한 원리로 동작함을 알 수 있다 메모리 구조에서 스택이 의미하는 것이 바로 이 콜 스택이다 힙이랑 다른 점 스택은 액세스가 빠르고, 힙은 상대적으로 느리다 힙은 사용자가 직접 변수 할당 및 해제를 관리해줘야 하지만, 스택은 관리할 필요가 없다 (CPU가 알아서 관리해줌) 힙은 메모리 단편화가 일어날 수 있지만, 스택은 그렇지 않다 스택 내의 변수는 해당 스코프 내에서만 접근할 수 있지만, 힙 내의 변수는 (주소값만 알고 있다면) 전역적으로 접근 ..

일반 함수 vs 화살표 함수 (람다식) 참고로 필자는 자바스크립트 입문을 let, const, 화살표함수로 했기에 그것만 주구장창 썼는데 이걸 왜 쓰는지는 명확히 이해하지 못했다 (그냥 일반함수랑 똑같이 작동한다고 생각했음) 언젠가 두 개의 차이를 정리해봐야겠다 막연한 생각은 했었는데 그게 지금이 될 줄은 일반 함수 function foo() { console.log("foo"); } 평범하게 작성한 함수이다 const bar = function foo() { console.log("foo"); } 변수에 할당하고 싶다면 이렇게 작성한다 화살표 함수 const foo = () => { console.log("foo"); } 화살표를 이용해서 조금 더 간결하게 작성되는 함수이다 ES6에서 추가되었으며, 람..

Symbol 뭐 하는 녀석인지? 태초에 자바스크립트는 원시 자료형 5개와 객체 자료형 1개 총 6개의 자료형으로 이루어져 있었다 Number, String, Boolean, null, undefined 그리고 객체 Object가 그것이었는데, ES6 (2015년) 에 원시자료형팀 환상의 식스맨으로 Symbol이 합류했다 심볼은 객체의 고유 식별자로 활용할 수 있는 원시자료형으로, 쉽게 말해 객체 내부 프로퍼티의 키를 설정할 때 사용할 수 있다 심볼을 사용하면 프로퍼티 키가 겹치지 않고 고유한 값으로 설정되므로, 키가 중복으로 설정됨으로써 발생하는 충돌을 막을 수 있다 프론트엔드에서 클래스명을 겹치지 않게 설정하기 위해 CSS module을 사용하거나, CSS-in-JS 라이브러리들 (Styled Comp..

자바스크립트에서의 싱글톤 패턴과 static 싱글톤의 의미 Singleton 이름의 ‘Single’ 에서 뭔가 한 개..? 하나의…? 라는 뜻이 연상된다 싱글톤은 특정 클래스에 인스턴스를 단 하나만 생성 (메모리를 단 한 번만 할당) 하여 사용하는 패턴을 의미한다 (= 메모리를 단 한 번만 할당한다) 특징 인스턴스가 딱 하나만 생성된다 (대개 private, static 등의 키워드를 이용하여 구현한다) ‘단 한 개’ 만 생성되는 인스턴스는 전역으로 참조될 수 있으며, 다른 객체들이 이 공유된 인스턴스에 접근할 수 있어 데이터 공유가 편리하다 메모리를 한 번만 할당하면 되기 때문에 효율이 좋다 인스턴스가 ‘단 하나' 임을 보장하고 싶을 때 주로 사용한다 단점 일반 클래스보다 더 복잡하며, 비동기적인 상황..

HTTP 기본 HTTP 소개 Hypertext Transfer Protocol 응용 계층 (Application Layer) 에서 사용되는 프로토콜로, 1989년에 팀 버너스 리에 의해 고안되었다 참고로 www랑 URL 개념도 이분이 고안하셨다 역시 CERN인가? 대박천재시다 처음에는 웹 브라우저 - 웹 서버 간 하이퍼미디어 문서 (이름에도 나와있듯, 말그대로 Hypertext 문서) 를 주고받기 위해 만들어진 프로토콜이지만, 지금은 일반 텍스트나 JSON 객체, 이미지 등 미디어 파일들도 주고받을 수 있게 확장되었으며, 어플리케이션이나 IoT 등 웹과 관계없는 분야에서도 이 프로토콜을 이용하여 데이터를 주고받는다 HTTP는 www (월드 와이드 웹) 에 내재되어 있으며, 일반적인 웹 브라우저에는 htt..