2023-03-23 목 내가 요번 겨울방학 때 공부하면서 생각했던 프로젝트 TACO 드디어 인원을 모으고 첫 회의를 했다. 우선 프로젝트를 하면서의 첫 회고록이라 어떤 방향으로 써야 할지 모르겠다. 나중에 코드를 짜게 되면서 잘 몰랐던 부분이나 막혔던 부분을 복
2023-04-03 월 첫 회의를 진행하고 10일정도의 시간이 지났다. 디자인을 어떻게 할지, 어떤 기능들을 더 추가할지 고민하며, 학교생활을 지내다 보니 시간이 빠르게 지나가 공부를 별로 하지 못했다. 핑계에 불과하다는 생각 밖에 들지 않았다. 그래서 학과 MT를 갔다온 다음날인 지금 다시 공부를 빡세게 해보려고 한다. 오늘은 요구사항 정의서를 수...
2023-04-04 화 오늘은 간단한 테스트와 기능 추가 생각을 해보았다. 기능 추가는 아직 디자인 구상이 완전히 끝난 것이 아니기 때문에 회의 때 팀원들과 차차 얘기해 보기로 생각하고, 이번 프로젝트(거의 대부분의 프로젝트가 비슷하지만)의 가장 중요한 게시글 CRUD를 위한 클래스들의 간단한 테스트를 진행했다. 아직 요구사항 정의서가 픽스가 난 것이...
2023-04-04 목 오늘은 PostRepository에 대한 CRUD test를 진행하였다. 일단 가장 기본적인 글쓰기, 글 read, 그리고 삭제 테스트를 진행하였다. 아직 글 수정 테스트는 미처 만들지 못했다. 오늘도 역시나 오류가 나왔다. 문제점1 Entity 클래스에서 각각의 column들의 null 여부는 분명 필요하다. 내가 만들려...
2023-04-07 금 오늘은 회의를 했다. 회의 내용은 어디까지 진행이 되었는지와 언어 설정 기능을 어떻게 할 것인지에 대해 간략하게 회의했다. 현재 프론트 부분은 메인 페이지 디자인은 거의 끝맞춘 상태이고, 나머지 페이지 디자인을 해야한다. 이 부분 디자인은 최대한 간단하게 하는 것을 추천 했다. 아직 프론트 부분 코드를 짜는 팀원이 기본은 알...
2023-04-11 화 오늘은 PostRepository와 PostService의 테스트를 진행하였다. 아직 게시글 수정 테스트는 하지 않았고, CRUD중 Create, Read 그리고 Delete에 대한 테스트만 작성하였다. Repository 테스트 게시글 저장 테스트 게시글 저장의 레파지토리 테스트이다. 나중에 DTO 클래스도 만들어 글쓰기...
2023-04-14 금 오늘은 PostController와 PostService의 코드를 짜보았다. 게시글 수정에 대한 코드는 아직 진행하지 않아서 나머지 코드만 작성했다. 가장 먼저 아직 프론트쪽의 작업은 진행된 것이 없기 때문에, 스프링을 돌려 웹페이지를 돌려 코드가 잘 짜여졌는지 확인할 수 없다. 그래서 나는 return 타입을 Response...
2023-04-16 일 오늘은 생각보다 뿌듯한 하루였다. 일단 게시글 수정 코드를 완성하고, 전에 안되던 NotNull 어노테이션을 해결하였다. 게시글 수정 메서드 작성 중 문제점 가장 먼저 수정 코드이다. 수정을 하려면 일단 수정하려는 데이터를 가져와 수정한 뒤, 수정 값을 저장하는 것이다. 그래서 제일 먼저 findById 메서드로 데이터를 ...
2023-04-17 월 오늘은 로그인 기능을 어떻게 처리할까와 이미지 저장에 대해 고민해 보았다. 스프링 프레임워크의 하위 프레임워크인 보안 프레임워크 "스프링 시큐리티"가 있다. 저번 회고록에서 해당 프레임워크를 사용하기 위해 의존성을 주입해 두었었다. 오늘 로그인 기능에 대해서 찾아보았는데, 스프링 시큐리티를 사용하지 않고, HttpSession...
2023-04-19 수 오늘은 로그인 기능에 대한 테스트를 진행해보았다. 로그인 기능은 사용장의 데이터와 밀접한 관련이 있다. 그중 UserRepository에 대한 테스트를 진행해보았다. 오늘 공부하고 코드를 작성하면서 하나 또 좋은 것을 배웠다. 내가 사용하는 레파지토리의 부모 객체인 JpaRepository의 메서드 중 exists 메서드를 ...
2023-04-20 목 오늘은 UserService에 대한 테스트를 진행해보았다. service 부분은 컨트롤러와 직접적인 영향을 미치기 때문에 페이지 별로 해당하는 서비스를 생각해보고 테스트했다. 서비스 유무 테스트 가장 먼저 UserService 클래스를 만들어 유무를 확인하는 테스트를 진행했다. 회원가입 (아이디 중복) 테스트 해당 테스트는...
2023-04-22 토 오늘은 몸이 좋지 않아서 간단히 컨트롤러 별 필요한 매핑을 정리하고, 간단한 매핑 기능들을 구현했다. 가장 먼저 메인 화면에 들어갈 주소 설정 select box 값을 받아와 주소 별 게시글들을 받아오는 기능을 만들었다. 당근마켓 페이지를 보면 주소를 설정하는 select box가 있다. 당근마켓에서는 주소 설정을 지도 api...
2023-04-21 금 오늘은 프로젝트를 진행할 때 필요한 매핑들을 정리해보았다. 프로젝트를 진행하고부터 어제까지 팔요한 기능들을 만들기에 급급해 만들어야 되는 기능들을 깜빡하거나 그럴 때가 있었다. 그래서 요번 프로젝트에 필요한 매핑들과 기능들에 대해서 정리를 하였다. 요구사항 정의서를 작성해 두었긴 했지만, 뭔가 너무 포괄적인 느낌이 들었다. ...
2023-04-24 월 오늘은 userController 부분을 공부해 보았다. 요번 프로젝트가 로그인 기능을 구현하는게 처음이다 보니, 아직 어렵다. 어떠한 방식으로 로그인 기능이 구현되는지는 알겠지만, 아직 처음이다 보니 많이 미숙한 것 같다. 그리고 처음 해보는 것인데 너무 빨리 해보려 하다보니 과부하가 온것 같다. 이럴때는 주변에 멘토가 있...
2023-04-25 화 오늘은 마음을 다 잡고 공부를 했다. 오늘은 userController의 테스트를 진행해 보았다. 어제 비밀번호 변경시 데이터를 가져올 방법을 모르겠어서 취직을 먼저한 동기에게 물어보았다. "세션을 이용해서 데이터를 가져와봐" 라고 했다. 와 나 그 생각을 못했지? 라는 생각이 들어 머리가 띵했다. 그 후 빠르게 코드를 작...
오늘은 프로젝트 회의를 비대면으로 진행했다. 학교 중간고사 기간이 끝나는대로 바로 프로젝트를 진행했다. 시험공부로 인해 잠깐 프로젝트는 뒷전에 두고 공부를 했다. 회의의 중요 내용은 별로 없었다. 가장 먼저 나는 어느정도 백엔드 파트를 진행해두었지만, 프론트 파트는 아직 디자인이 마무리가 안되었었기 때문에 시험이 끝나고 디자인을 마무리 한 후에 회의...
오늘은 회의를 했다. 그냥 간단하게 각자 진행 상황과 프로젝트에 대한 질문들이 오갔다. 현재 메인 페이지는 진행 중에 있고, 로그인 창과 회원가입 창은 완성 되었다. 나는 지금 게시글 CRUD와 사용자 로직을 구현했고, 현재 사용자 프로필 이미지 저장 기능을 진행하고 있다. 원래는 프로필 이미지이기 때문에 user 엔티티에 이미지 파일을 저장하려고 ...
오늘은 사용자 프로필 저장 기능을 구현해보았다. 엔티티 사용자는 하나의 프로필을 설정할 수 있기 때문에 1대1관계라 생각하고 ProfileEntity를 따로 하나 더 생성하였다. ProfileEntity > private String originFileName; 사용자가 업로드한 원본 이름 > private String storeFileName;...
오늘은 이미지 저장 로직에 대한 테스트를 진행해 보았다. 사실 TDD 방식으로 백엔드 작업을 진행하여 공부했던 CRUD까지는 테스트가 가능했지만, 로그인 기능 구현, 이미지 파일 저장 기능 구현 등 모르는 것을 배우려다보니 TDD 방식으로 하기 까다로웠다. 그래서 코드를 작성하면서 그때 그때 postman으로 테스트를 진행하는 방식으로 하였다. 사실 ...
오늘은 간단하게 게시글 사용시 로그인 부분과 게시글의 사용언어 entity를 구현을 했다. 또, 회원가입 시 아이디 및 닉네임 중복 체크 버튼 없이 중복 체크를 하는 방법에 대해 찾아보았다. jpa를 잘 다루지 못하는 나이기에 postEntity에 userIndex를 추가하여 해당 게시글이 사용자의 게시글인 것을 알 수 있게 해야했다. 그래서 가장 먼...
오늘은 게시글 CRUD 부분에 대한 수정을 하였다. 이전의 회고록 마지막 부분에 써놨던, 해당 게시글이 로그인한 유저의 게시글인지 확인하는 방법에 대하여 고민하고 코드를 작성해보았다. 해당 고민은 자신의 게시글일 경우 수정 및 삭제를 할 수 있도록 해야하므로 수정 및 삭제 버튼을 활성화/ 비활성화 시킬 방법을 모색한 것이다. 로그인 부분을 혼자 공부하...
오늘은 댓글 기능을 구현해 보았다. 가장 먼저 댓글이 보여지는 화면은 게시글 상세페이지에 들어가면 보이기 때문에 postController에 replyService 메서드를 기입했다. PostController 해당 게시글의 index를 가져와서 댓글들을 가져오게 만들었다. 여기서 댓글도 만약 로그인한 유저가 단 댓글일 때, 수정 및 삭제 버튼이 생...
오늘은 내가 짠 코드에 대한 검토를 진행하였다. 서비스를 배포했을 때, 코드들의 진행에 따라 테스트를 해보았다. 예를 들면, 1) 회원 가입 -> 로그인 -> 게시글 작성 2) 여러 사용자들이 게시글 여러개 작성 -> 시/군/동 select box에 따른 게시글 필터링 -> 내 게시글 페이지 3) 로그인 -> 댓글 작성 -> 수정 및 삭제 등등 ...
오늘은 게시글 검색 기능 구현을 해보았다. 대부분의 기능을 거의 다 만들어 놓아서 최근 JPA공부를 했었다. 프론트 부분도 js부분을 뺀 나머지 부분은 거의 다 완성되어 가서 다시 프로젝트를 진행하였다. 원래 게시글 제목과 내용에서의 키워드를 검색하면 해당 게시글들을 반환하도록 하려 했지만, 아직 JPA를 잘 다루지 못함 + JPQL을 잘 사용하지 ...
오늘은 메인페이지에서 제공하는 여러 게시글들에 대한 페이지네이션 기능들을 구현해보았다. 우선 페이지네이션이란, 필요한 데이터들을 페이지 별로 나타내는 것으로, 한 페이지에 수백만개에 해당하는 게시글 데이터들을 조회해 화면에 렌더링하는 경우, 클라이언트가 브라우저 혹은 모바일 기기로 이를 한 눈에 보기 어려움을 겪을 공산이 크다. 또한 클라이언트가 보지...
마지막으로 회고록을 작성한 후 많은 시간이 지났다. 핑계라고 생각하면 핑계이겠지만, 마지막으로 회고록을 쓴 후, 한동안 이 프로젝트를 하지 못했다. 가장 큰 이유로, 이 프로젝트는 나 혼자 하는 것이 아닌, 여러명이서 함께하는 팀 프로젝트이다. 서버 개발과 페이지 퍼블리싱이 끝난 상태였지만, 기말고사 기간이라 바로 js 작업 및 타임리프 작업에 들어가...
회원 가입/ 로그인 기능
게시글 상세화면
프로필 수정 / 회원 정보 변경
main 페이지
aws 배포