본문 바로가기

Back-end139

SQL문법 (3) 다중열 서브쿼리 비교할 열이 여러개 인 쿼리 FROM절에 사용하는 서브쿼리 인라인뷰로 FROM절에서 서브쿼리로 추출한 데이터에 별칭을 주어 사용할 수 있다. WITH 별칭 AS (서브쿼리).. 별칭 AS (서브쿼리) SELECT ... FROM ... WHERE ...; FROM절에 명시한 서브쿼리에 별칭을 아래 SELECT , FROM, WHERE에서 사용할 수 있다. SELECT 절에 사용하는 서브쿼리; 스칼라 서브쿼리라고 부르고, 하나의 열 영역으로 결과를 출력할 수 있다. 반드시 하나의 결과만 반환되도록 작성해 주어야 한다. CREATE TABLE 테이블이름 [AS SELECT * FROM 복사할테이블]; 테이블을 생성하는 쿼리, [복사할 때 사용] DROP TABLE 테이블이름; 테이블 삭제 I.. 2021. 7. 25.
Springboot 동작원리 스프링부트 동작원리 내장 톰켓을 가진다. 톰켓을 따로 설치할 필요 없이 바로 실행이 가능하다. Socket : 운영체제가 가지고 있는 것이다. 소켓이 새로 열릴때마다 쓰레드도 열려 동시작업을 가능하게 해준다. 서로 연결이 계속되어 있어 지속적으로 통신이 가능하지만, 부하가 걸린다. http 통신은 stateless 방식으로 작동한다. http는 문서를 전달하는 통신이다. http는 소켓에 비해 부하는 적지만 작업이 끝나면 연결이 끊겨 다시 연결을 할때는 새로운 연결을 해야 한다. 위의 단점을 보안한게 웹서버이다. http의 목적은 html(확장자)로 생성된 문서를 요청자에게 전달해주는 것이다. http : 소켓을 기반으로 함 톰켓 | 웹서버의 차이를 알아야 한다. 웹서버 : 갑/을 구조이다. 필요한 사람.. 2021. 7. 19.
JPA 개념 JPA란 ? Java Persistence API이다. Persistence(영속성) : 데이터를 생성한 프로그램의 실행이 종료되더라도 사라지지 않는 데이터의 특성을 의미한다. 즉 JPA는 영구히 데이터를 기록할 수 있게 조성해준다. API(애플리케이션 A , 프로그래밍 P, 인터페이스 I) 애플리케이션은 프로그램이고, 프로그래밍은 프로그램을 만들기 위한 방법, 인터페이스를 통해 프로그래밍을 한다. 프로토콜/인터페이스 는 둘다 약속을 의미한다. 하지만 살짝 의미가 다르다. 인터페이스는 상하관계가 존재하는 약속이다. 프로토콜은 서로 동등한 관계에 있다. 즉 Java Persistence API(JPA)는 자바 프로그래밍을 할때 데이터를 영구히 저장하게 할 수 있는 인터페이스이다. ORM 기술이다. Obje.. 2021. 7. 18.
Spring 개념 FrameWork 개발자들에게 틀에 맞춰 개발할 수 있게 해준다. 오픈소스 소스코드가 공개되어 있다. 즉 내부를 볼 수 있고, 뜯어 고칠 수도 있다. 또한 무료이다. IoC 컨테이너를 가진다. Inversion of Controll : 주도권이 스프링한테 있다. class → 설계도 object → 실제화가 가능한 것 Instance → 실체화 된 것 오브젝트를 직접 heap 공간에 올리고(new 연산자), 참조변수가 가지고 있다. 스프링이 객체를 메모리에 올려준다. DI를 지원한다. Dependency Injection 원래는 개발자가 메모리에 직접 올려 관리하였지만, 스프링이 메모리에 올리고, 관리한다. 다른 클래스에서 사용이 가능하다. 많은 필터를 가지고 있다. 외부에서 내부로 들어오려면 권한이 필.. 2021. 7. 18.
SQL 문법(2) SUM(컬럼) 열의 합을 출력, NULL을 제외하고 더함 COUNT(컬럼) 지정한 데이터의 개수 반환 문법 설명 MAX(컬럼) 데이터중 최대값 반환 MIN(컬럼) 데이터중 최소값 반환 MAX(날짜) 가장 느린 값(날짜 데이터가 큰값) MIN(날짜) 가장 빠른 값(날짜 데이터가 작은 값) AVG(컬럼) 데이터의 평균값 반환 GROUP BY 그룹화 열 지정 결과들을 특정 열값별로 묶는다. 먼저 지정한 열로 대그룹을 나누고, 그 다음 지정한 열로 소그룹을 나눈다. HAVING 조건 GROUP BY절을 사용해 그룹화된 결과중 출력 그룹을 선별하는 조건식 GROUP BY ROLLUP(열 지정) 그룹화 데이터의 합계를 함께 출력 GROUP BY CUBE(열 지정) ROLLUP과 동일하지만 가능한 모든 조합의 결과가.. 2021. 7. 18.
12 지네릭스, 열거형, 애너테이션 (1) 지네릭스란? 지네릭스는 다양한 타입의 객체들을 다루는 메서드나 컬렉션 클래스에 컴파일 시의 타입 체크(compile-time type check)를 해주는 기능이다. 객체의 타입을 컴파일 시에 체크하기 때문에 객체의 타입 안정성을 높이고 형변환의 번거로움이 줄어든다. 타입 안정성을 높인다는 것은 의도하지 않은 타입의 객체가 저장되는 것을 막고, 저장된 객체를 꺼내올 때 원래의 타입과 다른 타입으로 잘못 형변환되어 발생할 수 있는 오류를 줄여준다는 뜻이다. 예를 들어 ArrayList와 같은 컬렉션 클래스는 다양한 종류의 객체를 담을 수 있긴 하지만 보통 한 종류의 객체를 담는 경우가 더 많다. 그런데도 꺼낼 때마다 타입체크를 하고 형변환을 하는 것은 불편하다. 게다가 원치않는 종류의 객체가 포함되는 것을.. 2021. 7. 17.