개발 한 스푼 28

VSCode로 SSH 원격 접속하기

지금까지 SSH 원격 접속을 하기 위해서 PUTTY를 사용했다. vi를 이용해 파일을 수정하는 게 힘들었으니 이제부터는 VSCode에서 서버에 접속해 파일을 직접 수정할 수 있도록 해보자. 확장 탭에서 ftp-simple 다운 F1 키를 눌러 ftp-simple 검색 후 connection 설정 config 내용 정리 후 remote ~~ 선택 확장 탭에서 Remote Development(or Remote-SSH) 설치 F1 키를 눌러 ssh 검색 Add New SSH Host... 를 누르고 접속하려는 서버 정보 입력하기 ssh 계정@ip주소 ( ssh root@000.000.000.000 ) 비밀번호 입력하기 키 파일을 발급한 경우 F1을 눌러 Remote-SSH: Connect to Host.....

개발 한 스푼 2022.11.21

호이스팅(Hoisting)

캠퍼스에서 다른줄 친구의 스터디준비 과정을 옆에서 참관하다가 약 30분 가량 같이 공부해버렸다.ㅋㅋ let, var, const로 시작해 스코프와 호이스팅까지~ 호이스팅(Hoisting) 함수 안에 있는 선언들을 모두 끌어올려서(hoist) 해당 함수 유효 범위(scope)의 최상단에 선언하는 것. MDN 정의 더보기 JavaScript에서 호이스팅(hoisting)이란, 인터프리터가 변수와 함수의 메모리 공간을 선언 전에 미리 할당하는 것을 의미합니다. var로 선언한 변수의 경우 호이스팅 시 undefined로 변수를 초기화합니다. 반면 let과 const로 선언한 변수의 경우 호이스팅 시 변수를 초기화하지 않습니다. 호이스팅을 설명할 땐 주로 "변수의 선언과 초기화를 분리한 후, 선언만 코드의 최상..

개발 한 스푼 2022.10.11

RDBMS와 Nosql

RDBMS: 관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스 관리 시스템. 다른 테이블과 관계를 맺을 수 있으며, 외래키를 이용하며 테이블 간 join이 가능하다. 정해진 스키마에 따라 데이터를 저장하기에 명확한 데이터 구조를 가진다. 자주 데이터 수정이 일어나는 경우에 적합하다. 데이터 값이 중복되지않으며(데이터무결성) 성능향상을 위해서는 서버 성능이 향상되어야하는 scale-up만을 지원한다. Nosql: RDB가 아닌 다른 데이터 형태 저장기술. 테이블 간 관계를 정의하지않으며, 데이터일관성을 포기하는대신 여러 곳에 데이터를 분산하여 저장하는 scale-out을 목표로 등장하였다. 1. Key Value DB (Redis, Amazon Dynamo DB....

개발 한 스푼 2022.10.03

병행 제어

병행수행 문제점 1. 갱신 분실 (lost update) 2. 모순성 (inconsistency) 3. 연쇄복귀 (cascading rollback) 병행제어의 목적 1. 시스템 활용 증대 2. 데이터베이스 공유 최대화 3. 응답 시단 단축 병행제어 기법 1. 잠금(Locking)기법 한 트랜잭션이 실행되는 동안 특정 데이터 항목에 대해 다른 트랜잭션이 동시에 접근하지 못하도록 데이터를 상호배제하여 제어하는 기법. 한 트랜잭션이 특정 데이터 항목에 대하여 잠금(lock)을 설정하면, 해제(unlock)될 때까지 데이터를 독점적으로 활용할 수 있음. 1.1 공용 로킹(shared locking) : 트랜잭션이 데이터를 read만, 다른 트랜잭션도 read 가능 1.2 전용 로킹(private locking..

개발 한 스푼 2022.10.01