전체 글 99

15장 ~ 16장

15장 댓글 컨트롤러와 서비스 만들기 앞의 14장에서 엔티티와 리파지터리를 생성했다. 이번에는 댓글 CRUD를 위한 REST API를 완성할 것이다. API 주소 설계는 다음과 같다. GET /articles/articleId/comments POST /articles/articleId/comments PATCH /comments/id DELETE /comments/id 컨트롤러&서비스 틀 만들기 댓글 컨트롤러와 서비스 틀을 만들것이다. REST 컨트롤러는 api 패키지 안에 생성. CommentApiController.java @RestController public class CommentApiController { @Autowired private CommentService commentServic..

스터디/back 2024.01.04

12장 ~ 14장

12장 서비스 계층과 트랜잭션 서비스란? 컨트롤러와 리퍼지터리 사이에 위치하는 계층으로 서버의 핵심 기능(비즈니스 로직)을 처리하는 순서를 총괄한다. 서비스 업무 처리는 트랜잭션 단위로 진행된다. 트랜잭션이란? 모두 성공해야 하는 일련의 과정을 의미한다. (쪼갤 수 없는 업무 처리의 최소 단위) 트랜잭션이 실패롤 돌아갈 경우 진행 초기 단계로 돌리는 것을 롤백(Rollback)이라고 한다. 지난번에 만든 ArticleApiController.java 에 서비스 계층을 추가하겠다. 먼저, Controller 안의 모든 코드를 주석 처리... [ ArticleApiController.java ] @Slf4j // 로그 찍는 어노테이션 @RestController // REST 컨트롤러 선언 public cl..

스터디/back 2023.12.21

Part 3) REST API와 JSON | HTTP와 REST 컨트롤러

10장 REST API와 JSON REST API (Representational State Transfer API)란? 서버의 자원을 클라이언트에 구애받지 않고 사용할 수 있게 하는 설계 방식이다. HTTP 요청에 대한 응답으로 서버의 자원을 반환하는 것. (특정 기기에 종속되지 않는 모든 기기에서 통용될 수 있는 데이터 반환) 이때, 응답하는 데이터는 JSON 형식으로 반환된다. (XML은 예전 방식) PUT method 와 PATCH method 의 차이점 PUT PATCH 기존 데이터를 전부 새 내용으로 변경, 만약 기존 데이터가 없다면 새로 생성한다. 기존 데이터 중에서 일부만 새 내용으로 변경한다. 실습은 Postman 으로 진행할 것이다.( 책에서는 Talend API Tester 를 썼지만..

스터디/back 2023.12.14

Part 2) 게시판 만들기 (3) - 리다이렉트 / update / delete / SQL 쿼리

6장 게시판 내 페이지 이동하기 리다이렉트(redirect)란? 클라이언트가 보낸 요청을 마친 후 계속해서 처리할 다음 요청 주소를 재지시하는 것. 분리된 기능을 하나의 연속적인 흐름으로 연결할 수 있다. 기존 서비스 문제점 1) 목록 페이지 : 새 글 작성 링크 X 2) 입력 페이지: 목록 페이지로 이동 X 새 글 작성 링크 만들어줌. [ index.mustache ] table 태그 밑에 a 태그 추가 New Article {{> layouts/footer}} 입력 페이지에 목록 페이지로 돌아가는 링크 추가 [ new.mustache ] submit button 아래에 a 태그 추가 Submit Back {{>layouts/footer}} 이렇게 back 링크가 생긴 것을 확인할 수 있다. 새로운 문..

스터디/back 2023.12.07

[GCP] Google App Engine에 Flask 프로젝트 배포하기

이번에는 Google Cloud Platfrom 에 있는 App Engine 서비스를 이용하여 웹 어플리케이션을 배포할 것이다. App Engine이란 간단하게 말하자면 웹 어플리케이션을 배포, 관리 할 수 있는 서버리스 플랫폼이다. Google Cloud 대시보드에 들어가서 좌측 메뉴의 App Engine 에 들어간다. 보통 App Engine에 처음 들어가면, 시작하기 버튼을 눌러서 애플리케이션을 생성해줘야한다. 나는 Flask 프로젝트를 배포할 예정이라 Language를 python으로 지정해줬다. 애플리케이션이 생성됐다는 가정하에 배포했던 방법을 기록해보겠다. 1) 메뉴 상단의 google cloud shell 을 클릭한다. 그러면 cloud shell 이 켜진다. 2) 깃허브에 올린 프로젝트를 ..

project/markit 2023.12.01

[Git] Github에 프로젝트 올리기

1) 먼저 깃허브에 들어가서 새로운 리파지토리를 생성해준다. 2) Repository name 이랑 공개 여부를 설정해주고 create 해준다. 3) 생성된 저장소의 주소는 뒤에 쓰이니까 기억해둔다. 4) 업로드할 프로젝트의 폴더에 들어가서 우클릭 후 Git Bash here 에 들어간다. 5) 계정 초기 설정을 해준다. git config --global user.name "유저 네임" git config --global user.email "유저 이메일 주소" 6) git 저장소 초기화 git init 7) 프로젝트 버전 저장 git add . 8) 커밋 git commit -m "커밋 메세지" 9) 로그 확인 ( log 로 commit 을 확인한다.) git log 10) 깃허브 연결 git rem..

project/markit 2023.11.30

[Git] Github SSH key 등록하기 (Windows)

보통 repository를 clone할 때 HTTPS 주소를 가져와서 클론하는 경우가 많다. 하지만 private 한 repository는 SSH로 클론해와야한다. 이때, SSH Key를 등록해야 로그인 인증을 할 수 있다. 그래서 이번에는 SSH Key를 등록하는 방법을 정리해보겠다. 1. git bash를 실행한다. 2. ssh key 생성 1) git bash를 실행 후 아래의 명령어를 입력하고 엔터를 친다. ssh-keygen 2) Enter file in which to save the key (경로) : 이렇게 결과가 나오는데, 기본경로로 생성하기 위해 그냥 엔터를 친다. ( 그러면 디렉토리 생성 완료 ) 3) Enter passphrase (empty for no passphrase): 패스..

project/markit 2023.11.30

Part 2) 게시판 만들기(2)

롬복이란? 코드를 간소화하게 해주는 라이브러리이다. 이전에 구현했던 코드를 롬복을 활용해서 리팩터링할 것이다. build.gradle 파일의 dependenices { } 부분에 아래 코드를 추가해준다. compileOnly 'org.projectlombok:lombok:1.18.0' annotationProcessor 'org.projectlombok:lombok:1.18.0' 롬복이 설치된 것을 확인할 수 있다. [ DTO 리팩터링 ] 앞서서 작성했던 ArticleForm.java 에서 생성자 코드와 toString() 메서드를 지우고 어노테이션으로 대체해줬다. package com.example.firstproject.dto; import com.example.firstproject.entity.A..

스터디/back 2023.11.23

Part 2) 게시판 만들기(1)

새 글 작성하기 (Create) 구현 1) 폼 데이터 폼 데이터는 HTML 요소인 태그에 담겨서 전송되는 데이터를 의미한다. ( 웹 브라우저 ----데이터-----> 서버 ) 태그로 전송된 데이터는 서버의 컨트롤러가 객체에 담아서 받는다. (객체는 DTO ) 그리고 DTO로 받은 데이터는 DB에 저장된다. 2) 폼 데이터를 DTO로 받기 [ new.mustache ] {{>layouts/header}} 제목 내용 Submit {{>layouts/footer}} form 태그에 action 속성과 method 속성을 설정한다 action : 어디에 보낼지 정하는 것. method : 어떻게 보낼지 정하는 것. ( get 또는 post ) [ new.mustache ] -> localhost:8080/art..

스터디/back 2023.11.21

도커 실습

VM에서 가상 컴퓨터 접속하고, putty로 접속해서 했다.! 계정은 scott 계정으로.. 1) 우선 CentOS 의 패키지 설치 도구인 YUM( Yellow dog UPdater, Modified) 패키지를 업데이트 시킨다. yum -y update You need to be root to perform this command. 이럴때는 권한이 없어서 안되는거니까 sudo 명령어를 넣어주면 된다!! sudo yum -y update -------------------------------------------- cd /tmp 에서 작업!! ( 여기가 권한 있음) mkdir dockerdemo rm dockerdemo/ (없어도 됌) cd dockerdemo/ pwd -> 여기서 작업할 겨!! (근데 ..

카테고리 없음 2023.11.16