Programming/Spring23 [Spring Boot] IntelliJ 디버깅 단축키 정리 [ 디버깅 이름 | 단축키 ] 정리 [ Resume : F9 ] 다음 BreakPoint로 이동 [ Step Over : F8 ] 현재 break된 라인에서 다음 라인으로 이동 [ Step Into : F7 ] 현재 break된 라인에서 실행하고있는 라인의 함수로 이동 (디테일 이동) [ Step Out : Shift + F8 ] 현재 break된 라인에서 호출한 곳으로 이동 Programming/Spring 2022. 3. 28. [Spring Boot] Thymeleaf란? (개념 / 특징 / 사용법) 서론 이번글에서는 템플릿을 이용하여 보다 쉽게 화면을 구현할 수 있는 기술이라 하는 Thymeleaf에 대해서 알아보자. Thymeleaf의 특징 | 강점 HTML5 웹 표준을 준수하는 템플릿이다. 전체적인 문법이 html5 마크업 표준을 최대한 해치지않게 설계되어있다. 템플릿 문법을 아예 템플릿에서 분리하여 사용할 수 있다. (Decoupled Logic) --> 템플릿 엔진이 작동하지 않아도 렌더링되는 정적 목업 페이지 --> 디자이너가 이해하기 쉬운 코드를 제공한다. 템플릿 문법 적용 방법 3가지 1. "th:" tag 2. "data-th-" attribute 3. decoupled logic 표현 방식(Expressions) Variable Expressions : ${...} Selection.. Programming/Spring 2022. 3. 28. [Spring Boot] 간단한 Http API테스트 환경 만들기 (IntelliJ IDEA) 서론 Http 테스트라 함은 보통 Postman을 많이 활용하는 것으로 알고 있는데 IntelliJ에서 간단하게 테스트 환경을 구성할 수 있는 방법이 있어 정리하려한다. 방법 1. test폴더 - http 폴더 생성 2. http폴더 - HTTP Requset http 파일 생성 ** 필자는 파일 이름을 dev.create 해주었다. 3. 보낼 http 내용 입력 (Examples를 눌러 예제를 볼 수 있음) 4. 테스트할 내용 입력 후 밑줄 친 부분 클릭 ** 위 내용은 필자가 http 테스트할 내용을 입력한 것임. 5. 결과 출력 [최종] 위와 같이 http의 결과 값을 확인할 수 있다. Programming/Spring 2022. 3. 25. [Spring Boot] H2 데이터베이스 사용해보기 (개념 / 환경 구성 / JPA 사용 예제) 서론 이번글에서는 테스트로 자주 사용하는 h2 database에 대해 알아보려한다. 사용 예제는 맨 아래의 git 링크로 들어가면 볼 수 있다. H2 Database란? h2는 우리가 흔히 볼 수 있는 RDBMS(관계형데이터베이스)이다. 근데 일반적인 DB와 다른점이라고 하면, H2는 메모리 데이터베이스 기반이며 휘발성데이터를 관리하는 DB이다. 보통 통용되는 데이터베이스는 DB 서버에 실제 메모리를 유지시키므로 영구적인 데이터를 사용할 수 있는 반면, H2는 데이터가 시스템 메모리에 저장이 되어 서버를 종료하거나, 재시작하면 해당 데이터가 삭제되는 데이터베이스이다. 그런데, 이 H2를 언제 쓸까? 특징을 알아보자. H2 특징 매우 빠른 속도를 지원하는 오픈 소스이다. 인 메모리 데이터베이스이다. 브라우.. Programming/Spring 2022. 3. 24. STS(Eclipse)에서 IntelliJ로 프로젝트 옮기는 방법 (Import / Export) 서론 이번 글에서는 STS에서 IntelliJ로 옮기는 방법에 대해 정리하려한다. 바로 알아보자. [이관 순서] 1. 프로젝트 우클릭 - Export 선택 2. Export - Archive File 선택 3. Browse 선택 후 저장할 곳을 선택후 [프로젝트이름.zip]으로 저장 4. 저장한 .zip파일을 복사 or 잘라내기 후 C드라이브- 사용자 - 계정 - ideaProjects 폴더에 붙여넣기 필자 경로 ex) C:\Users\jkan\IdeaProjects 5. IntelliJ 실행 후 프로젝트 Open -> 위의 ideaProjects 폴더에서 옮길 프로젝트 선택 Programming/Spring 2022. 3. 20. [Spring] 전역 예외 처리 방법 (@ControllerAdvice, @ExceptionHandler) 서론 필자는 모든 예외사항을 고려하여 개발을 하는것은 불가능하다고 생각이 든다. 그래서 이 예외 처리는 정말 고마운 녀석이라는 생각이 든다. 이번 글에서는 Spring에서 예외처리 클래스를 생성하여 전역 또는 특정 패키지 별로 예외 처리를 할 수 있는 방법을 소개 하려한다. 예외 처리란 ? 우리는 항상 에러(Error)와 예외에 대해 나눠서 생각해야 한다. 여기서 에러는 "보통 발생 시 수습할 수 없는 심각한 오류"를 말하며, 예외는 "예외 처리를 통해 수습할 수 있는 덜 심각한 오류"를 말한다. 에러는 아예 발생하지 않게 처리를 해줘야 하는것에 반면, 예외는 try ~ catch문을 통하여 예외 발생 시 상황에 맞는 구현을 통해 예외 상황을 재활용 할 수 있게 해준다. [예외처리 예시] (예외처리 예시.. Programming/Spring 2022. 3. 13. [Spring] 쿠키와 세션의 차이점 서론 이번 글에서는 쿠키와 세션의 차이점에 대해 알아보려고한다. 각 개념은 이전 글에 작성해놓았으니 참고 바란다. 쿠키(Cookie) VS 세션(Session) 분류 쿠키(Cookie) 세션(HttpSession) 저장 위치 브라우저에 저장한다. 서버에 저장한다. 서버 부담 브라우저에 저장하여 서버에 부담이 없다. 서버에 저장하여 서버에 부담이 있다. 보안성 불리하다. (필요하면 암호화 사용) 유리하다. 서버 다중화 유리하다. 불리하다. 속도 빠르다. 느리다. 저장 형식 Text형식으로 저장된다. Object형식으로 저장된다. 만료 시점 쿠키 저장시 설정할 수 있다. (만료 시점 설정 가능) 브라우저 종료시 삭제한다. (기간 지정 가능) 용량 제한 총 300개 하나의 도메인 당 20개 하나의 쿠키당 4K.. Programming/Spring 2022. 3. 13. [Spring] 세션(Session)이란? (개념 / 특징 / 사용법) 서론 이번 글도 이전 글인 쿠키글과 마찬가지로 나 혼자 공부를 위해 작성하는것이니 지저분한 정리가 될 수 있다. 추 후 깔끔하게 정리를 꼭 해보도록 하겠다 :() 세션이란? 사용자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점까지 같은 사용자로부터 오는 일련의 요청을 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술이다. ---> 클라이언트 별로 각각의 상태 정보를 서버에서 저장하는 기술이다. 세션 특징 Browser마다 개별 저장소(Session객체)를 서버에서 제공(발급)한다. 각 클라이언트에게 고유한 ID를 부여한다. 웹서버에 컨테이너 상태를 유지하기 위한 정보를 저장한다. 세션 ID로 클라이언트를 구분하여 클라이언트 요구에 맞는 서비스를 제공한다.. Programming/Spring 2022. 3. 13. [Spring] 쿠키(Cookie)란? (개념 / 특징 / 사용법) 서론 쿠키에 대해 간략히 알아보려고한다. 이번 글에서는 정보 공유를 위한 정리보다는 일단 혼자 정리해보기위해 정리하는 글이기에 다소 보기에 지저분할 수 있다. (추 후 시간이 되면 더 자세한 내용으로 다듬어 보겠음) 쿠키란? 쿠키는 유저들의 효율적이고 안전한 웹 사용을 보장하기 위하여 웹사이트에 널리 사용되고 있다. 쿠키는 웹사이트 접속시 접속자의 개인장치에 다운로드 되고 브라우저에 저장되는 작은 텍스트 파일이다. 웹사이트는 쿠키를 통해 접속자의 장치를 인식하고, 접속자의 설정과 과거 이용내역에 대한 일부 데이터를 저장한다. 일반적으로 쿠키에는 만료일이 있다. 예를 들어, 브라우저를 닫는 경우 자동으로 삭제되는 쿠키도 있으며(세션 쿠키), 일부는 수동으로 삭제되기 전까지 남아있는 등 더 오랜기간 동안 컴.. Programming/Spring 2022. 3. 12. [Servlet] 서블릿 실행 시간 측정 필터 만들기 (Servlet Performance Time Check Filter) 서블릿에서 필터를 활용하여 모든 서블릿의 동작시간을 체크하는 로직을 정리해두려한다. 만약 필터 없이 페이지마다의 실행 속도를 체크하고 싶으면 해당 클래스마다 타이머 작업을 해줘야하는데 필터를 활용하여 모든 페이지의 퍼포먼스 시간을 체크할 때 사용하면 좋을 것이다. package com.unittest.performance; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.s.. Programming/Spring 2022. 2. 1. [IntelliJ] Community에서 Spring Initializr 설정하는 방법 인텔리제이(Intellij)에서 다운로드를 할 때 Ultimate와 Community가 있다. 나는 스프링을 진행하기 위해 새로운 프로젝트를 만들었는데 Community로 실행했을 때 Spring Initializr가 없어서 당황했다. 그 이유는 유료는 알아서 추가가 되어있는데 무료는 따로 추가를 해야줘야한다고 한다. 그래서 이 글에서는 Spring Initializr 추가하는 방법을 메모해놓을려고한다. 1. start.spring.io 접속 (구글에 Spring Initializr 입력해줘두 됨) https://start.spring.io/ 2. 본인이 사용할 프로젝트의 이름과 언어 설정하기 -> Artifact에서 사용할 프로젝트 이름 명시해주면 됨. 3. ADD DEPENDENCIES.. 눌러서 라.. Programming/Spring 2022. 1. 16. 이전 1 2 다음 💲 많이 본 글