소개
구멍가게코딩단은 2015년부터 개발과 관련된 직종의 사람들의 모임을 위해 만들어진 커뮤니티입니다.
강의의 진행은 현재 구멍가게 코딩단을 운영하고 있는 쿠키 담당자가 진행하고 있습니다.
2015년 부터 '코드로 배우는 ..' 시리즈를 집필하고 있습니다.
강의
전체3수강평
게시글
질문&답변
2024.07.27
router 이동 질문 드립니다.
절대 경로를 이용해서 '/todo/add'로 이동하시면 됩니다. 예를 들면 현재 '/product/add' 경로에 보여주는 페이지에서 '/todo/add'로 이동하는 버튼을 만든다면 아래와 같습니다. import React from 'react'; import {useNavigate} from "react-router-dom"; function ProductAddPage(props) { const navigate = useNavigate(); const handleClickAdd = () => { navigate('/todo/add'); } return ( Product Add Page GO Todo Add ); } export default ProductAddPage;
- 0
- 1
- 17
질문&답변
2024.07.27
Product 컨트롤러 api 결과값 리턴 질문
말씀하신대로 예제의 성격이 강하다보니 '성공/실패'와 같은 단순 결과를 반환했습니다. 예제에서는 DML(insert, update, delete)에 대해서는 단순 결과를 반환하는 방식을 이용했지만 API서버라면 등록/수정의 경우에는 현재 데이터베이스에 있는 상태를 그대로 반환하는게 낫다고 생각합니다. 등록의 경우 식별키와 날짜 등을 포함하고, 수정의 경우 수정된 상태를 반환하는 방식입니다. 좀 엄격하게 API 서버를 제작하고 싶으시다면 @RestControllerAdvice와 예외 설계를 적절히 섞어서 사용하셔야 합니다. 아래의 코드는 제가 예제로 사용하는 코드의 일부입니다. public enum MemberExceptions { NOT_FOUND("NOT_FOUND", 404), DUPLICATE("DUPLICATE", 409), INVALID("INVALID", 400), BAD_CREDENTIALS("BAD_CREDENTIALS", 401); private MemberTaskException memberTaskException; MemberExceptions(String msg, int code) { memberTaskException = new MemberTaskException(msg, code); } public MemberTaskException get() { return memberTaskException; } } @RestControllerAdvice @Log4j2 public class TokenControllerAdvice { @ExceptionHandler(MemberTaskException.class) public ResponseEntity > handleTaskException(MemberTaskException ex) { log.error(ex.getMessage()); String msg = ex.getMsg(); int status = ex.getCode(); Map map = Map.of("error", msg); return ResponseEntity.status(status).body(map); }
- 0
- 1
- 30
질문&답변
2024.07.25
파일 업로드 관련 질문
데이터베이스에이미지를 넣는다면 매번 이미지가 조회될때마다 데이터베이스부터 시작해서 입출력이 일어나야 하기 때문에 성능면에서 권장하지 않습니다(정말 중요한 데이터가 아닌 이상 이미지 파일등을 보관하지는 않습니다.). 데이터베이스가 API서버와 원격지에 있다면 더 심각하구요.마지막 강의 쪽에 AWS의 S3를 이용하는 방식을 PDF로 첨부해 두었으니 클라우드를 이용하신다면 참고하시면 좋겠습니다.
- 0
- 1
- 35
질문&답변
2024.07.17
PageResponseDTO 오
@Builder의 위치를 생성자 함수쪽으로 해 주세요. @Builder(builderMethodName = "withAll") public PageResponseDTO(List dtoList, PageRequestDTO pageRequestDTO, long totalCount) { .... 생략 ...} (사진)
- 0
- 1
- 57
질문&답변
2024.07.17
함수선언과 화살표 함수
반드시 화살표함수를 쓰는 이유가 있는 것은 아닙니다. 흔히 화살표 함수의 단점을 아래와 같이들 얘기하는데요 this , arguments 나 super 에 대한 자체 바인딩이 없고, 메서드로 사용해서는 안 됩니다. new.target 키워드가 없습니다. 일반적으로 스코프를 지정할 때 사용하는 call() , apply() , bind() 메서드를 이용할 수 없습니다. 생성자(Constructor)로 사용할 수 없습니다. yield 를 화살표 함수 내부에서 사용할 수 없습니다. 개인적으로 함수에서 this 때문에 오히려 오해의 소지가 많은 코드를 만드는 경우를 많이 봐서.. 아예 this가 안쓰게 유도하는 화살표함수를 자주 쓰고 있습니다.
- 0
- 1
- 41