본문 바로가기

분류 전체보기

(14)
[DB] 데이터베이스 용어 헷갈리는 데이터베이스 용어 정리 1. 릴레이션 관계형 데이터베이스에서 정보를 구분하여 저장하는 기본 단위 = DB 테이블 그 자체 2. Attribute(어트리뷰트 & 속성) 내가 저장하고 싶은 개체의 항목들 = DB 테이블의 각 컬럼 3. Tuple(튜플 & 레코드) 릴레이션의 각 행을 레코드(= 튜플)라 칭한다. 튜플이 조금 더 공식적인 명칭. = DB 테이블의 행 4. Domain(도메인) 릴레이션에 포함된 속성들이 각각 가질 수 있는 값들의 집합 = DB 테이블에서 컬럼 제외, 한 컬럼에 해당하는 값(열) 전체 5. Degree(디그리 & 차수) 한 릴레이션 안에 있는 Attribute(어트리뷰트)의 수 모든 릴레이션은 적어도 하나 이상의 Attribute(어트리뷰트)를 가지고 있다. = DB 테..
MSSQL) Merge문 사용 데이터 검색 후 데이터 유무에 따라 insert 혹은 update를 실행하고 싶을 때 mssql에서는 merge문을 사용할 수 있다. ------------------------------------------- 데이터가 있을 경우 -> UPDATE 데이터가 없을 경우 -> INSERT ------------------------------------------- 예를 들어 시청이력을 저장하고 싶을 때, 기존에 시청 이력이 있는 경우 동일한 시청이력을 쌓지 않게 UPDATE를, 시청 이력이 없는 경우에는 INSERT를 실행하여 이력을 추가하고 싶을 때 사용할 수 있다. 기본 문법은 아래와같다. MERGE INTO TEST_TABLE AS A USING (SELECT 1 AS DUAL) AS B ON (A..
MSSQL) NULL 값 함께 카운트 하기 한 컬럼 값을 기준으로, 해당 컬럼 값을 가지고 있는 행의 갯수를 구하고 싶을 때 COUNT함수를 사용한다. SELECT 컬럼, COUNT(컬럼) FROM 테이블명 GROUP BY 컬럼 일반적으로 이러한 이름으로 사용하게 되는데, 문제는 이랬을 때 아래 사진 처럼 NULL 값은 카운트 되지 않는다. (분명 STU_STAT 값이 NULL인 행이 있음에도 불구) 이럴 때는 CASE WHEN 컬럼 IS NULL THEN 'NULL' ELSE 컬럼 END 문법을 사용해주면 된다. 예시는 아래와 같다. SELECT STU_STAT, COUNT(CASE WHEN STU_STAT IS NULL THEN 'NULL' ELSE STU_STAT END) FROM MEMBER GROUP BY STU_STAT 실행해보면 잘 ..
java & javascript에서 contextPath 구하기 root부터 모든 경로를 다 기입해야만 하는 [ 절대경로 ] 와는 달리, 내가 위치해있는 문서를 기준으로 페이지 url을 가져올 수 있는 [ 상대경로 ] 는 페이지 이동이 일어나는 코드를 작성할 때 요긴하게 사용된다. (위치에따라 모든 url을 하나하나 바꿔줄 필요 없이 자동으로 바뀌니까) java spring을 사용한다면, jsp파일에서 href="${pageContext.request.contextPath}/test.do" 위와 같이 url을 표기해준다. 그렇게 되면 웹에서는 자동으로 프로젝트의 contextPath를 가져오게 되는데, 아래 이미지를 보면, 나의 프로젝트는 appv2로 지정이 되어있다. 그런데, ${pageContext.request.contextPath} 을 사용하지 않고, 소스상에..
[ GIT ] git-receive-pack not permitted on 에러(토큰x) 평소 잘 사용하지 않는 프로젝트에 최초 커밋을 하려는데 갑자기 "Can't connect to any URI.. git-receive-pack not permitted on.." 위와 같은 에러가 떴다. 구글링을 해보니 ID / PW 방식에서 => 토큰 인증 방식으로 바뀐 것이 원인이었다.하지만 나는 다른 프로젝트에서 이미 토큰을 발급받은 후 문제없이 pull / commit 을 시행하고 있었다. 다른 프로젝트에서는 커밋이 정상적으로 되는데, 해당 프로젝트는 안 되는 이유가 뭘까 고민해보았고, 커밋 경로를 잘못한 것이 원인임을 깨닫게 되었다. 경로 확인 방법은 아래와 같다. 1. 이동 -> Remotes 클릭 -> origin 우클릭 -> Configure Push... 클릭 2. Configure Pu..
[ React ] create-react-app 오류 기존에는 [ create-react-app 프로젝트명 ] 명령어 실행 시 아무 문제 없이 프로젝트가 생성 되었다. 그런데 반 년만에 똑같은 방법으로 CLI를 실행했더니 아래와 같은 에러메세지가 뜨면서 프로젝트가 생성되지 않았다. 더 이상 global로 설치한 Create React App을 지원하지 않는다고 적혀있다. 너무 오랫동안 리액트를 사용하지 않았나보다. 최신 버전이 5.0.0인데, 나는 4.0.3버전을 사용하고 있었다🙄 다른 개발자 분들은 위에 나와있는 -------------------------------------------- npm uninstall -g create-react-app yarn global remove create-react-app ----------------------..
MariaDB) 글 번호 정렬 row number() 사용 게시판과 같이 글 번호가 삽입된 채 리스트가 출력되는경우, 글 번호를 정렬해주어야하는 상황이 생긴다. 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 이렇게 10개의 게시글을 생성한 후 3번 게시물을 삭제했을 때 1, 2, 4, 5, 6, 7 ,8 ,9, 10 이렇게 3번만 빠진 채로 글 번호가 매겨져있기 때문이다. 이것을 1, 2, 3, 4, 5, 6, 7, 8, 9 이렇게 번호를 다시 매기고 싶을 때? row number() 함수를 사용할 수 있다. 다만, 버전에 따른 제약이 있어서 mariaDB 10.2 버전 이상부터 사용가능하다. ----------------------------------------------------------------------------------------- [..
npm install 오류 다른 사람이 만들어놓은 dependency들을 다운 받을 때 vscode 실행 후 해당 파일의 터미널에서 npm install을 실행한다. 그대로 다운받아와서 그대로 실행하는데 오류가 나는경우? 다운받을 파일 내부에 node 라던지, python, c++,,과 같은 다른 언어를 사용하는 라이브러리가 포함되어있기 때문에 다운로드 에러가 날 수 있다. ** npm 으로 다운 받을 때 기본적으로 node.js가 설치 되어있는지 확인 필수 -> 터미널에서 node -v 입력 시 현재 다운로드 된 node의 버전을 확인 할 수 있다. ** 만약 노드가 정상 다운로드 되어있음에도 설치오류가 나는 경우 1. 프로그램 검색 창에 cmd 입력 후 > 관리자 권한으로 실행을 눌러준다. 2. npm install --glo..