1.매핑우선기본적인 나의 메인페이지에 매핑하기 위해 필요한것은 컨트롤러와 html 템플릿 파일이다. 2.HomeController.java나의 기본적인 HomePage에 대한 매핑을 처리할 부분이다. 나는 이때 Get으로 / 페이지에 들어온다면 /auction/list로 리다이렉트시켜줄것이다.package com.example.controller;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.GetMapping;@Controllerpublic class HomeController { @GetMapping("/") public String root(){ ..
1.쿼리데이터를 요청하는 방법으로, 요청한 데이터의 구조를 명시할 수 있습니다.모든 사용자 목록을 요청하고, 각 사용자의 id와 name만 반환받습니다.query { users { id name }} 2.스키마GraphQL API의 구조를 정의하며, 쿼리와 타입을 설명합니다.User 타입을 정의하고, id, name, email 필드를 포함합니다.type User { id: ID! name: String! email: String} 3.뮤테이션데이터를 수정하기 위한 요청입니다.새로운 사용자를 생성하는 요청으로, 생성된 사용자의 id와 name을 반환받습니다.mutation { createUser(name: "John Doe", email: "john@example.com") { ..
1.GraphQL이란?페이스북이 2012년에 개발하고 2015년에 오픈소스로 공개한 API 쿼리 언어 및 런타임 환경입니다.클라이언트가 원하는 데이터를 정확하게 요청할 수 있도록 설계되었습니다. 2.GraphQL 특징2-1.유연한 데이터 요청GraphQL은 클라이언트가 필요한 데이터만 선택적으로 요청할 수 있어 과도한 데이터 전송을 줄일 수 있습니다.REST API의 경우 서버에서 정의한 엔드포인트가 정해진 데이터 형식을 반환합니다. 이때 클라이언트는 불필요한 데이터를 포함한 응답을 받을 수 있습니다. 2-2.단일 엔드포인트엔드포인트는 클라이언트와 서버 간의 통신에서, 클라이언트가 서버에 요청을 보내기 위해 사용하는 URL 또는 URI를 의미합니다. GraphQL은 하나의 엔드포인트로 모든 요청을 처..
1.엔티티 클래스 관련 어노테이션1-1.@EntityJPA 엔티티임을 명시하는 가장 기본적인 어노테이션입니다.데이터베이스의 테이블과 Java 객체 간의 매핑을 설정하는 역할을 합니다.테이블 이름의 기본값은 클래스 이름으로 매핑됩니다.@Entitypublic class User {} 1-2.@Table@Entity와 함께 사용하며 엔티티가 매핑될 데이터베이스 테이블 정보를 정의합니다.@Entitiy로 할경우 테이블 이름이 클래스 이름으로 되지만 @Table을 통해 지정할수있다.name: 테이블 이름을 지정합니다. schema: 테이블이 속하는 스키마를 지정합니다. uniqueConstraints: 테이블에 대한 고유 제약 조건을 정의합니다.@Entity@Table(name = "users") // 테이블..
0.properties 설정하기우선 H2랑 JPA, Hibernate 를 사용하기 위해서 properties를 세팅해줍니다.# 이름spring.application.name=auction# DATABASE# H2 활성화spring.h2.console.enabled=true# 접근 경로spring.h2.console.path=/h2-console# 연결 URLspring.datasource.url=jdbc:h2:~/local# H2 드라이버 클래스 이름spring.datasource.driverClassName=org.h2.Driver# 사용자 이름spring.datasource.username=sa# 사용할 비밀번호spring.datasource.password=# JPA# Hibernate가 사용할 데..
1.Docker 앱에서 CLI 접근Docker앱에서 실행중인 컨테이너를 누른뒤 Exec란에 들어가면 CLI에 접근할수있다. 2.터미널로 접근docker exec -it 명령어는 이미 실행 중인 Docker 컨테이너에 접속하여 그 내부에서 명령어를 실행할 수 있게 해줍니다.나갈때는 exit로 나갈수있습니다.docker exec -it 컨테이너이름 /bin/sh
1.포트1-1.호스트 포트 (Host Port)호스트 포트는 Docker 컨테이너 외부에서 컨테이너 내부로 접근할 때 사용하는 호스트 시스템의 포트입니다.컨테이너 외부에서 해당 서비스에 접근하려면 호스트 포트를 컨테이너 포트에 매핑해 주어야 합니다.예를 들어 8080포트를 컨테이너의 80번 포트에 매핑하면, 호스트의 localhost:8080을 통해 컨테이너 내부의 웹 서버에 접근할 수 있습니다. 1-2.컨테이너 포트 (Container Port)컨테이너 내부에서 특정 서비스나 애플리케이션이 실행될 때, 그 서비스가 사용하는 포트입니다. 2.사용 예시(아파치)아파치는 기본적으로 컨테이너 포트가 80이고 나는 호스트포트를 8080으로 지정하였다. 그렇다면 나는 localhost:8080을 통해 컨테..
1.Docker 앱 GUI로1-1.RunImages에서 이미지에 Run을 누른뒤 컨테이너의 이름과 옵션들을 선택후 Run을 한다. 컨테이너란에 가면 방금 Run한 web-server이름의 컨테이너를 찾을수있다. 1-2.Stop컨테이너 우측의 Stop을 누르면 컨테이너가 종료된다. 1-3.Start다시 누르면 Start 된다. 1-4.Remove우측 휴지통 모양을 누르면 컨테이너가 지워진다. 2.명령어로2-1.Run다음 형식으로 컨테이너를 생성하고 실행할수있다.docker run [OPTIONS] IMAGE [COMMAND] [ARG...]//이름이 web-server2인 컨테이너를 httpd 이미지를 이용하여 실행docker run --name web-server2 httpd docker ps..