요청 매핑 PathVariable 다중 사용 @GetMapping("/mapping/users/{userId}/orders/{orderId}") public String mappingPath(@PathVariable("userId") String userId, @PathVariable("orderId") Long orderId) { ...
[SQL] Lateral
Lateral select * from bys_test_tobe.testEvent t1 left join ( select * from bys_test_tobe.testEvent t2 where t2.date_at > t1.date_at order by t2.date_at asc limit 1 ) t2 on t1.id = t2.id ...
JSP
JSP Basic <!-- save.jsp --> <%@ page import="hello.servlet.domain.member.MemberRepository" %> <%@ page import="hello.servlet.domain.member.Member" %> <%@ page contentType="te...
Spring Application Properties
Logging 전체 로그 레벨 설정(기본 info) logging.level.root=trace 특정 패키지 하위 로그 레벨 설정 logging.level.hello.test=trace(hello.test 패키지와 그 하위 로그 레벨 설정) Tomcat의 HTTP/1.1...
Servlet & Spring MVC Pattern
Servlet 이란? 다양한 유형의 요청에 응답할 수 있는 자바 클래스 설정된 URL과 매핑시켜 클라이언트의 요청에 대한 응답을 할 수 있다. Servlet 등록 @ServletComponentScan: 등록된 서블릿을 찾는다. @WebServlet(name = “hello”, urlPatterns = “/test”): 서블릿...
Apache & Tomcat
Apache Apache HTTP Server HTTP Server: 웹서버 Web Server 웹서버는 하드웨어와 소프트웨어 두 분야에서 다른 의미로 불린다. 하드웨어 웹 서버 소프트웨어와 웹사이트 구성 요소 파일을 저장하는 컴퓨터. ( HTTP문서, CSS 파일, JS 파일, 이미지 등..) ...
[SQL] Exists / Not Exists
SELECT -- 생활과학과 소속 학생 중 수강신청을 하지 않는 학생의 학생번호를 출력한다. select a.학생번호 from 전공 as a where a.학과이름 = '생활과학과' and not exists (select b.학생번호 from 수강 b where a.학생번호 = b.학생번호) INSERT -- test1에 는 존재하지만 t...
Table Partioning(PostgreSQL)
테이블 파티션닝 배경 DB에 저장하는 데이터 규모가 대용량화 되었을 경우, DB 시스템의 용량(storage)의 한계와 성능(performance)의 저하를 가져오게 되었다. 개념 대용량 데이터를 가진 테이블을 구분지어 더 작은 테이블로 나누는 프로세스(물리적으로 분할) 파티셔닝 목적 성능 향상: Fu...
Java Intermediate_1
java.lang 패키지 java.lang 패키지의 대표적인 클래스 Object : 모든 자바 객체의 부모 클래스 String : 문자열 Integer, Long, Double : 래퍼 타입, 기본형 데이터 타입을 객체로 만든 것 Class : 클래스 메타 정보(*메타 : ~에 대한) ...
SQL Injection Attack
How to do "SQL Injection Attack"? -- 1. 로그인 창에서의 SQL Injection select * from memberInfo m where m.id = #{id} and m.password = #{password} -- 2. 쿼리파라미터의 SQL Injection select * from posts where a...