전체 글
공부를 위해 사용중인 블로그입니다.
-
스키마(Schema) 데이터베이스 어떻게 설계할지에 대한 계획 즉, 구조와 제약 조건을 정하는 것입니다.구체적으로 데이터는 어떤 것들로 구성하며, 데이터들은 어떤 테이블에 저장되며, 여러 테이블들을 어떤 관계를 가지고 있는지를 계획합니다. 특징 1. 스키마는 데이터 사전에 저장된다. 2. 특정 데이터 모델을 이용해서 만들어진다.(현실 세계의 특정한 부분을 모델로 만듦.) 3. 시간이 지나도 변하지 않는다. 4. 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다. 스키마 3계층 외부 스키마(서브 스키마) = 사용자 뷰(View) 사용자들이 사용할 데이터를 보여주는 것이기에 추상화 되어있다. 여러 사용자가 바라보는 관점에 따라 여러 스키마가 존재할 수 있다. (ex. 구글DB는 구글 메일, 구글 주..
스키마(Schema)스키마(Schema) 데이터베이스 어떻게 설계할지에 대한 계획 즉, 구조와 제약 조건을 정하는 것입니다.구체적으로 데이터는 어떤 것들로 구성하며, 데이터들은 어떤 테이블에 저장되며, 여러 테이블들을 어떤 관계를 가지고 있는지를 계획합니다. 특징 1. 스키마는 데이터 사전에 저장된다. 2. 특정 데이터 모델을 이용해서 만들어진다.(현실 세계의 특정한 부분을 모델로 만듦.) 3. 시간이 지나도 변하지 않는다. 4. 데이터의 구조적 특성을 의미하며, 인스턴스에 의해 규정된다. 스키마 3계층 외부 스키마(서브 스키마) = 사용자 뷰(View) 사용자들이 사용할 데이터를 보여주는 것이기에 추상화 되어있다. 여러 사용자가 바라보는 관점에 따라 여러 스키마가 존재할 수 있다. (ex. 구글DB는 구글 메일, 구글 주..
2022.12.19 -
시스템을 사용하다가 예기치못한 오류가 발생하여 데이터베이스 서비스 중단될수도있는데 그걸 막는 방법이 이중화와 클러스터링이 있다. 데이터베이스 이중화 물리적 손상이 발생했을때 복구하기위해 동일한 데이터베이스를 복제하여 관리하는 걸 데이터베이스 이중화 문제 발생 시 복제된 데이터베이스를 이용하여 즉시 문제를 해결할 수 있으며 사용자가 수행하는 작업은 데이터베이스 이중화 시스템에 연결된 다른 데이터베이스에도 동일하게 적용한다. 애플리케이션을 여러 개의 데이터베이스에서 분산 처리하므로 데이터베이스의 부하를 줄일 수 있고 손쉽게 백업 서버를 운영할 수 있다. 데이터베이스 이중화 분류 1. Eager기법 Eager 기법은 트랜잭션 수행 중에 데이터 변경이 발생하면 모든 데이터베이스에 변경내용이 즉시 적용되는 기법 ..
데이터베이스 이중화 / 서버 클러스터링시스템을 사용하다가 예기치못한 오류가 발생하여 데이터베이스 서비스 중단될수도있는데 그걸 막는 방법이 이중화와 클러스터링이 있다. 데이터베이스 이중화 물리적 손상이 발생했을때 복구하기위해 동일한 데이터베이스를 복제하여 관리하는 걸 데이터베이스 이중화 문제 발생 시 복제된 데이터베이스를 이용하여 즉시 문제를 해결할 수 있으며 사용자가 수행하는 작업은 데이터베이스 이중화 시스템에 연결된 다른 데이터베이스에도 동일하게 적용한다. 애플리케이션을 여러 개의 데이터베이스에서 분산 처리하므로 데이터베이스의 부하를 줄일 수 있고 손쉽게 백업 서버를 운영할 수 있다. 데이터베이스 이중화 분류 1. Eager기법 Eager 기법은 트랜잭션 수행 중에 데이터 변경이 발생하면 모든 데이터베이스에 변경내용이 즉시 적용되는 기법 ..
2022.12.15 -
HTTP 에러 모음 1XX 상태 코드가 '1'로 시작하는 경우는 서버가 요청을 받았으며, 서버에 연결된 클라이언트는 작업을 계속 진행하라는 의미입니다. 해당 코드는 HTTP 1.0에서 지원되지 않습니다. 100 진행 중임을 의미하는 응답코드입니다. 현재까지의 진행상태에 문제가 없으며, 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다. 101 101은 클라이언트에 의해 보낸 업그레이드 요청 헤더에 대한 응답으로 보내집니다. 이 응답 코드는 클라이언트가 보낸 Upgrade 요청 헤더에 대한 응답에 들어가며, 서버에서 프로토콜을 변경할 것임을 알려줍니다. 해당 코드는 Websocket 프로토콜 전환 시에 사용됩니다. 102 서버가 요청을 수신하였으며 이를 처리하고..
HTTP 에러정리HTTP 에러 모음 1XX 상태 코드가 '1'로 시작하는 경우는 서버가 요청을 받았으며, 서버에 연결된 클라이언트는 작업을 계속 진행하라는 의미입니다. 해당 코드는 HTTP 1.0에서 지원되지 않습니다. 100 진행 중임을 의미하는 응답코드입니다. 현재까지의 진행상태에 문제가 없으며, 클라이언트가 계속해서 요청을 하거나 이미 요청을 완료한 경우에는 무시해도 되는 것을 알려줍니다. 101 101은 클라이언트에 의해 보낸 업그레이드 요청 헤더에 대한 응답으로 보내집니다. 이 응답 코드는 클라이언트가 보낸 Upgrade 요청 헤더에 대한 응답에 들어가며, 서버에서 프로토콜을 변경할 것임을 알려줍니다. 해당 코드는 Websocket 프로토콜 전환 시에 사용됩니다. 102 서버가 요청을 수신하였으며 이를 처리하고..
2022.12.15 -
준비단계 1. open ssh 설치 확인 설정 을 열고 앱 > 앱 및 기능 으로 이동 후 선택적 기능 으로 이동, 목록에서 OpenSSH 클라이언트를 확인 후 설치가 안되어있다면 설치 2. gitbash 설치 참고 사이트 :https://velog.io/@selenium/Git-Git-Bash-%EC%84%A4%EC%B9%98-Windows-OS [Git] Git Bash 설치 (Windows OS) Git Bash는? > Git 을 이용할 수 있는 Bash(유닉스 쉘) 왜쓸까? 리눅스 커맨드 입력이 가능하다! Git bash 설치하기 1. 다운로드 사이트 접속 > https://git-scm.com/ 2. Download for Windows 클릭 3 velog.io 3. git global 설정 Gi..
git 사용 방법준비단계 1. open ssh 설치 확인 설정 을 열고 앱 > 앱 및 기능 으로 이동 후 선택적 기능 으로 이동, 목록에서 OpenSSH 클라이언트를 확인 후 설치가 안되어있다면 설치 2. gitbash 설치 참고 사이트 :https://velog.io/@selenium/Git-Git-Bash-%EC%84%A4%EC%B9%98-Windows-OS [Git] Git Bash 설치 (Windows OS) Git Bash는? > Git 을 이용할 수 있는 Bash(유닉스 쉘) 왜쓸까? 리눅스 커맨드 입력이 가능하다! Git bash 설치하기 1. 다운로드 사이트 접속 > https://git-scm.com/ 2. Download for Windows 클릭 3 velog.io 3. git global 설정 Gi..
2022.12.08 -
MAVEN, GRADLE 차이 라이브러리를 관리, 프로젝트 관리하는 큰 틀은 같지만 깊게 들어가면 처리되는 순서가 다르고 maven과 다르게 gradle은 변수 선언이나 if, else, for 등의 로직이 구현가능하여 간결하게 구성가능하도록 선언, 빌드 체계화가 잘 되어있고 직접 코드를 작성하여 동적인 요소로 작성가능하며 속도면에서도 maven 보다 100배 가량 더 빠르다고 볼 수 있다.( 요즘은 gradle을 더 선호한다.) gradle의 groove 와 kotlin 오류코드 강조, 빠른 문서 보기, IDE와 뛰어난 호환성, 코드 자동 완성 등으로 groove보다 kotlin을 더 선호한다. 하지만 단점으로는 모든 IDE를 제공하지 않기에 Intellij 와 안드로이드스튜디오에서 많이 사용한다.
MAVEN, GRADLE 차이MAVEN, GRADLE 차이 라이브러리를 관리, 프로젝트 관리하는 큰 틀은 같지만 깊게 들어가면 처리되는 순서가 다르고 maven과 다르게 gradle은 변수 선언이나 if, else, for 등의 로직이 구현가능하여 간결하게 구성가능하도록 선언, 빌드 체계화가 잘 되어있고 직접 코드를 작성하여 동적인 요소로 작성가능하며 속도면에서도 maven 보다 100배 가량 더 빠르다고 볼 수 있다.( 요즘은 gradle을 더 선호한다.) gradle의 groove 와 kotlin 오류코드 강조, 빠른 문서 보기, IDE와 뛰어난 호환성, 코드 자동 완성 등으로 groove보다 kotlin을 더 선호한다. 하지만 단점으로는 모든 IDE를 제공하지 않기에 Intellij 와 안드로이드스튜디오에서 많이 사용한다.
2022.12.07 -
IDE 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어로 쉽게 말해 소스코드 편집기, 로컬빌드 자동화, 디버거 등등을 할 수 있게 도와주는 소프트웨어로 대표적으로 이클립스나 비쥬얼 스튜디오 등등이 있다.
IDEIDE 프로그램 개발에 관련된 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어로 쉽게 말해 소스코드 편집기, 로컬빌드 자동화, 디버거 등등을 할 수 있게 도와주는 소프트웨어로 대표적으로 이클립스나 비쥬얼 스튜디오 등등이 있다.
2022.12.07 -
LomBok LomBok 은 Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리이다. LomBok 미사용 public class CategoryModel { private String id; private String name; public CategoryModel() {} public CategoryModel(String id, String name) { super(); this.id = id; this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() ..
LomBok 이란?LomBok LomBok 은 Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 코드 다이어트 라이브러리이다. LomBok 미사용 public class CategoryModel { private String id; private String name; public CategoryModel() {} public CategoryModel(String id, String name) { super(); this.id = id; this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() ..
2022.12.06 -
OVER() 집계함수(GROUP BY, ORDER BY)를 사용할때 서브쿼리와 GROUP BY를 개선하기 위한 함수로 GROUP BY와 서브쿼리를 사용하지 않는다. SELECT MAX(컬럼) OVER()-- 전체행 중에 최고값 , MAX(컬럼) OVER(PARTITION BY 컬럼)-- 그룹내 최고값 , MIN(컬럼)OVER()-- 전체행 중에 최소값 , MIN(컬럼)OVER(PARTITION BY 컬럼)-- 그룹내 최소값 , SUM(컬럼)OVER()-- 전체행 합 , SUM(컬럼)OVER(PARTITION BY 컬럼)-- 그룹내 합 , AVG(컬럼)OVER()-- 전체행 평균 , AVG(컬럼)OVER(PARTITION BY 컬럼)-- 그룹내 평균 , COUNT(*)OVER() -- 전체행 카운트 , C..
[ORACLE] OVER()OVER() 집계함수(GROUP BY, ORDER BY)를 사용할때 서브쿼리와 GROUP BY를 개선하기 위한 함수로 GROUP BY와 서브쿼리를 사용하지 않는다. SELECT MAX(컬럼) OVER()-- 전체행 중에 최고값 , MAX(컬럼) OVER(PARTITION BY 컬럼)-- 그룹내 최고값 , MIN(컬럼)OVER()-- 전체행 중에 최소값 , MIN(컬럼)OVER(PARTITION BY 컬럼)-- 그룹내 최소값 , SUM(컬럼)OVER()-- 전체행 합 , SUM(컬럼)OVER(PARTITION BY 컬럼)-- 그룹내 합 , AVG(컬럼)OVER()-- 전체행 평균 , AVG(컬럼)OVER(PARTITION BY 컬럼)-- 그룹내 평균 , COUNT(*)OVER() -- 전체행 카운트 , C..
2022.12.05