본문 바로가기

Programming

[DB 기초]CLUSTERED 와 NONCLUSTERED 인덱스의 차이 CONSTRAINT [PK_BR_MEMBER] PRIMARY KEY CLUSTERED ([MEM_IDX]), CONSTRAINT [UK_BR_MEMBER_MEM_ID] UNIQUE NONCLUSTERED ([MEM_ID]) 여기서 CLUSTERED 와 NONCLUSTERED 차이는 뭐임 ChatGPT의 말:좋은 질문입니다, 김태훈님.CLUSTERED와 NONCLUSTERED의 차이는 인덱스의 물리적인 정렬 방식과 저장 방식에 있습니다.✅ 요약부터구분CLUSTERED INDEX (클러스터형)NONCLUSTERED INDEX (비클러스터형)저장 구조실제 데이터 정렬 순서와 동일별도의 인덱스 구조로 존재 (데이터와 분리됨)데이터 위치인덱스 자체가 데이터를 포함인덱스는 포인터(참조)만 가지고 있음개수테이블당 1.. 더보기
[JAVA] Exception보다 RuntimeException을 상속받는 게 좋은 이유 현재 CouponBoxException은 Exception을 상속받고 있어.하지만 특별한 이유가 없다면 RuntimeException을 상속받는 게 더 유리한 경우가 많아.이유는 다음과 같아.📌 1. Exception은 체크 예외 (Checked Exception)java복사편집public class CouponBoxException extends Exception { // Checked Exception Exception을 상속받으면 Checked Exception이 돼서,모든 호출하는 곳에서 try-catch 또는 throws를 강제해야 함.불필요한 예외 처리가 많아져 코드가 복잡해질 수 있음.📌 Checked Exception의 단점 예시java복사편집public void processCoupo.. 더보기
[java 스터디] 백준 1524번 문제풀이 (문제: 세준세비) 세준이와 세비는 온라인 게임을 즐겨한다. 이 온라인 게임에서는 군대를 서로 키울 수 있다. 세준이는 N명의 병사를 키웠고, 세비는 M명의 병사를 키웠다.이제 서로 전쟁을 하려고 한다.전쟁은 여러 번의 전투로 이루어진다. 각 전투에서 살아있는 병사중 제일 약한 병사가 죽는다. 만약 제일 약한 병사가 여러 명이고, 제일 약한 병사가 모두 같은 편에 있다면, 그 중에 한 명이 임의로 선택되어 죽는다. 하지만, 제일 약한 병사가 여러 명이고, 양 편에 모두 있다면, 세비의 제일 약한 병사 중 한 명이 임의로 선택되어 죽는다.전쟁은 한 명의 병사를 제외하고 모두 죽었을 때 끝난다. 전쟁의 승자를 출력하는 프로그램을 작성하시오.   import java.io.BufferedReader;import java.io.I.. 더보기
[java 스터디] 문제풀이 크리스마스 선물 14235 처음에 이 문제를 이해하는데 어려웠다. a가 0일 때마다 정렬을 하고 거기서 최대값을 뽑아야한다.이 때, 시간 복잡도는 N^2log(N)이 예상 되어 TLE가 날 것 같다. 그래서 우선순위 큐를 이용하여 정렬하는데 logN을 사용하고 NlogN이 되어 TLE가 안난다. 0이면 pq에서 poll하고0이 아니면 그 개수만큼 pq에 offer하는 것이다.  코드  package Data_Structure;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.PriorityQueue;import java.util.StringTokenizer;public class BOJ142.. 더보기
[JAVA 스터디] 250117 2차원배열 - 오늘의 학습 키워드2차원 배열, 배열 초기화  2차원 배열을 실제로 사용하는 방법에 대해서 알아보도록 하자.여기에서는 다른 방식으로 선언하는 방법과2차원 배열에 값을 저장하고 출력하는 방법에 대해서 알아보려고 한다. 목표 : 2차원 배열에 값을 저장하고 출력하는 방법을 이해하고 사용할 수 있다. 1. 2차원 배열에 값을 저장 2차원 배열을 선언도 해봤고 구조도 어떻게 되어 있는지 알아봤으니이제 값을 저장하고 가져오는 방법에 대해서 알아보도록 하자.먼저 저장하는 방법이다.예시를 위해 2차원 배열을 만들어보자. 예시1)char[][] charArr = new char[4][2]; 이번에는 char타입의 2차원 배열을 선언해 보았다.구조는 앞에서 살펴봤던 2차원 배열의 구조와 거의 흡사하니 이 전의 글을 .. 더보기
[intellij] 인텔리j spring boot 실행 시 , finished with non-zero exit value 1 해결 Execution failed for task ':Application.main()'.> Process 'command 'JDK경로/bin/java.exe'' finished with non-zero exit value 1이번에 소개할 에러는 finishi with non-zero exit value 1 이 녀석이다.Intellij, Gradle 환경에서 Spring 코드를 실행한 후 해당 에러를 만났다. 해결 방법[File > Settings > Build, Excution, Deployment > Build Tools > Gradle] 이 경로로 이동[Build and run using]과 [Run tests using]을 IntelliJ IDEA로 변경[Gradle JVM] 버전을 현재 프로젝트 버.. 더보기
[Naver CLOVA] clova studio 환경 실행, 테스트 앱 생성하기 공식 사이트 개요  https://api.ncloud-docs.com/docs/ai-naver-clovastudio-summary CLOVA Studio 개요 api.ncloud-docs.com 1. 개념  naver clova studio 자료조사NAVER CLOVA – X 1. 1 NAVER CLOVA - X의 개발 도구의 구성  네이버의 AI 서비스에는 다양한 서비스들이 있는데 이 중 AI 컨텐츠에 대한 개발을 하기 위해선 비즈니스에 최적화 되어 있는 CLOVA Studio 를 통한 구성을 해야함.  CLOVA studio 의 예제는 사투리변환, 챗봇, 이메일 작성, 마케팅 문구생성 등등  1.2 NAVER CLOVA – X STUDIO 의 운영  CLOVA Studio는 기업 고객 대상으로 Clo.. 더보기
[Spring] Annotation 커스텀 생성하기 @Aspect@Component@Slf4jpublic class LogAspect { private final AccountRepo accountRepo; private final OperatorLogHistoryRepository operatorLogHistoryRepository; public LogAspect(AccountRepo accountRepo, OperatorLogHistoryRepository operatorLogHistoryRepository) { this.accountRepo = accountRepo; this.operatorLogHistoryRepository = operatorLogHistoryRepository; } @Point.. 더보기
[mariadb] db 생성 MariaDB 데이터베이스 생성, 계정 생성, 권한 부여MySQL(MariaDB) 접속mysql -u root -p/ 특정 포트를 지정하려면 (-P 포트번호) 추가데이터베이스 확인SHOW DATABASES;데이터베이스 생성CREATE DATABASE 데이터베이스명;아이디 생성CREATE USER '아이디'@'%' IDENTIFIED BY '비밀번호';사용자 권한 주기GRANT ALL PRIVILEGES ON 데이터베이스명.* TO '아이디'@'%';새로고침FLUSH PRIVILEGES; 더보기
[Spring] vault 개념과 활용 Vault란?Vault는 HashiCorp에 의해서 개발된 크로스플랫폼 패스워드 및 인증 관리 시스템이다. 공개되면 안되는 비밀번호, API 키, 토큰 등을 저장하고 관리한다.https://www.vaultproject.io/ 에서 개발했다.사용 이유사용자명, 엔드포인트, 비밀번호, 포트 등 중요한 정보를 형상관리툴에 노출시키지 않게 하기위하여 사용한다.Spring 과 Vaultspring cloud 에서 공식적으로 vault 연결해주는 dependency를 제공해준다.https://spring.io/guides/gs/vault-config/Vault설정org.springframework.cloud:spring-cloud-starter-vault-config 가 있고springframework-vault.. 더보기