클래스 초기화 블럭 : 클래스 변수의 복잡한 초기화에 사용된다. 클래스가 처음 로딩될 때 한번만 수행된다.인스턴스 초기화 블럭 : 인스턴스 변수의 복잡한 초기화에 사용된다. 인스턴스가 생성될때 마다 수행된다. (생성자보다 먼저 수행된다.)보통 이런 형태인데요.인스턴스
.
.
Model이란? Model 객체는 컨트롤러에서 데이터를 생성해 이를 JSP 즉 View에 전달하는 역할을 한다. HashMap 형태를 갖고 있고, 키(key)와, 밸류(value) 값을 저장. Servelt의 request.setAttribute()과 비슷한 역할을 한다. 예제 메서드에 매개변수를 Model 타입의 model 변수를 선언함으로 사용...
Repository는 DB에 접근하는 코드를 모아두었다. Service는 DB에 직접적으로 접근하는 것은 Repository에 맡겨서 비즈니스 로직에 집중할 수 있다. 비즈니스 로직은 데이터베이스와 유저 인터페이스간의 정보 교환을 다루는 알고리즘
border-collapse는 표(table)의 테두리와 셀(td)의 테두리 사이의 간격을 어떻게 처리할 지 정합니다. 기본값 : separate 상속 : Yes 애니메이션 : No 버전 : CSS Level 2 border-collapse: separate | collapse | initial | inherit separate : 표(table)의 ...
length arrays(int[], double[], String[]) length는 배열의 길이를 알고자 할때 사용된다. length() String related Object(String, StringBuilder etc) length()는 문자열의 길이를 알고자 할때 사용된다. size() Collection Object(ArrayLis...
AJAX (Asynchronous Javascript And XML) AJAX란, JavaScript의 라이브러리중 하나이며 Asynchronous Javascript And Xml(비동기식 자바스크립트와 xml)의 약자이다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 ...

INNER JOIN 교집합 OUTER JOIN FULL OUTER JOIN의 경우 빼고는 특정 테이블을 기준으로 데이터를 보여준다. 1.LEFT OUTER JOIN 왼쪽 테이블 기준으로 JOIN 하겠다는 것 왼쪽 테이블 A 의 모든 데이터와 A와 B 테이블의 중복데이터들이 검색됨 2.RIGHT OUTER JOIN 오른쪽
1) int int는 변수의 타입(data type)이다. 변수(variable)는 '값을 저장할 수 있는 메모리 상의 공간'을 의미 자료형은 'data의 type에 따라 값이 저장될 공간의 크기와 저장 형식을 정의한 것' 산술 연산 가능 null로 초기화 불가 자료형은 기본형(primitive type)과 참조형(referece type)으로 나뉨 기본...
인증과 인가란? 인증이란 사용자의 신원을 검증하는 프로세스를 뜻합니다. 가장 간단한 예시로는 ID와 PW를 통해 로그인하는 행위를 인증이라 할 수 있죠. 인가는 인증 이후의 프로세스입니다. 인증된 사용자가 어떠한 자원에 접근할 수 있는지를 확인하는 절차가 바로 인가이죠. 로그인을 예시로 들었듯이 거의 모든 웹 사이트에서는 인증/인가를 필요로 합니다. 출처...

웹소켓동작 웹소켓은 HTTP 포트 80, HTTPS 포트 443 위에서 동작한다. 웹소켓은 TCP연결 처럼 핸드셰이크를 이용해 연결을 맺는다. 이때 HTTP 업그레이드 헤더를 사용하여 HTTP 프로토콜에서 웹소켓 프로토콜로 변경한다. 즉, 최초 접속시에는 HTTP 프로토콜을 이용해 핸드셰이킹을 한다. 이후 연결이 맺어지면 어느 한쪽이 연결을 끊지 않...
Handshake 핸드셰이크는 통신에서 연결을 설정하기 위한 과정입니다. 이때 두 통신 장치 간 데이터 교환 규칙, 속도, 보안 설정 등의 파라미터를 협상합니다. 핸드셰이크의 목적은 아래와 같습니다. 연결 설정 : 통신을 시작하기 전에 두 장치는 서로 연결되어 있음을 확인하고 연결을 설정합니다. 파라미터 협상 : 통신에 사용되는 속도, 프로토콜, 데이터 ...

서블릿(Servlet) Dynamic Web Page를 만들 때 사용되는 자바 기반의 웹 애플리케이션 프로그래밍 기술. 웹을 만들 때 다양한 요청(Request)과 응답(Response)이 있기 마련이 이 요청과 응답에는 규칙이 존재함 이러한 웹 요청과 응답의 흐름을 간단한 메서드 호출만으로 체계적으로 다룰 수 있게 해주는 기술 서블릿 구동방식 서블릿...
JSP HTML 코드에 JAVA 코드를 넣어 동적 웹페이지를 생성하는 웹 애플리케이션 도구 jsp가 실행되면 자바 서블릿으로 변환되며 웹 애플리케이션 서버에서 동작되면서 필요한 기능을 수행하고 생성된 데이터를 웹 페이지와 함께 클라이언트로 응답함. 서블릿과 결과적으로 하는 일은 동일. jsp는 html 내부에 java 소스코드가 들어가 html 코드를 작성...
모든 변수는 메모리에 저장된다. int 변수는 4바이트 이다. 변수에는 오직 8바이트 이하의 값만 넣을 수 있다. 객체가 필요한 이유 변수에는 오직 값 1개만 넣을 수 있다. 프로그래밍을 하다보면 변수에 값을 여러개 넣을 필요가 있을 때가 있다. 그래서 고안된 것이 객체이다. 객체는 커피 캐리어에 비유될 수 있다. 커피 캐리어에는 커피를 여러잔 담을 ...
TRIM 함수 TRIM("문자열") 문자열의 양쪽 공백 (스페이스바) 제거함 ex) TRIM(" 예시 ") ---> "예시" TRIM([{LEADING | TRAILING | BOTH} '옵션' FROM] "문자열") ㄴ 왼쪽, 오른쪽, 양쪽 지정해서 제거 LTRIM("문자열", "옵션") ...
CONTAINERLESS 컨테이너 없는 웹 애플리케이션 아키텍쳐 스프링 애플리케이션 개발에 요구되는 서블릿 컨테이너의 설치, WAR 폴더 구조, web.xml, WAR 빌드, 컨테이너로 배치, 포트 설정, 클래스로더, 로깅 등과 같은 필요하지만 애플리케 이션 개발의 핵심이 아닌 단순 반복 작업을 제거해주는 개발 도구와 아키텍처 지원 설치된 컨테이너로 배포하...

GROUP BY 절 GROUP BY 절 ROLLUP 소그룹 간 합계, 소계 로우 추가, total 로우 마지막에 추가됨 인자로 주어진 컬럼의 순서에 따라 다른 결과를 추출하게 됨 맨 처음 명시한 컬럼에 대해서만 소계 계산, 상품ID ROLLUP CUBE 다차원적인 소계, GROUP BY절에 명시한 모든 컬럼에 대해 합계, 소계 계산 
스프링 DI 스프링 컨테이너는 DI 컨테이너이다. 스프링은 DI를 적극적으로 활용해서 만들어져 있고 스프링을 이용해서 애플리케이션을 개발할 때 DI를 손쉽게 적용할 수 있도록 지원한다. 1 컨트롤러가 심플서비스에 의존함. 심플서비스가 변경되면 컨트롤러가 영향을 받음. 2 새로운 서비스가 생기면 컨트롤러를 수정해야함 3 위의 문제를 해결하기 위해 헬로 ...
Factory Pattern 팩토리 메소드 패턴, 추상 팩토리 패턴이 있음 Simple Factory Pattern 객체를 생성하는 클래스를 따로 두는 것 예시에서 휴대폰 공장에서 switch문을 통해 주문한 휴대폰 객체를 메소드를 통해 직접 생성 1 Factory Method Pattern 클래스의 인스턴스를 만드는 일을 서브클래스에게 맡김 팩토리가...

Decorator pattern 어떤 객체에 책임(기능)을 동적으로 추가하는 패턴 클래스의 요소들을 계속 수정하면서 사용하는 구조가 필요한 경우 여러 요소들을 조합해서 사용하는 클래스 구조인 경우 1 component와 ConcreteDecorator를 동일히 하도록 해주는 역할 장단점 장점 기존 코드를 수정하지 않고 데코레이터 패턴을 통해 행동 확장 ...
Meta-annotation 어노테이션에 적용한 어노테이션 service 어노테이션이 부여된 클래스는 component 어노테이션이 직접 사용된 것처럼 컴포넌트 스캔의 대상이 됨 Composed-annotation 하나 이상의 메타 어노테이션이 적용된 어노테이션 합성 어노테이션이 적용되면 모든 메타 어노테이션이 적용된 것과 동일한 효과를 가짐
.

😑
☁
🌧

🐳