Java에서 컴파일과 빌드 우리가 작성한 소스코드는 .java라는 확장자를 가진다. 그리고 컴파일이 끝난 자바 소스코드는 .class라는 확장자를 가진다. 마지막으로 우리가 실행할 수 있는 java 실행 파일은 .jar라는 확장자를 가진다. 컴파일 소스 코드를 컴퓨터가 이해할 수 있는 기계어로 바꾸는 것. 빌드 컴파일된 파일을 실행할 수 있는 실행파일로 바꾸는 것. 실행 순서 소스코드 작성 ( .java ) => 컴파일( .class ) => 빌드 => ( .jar ) => 실행
Query Method란? 아래 표에 나와있는 키워드들을 사용해서 네이밍 규칙을 적용하면 간단하게 쿼리를 실행할 수 있다. Query Method 예시 ex) 만료기간이 지나지 않은 User의 refresh 토큰을 조회하는 쿼리 메소드 RefreshTokenEntity findRefreshTokenEntityByUserIdAndValidityAfter(Long userId, Date expiration_time); ex) 유저 테이블에서 친구들의 아이디로 친구 정보 조회 List findAllByUserIdIn(List friendIds); JPQL이란? 테이블이 아닌 엔티티 객체를 조회하는 객체지향 쿼리다. JPA에서 기본으로 제공하는 메소드와 쿼리 메소드를 이용해도 update처럼 불편한 쿼리들이 있..
아무런 세팅없이 eclipse에서 Servlet 클래스로 웹 서버를 실행하면 경로에 모듈path가 들어간다. => controller에 경로를 지정해뒀을 때 앞에 모듈 경로를 넣어줘야하는 불편함이 생김 해결 방법 1. 서버를 더블 클릭 2. module 클릭 3. edit 클릭 후 원하는 경로 명 적기
JDK 업데이트 알림이 떠서 업데이트를 했더니 기존 프로젝트들의 imort 부분에 에러가 떴다. 해결 방법 1. Java ibray import error 프로젝트 우클릭 -> build path(없으면 properties -> build path) -> JRE -> edit -> JDK 선택 2. Servlet libray import error build path -> add Libray -> server runtime -> apatch-tomcat 추가 3. 서버 실행 시 실행할 프로젝트가 안뜰 때 서버 삭제 후 재실행
JWT란?JSON 객체로 안전하게 정보를 전송하기 위한 방식디지털 서명이 되어있기 때문에 안전하다.JWT 구조JWT는 Header, Payload, Signature 3가지를 점으로 구분하여 xxxx.yyyy.zzzz 구조를 가지고 있다.Header와 Payload는 base64로 인코딩 되어있고, signature는 Header, Payload, Secret key를 HS256 방식으로 암호화한 다음 base64로 인코딩 되어있다. Header: 알고리즘, 타입 => "HS256으로 암호화 한 JWT이다"라는 정보가 들어있다.Payload: 정보 => name, userId 등등Signature: [헤더, 페이로드, 비밀 키]를 헤더에 있는 알고리즘으로 암호화 암호화HMAC..
쿠키와 세션이 무엇인가? 쿠키와 세션은 HTTP 프로토콜에서 비연결성과 무상태라는 특징에서 상태를 유지해야하는 특정 데이터를 관리하기 위해서 사용되는 개념이다. HTTP 요청, 응답에 사용되기 때문에 HTTP의 Message Header에 정보가 포함된다. 쿠키 쿠키는 브라우저에 정보를 저장하기 때문에 서버 측의 리소스를 세션보다 적게 사용한다. 반대로 브라우저에 저장되기 때문에 다른 사람이 볼 수도 있고, 조작도 가능하기 때문에 보안에 취약하다는 점과 사용자가 쿠키를 차단해버리면 서버 측에서는 쿠키 기반 상태 유지가 불가능하다는 단점이 있다. 쿠키는 텍스트 형태의 상태 정보만 저장할 수 있으며, 데이터의 개수와 크기에 제한이 있다. (최대 300개, 도메인 하나 당 최대 20개, 4KB) 서블릿 객체에..