BE 12

[MySQL] 사용자 비밀번호 변경, 사용자 추가, 권한 추가 및 확인

잊지않게 기록해두는 기록.. 1. MySQL 에 루트 권한으로 로그인! mysql -u root -p 초기 접속이면 root 로 비밀번호가 설정되어 있지만, MySQL 루트 사용자에 대한 암호를 설정하지 않은 경우 sudomysql로 로그인할 수 있다고 한다. (아직 해보진 않았다) 2. MySQL 사용자 암호 설정 mysql> ALTER USER 'user-name'@'localhost' IDENTIFIED BY 'NEW_USER_PASSWORD'; mysql> FLUSH PRIVILEGES; 나의 경우는 일단 'root' 사용자의 계정 설정부터 다시 설정한 후, 다른 세팅을 시작했다. mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '내가 사용할 비밀번호' ..

BE/Database 2022.09.09

[JS] About Hoisting - 호이스팅이란? 간단한 개념정리

자바스크립트는 변수를 3단계에 걸쳐서 생성하며, 생성하는 순서는 아래와 같다. Javascript 엔진에서의 변수 생성 단계 : 선언 -> 초기화 -> 할당 선언 단계 변수를 실행 컨텍스트(실행 코드에 제공할 정보 객체)의 변수 객체에 등록한다. 초기화 단계 변수 객체에 등록된 변수를 위한 메모리 공간을 확보한다. (이때, undefined로 초기화됨) 메모리가 할당되면 메모리 참조를 통해 변수에 접근할 수 있다. 할당 단계 사용자가 정의한 값을 변수에 할당해준다. var 의 경우, 선언과 초기화(undefined)가 함께 진행되고 let 의 경우, 선언과 초기화가 각각 진행되어 - 정의가 되지 않았다는 ReferenceError가 출력되며, const 의 경우, 선언할 때 초기화 여부를 검증하게 되어 ..

[DB] DB Schema (데이터베이스 스키마) 와 3단계 데이터 구조

데이터베이스의 구조, 조금 더 근원적으로 말해보자면 데이터를 저장하는 서버(컴퓨터)가 그 서버의 물리적 공간 (흔히들 표현하는 HDD, SSD, 등등.. 물리적 저장장치) 에 저장하는 구조는.. 이해하기 어렵다. 아니, 이해한다 해도 우리들이 적용하긴 어렵다. (DBA 의 존재 이유) 그래서 우리( 백엔드 개발자 )는 데이터베이스를 'Schema (스키마)' 를 통해 이해하고 적용하며 사용한다. 그렇다면 데이터베이스 스키마 (DB Schema) 란 무엇인가? 데이터의 '구조' 를 표현하고 자료간의 관계를 언어로 정리한 것 - 이라는 표현을 사용한다. 조금 어렵다.. 참고한 다른 링크의 글을 가져와보았다. 스키마와 인스턴스라는 이야기를 나누어서, 실제 데이터의 예시와 비교하여 설명하고 있다. 즉, Sche..

BE/Database 2022.07.22

[Nest] Nest.js란? 기본개념 ( + loose coupling ) + 설치 및 폴더구조 살펴보기

앞서서 package.json (+package-lock.json) 으로 node 에서의 모듈 버전관리에 관해 간략하게 다뤘었고 (https://bans.tistory.com/22) [npm] 어? 그거 그냥 만들어지던데... [ package.json ] npm - Node Package Manager Javascript 환경에서 개발을 하는 데 빼놓을 수 없는것이 바로 npm이다. npm - node package manager 패키지를 프로젝트에 설치하거나 갱신 또는 삭제하는데 사용되는 도구를 패키지.. bans.tistory.com TypeScript의 간략한 개념 및 사용하게 된 배경 등을 다뤘었다. (https://bans.tistory.com/25) [TS] TypeScript란? - 기본개..

[TS] TypeScript란? - 기본개념

TypeScript, 왜 만들어지게 되었는가? - TypeScript 는 Javascript 엔진을 사용하면서 커다란 애플리케이션을 개발할 수 있게 설계된 언어이다 (관련 페이지) 위키백과에 서술되어있는 TypeScript 의 시작 문단이다. TypeScript 는 Javascript 의 한계를 (단점을) 보완하여 개발된 오픈소스 언어라고 한다. 그럼 Javascript 는 왜 단점이 있었으며, Javascript 내에서는 왜 해결하지 못했던 걸까? Javascript - Interpreter Language 자바스크립트는 1995년, html 안에서의 동적 움직임 및 작용을 표현하기 위해 개발된 인터프리터 언어이다. 인터프리터 언어의 특성상 '컴파일 단계' 를 거치지 않고 로직이 구현되게 되었으며 이러..

[BE] Scraping (스크래핑) & Crawling (크롤링) 개념

스크랩 (Scrap) 주로 신문 기사 등을 오려서 모으는 것을 '스크랩' 이라 표현하곤 했다. 사전에는 스크랩의 뜻을 아래와 같이 표현하고 있다. 이 처럼 '필요한 글' 이나 '사진' 을 오려 내는 일을 '스크랩' 이라 하며 이를 웹 페이지에서 함수(기능) 등을 이용하여 구현해 놓은 것을 (웹)스크래핑 이라고 한다. 위의 내용은 현재 접속한 나의 블로그의 메인 페이지 html 문서 header 에 들어있는 meta tag 들이다. 내 블로그 페이지 (https://bans.tistory.com) 를 복사하여 (혹은, 다른 링크를) 다른 곳 (카카오톡, 디스코드, 블로그 등등)에 링크했을 때 해당 플랫폼에 이렇게 해당 페이지의 정보가 뜨는 것을 본 적 있을 것이다. 이러한 이미지 / 간략한 설명 글은 해당..

[DB] About ORM - ORM이란? ( TypeORM 은 뭐지? )

ORM - Object Relational Mapping DBS (Database System)은 크게 RDB - Relational DataBase ( 관계형 데이터베이스) NoSQL (Non SQL or Not only SQL) Database 두 가지의 유형으로 나뉘어 있다. RDB 는 테이블 형식의 2차원 배열로 표현되며 (테이블) NoSQL은 문서(document), collection 등 여러 방식으로 표현된다. 간단한 차이점으로는 RDB는 수직 확장 (서버 용량의 확장) 이 용이하며 NoSQL은 수평 확장 (서버 갯수의 확장) 이 용이하다. 그래서 ORM 이 뭔데? 프로젝트는 전체적으로 데이터베이스 서버 백엔드 서버 프론트엔드 서버 (+클라이언트 서버) 로 이루어져 있고, 데이터베이스 서버에..

BE/Database 2022.07.15

[npm] 어? 그거 그냥 만들어지던데... [ package.json ]

npm - Node Package Manager Javascript 환경에서 개발을 하는 데 빼놓을 수 없는것이 바로 npm이다. npm - node package manager 패키지를 프로젝트에 설치하거나 갱신 또는 삭제하는데 사용되는 도구를 패키지 매니저(Package Manager)라고 하며, 현재 자바스크립트 패키지 매니저는 npm, yarn 이렇게 두가지 도구로 나뉘어져 있다. npm : https://npmjs.com yarn : https://yarnpkg.com/ node 를 사용할 때 필요한 모듈들을 install 하고 개발자가 만든 모듈들을 upload할 수 있으며 사용방법 등의 정보가 위의 두 개의 커뮤니티를 통해 공유되고 있다. 하지만, 프로젝트를 만드는 데에는 한 가지의 모듈만 ..

[ES6] Template Literals - 템플릿 리터럴을 통한 깔끔한 세상 (Syntactic sugar)

"Hello world! 내 이름은 " + name + "입니다." `그리고 제 이름은 ${name} 입니다.` Javascript 는 Template Literals (ES5까지는 template strings ) - 템플릿 리터럴을 제공한다. MDN 문서에서의 Template Literals의 설명은 아래와 같이 시작한다. 내장된 표현식을 허용하는 문자열 리터럴 - Template Literals 자바스크립트에서 '문자열' 은 데이터의 양 끝에 큰 따옴표(" ") 혹은 작은 따옴표(' ') 로 감싸서 ( '문자열' or "문자열" ) 표현하게 되는데, 이렇게 따옴표로 이루어진 데이터 안에는 특정한 기능이나 변경 없이 string 문자열 데이터만 들어갈 수 있다. 그래서 이 문자열과 문자열 사이에 특정..