전체 글 121

[데이터베이스] JOIN(조인)

1. Join(조인) 이란?- 둘 이상의 테이블을 연결하여 하나의 결과를 만들어 내는 것 1) 전제조건- 연결하고자 하는 테이블들이 적어도 하나의 컬럼을 공유하고 있어야 함 (두 테이블의 조인을 위해서는 기본키(PK)와 외래키(FK) 관계로 맺어져야 함) 2. Join의 종류   1) INNER JOIN교집합기준 테이블과 JOIN 테이블의 중복된 값두 테이블에 모두 지정한 열의 데이터가 있어야 함 # 문법SELECT *FROM TABLE_A A INNER JOIN TABLE_B B ON A.KEY = B.KEYWHERE 조건 # JOIN 완료 후 그 다음 조건 따짐# 단순 문법 - FROM 절에 , 쓰면 INNER JOIN SELECT *FROM TABLE_A A, TABLE_B BWHERE A.KEY ..

데이터베이스 2024.07.10

[데이터베이스] VIEW

[1] VIEW 정의- 대게 SELECT를 위해 사용, 한 개 이상의 기본 테이블이나 다른 뷰를 이용하여 생성되는 가상 테이블- 기존에 생성된 테이블 또는 다른 뷰에서 접근할 수 있는 전체 데이터 중에서 일부만 접근할 수 있도록 제한하기 위한 기법- 뷰를 가상 테이블이라고 하는 이유는 테이블은 디스크 공간이 할당되어 데이터를 저장할 수 있지만, 뷰는 데이터 딕셔너리 테이블에 뷰에 대한 정의만 저장하고 디스크에 저장 공간이 할당되지 않음  [2] VIEW 특징1. 특징- 뷰 자체는 데이터를 갖지 않지만, 기초 테이블의 데이터를 조회하고 수정할 수 있는 창과 같음 (조작도 기본 테이블과 거의 같음)- 뷰는 데이터 값이 아니라 실질적으로는 질의 문장만을 가짐 - 물리적인 테이블을 근거한 논리적인 테이블 (저장..

데이터베이스 2024.07.10

[데이터베이스] RDBMS, NOSQL

[1] Database와 DBMS 그리고 SQL 1.  데이터베이스 (Database)일반적으로 컴퓨터 시스템에 전자 방식으로 저장된 구조화된 정보 또는 데이터의 체계적인 집합을 의미2. 데이터베이스 관리 시스템, DBMS(DataBase Management System)사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보를 생성해주고 데이터베이스를 관리해주는 소프트웨어DBMS는 데이터에 대한 많은 보안을 제공하지 않으며 정규화를 수행할 수 없어 높은 중복성을 가질 수 있음 3. SQL(Structured Query Language)관계형 데이터베이스 관리 시스템의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어  [2] RDB (Relational Database)1. RDB 정의- 관계..

데이터베이스 2024.07.07

[데이터베이스] 기초 개념 정리

[1] 데이터베이스(Database) 1. 정의여러 응용 프로그램 또는 사용자들이 공유하고 사용할 목적으로 통합 관리되는 데이터들의 모임데이터베이스는 단순한 저장소를 넘어 데이터 중복이 있을 경우 이를 통합하여 구조적이고 효율적으로 데이터를 저장함데이터베이스는 일반적으로 데이터베이스 관리 시스템(DBMS)에 의해 제어됨대부분의 데이터베이스는 데이터 작성 및 쿼리에 SQL(Structured Query Language)을 사용 2. 데이터베이스의 데이터 특징데이터베이스가 구조적인 형태를 유지하며 데이터를 저장하기 위해 아래와 같은 데이터 저장 규칙이 존재함 통합된 데이터 (Integrated Data)여러가지 데이터를 통합해 저장하는데 중복된 정보가 있다면, 이를 그대로 저장했을 때 용량 낭비라는 비효율적..

데이터베이스 2024.07.07

[CDK] Cognito 개념 및 생성

Cognito AWS Cognito는 웹과 모바일 앱에 대한 인증과 권한 부여 및 사용자 관리를 제공하고, 사용자는 사용자 이름과 패스워드를 사용하여 직접 로그인하거나 Facebook, Amazon, Google 또는 Apple 같은 타사를 통해 로그인(OAuth)할 수 있습니다. Cognito를 사용하면 좋은 점 사용자를 손쉽게 관리할 수 있다. 뛰어난 확장성 Cognito를 사용하면 사용자 디렉토리를 손쉽게 생성할 수 있습니다. 이 디렉토리는 완전 관리형으로, 수억명까지 쉽게 확장됩니다. 강화된 안전 AWS의 안전에 대한 경험이 녹아들어 있습니다. 이메일 및 SMS 인증, MFA 인증 등의 기능을 손쉽게 추가할 수 있습니다. 모바일, 서버리스와 궁합이 잘 맞다. Cognito는 사용자 풀(User P..

AWS/AWS 공부 2024.03.17

[AWS] Secrets Manager 생성 및 값 가져오기 in JAVA

아래 코드는 Java에서 AWS에서 제공하는 Secrets Manager에 접근하고, Secret을 생성하고, Secrets의 값을 가져오는 코드입니다.1. AWS Secrets Manager Client 생성public class SecretsManagerRepositoryImpl implements SecretsManagerRepository{ // 시크릿매니저 클라이언트 생성 private final SecretsManagerClient secretsManagerClient; public SecretsManagerRepositoryImpl ( String accessKey, String secretKey ) { this.secretsMa..

AWS/AWS 공부 2024.03.07

[AWS] dynamoDB 저장 in Node

1. DynamoDB save Item 아래 코드는 노드 타입스크립트로 AWS dynamoDB 테이블에 값을 저장하는 코드입니다. DynamoDBClient를 사용하여 dynamoDB 테이블에 item을 put 함으로써, AWS DynamoDB 테이블에 값이 생성된 걸 확인할 수 있습니다. 아래 Item Json 값은 실제 Dynamo 테이블의 필드 값에 맞게 요청해주면 됩니다. import {randomUUID} from 'crypto'; import {DynamoDBClient, PutItemCommand, PutItemCommandInput} from "@aws-sdk/client-dynamodb"; async function saveToDynamoDB(body: Body, status: strin..

AWS/AWS 공부 2024.03.07

[AWS] Secrets Manager get Value - in Node and Python

1. Node + 타입 스크립트 아래 코드는 node와 타입 스크립트를 이용해 AWS Secrets Manager에 접근하는 코드입니다. @aws-sdk/client-secrets-manager 라이브러리를 사용하며, SecretsManagerClient를 활용해 사용자가 제공한 ARN이나 Name 을 가진 시크릿 매니저 값에 접근하여, SecretString 값을 가져올 수 있습니다. SecretString의 값은 {"key": "value"} 형식으로 되어 있기 때문에, JSON.parse를 통해 value 값에 접근할 수 있습니다. import { GetSecretValueCommand, SecretsManagerClient, } from "@aws-sdk/client-secrets-manager"..

AWS/AWS 공부 2024.03.07

[SpringBoot - Selenium] Chrome Driver 초기 설정

1. Chrome Driver 다운로드 먼저 Chrome Driver 다운로드가 필요합니다. 현재 사용하는 Chrome 버전을 확인하여, 동일한 버전으로 다운 받으시길 바랍니다. 버전이 다를 경우 에러가 크롤링 시 에러가 뜰 수 있기 때문에 최대한 같은 버전의 Chrome Driver을 사용하는 걸 권장합니다. 현재 114 버전까지는 아래 사이트에서 다운로드 가능합니다. https://chromedriver.chromium.org/downloads ChromeDriver - WebDriver for Chrome - Downloads Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Test..

JAVA/Crawling 2023.10.31

[Junit] MockMvc - Body / Query / Path 작성 방법

Controller 단위 테스트의 정확한 작성법이 궁금하다면? 2023.10.28 - [Junit5] Mockito - Controller 단위 테스트 작성 [Junit5] Mockito - Controller 단위 테스트 작성 Spring boot 단위 테스트의 정석 Junit5 + Mockito의 정보가 궁금하다면? 2023.10.28 - [Junit5] Mockito를 사용하는 방법 [Junit5] Mockito를 사용하는 방법 1. Mockito의 제공 Mockito는 spring boot에서 사용하는 가장 기본 yuna-story.tistory.com Junit + Mockito + MockMvc Spring boot Contoller 단위 테스트 작성 방법 Body, Query, Path 등 ..

JAVA/Junit 2023.10.31