긍정적인 사고와 행동으로 선한 영향력을 줄 수 있도록

전체 글 179

Vaccum 란?

MVCC 로 인해 수많은 row가 쌓임으로써 디스크 I/O 및 성능저하와 같은 불편함이 생길 수 있다. ​ 이와같이 불필요한 row에 대해서 어떻게 처리할까? ​ Vaccum (진공청소기 ) PostgreSQL의 쓰레기 데이터를 정리 (디스크 조각 모음) ​ ​ # 필요성 # ○ 데이터는 물리적으로 디스크에 저장되고 읽어서 보여주는데, 데이터를 갱신 및 삭제시에도 기존 정보가 그대로 남아있다. 즉, 갱신된 데이터가 추가됨으로써 용량이 증가한다. ​ ​ ○ Why? MVCC 구현에 따른 튜플로 인해 즉, 트랜잭션을 사용하기위해 기존 데이터를 변경하지않고 보관한다. 결국 디스크 I/O로 인해 성능 저하가 나타남. ​ 하지만 !!! Vaccum을 실행하면 불필요한(기존) 데이터가 정리됩니다 !!! ​ ​ # ..

PostgreSQL 2022.09.22

MVCC 란?

데이터베이스에는 많은 사용자들이 동시에 접근할 수 있다. 또한, 여러 사용자가 데이터를 변경할 수 있고 동시에 읽을 수도 있다. ​ 이때 실시간으로 변경되는 데이터들은 어떻게 처리할까?? ​ MVCC (Multi-Version Concurrency Control) 다중 버전 동시성 제어 ​ ​ 동시에 여러 개의 데이터 버전을 제공할 수 있는 기법 ​ 최신상태의 데이터를 [현재 버전], 변경 이전의 데이터를 [이전 버전]을 의미한다. ​ 단, 두개의 버전을 동일한 테이블 내에서 보관함으로써 불편함과 공간의 비효율성 발생 ​ 이에 모아둔 데이터를 Vaccum 작업을 통해 정리한다. ​ ​ 쿼리가 수행한 시점에서 데이터를 읽을 수 있는 기능 XID가 생성된다. ​ 이를 통해, 읽기와 쓰기 작업 간의 블로킹 현..

PostgreSQL 2022.09.22

npm install --save vue-routernpm ERR! code ERESOLVEnpm ERR! ERESOLVE unable to resolve dependency treenpm ERR!npm ERR! While resolving: frontend@0.1.0npm ERR! Found: vue@2.6.14npm ERR! node_modules/vuenpm ERR! vue@"^2.6.14" from the root project 오..

Vue.js 를 사용중 Vue-router 를 설치하던도중 에러가 발생하였다. 에러로그를 살펴보면 현재 해당 프로젝트는 vue2.x 버전과 vue-router 버전이 일치하지 않아서 생긴 오류로 확인되었다. vue2.x 버전이면 vue-router3 vue3.x 버전이면 vue-router4를 설치해야한다 !! 따라서, 현재 프로젝트는 vue2.x 버전이므로 vue-router3 버전을 설치해주었다. npm i vue-router@3

Vue.js 2022.06.02

[Spring] CORS policy에 의해 block 오류 해결법

Vue.js 와 Spring 간 API를 통해 서버와 클라이언트 간 연결을 하던도중 위와 같은 에러가 발생했다. 여러 이유가 있겠지만 구글링을 통해 해결책을 확인하였다. 백엔드 단에서 클래스를 생성하여 클라이언트단에서 요청이 오는 모든 헤더와 메소드 및 포트번호를 허용한다 스프링을 사용하는 경우 컨트롤러에서 @CrossOrigin 를 설정한다

Spring 2022.05.25

[2022년 03월 29일] 정보처리산업기사 원서 접수

학교 졸업전까지 취득하고자하는 3가지 자격증이 있다. SQLD , 정보처리산업기사 , 리눅스마스터 오늘부터 정보처리산업기사 필기 원서접수다. 캡스톤과 개인포트폴리오 준비는 틈틈이 하면서 하루하루 1시간정도 짬내서 공부하면 될 것 같다. 접수이후 필기시험이 약 2주~3주 남았기 때문에 소홀히 하지않으면 안될 것 같다 ! 덧붙여서 , 개강이후 캡스톤 프로젝트에 집중하느라 블로그 관리가 소홀해진것 같다. 시간을 내어 틈틈이 작성하도록 하자 !

일기장 2022.03.29

$GET $POST 방식

PHP 를 통해 DB에 저장된 데이터 값들을 불러와서 Android 앱에 불러오려고 한다. ​ 기본적으로 PHP 를 통한 전송방식은 다음과 같이 POST , GET 으로 나뉜다 각각 특징 또한 다르다. ​ $_GET 방식을 사용하여 우선적으로 웹상으로 띄워 보겠다. ​ 1. PHP 작성하여보자. 데이터값 들을 GET으로 받는다. query문을 통해 테이블 JOIN 에 대한 $idUser , $projectName이 일치하는 eMail값을 받아오기로 작성하였다. ​ ​ ​ 2. 작성한 php를 웹상에서 띄워보자. ​ 기본적으로 GET방식은 주소 마지막에 ?를 붙여준다. 이후 eMail 값을 알기위해 필요한 idUser 값과 projectName 값을 작성하여준다. 값이 여러개 일 경우 &을 사용한다 (an..

PHP 2022.03.14

mysqli_stmt_bind_param(): Number of elements in type definition string doesn't match number o 에러 해결법

파라미터 요소 타입의 오류라고 나온다. ​ PHP 를 한번 확인해보자. ​ 보다시피 내가 INSERT할 요소는 (?,?,?,?) 총 4개이다. 하지만 mysqli_stmt_bind_param 구문에서 "sss"로 3개이다. ​ 이때 s란 String을 나타낸다 ( = 데이터 타입) ​ 즉, 마지막 4번째 삽입에 대한 데이터 타입이 지정되지 않았다. 그에 해당하는 데이터 타입을 작성해주자 s = String i = Int

PHP 2022.03.12

[Vue.js] 'vue-cli-service'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 에러 해결법

'vue-cli-service'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 프로젝트 실행중 아래와 같은 에러가 발생하였다. 여러 방법이 있겠지만 가장 간단하고 편한 방법은 vue-cli 재설치이다. ( 기존의 vue-cli를 제거후 재설치를 해보자 ) 정상적으로 실행 되었다 !!!

Vue.js 2022.03.10