Programming 썸네일형 리스트형 [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.. 더보기 [jwt] refreshToken을 db에서 유지하는 이유 JWT 인증은 Stateless 원칙을 기본으로한 인증방식 인증서버에서 1회만 발급받으면 해당 토큰이 가진 만료시간이나, 속성들을 사용하여 어플리케이션이 인증서버의 도움없이 인증 및 인가에 사용할 수 있는 방식 JWT로 인증을 받을경우 해당 토큰은 폐기가 불가능 보안문제를 해결하기 위해 다시 Stateful한 방식인 세션과 같이 Token을 DB에 저장하고 로그아웃이나 기타 정책에 의해 Token을 DB에서 삭제하면 유효한 JWT토큰을 가지고 있더라도 인증실패 처리를 할 수 있음 1시간 만료되서 accessToken을 재발급 받으려고 다시 로그인 하면,서버입장에서는database에서 SELECT Member table 도 해야하고,찾은 Member를 UserDetails로 변환해 검증도 해야하고,검증.. 더보기 이전 1 2 3 4 ··· 9 다음