본문 바로가기

전체 글

(13)
[스프링부트 게시판 프로젝트] 목록/조회/수정/삭제 01. 목록 - list.html id title title(||쓰지 않은 경우) writer date hits href에 |를 쓰지 않은 경우 클릭하면 id값이 제대로 전달되지 않는다. - BoardController GetMapping("/") public String findAll(Model model){ // DB에서 전체 게시글 데이터를 가져와서 list.html에 보여준다. List boardDTOList = boardService.findAll(); model.addAttribute("boardList", boardDTOList); return "list"; } boardService의 findAll() 메서드를 불러온다. - BoardService public List findAll() {..
[스프링 부트 게시판 프로젝트] 게시글 작성 01. 게시판 프로젝트 소개 # 게시판 주요 기능 1. 글 쓰기(/board/save) 2. 글 목록 (/board/) 3. 글 조회(/board/{id}) 4. 글 수정(/board/update/{id}) 5. 글 삭제(/board/delete/{id}) 6. 페이징 처리(/board/paging) 02. application.yml 세팅 - dependencies - application.yml # 서버 포트 설정 server: port: 8092 # database 연동 설정 spring: datasource: driver-class-name: com.mysql.cj.jdbc.Driver url: jdbc:mysql://localhost:3306/test?serverTimeZone=Asia/Seou..
[스프링부트 회원 프로젝트] ajax 이메일 중복체크 https://youtu.be/j3LkMxW_d1E?si=X688POC-UDMj1x6F 이 글은, 코딩레시피 님의 영상을 참조하였으며, 해당 영상을 공부하며 겪었던 오류들과 관련 지식들을 정리했습니다. 01. 이메일 중복체크 추가 (front) - save.html 이메일: 비밀번호: 이름: javaScript와 jQuery를 사용해서 이메일 중복 확인을 수행하는 함수인 emailCheck를 정의한다. jQuery를 사용해서 AJAX 요청을 보낸다. 이때 AJAX 요청이란, Asynchronous JavaScript and XML의 약자로, 비동기적으로 서버와 브라우저 간의 데이터를 교환하기 위한 기술이다. 기본적으로 웹 페이지를 새로고침하지 않고도 서버로부터 데이터를 가져오거나 서버로 데이터를 보낼 수..
[스프링부트 회원 프로젝트] 로그아웃 https://youtu.be/Hds86bMGqDY?si=t49yqJdJjNd8pQd1 이 글은, 코딩레시피 님의 영상을 참조하였으며, 해당 영상을 공부하며 겪었던 오류들과 관련 지식들을 정리했습니다. 01. 로그아웃 링크 추가 - main.html에 로그아웃 링크를 추가한다. 로그아웃 02. 로그아웃 기능 구현 - memberController @GetMapping("/member/logout") public String logout(HttpSession session){ session.invalidate(); // 세션 무효화 return "index"; 간단하게 session.invalidate()를 사용해서 세션을 무효화하고, index 페이지를 반환한다.
[스프링부트 회원 프로젝트] 회원목록 출력/상세 조회/수정/삭제 https://youtu.be/e6EkbZIVR-4?si=kw4lrvBFGTJ5lLOd 이 글은, 코딩레시피 님의 영상을 참조하였으며, 해당 영상을 공부하며 겪었던 오류들과 관련 지식들을 정리했습니다. 07. 회원목록 출력 08. 회원정보 상세조회 09. 회원정보 수정 10. 회원 삭제 01. 회원목록 조회 (1) 회원 목록 출력 페이지를 생성한다. (list.html) list.html id memberEmail memberPassword memberName 상세조회 삭제 조회 삭제 th:each는 thymeleaf에서 제공하는 for문이다. 따라서 memberList를 member라는 이름으로 하나씩 가져오며, member.memberEmail, member.memberPassword등으로 하나씩 데..
[스프링부트 회원 프로젝트] 로그인 https://youtu.be/W-XKXKLvV_8?si=D_mlosxCSp5tjjOH 이 글은, 코딩레시피 님의 영상을 참조하였으며, 해당 영상을 공부하며 겪었던 오류들과 관련 지식들을 정리했습니다. 로그인 페이지 만들기에 앞서, DTO와 Entity의 차이에 대해 알아보자. 00. DTO & Entity - DTO는 Data Transfer Obejct, 데이터 전송 객체로, 주로 데이터 전송에 사용된다. 클라이언트와 서버, 또는 서비스 간에 데이터를 전달할 때 사용되며 주로 데이터 전송에 필요한 최소한의 필드를 포함한다. - Entity는 데이터베이스에서 영속적으로 저장되는 데이터의 표현이다. 보통 ORM(Object-Relational Mapping)기술을 사용하여 데이터베이스의 테이블과 매핑된다..
[스프링부트 회원 프로젝트] 회원가입 https://youtu.be/RhM1bQ76Tv0?si=7JszM083H0aPnzxu 이 글은, 코딩레시피 님의 영상을 참조하였으며, 해당 영상을 공부하며 겪었던 오류들과 관련 지식들을 정리했습니다. 01. 개발환경 소개 Open JDK 11 → 17 Intellij IDEA Community → Intellij IDEA MYSQL Server 8.0 Spring Boot 2.6.12 → 3.2.3 필자는 JDK와 Spring Boot 모두 최신 버전을 사용한다. (생각보다 버전 때문에 생기는 오류들이 많지 않았다) build.gradle에서 필요한 dependencies를 추가한다. Lombok Spring Web Thymeleaf JDBC API Spring Data JPA MySQL Driver ..
00. 데이터 가공하기 단어 학습 웹 프로젝트를 위해, 영어 단어 데이터를 가공했다. 먼저 가공했던 데이터는 교육부 지정 영어단어(초/중고/전문 세 가지로 분류됨) https://ncic.go.kr/mobile.dwn.ogf.inventoryList.do# NCIC 국가교육과정 정보센터 ncic.go.kr 2015년 개정시기 -> 중학교(2016.09) -> 영어과에서 가져온 데이터 셋을 엑셀로 가공했다. 해당 pdf파일에는 아무것도 없는 것(전문), *(초등), **(중고등), 등 세가지로 난이도를 구별해두었다. 이것을 엑셀 파일로 변경해둔 파일이 있어 가져와 사용하게 되었다 import pandas as pd # XLS 파일 경로 설정 xls_file_path = 'vocab.xls' # XLS 파일 읽기 df = pd.r..