Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- json gson 차이
- jwt메서드
- JPA주의사항
- 최종 프로젝트
- jpa회원가입
- 스프링부트오류
- 스프링 부트 기능
- github
- Spring Spring boot 차이
- uncheck Exception
- queryDSL
- Unsatisfied dependency
- REST란
- jpa에러
- spring서버
- ERD 작성
- Q 클래스
- 인텔리제이
- REST API 규칙
- @IdClass
- Filter
- 복합키
- 1차캐시
- git
- JoinColumn
- 스프링 부트 공식 문서
- JPA
- Error creating bean with name
- json
- 빈생성안됨
Archives
- Today
- Total
Everyday Dev System
개발 인생 : 개발자 커뮤니티 회고 본문
KPT 회고 (notion.site)
1. 한 주의 흐름
1) 한 일
- 시연 영상 : https://youtu.be/2LjzWP-4XJE
- 프로젝트 명 : The Developer Life
- 필수 작업
- 로그인 및 로그아웃
- 회원가입
- 게시글 CRUD
- 프로필 조회 및 수정
- 추가 작업
- 댓글 CRUD 기능
- 프론트엔드 구현
- 카테고리별 게시글 조회
- '익명 게시글' 카테고리의 게시글의 작성자를 '익명'으로 표시
2) 느낀 점들
- 임채영 - 기술적인 부분의 느낀 점은 Thymeleaf 템플릿 활용법과 CSS, JS 부분의 학습이 필요하다고 생각합니다. 회사에 입사하여 협업을 할 때 프론트엔드 개발자와 백엔드 개발자의 충돌을 각자의 입장에서 모두 겪은 것 같습니다. 해당 경험을 통해 서버 개발자도 프론트엔드의 학습이 필요하다는 것을 깨달았습니다. 해당 프로젝트를 진행함으로써 제가 아는 부분과 모르는 부분의 기준이 명확해져서 앞으로 공부하는데에 있어 많은 도움이 될 것 같습니다. 협업에 있어 느낀점은, 항상 프로젝트를 진행함에 있어 팀원들과의 소통이 가장 중요하다고 생각합니다. 다음 프로젝트에 진행함에 있어서도 이번 프로젝트처럼 소통을 더욱 원활히 하기 위해 노력해야겠다고 생각했습니다.
2. Keep
- 하루 2번, 오전, 오후 나눠 규칙적으로 팀원들과의 원활한 회의를 진행하였습니다.
- Github을 통한 형상관리에 있어서 공유를 잘 해주셔서 충돌이 상대적으로 적었습니다.
- 변경된 부분 혹은 수정을 원하는 부분에 있어서 피드백을 주셔서 완성도가 향상되었습니다.
- 서로 질문하고, 격려하고, 적극적으로 피드백을 시도 하였습니다.
- 각 개인이 맡은 바를 모두 책임감있게 잘 수행하였습니다.
- 자신의 역할 외에도 서로 도와주면서 완성하였습니다.
- 진행상황 및 막히는 부분 상황 공유를 원활히 하였습니다.
- 상대방에 대한 존중이 잘 이루어졌습니다.
3. Problem
- 댓글 등록을 할 경우, 해당 페이지를 redirect를 할 때에 정상적으로 잘 작동이 안되었습니다.
→ <form> 태그를 사용하지 않고 <div> 태그로 변경하여 해결하였습니다.
- 로그인 여부를 판단하여 버튼의 활성화와 비활성화를 구분하여야 했는데 원활히 진행이 되지 않았습니다.
→ Client의 jwt 토큰 여부를 확인하여 ‘Login’ 버튼과 ‘Signup’ 버튼, ‘Logout’ 버튼,
‘MyPage’ 버튼을 활성화 / 비활성화 하였습니다.
- 프론트엔드 클린 코드 스타일에 대해 전무해서 코드가 길어지고 난잡해져 가독성이 떨어집니다.
→ 많은 사람들의 프론트 단의 코드를 많이 보고 익숙해지는 방법 뿐이라고 생각합니다.
즉, 해결하려면 시간과 노력이 필요합니다.
- @PathValiable 방법을 통해 데이터 전달이 되지 않아 @RequestParam을 통해 해결하였습니다.
→ Thymeleaf 활용방법을 검색하여 여러 형식을 시도해보니 @PathValiable 방식으로도
데이터 전달이 잘 되었습니다.
- 서버에서 List<Object> 타입 데이터로 받아와서 html에 데이터를 출력하는 방법이 안되었습니다.
→ 문자열을 데이터로 수신받아 for문을 수행하기 위해서는 <script th:inline="javascript">
와 같이 기재해주어야 합니다.
→ 그런 후에 <script> 내에 *let* commentList = [[${commentList}]]; 와 같이 작성하면
List<Object> 타입 객체를 활용할 수 있습니다.
→ html 파일 내에 <script> 태그에 Thymeleaf 를 활용한 List<Object>를 받기 위한 형식을 작성 하였습니다.
4. Try
- SpringBoot와 html,css,js 에 대해서 아직 부족함을 느끼기 때문에 반복적인 학습을 할 예정입니다.
- 토큰을 사용하여 사용자 인증을 하는 부분이 미숙하여 회원가입과 로그인 구현을 복습할 계획입니다.
- 로그아웃을 처리하는 방법으로 쿠키값을 제거하였습니다. 그렇지만, 해당 쿠키값이 외부로 유출이 되어 이를 통해 토큰 만료 시간 이전에 로그인을 시도 할 경우 로그인이 수행되는 문제가 있습니다. 하여, 해당 부분을 보안적인 측면에서 어떻게 처리하면 좋을지 고려해 볼 필요가 있습니다.
- 댓글 수정 및 삭제 버튼을 프론트엔드와 연동하여 기능을 구현할 예정입니다.
- 프론트엔드에서 프로필 정보를 수정하고 저장할 수 있도록 백엔드에 요청해야하는 부분을 코드로 직접 구현하는 것이 어려웠는데 팀원이 작성하신 코드를 복습하고 이해해보며 더 좋은 코드가 있다면 무엇이 있을지 고민해보는 시간을 가질 생각입니다.
'내배캠 주요 학습 > 매일 공부' 카테고리의 다른 글
OAuth , Mokito (0) | 2023.07.30 |
---|---|
너의 의견은 : 투표 게시판, KPT 회고 (0) | 2023.07.24 |
WIL_0702 : 스프링 부트와 JPA (0) | 2023.07.02 |
git 브랜치 전략이란 (0) | 2023.06.29 |
의존성들 (0) | 2023.06.22 |