툴 변경 이유? 지난 글에서 계속 java.lang.ClassNotFoundException: Cannot find implementation for com.example.demo.mapper.UserMapper 오류가 난다고 했었는데요. 구글링 하며 온갖 방법을 다 써봐도 (의존성 설정 순서도 중요하다고 해서 다 해봤는데도....ㅠㅠ) 해결이 되지 않았습니다. 이클립스의 문제라고 하는 글들도 있어서 결국 선택한 해결 방법이 Tool을 바꾸는 것이었습니다. ( 해결이라고 해도 되나 싶네요. ) 그렇게 다들 인텔리제이 인텔리제이 할 때 학생용 이메일을 잊어버렸고, 유료로 쓰자니 취준생에겐 꽤 부담이 되어서 그간 흐린 눈 했었는데요. 이번에 방통대 편입을 하면서 새로운 학생용 메일이 생겼습니다! 👍 http..
Entity와 DTO Entity 엔티티는 데이터베이스 테이블에 매핑되는 객체입니다. 주로 데이터베이스의 상태를 나타내고 비즈니스 로직을 포함할 수 있습니다. 보통 JPA(Java Persistence API)와 함께 사용되어 데이터베이스와 상호 작용합니다. 데이터베이스의 구조를 반영하고, 데이터베이스 연산(CRUD)을 수행하는 데 사용됩니다. DTO DTO는 데이터를 전송하기 위한 객체입니다. 주로 클라이언트와 서버 간의 통신에서 사용됩니다. 클라이언트로부터 받은 요청이나 서버에서 보내는 응답에 사용됩니다. 엔티티와는 달리 비즈니스 로직을 포함하지 않으며, 주로 데이터 전송을 위한 필드를 갖습니다. MapStruct 자바 언어용 객체-객체 매핑 라이브러리입니다. 자동으로 매핑 코드를 생성하여 반복적이고..
공부를 안한 게 아니고요... 날마다 일어나는 새로운 오류에 정신을 못차리고 있습니다. 이제 회원관리 구현하는데 이게 무슨...ㅠㅠ 아무튼 며칠 시달리다가 겨우 해결한 오류를 기록해보겠습니다. 일단 회원가입 기능을 구현하는데 react에서 axios를 사용해 POST 메서드로 요청을 보내면 계속 PropertyValueException 오류가 났습니다. 에러 메세지 org.hibernate.PropertyValueException: not-null property references a null or transient value : com.example.demo.entity.UserEntity.email 디버깅을 해보면 값이 안들어오고 죄다 null인 모습을 볼 수 있습니다.. 그 와중에 password..
에러 메세지 회원가입 로직을 테스트하는 중에 해당 문제가 발생했습니다. 클라이언트에서 POST 방식으로 요청을 보낼 수 있는 API를 만들어서 전달했는데, 요청 시 아래와 같은 Exception이 발생하는 이슈입니다. Resolved [org.springframework.web.HttpMediaTypeNotSupportedException: Content-Type 'application/x-www-form-urlencoded;charset=UTF-8' is not supported] 원인 해당 코드에서는 객체를 JSON 형식으로 전송하려고 시도하고 있는 반면, 요청의 콘텐츠 타입이 'application/x-www-form-urlencoded'로 설정되어 있는 것이 원인입니다. RestAPI의 경우 보통..
1️⃣ 덧칠하기 문제 설명 어느 학교에 페인트가 칠해진 길이가 n미터인 벽이 있습니다. 벽에 동아리 · 학회 홍보나 회사 채용 공고 포스터 등을 게시하기 위해 테이프로 붙였다가 철거할 때 떼는 일이 많고 그 과정에서 페인트가 벗겨지곤 합니다. 페인트가 벗겨진 벽이 보기 흉해져 학교는 벽에 페인트를 덧칠하기로 했습니다. 넓은 벽 전체에 페인트를 새로 칠하는 대신, 구역을 나누어 일부만 페인트를 새로 칠 함으로써 예산을 아끼려 합니다. 이를 위해 벽을 1미터 길이의 구역 n개로 나누고, 각 구역에 왼쪽부터 순서대로 1번부터 n번까지 번호를 붙였습니다. 그리고 페인트를 다시 칠해야 할 구역들을 정했습니다. 벽에 페인트를 칠하는 롤러의 길이는 m미터이고, 롤러로 벽에 페인트를 한 번 칠하는 규칙은 다음과 같습니..
ERD 최종_진짜최종_진짜진짜최종.jpg 같은 느낌.... 이렇게 간단한 ERD를 5번이나 수정하고 있습니다..! 오늘은 도대체 어떤 문제 때문에 ERD를 또 수정했는지 기록해보도록 할게요. 1️⃣ 문제 스프링부트에 MySQL을 연결해 회원가입 기능을 테스트 하던 도중 다음과 같은 에러가 발생했습니다. 2️⃣ 오류메세지 java.sql.SQLSyntaxErrorException: Unknown column 'ue1_0.user_id' in 'where clause' DB에 컬럼이 없어서 SQL 명령어 실행이 실패 했다는 내용입니다. 3️⃣ 원인 아무리 DB를 보고 Entity를 봐도 분명 해당 컬럼들이 다 작성되어 있는데 도대체 왜 컬럼이 없다는 거지? 하고 한참을 헤매었습니다. 원인은 간단했는데요! 바..
1️⃣ 과일 장수 문제 설명 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p * m 입니다. 과일 장수가 가능한 많은 사과를 팔았을 때, 얻을 수 있는 최대 이익을 계산하고자 합니다.(사과는 상자 단위로만 판매하며, 남는 사과는 버립니다) 예를 들어, k = 3, m = 4, 사과 7개의 점수가 [1, 2, 3, 1, 2, 3, 1]이라면, 다음과 같이 [2, 3, 2, 3]으로 구성된 사과 상자 1개를 만들..
API 서비스 (아이디 중복 확인 구현) 개발 후 테스트를 진행하던 중에 계속해서 403 오류가 났습니다. 이에 대한 해결 과정을 잊어버리기 전에 기록해봅니다. ⭕ build.gradle에서 Springboot version 3.2.1로 업그레이드 3.2.0의 고질적인 문제라고 하여 아래의 두 가지를 수정해주었습니다. build.gradle 파일에서 Springboot 버전 3.2.1 로 업그레이드 plugins { id 'java' // java 프로젝트로 설정 id 'org.springframework.boot' version '3.2.1' // 3.2.1 버전의 스프링 부트로 설정 id 'io.spring.dependency-management' version '1.1.4' // 스프링 부트의 의존..
Register.js 전체 코드 더보기 import React from "react"; import '../css/Register.css'; import Nav from "../components/Nav"; import { useState } from "react"; import axios from "axios"; let Register = () => { let [user,setUser] = useState({ userId : "", password : "", name : "", birth : "", email : "", phone : "", addr1 : "", addr2 : "" }); let dupIdCheck = () => { axios.post('http://localhost:8082/api/v..
오늘은 React로 로그인 UI 구현한 것을 기록하겠습니다. 회원가입 폼 대로 비슷하게 구현한 단순 UI이기 때문에 특별한 건 없네요..! 로그인 Login.js 컴포넌트 생성 pages 폴더 아래에 Login.js 컴포넌트 생성 css 폴더 아래에 Login.css 생성 import해주기 import React from "react"; import '../css/Login.css'; import Nav from "../components/Nav"; 로그인 폼 & 아이디, 비밀번호 입력할 input창 생성 class Login extends React.Component { render() { return ( 로그인 Login ) } } export default Login; 흔한 로그인 ui 이기 때문에..