목록전체 글 (601)
sm 기술 블로그
Redux : state를 관리하는 라이브러리이다. Redux의 기본 개념 1.Single source of truth 동일한 데이터는 항상 같은 곳에서 가지고 온다. 2. State is Read-Only 리엑트에서는 setState 메소드를 활용해야 상태 변경이 가능하다. 리덕스에서는 액션이라는 객체를 통해서 상태를 변경할 수 있다, 3. Changes are made with pure function 변경은 순수함수로만 가능하다. Store - Action - Reducer - store : 상태가 관리되는 하나의 공간 - action : 앱에서 스토어에 운발할 데이터 (js객체 형식으로 되어 있다.) - reducer : action을 보고 store에 상태를 업데이트 한다. action을 red..
파일 혹은 폴더의 이름을 변경해야 할 상황이 생길 수 있다. 크게 1. java.io.File => renameTo() 2. java.nio.file.move() 3. Guava 4. Apache Common IO 가 있지만 2,3,4는 이동을 통해 이름을 변경하는 것으로 만약 폴더내에 파일이 있다면 에러가 발생한다. 따라서 1번을 사용하고 그 예를 작성해보고자 한다. java.io.File => renameTo() public void doModify(String title, String newTitle) { String root = System.getProperty("user.dir") + "\\src\\main\\resources\\static\\product_image\\"; // 1. 원본 폴더..
Form import lombok.Getter; import lombok.Setter; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.Size; @Getter @Setter public class QuestionForm { @NotEmpty(message = "제목은 필수항목 입니다.") @Size(max = 200) private String subject; @NotEmpty(message = "내용은 필수항목 입니다.") private String content; } 유효성 검사를 진행해 준다. 제목과 내용이 비어있다면, 에러를 발생시킬 것이다. 문자열에는 notempty를 , 정수형에는 notnull..
로그인 혹은 회원가입이나 아님 다른이유로 페이지 이동이 필요한 경우가 있을 것이다. 이 경우 Navigate를 사용하면 손쉽게 이동할 수 있다. Install npm i react-router-dom Navigate는 리액트 라우터에 있는 라이브러리이다. 때문에 라우터가 없다면 설치가 필요하다. import import { useNavigate } from "react-router-dom"; 다음과 같이 사용하고자 하는 곳에 import를 해준다. 변수 선언 const navigate = useNavigate(); 통신 후 사용 const onSubmit = async (e) => { e.preventDefault(); const joinData = await axios({ url: `http://loc..