하나씩 차근차근
article thumbnail
chatting server - 환경설정
Javascript 2023. 2. 24. 00:38

javascript 와 node.js 의 express 모듈을 활용한 chatting server 를 개발해보겠습니다. 시작 node.js 를 사용하기 위해 환경설정을 하겠습니다. 먼저 작업을 진행할 폴더를 생성하는데 저는 chatting_web 이라는 이름으로 생성했습니다. 다음으로 해당 visual studio code 를 사용해서 해당 폴더를 열어줍니다. 해당 폴더를 열었으면 터미널 카테고리에서 새 터미널을 클릭하면 visual studio code 의 아래에 터미널 창이 생깁니다. 터미널에서 npm init -y 를 입력하면 package.json 파일이 생성됩니다. PS C:\Users\TEST\Desktop\Javascript_Advanced\chatting_web> npm init -y no..

article thumbnail
게시판 만들기 - 글 수정 및 삭제(2)
Spring/Springboot 실습 2023. 2. 2. 15:48

앞에서 question 을 수정하고 삭제하는 기능을 만들었습니다. 이번에는 answer 을 수정하고 삭제할 수 있도록 해보겠습니다. Answer 수정 answer 이 수정되는 과정은 question 이 수정되는 과정과 동일합니다. 수정 버튼 클릭 -> GET 방식 처리 -> answer_form 데이터 수정 -> POST 방식으로 처리 후 저장 question_detail 다음과 같이 답변이 출력되는 부분에 수정 버튼을 만듭니다. ... ... 위와 같이 수정 버튼을 누르게 되면 localhost:8080/answer/modify/{answer.id} 로 GET 방식으로 요청을 하게 됩니다. AnswerService 다음으로 AnswerController 에서 사용할 메서드를 생성합니다. package ..

article thumbnail
게시판 만들기 - 글 수정 및 삭제(1)
Spring/Springboot 실습 2023. 2. 2. 12:18

이번에는 작성한 질문과 답변을 수정하고 삭제하는 기능을 만들어보겠습니다. 시작 질문과 답변을 수정했을때 수정날짜를 표시할 수 있도록 Question 과 Answer 엔티티에 modifyDate 속성을 추가합니다. package com.crud.model; ... @Entity @Getter @Setter public class Question { ... private LocalDateTime modifyDate; } package com.crud.model; ... @Entity @Getter @Setter public class Answer { ... private LocalDateTime modifyDate; } Question 수정 question 이 수정되는 과정을 정리하면 다음과 같습니다. 수정..

article thumbnail
게시판 만들기 - 글쓴이 표시(2)
Spring/Springboot 실습 2023. 1. 26. 16:26

앞서 글쓴이를 Controller 를 통해 데이터베이스에 저장했습니다. 이번에는 DB 에 저장한 글쓴이의 이름을 화면에 표시해보겠습니다. Question_list 다음과 같이 Question_list 파일에 글쓴이를 표시할 수 있는 열을 작성합니다. 번호 제목 글쓴이 작성일시 ... 타임리프의 ${question.author != null} 을 통해 글쓴이가 있을 경우에만 표시하도록 했습니다. Question_detail Question_detail 파일도 위와 동일하게 글쓴이가 있을 경우에 표시해줍니다. ... ... Question_detail 페이지에서 보여지는 답변의 경우에도 답변에 작성자가 있을 경우 표시를 합니다. ... ... 결과 스프링부트를 실행해서 브라우저로 접속해보면 다음과 같이 글쓴..

게시판 만들기 - 글쓴이 표시(1)
Spring/Springboot 실습 2023. 1. 26. 16:04

페이지에 접속하면 보이는 글과 각각의 글에 달린 답변을 누가 작성했는지 글쓴이를 표시해보겠습니다. 글쓴이를 표시하기 위해서는 Question 과 Answer 엔티티에 author 속성을 추가해야 합니다. 시작 Question 엔티티에 author 속성을 추가하고 Question 과 글쓴이의 관계는 N:1 관계이기 때문에 @ManyToOne 애노테이션을 붙입니다. package com.crud.model; ... @Entity @Getter @Setter public class Question { ... @ManyToOne private User author; } Answer 엔티티에도 author 속성을 추가하고 Answer 또한 N:1 관계이므로 @ManyToOne 을 붙입니다. package com...

article thumbnail
게시판 만들기 - 로그아웃
Spring/Springboot 실습 2023. 1. 25. 00:37

앞에서 로그인 기능을 완성하고 로그인까지 성공을 했습니다. 다만, 로그인을 했음에도 네비게이션 바에는 로그아웃이 표시되지 않고 로그인으로 표시되어 있습니다. 이번에는 로그인 상태에서 로그아웃 메뉴가 나타나고 이를 클릭하면 로그아웃이 되도록 작성하겠습니다. 네비게이션바 수정 ... 로그인 로그아웃 회원가입 ... 타임리프의 sec:authorize 속성을 통해 로그인 여부를 확인할 수 있으며, 위와 같이 로그인 상태에 따라 로그인 혹은 로그아웃 메뉴를 보여주도록 합니다. sec:authorize = "isAnonymouse()" : 로그인 되지 않았을 경우 sec:authorize = "isAuthenticated()" : 로그인 된 경우 로그아웃 설정 마지막으로 스프링 시큐리티 설정 파일인 Securit..

article thumbnail
게시판 만들기 - 로그인
Spring/Springboot 실습 2023. 1. 25. 00:23

이번 포스트에서는 로그인 기능을 구현하겠습니다. 시작 스프링 시큐리티 dependency 를 적용시키고 브라우저를 통해 접속을 하면 아래와 같은 화면이 출력되었습니다. 이전에 만들었던 SecurityConfig 파일에서 설정을 해서 모든 url 을 인증없이 접속할 수 있도록 했으며, 다음으로 위의 로그인 페이지는 직접 만든 로그인 페이지로 바꾸도록 설정 파일을 작성하겠습니다. package com.crud; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.w..

article thumbnail
게시판 만들기 - 회원가입(2)
Spring/Springboot 실습 2023. 1. 24. 16:48

앞에서 스프링 시큐리티 설정을 끝냈으므로 이번에는 회원가입 기능을 추가하겠습니다. User 엔티티 먼저 User 엔티티를 작성하고 데이터베이스에 등록을 합니다. package com.crud.model; import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import lombok.Getter; import lombok.Setter; @Getter @Setter @Entity public class User { @Id @Gene..