백엔드 개발

관계형 데이터베이스에서 계층 구조를 표현하는 4가지 주요 모델(Nested Set, Adjacency List, Materialized Path, Closure Table) 설명과 각각의 장단점을 간단하게 정리해보겠습니다.  1. Adjacency List Model(인접 리스트 모델): 각 노드가 부모 노드에 대한 참조를 포함하는 모델이다.즉, 노드는 parent_id 필드를 통해 상위 노드와 연결된다.장점1. 구현이 간단하다 - 데이터베이스 테이블 설계가 직관적이며, 부모 노드의 ID만 추가하면 되므로 별도의 복잡한 구조가 필요하지 않다.2. 삽입 및 삭제가 용이하다 - 단일 노드 삽입 및 삭제 작업이 빠르고 간단하다.3. 기본적으로 거의 모든 RDBMS에서 지원한다 - 특별한 쿼리나 저장소 구조가 ..
개요보안을 강화하기 위해 JWT를 적용해보자.JWT 토큰의 인증방식은 다음 포스팅에서 살펴보고 바로 개발해보도록 하겠다.2023.02.10 - [공부/Tech] - 인증 방식 (Cookie & Session & Token) 인증 방식 (Cookie & Session & Token)서버가 클라이언트를 인증하는 방식은 대표적으로 쿠키, 세션, 토큰 3가지 방식이 있다. 각각의 특징에 대해서 간단하게 살펴보자. 1. Cookie (쿠키) 쿠키는 Key-Value 방식으로 저장되는 문자열이다.taek2.tistory.com  기능 구현- JWT 라이브러리 추가dependencies { ... // JWT Token implementation 'io.jsonwebtoken:jjwt-api:0.11.2' r..
개요2024.06.24 - [백엔드 개발/Spring&JPA] - [Spring boot & JPA] 로그인 기능 구현 [Spring boot & JPA] 로그인 기능 구현1. 개발환경 (프로젝트 생성) - Project : Gradle - Groovy- Language : Java- Spring Boot : 3.3.1- Project Metadata   * Group : com.example   * Artifact / Name : auth     * Packaging : Jar    * Java : 17- Dependencies    * Spring Web    taek2.tistory.com 앞의 '로그인 기능 구현' 포스팅에서는 단순히 아이디와 비밀번호를 저장해서 비밀번호 매칭 후 로그인 성공 또는..
1. 개발환경 (프로젝트 생성) - Project : Gradle - Groovy- Language : Java- Spring Boot : 3.3.1- Project Metadata   * Group : com.example   * Artifact / Name : auth     * Packaging : Jar    * Java : 17- Dependencies    * Spring Web    * Spring Data JPA    * Spring Security    * H2 Database    * Lombok위와 같이 설정 후 프로젝트를 생성한다. 2. 기능 구현build.gradle 설정plugins { id 'java' id 'org.springframework.boot' version '3.3..
데이터베이스 생성 - 다음 명령어로 데이터베이스를 생성한다. CREATE DATABASE [DB_NAME]; - 다음 명령어로 데이터베이스 리스트를 볼 수 있다. \l 데이터베이스 엑세스 권한 부여하기 - 다음 명령어로 해당 데이터베이스에 엑세스 권한을 줄 계정을 설정한다. GRANT [권한] ON DATABASE [DB_NAME] TO [USER_NAME]; ex) grant all privileges on database testdb to taek; - 나는 taek 계정에 testdb에 모든 권한을 주는 명령어를 작성했다. 데이터베이스 접속 - 다음 명령어로 데이터베이스에 접속한다. \c [DB명] [접속계정]
다음 명령어로 postgreSQL 쉘 접속 psql postgres 계정 확인 \du 따로 계정을 생성하지 않았는데 내 PC의 사용자명으로 모든 권한을 가진 루트 계정이 생성되어 있다. 루트 계정 설정 해당 루트 계정을 사용한다면 다음 명령어로 비밀번호 설정 후 사용하면 된다. \password '루트계정' 계정 생성 새로 계정을 생성한다면 다음 명령어를 입력한다. CREATE USER '계정' WITH PASSWORD '비밀번호'; taek이라는 계정을 비밀번호 1234로 설정해서 생성했다. 다음과 같이 생성된 것을 확인할 수 있다. 권한 변경 권한을 변경하려면 다음 명령어를 입력한다. (권한 여러개 동시 입력 가능) ALTER USER '계정' '권한' '권한2' '권한3' ...; SUPERUSER..
태기
'백엔드 개발' 카테고리의 글 목록 (2 Page)