타임리프는 기본적으로 HTML 태그 안에 th: 로 시작하는 속성을 지정하여 사용한다. 변수를 사용하는 방법은 th: 로 시작하는 속성에 ${"변수명"}을 사용하여 Model에 저장된 데이터를 가져올 수 있다. th: 로 시작하는 속성은 렌더링 될 때 없어진다. (스프링에선 View를 반환하면서 필요한 값들을 동적으로 렌더링하여 사용자에게 보여준다. -> SSR) 다음은 태그에 user객체의 필드인 name을 넣는 예시이다. Hello!! 🎈변수 사용 예시 우선 View를 반환할 Controller을 생성한다. Controller @Controller public class ThymeleafController { @GetMapping public String form(Model model) { model..
Ajax란? Ajax는 Asynchronous Javascript(비동기 자바스크립트) + XML의 의미로 자바스크립트를 사용한 비동기(non-blocking) 통신, 즉 클라이언트와 서버 간의 데이터를 독립적으로 주고 받는 기술을 의미합니다. Ajax를 사용하면 페이지 이동 없이 데이터 처리가 가능하며, 서버의 처리를 기다리지 않고 비동기 요청이 가능하다는 특징이 있습니다. 기존 Ajax는 XML 형식으로 데이터를 전달했지만 JSON이 XML보다 빠르고 단순하기 때문에 요즘엔 주로 JSON 형식을 사용하여 데이터를 주고 받습니다. jQuery Ajax 사용법 Ajax를 지원하는 다양한 라이브러리가 있지만 여기서는 jQuery가 지원하는 Ajax에 대해 살펴보겠습니다. 우선 jQuery를 사용할 수 있도..
현재 개인 포트폴리오 + 졸업 작품 목적으로 개인 프로젝트를 진행하고 있다. 기본적인 API는 얼추 완성한 상태이고, 실제 보여질 화면을 우선적으로 구현한 후 추가적으로 보완해야할 부분들을 계속해서 수정해야겠다고 생각했다. 화면을 구성하기 위해 어떤 템플릿 엔진을 사용할지에 대한 고민이 있었다. 지금까지 경험해본 템플릿 엔진으로는 JSP, Mustache가 있다. 먼저 JSP에 대한 생각을 이야기 해보자면, JSP는 렌더링되기 전에 별도의 자바 서블릿 코드로 변환되어 실행되는데, 이 방식이 효율적이지 못하다고 생각했고 실제로 써봤을 때 TTV 시점이 느리다는 것도 충분히 체감할 수 있었다. Mustache는 JSP에 비해 빠르고, HTML 문서도 깔끔하게 작성되어 읽기 편했다. (사실, JSP도 다양한 ..
최근 개인 프로젝트에서 api를 만들던 중, 연관 관계를 가진 엔티티를 저장해야할 일이 생겼다. 사실, DB 테이블에는 연관 관계라는 것이 없고 해당 테이블의 FK(ID 값)만 맞춰주면 되는데 JPA가 패러다임의 차이를 극복해주기 때문에 Entity라는 객체를 필드에 저장하도록 설계되어있다. 따라서, 엔티티를 저장할 때 연관 관계를 나타내는 필드들도 객체로 채워주어야 한다. 문제 상황 다음은 ANSWER 테이블을 나타내는 Entity이다. @Getter @NoArgsConstructor @Entity public class Answer { @Column(name = "ANSWER_ID") @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private L..
최근 졸업 작품 및 포트폴리오용으로 개인 프로젝트를 시작했는데 새롭게 프로젝트를 생성한 김에 스프링 부트 프로젝트 생성 및 의존성 버전 관리에 대해 정리하고자 한다. 빌드 툴은 Gradle, IDE 는 인텔리제이를 사용했다. 프로젝트 생성 스프링 이니셜라이저 스프링 이니셜라이저는 프로젝트 생성을 도와주는 웹 애플리케이션이다. 스프링 부트 뿐만 아니라 빌드 툴, 언어, 패키징 방식, 라이브러리들을 선택하여 간편하게 프로젝트를 생성할 수 있어 많은 개발자들이 사용하는 방법이다. 사실 너무 편해서 사용하지 않을 이유가 없는 것 같다. LINK → https://start.spring.io/ 다음의 링크를 클릭하거나 검색 엔진에 Spring Initializr 을 클릭하여 웹 페이지에 접속하자. 프로젝트 생성 ..
✍ HTTP 메서드 종류 HTTP 프로토콜에서 자주 사용되는 HTTP request method의 종류는 다음과 같습니다. - GET : 리소스 조회. GET 메서드는 데이터를 가져올때만 사용. - POST : 서버로 데이터를 전송한다. 새로운 리소스를 생성(등록)할 때 주로 사용. - PUT : 요청 데이터를 사용하여 새로운 리소스를 생성하거나, 대상 리소스를 나타내는 데이터를 대체. - PATCH : 리소스를 부분적으로 변경. - DELETE : 리소스 삭제. 이 외에 이런 메소드들도 있습니다. HEAD : GET 메서드와 동일하지만, 상태 줄과 헤더만 반환받음. CONNECT : 요청한 리소스에 대해 양방향 연결을 시작하는 메소드. 터널을 열기 위해 사용. OPTIONS : 목표 리소스와의 통신 옵..