전체 글

디자인 전공의 비전공자에서 개발자로 거듭나는 이야기를 담고자 합니다.
개발일지

[리팩토링] 투두리스트 다크모드 코드 개선하기 feat. react

리팩토링 이유 기존에 스스로 리액트를 이용해서 만든 다크모드가 지원되는 투두리스트를 다시 리팩토링하게 되었다. 이유는 java, spring을 공부하면서 솔로프로젝트로 '투두리스트 백엔드 서버' 를 만들게 되었는데 내가 로컬 스토리지를 활용해서 프론트 부분만 만든 투두리스트 앱과 연결하려고 했다. 그러다 보니 이때 사실 고치지 못하고 시간이 없어서 넘어간 다크모드를 구현하는 효율성이 매우 떨어지게, 그리고 번거롭게 구현한 코드가 너무 거슬리고 눈에 밟혔다. 그래서 일단 로컬스토리지 -> 백엔드 서버와의 연결은 잠시 뒤로 미루고 먼저 브랜치를 하나 새로 따서 스파게티 코드를 정리했다. 이전에 가관인 스파게티 코드 DarkModeContext 정의 import { createContext, useState ..

개발일지

[프로젝트일지 - 에러 해결] JPA 연관관계 맵핑 문제 오류 feat.클래스 이름 바꿀 때는 조심 또 조심!

상황 원래의 애플리케이션은 잘 실행되었다. 하지만 기존 Qna 엔티티와 Reply 엔티티의 클래스명을 생각해봤을 때 너무 모호하다는 생각을 했다. 왜냐면 Qna 사실 질문과 답변이라는 말을 아우르고 있고 Reply는 답변도 되지만 사실은 댓글이라는 느낌이 강했다. 그래서 Qna -> QnaQuestion 으로 Reply -> QnaAnswered 라는 이름으로 변경하고자 했다. Qna 엔티티 이름을 QnaQuestion으로 인텔리제이의 Refactor 기능을 활용해서 변경했다. 하지만 그 이후 애플리케이션을 실행할 때 오류가 난다. 어플리케이션 실행 오류 org.springframework.beans.factory.BeanCreationException: Error creating bean with na..

개발일지

[TIL] Cloud 배포에 대해서 feat. 코드스테이츠, AWS

들어가며.Section4의 마지막을 달리고 있다. 스프링 MVC 부터 스프링 Security 까지 다배우고 Spring에서도 Non-Blocking 방식을 지원하는 SpringWebFlux에 대해서도 맛만 보았다. 벌써 4개월의 시간이 거의 끝나간다는게 놀랍다. 실제로 프로젝트로 서비스를 만들려면 복습을 열심히 해야겠다. 어쨋뜬 오늘부터 클라우드 서비스에 실제로 배포하고 어떻게 인프라를 구축하는지에 대해서 배우기 시작했는데 재미있다. 옛날에 고등학생 때 제로보드를 활용해서 웹사이트를 의뢰 받아 제작했던 경험이 있는데 그때는 웹호스팅 업체에 FTP로 파일을 올리고 했던 기억이 있는데 요즘에는 어떻게 실제로 이용자가 서비스를 이용하도록 배포하는가를 명확히 잘 몰랐다. AWS EC2, S3, Netlify, ..

개발일지

[QnA 게시판 오류일지 - 1] 질문 등록을 위한 HTTP post 요청시 응답 오류 코드 500 해결하기

+ ResponseDTO 객체가 맵핑이 잘 되지 않았던 문제를 해결하는 과정을 기록하고자 합니다. 구현 기능 /v11/qnas 로 HTTP POST 요청을 body에 JSON 형태로 memberId , 질문제목, 질문내용 을 담아서 request body를 받음 그 데이터를 DTO에 받아서 Qna엔티티 객체로 맵핑 JPA를 활용하여 H2 Inmemory DB에 저장 저장된 Qna 엔티티 객체를 반환 받아 ResponseDTO에 맵핑하여 ResponseEntity 객체로 HTTP 상태와 같이 응답 위와 같은 구현을 위해서 컨트롤러, 서비스 클래스, QnaPostDto, Qna 엔티티 객체를 만들고 MapStruct를 이용하여 mapper 구현과 QnaRepository를 통해서 JPA를 구현했다. QnA ..

벤지_
벤지의 개발일지