728x90

공부 34

[DB] WITH AS절 사용법 (feat.CTE)

WITH절 이란? WITH절은 이름이 부여된 서브쿼리 이며, CTE(Common Table Expression)를 표현하기 위한 구문이다. 임시테이블을 만든다는 관점에서본다면 VIEW와 쓰임새가 비슷한데 차이점이 있다면 VIEW는 한번 만들어놓으면 DROP할때까지 없어지지 않지만 WITH절의 같은경우 한번 실행할 쿼리문내에 정의되어 있을경우, 그 쿼리문안에서만 실행된다는 차이점이 있다. CTE(Common Table Expression) 란? 1. 기존의 View,파생 Table, 임시Table 등으로 사용되던 것을 대신할 수 있다. 2. 더 간결한 식으로 보여지는 장점이 있다. 3. CTE는 크게 비재귀적CTE, 재귀적CTE 두가지가 있다. 비재귀적 CTE : 재귀적이지 않은 CTE, 단순한 형태이며 ..

DB 2023.08.26

[AWS] 재배포 과정 정리

배포 / 재배포 하기 전 체크리스트 내 aws 계정으로 DB 연결 했나? - 아니면 주인 컴퓨터에서 COMMIT 후 재배포 가능 - 맞으면 그냥 개발 즉시 재배포 가능 1. maven - Lifecycle - package : 새로운 WAR 파일 생성 2. 만들어진 WAR 파일을 PEM 파일이 있는 동일한 위치로 옮긴다 3. AWS EC2 연결기능을 통해 SSH에 접속 4. AWS EC2 인스턴스의 /home/ubuntu 경로에 아무것도 남아있지 않게 하기 위해 아래 명령어를 입력한다. ubuntu@a.b.c.d:~$ cd ~ ubuntu@a.b.c.d:~$ rm -rf * 5. 에서 만든 WAR 파일을 EC2 인스턴스로 업로드하기 위해 윈도우는 명령 프롬프트(cmd), 맥은 터미널(terminal)에서..

AWS 2023.06.16

[SpringBoot] email Auth: 이메일 인증 구현하기

이번엔 회원가입, 이메일 재설정,비밀번호 재설정 등 많은 서비스 구현에서 사용되는 emailAuth 를 구현해보자 ! 1. '이메일 인증' 버튼을 누르면 Controller 에서 작동될 'postEmail' 메서드 만들기 @RequestMapping(value = "email", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public String postEmail(UserEntity user, EmailAuthEntity emailAuth) throws NoSuchAlgorithmException, MessagingException { Enum result = this.memberServic..

Spring 2023.02.22

[Java] 제곱계산 반환,홀수만 계산 여러 풀이법

public class Main { public static void main(String[] args) throws Exception{ System.out.println(); } /** * 어떠한 수에 대한 제곱을 계산하여 반환한다. * @param a 1이상의 정수 * @param b 1이상의 정수 * @return a의b 제곱 */ public static int pow(int a, int b) { int result =1; for (int i =0; ionlyOdds == (x%2 != 0)) .toArray(); // 일반 for 문으로 푸는 방법 int size =0; for (int number : numbers){ if(onlyOdds && number %2 != 0){ size++; co..

Java 2023.02.09

[Java] String 클래스

▪ String(java.lang.String) 클래스는 참조타입으로, Java에서 문자열 타입을 사용하거나 활용하기 위해 사용한다. 참조타입이지만 쌍 따옴표를 이용하여 리터럴(Literal)처럼 사용할 수 있도록 특별히 조치되어있다. ▪ 비정적 메서드(객체 메서드) ▫ charAt(int i) : 호출 대상이 되는 문자열의 i번째에 있는 문자를 반환한다. 체인메서드(Chain Method)의 일종이다. System.out.println("Hello World".charAt(6)); // 'W' ▫ concat(String s): 호출 대상이 되는 문자열에 s문자열을 합쳐 새로운 문자열 객체를 반환한다. String msg = "Hello".concat("World!"); .concat("Mr."); ...

Java 2023.02.09

[Java] 배열과 열거형

배열 ▪ 배열은 하나의 변수에 어떠한 타입의(혹은 이를 상속받거나 구현하는 타입)값(혹은 객체)를 여러개 받기 위해 사용한다. ▪ 메모리상의 동작방식은 참조타입에 가깝지만, 그 자체로 타입이지는 않기 때문에 별도의 메서드나 속성(length 제외)을 가지지 않고 이에 기초타입과도 비슷하다고 할 수 있겠음. (너무 신경안써도 됨) 타입[] 변수이름; 위 방식으로 선언할 수 있으며, 여기서 대괄호는 진짜 적어야 함 가령, 정수타입 배열은 아래와 같이 만든다. int[] numbers; 배열의 이름은 복수형(Plural)으로 짓는 것이 일반적이며 (number → numbers), 객체화시 원소를 직접 지정하거나, 그게 싫다면 배열의 길이를 지정해주어야한다. int[] numbers = new int [10]..

Java 2023.02.09

[Java] 예외처리(try-catch문, throw~)

1. 일반 예외처리(Try-Catch 문) ▫ 예외가 발생할 것으로 예상되는 구문을 안전하게 처리하기 위해 사용한다. try { [안전하게 처리할 구현부] } catch ([처리할 예외 변수 선언]) { [예외 발생시 취할 조치] } 혹은 아래와 같이 처리할 예외의 종류를 분리하여 사용할 수 있다. try { [안전하게 처리할 구현부] } catch ([처리할 예외 1 변수 선언]) { [예외 1 발생시 취할 조치] } catch ([처리할 예외 2 변수 선언]) { [예외 2 발생시 취할 조치] } catch ([처리할 예외 3 변수 선언]) { [예외 3 발생시 취할 조치] } 서로 다른 종류의 두 개 이상의 예외에 대해 동일한 조치를 취하기 위해 아래와 같이 작성한다. try { [안전하게 처리할 ..

Java 2023.02.09

[Java] 객체

▪ 객체란 참조타입인 값을 의미한다. 기초타입의 값을 객체라고 하지 않는다. 가령, 5는 그냥 값이며,"안녕?"은 문자열(String)객체라고 한다. ▪ 객체화 : 어떠한 참조타입을 객체로 만들기 위해 new 키워드를 이용하며 new[참조타입이름]([생성자 전달 인자,...]?) 형식으로 객체화 한다. ▫ 가령, Object 참조타입을 객체화 하기 위해 아래와 같이 작성한다. Object obj = new Object(); int i = new int(); // new 키워드를 이용한 객체화는 참조타입만 가능함으로 이와같이 작성할 수 없음. // String a = "Hello"; String b = "Hello"; ▪ 문자열 비교할때 == 연산자 말고 .eqals()메소드를 써야함. ▪ == 연산자 사..

Java 2023.02.08

[Java] 일반 문법(반복문)

▫ 향상된 for문 : 자바스크립트의 `for ... of ...`와 동일한 기능을 한다. ▪ 어떠한 배열 혹은 반복가능한 객체가 가진 원소들을 반복하기 위해 사용한다. ▪ 인덱스 번호 (주로i) 가 변수로서 필요없다면 사용하도록 한다. for ([원소선언] : [배열혹은 반복 가능 객체]){ } String[] names = {"김김김","이이이","박박박"}; for(String name:names){ System.out.println(name)}; //김김김 //이이이 //박박박 ▫ `for` 반복문 은 정수인 변수(이름은 주로 `i`)에 대해 그 값이 특정한 값 이상/이하/초과/미만일 때 그 값을 증가/감하며 어떠한 횟수만큼 반복하고자 할 때 사용한다. ▫ 아래 문법에서 초기화부분에 반복에 사용할..

Java 2023.02.08
728x90