[Ubuntu] VNC Server 만들기 서론 SSH 연결도 좋지만 GUI 작업도 가능한 VNC 서버를 만들어서 사용하는 방법을 소개합니다. 본론 계정만들기 클라이언트에서 vnc server로 접속할 계정을 생성합니다. 그리고 필요하다면 sudo 권한을 부여합니다. sudo adduser #선택사항 usermod -aG sudo tightvnc 설치 아래 명령어를 통해 tightvnc server 를 설치합니다. sudo apt update sudo apt install xfce4 xfce4-goodies sudo apt install tightvncserver vnc server 열고 닫기 설치가 완료되면 vncserver를 열고 닫을 수 있습니다. #server 열기 vncserver #server..
서론 값에 따라 순위를 정해야 할 때, SQL 내장 함수인 RANK를 사용하여 처리하는 방법을 소개합니다. 본론 RANK RANK 함수는 OVER 절과 같이 사용하며 OVER 절의 조건에 따라 순위가 결정됩니다. RANK ( ) OVER ( [ ] ) OVER OVER절에서 순위를 지정할 조건으로 PARTITION BY라는 옵션을 가집니다. PARTITION BY PARTITION BY는 그룹별로 순위를 지정해야 할 때 사용합니다. 해당 절 뒤에 칼럼을 적으면 만들어진 그룹마다 순위가 부여됩니다. ORDER BY ORDER BY는 말그대로 순위를 매기는 순서를 정의합니다. AGE 라는 컬럼을 기준으로 오름차순과 내림차순으로 순위를 매길 때는 아래 코드처럼 작성할 수 있..
서론 관계형 데이터베이스에서 두 테이블을 합치는 방법중 하나인 LEFT JOIN과 ON의 사용법을 소개합니다. 본론 관계형 데이터베이스에서는 두 테이블에서 같은 칼럼을 이용해 하나의 테이블처럼 사용할 수 있습니다. LEFT JOIN LEFT JOIN을 이해하기 위해서는 아래 다이어그램을 참고하는 것이 좋습니다. 출처: https://www.w3schools.com/sql/sql_join_left.asp 다이어그램 범위에서 TABLE1만으로 이루어진 부분도 포함되는 것을 알 수 있습니다. 즉, TABLE1은 그대로 두고 TABLE1과 TABLE2의 교집합 부분만을 합쳐준다고 생각할 수 있습니다. ON JOIN할 때에 교집합 부분의 조건을 나타내는 절입니다. Person과 Device라는 테이블이 존재할 때..
서론 SQL 문제를 풀면서 공부한 GROUP BY와 HAVING에 대한 내용을 소개합니다. 본론 GROUP BY GROUP BY는 이름 그대로 기준을 통해 레코드들을 그룹화 해줍니다. 이렇게 만들어진 그룹에서 대표 하나만 반환합니다. 아래와 같은 레코드들이 존재한다고 할 때 GROUP BY email 을 통해 그룹화를 해주면 대표격인 레코드 하나씩만을 반환합니다. Person | id | email | | -- | ------- | | 1 | a@b.com | | 2 | c@d.com | | 3 | a@b.com | SELECT id, email FROM Person GROUP BY email; | id | email | | -- | ------- | | 1 | a@b.com | | 2 | c@d.com..
문제 개요 GROUP BY와 HAVING 사용법을 익히는 문제입니다. 문제 접근 테이블에서 중복된 값을 찾기 위해서는 GROUP BY를 통해 찾을 부분을 그룹으로 만들어주고 HAVING을 이용해 조건을 만들어주면 됩니다. https://jminie.tistory.com/24 위 블로그를 참고하였습니다. 코드 SELECT email FROM Person GROUP BY email HAVING COUNT(email) > 1; 문제 https://leetcode.com/problems/duplicate-emails/
서론 DB를 컨테이너로 올리는 경우 컨테이너가 내려가면 데이터가 초기화되는 것이 아닌가 걱정스러워 찾아본 내용을 소개합니다. 본론 volumes docker compose 스크립트를 작성할 때에 volumes를 사용하면 위와 같은 걱정을 하지 않아도 괜찮습니다. 도커에서 volumes를 관리해주기 때문에 컨테이너를 내려도 데이터는 삭제되지 않습니다. 사용방법 이미 지정해둔 위치에서 사용할 수도 있고 새롭게 만들어서 사용할 수도 있습니다. 이는 -v 옵션으로 삭제하기 전까지 유지됩니다. docker compose down -v 볼륨까지 삭제하는 명령어입니다. 방법 1: 위치 지정 아래와 같이 왼쪽부분을 지정해두면 로컬 머신의 특정 위치에 있는 데이터를 그대로 마운트할수도 있습니다. nginx: image:..
문제 개요 LEFT JOIN 사용방법을 묻는 문제입니다. 문제 접근 SQL을 배우면서 처음 사용해본 LEFT JOIN입니다. ON 뒤의 식을 기준으로 JOIN합니다. 코드 SELECT p.firstName, p.lastName, a.city, a.state FROM Person AS p LEFT JOIN Address AS a ON p.personId = a.personId; 문제 https://leetcode.com/problems/combine-two-tables/
