본문 바로가기

728x90

내일배움캠프 4기 스프링/프로젝트📙

(13)
심화 프로젝트 간 어려웠던 페이징 처리 페이징 처리를 하기 전 설계를 리스트로 반환하는 방식으로 했지만, 추후 페이징 처리라는 말의 의미는 페이징 타입으로 반환하는 것이라는 것을 알게 되었고, 이에 맞춘 재설계 및 코드 재작성 단계를 거쳤다. 관리자 권한으로 접근할 수 있는 전체 판매자목록 조회 메서드 이를 통해 페이징 처리, 람다, Enum을 통한 권한 설정에 대해 보다 더 익숙해질 수 있었다. 트러블 슈팅 1. 참고 출처 : 스택 오버플로우 https://stackoverflow.com/questions/39036771/how-to-map-pageobjectentity-to-pageobjectdto-in-spring-data-rest 페이지네이션 https://hudi.blog/spring-data-jpa-pagination/ 람다 htt..
개인 과제 : Spring Security 적용 블로그 Backend 서버 만들기 1. ERD 2.API 명세서 2-1 심화 Lv1 1) 새로 구현하는 기능 : Spring Security 2) 수정하는 기능 : 게시글 작성, 수정, 삭제 API의 인증과정을 Spring Security와 JWT 토큰 방식을 활용하여 토큰 검사 및 인증하기 2-1 심화 Lv2 1) 새로 구현하는 기능 기능 메서드, URL 요청 응답 게시물 좋아요 POST, /api/posts/{id} 댓글 좋아요 POST, /api/comments/{commentId} 예외 처리 AOP 활용한 예외처리 구현 2) 수정하는 기능 기능 메서드, URL 요청 응답 선택 게시물 조회 GET, /api/posts/{id} 게시물 수정 PUT, /api/posts/{id} { "title": "제목", "username": "a..
Spring 프로젝트 Check-list ✅ Spring / Api [ ] controller, service, repository를 잘 분리하였는지 [ ] dto를 잘 사용하고 있는지 [ ] api의 request와 response는 적절한지 [ ] query param, path param, body를 잘 사용하고 잇는지 [ ] restful api 설계규칙에 부합하는지 ✅ JPA [ ] 엔티티 Column들의 제약조건을 잘 설정했는지(nullable, unique 등) [ ] 엔티티 사이에 적절한 연관관계를 설정했는지(1:N/1:1/N:N, 양방향/단방향 등) [ ] 트랜젝션 단위를 잘 설정했는지, @Transactional이 필요한 곳에 사용되었는지 ✅ Java [ ] 변수와 메서드의 네이밍은 적절한지 [ ] 변수와 상수를 적절하게 사용..
~12. 19까지 중간 프로젝트 전 개인 과제 리뷰 및 개선할 점 정리 ui - server - database server - database가 백엔드 server - controller, service, repository를 포함한다 3tier - ur, application, db server의 3계층 controller : ui server : service repository : db controller 인증/인가 : 서버의 리소스를 사용하기 위한 요청/권한 부여를 컨트롤러에서 처리한다 인증/인가의 방식 - 세션, 쿠키, JWT 왜 controller일까? 인증/인가는 일종의 필터로 기능한다. 권한 부여된 사용자만 서비스에 접근 가능하다는 개념 1. controller vs restcontroller -> MVC view controller 2. 컨트롤러에서 인증/..
개인 과제 : JWT토큰을 활용한 Http 통신 중 상태를 저장 및 유지하기 이번에 시도하는 것들 : ERD JWT를 활용하기 JPA 연관관계 설정 1. ERD (Entity Relation Diagram) 2. API 명세서 2-1 숙련 Lv1 1) 새로 구현하는 기능 기능 메서드, URL 요청 응답 회원가입 POST, /api/posts/signup { "username" : String, "password" : String, "email" : String, } success 로그인 POST, /api/posts/login { "username" : String, "password" : String } success 2) 수정하는 기능 기능 메서드, URL 요청 응답 게시물 작성 POST, /api/posts { "title":"제목", "username":"글쓴이", "co..
개인 과제 : Springboot를 활용한 블로그 Backend 서버 만들기 깃허브 : https://github.com/cdaosldk/projectBlog 1. Usecase 작성 2. API 설계 CRUD 기능 메서드 URL 반환 전체 게시물 조회 GET / List 선택 게시물 조회 GET /posts/{id} Long 게시물 작성 Post /posts Post 게시물 수정 Put /posts/[id} Long 게시물 삭제 Delete /posts/{id} Long 3. 프로젝트 시작 ** 엔티티는 DB의 테이블( 객체 지향적 언어의 속성을 살려 자바 관점에서 본 객체 )과 속성이 같아야 한다. 22.12.08 트러블 슈팅 Post 생성자를 만들 때 Dto 인자를 주입하며 @RequestBody를 사용하지 않음 (@ResponseBody와 혼동: @RestControlle..
내일 배움 캠프 4기 스프링 두 번째 프로젝트 : 은행 관리 프로그램
프로젝트가 끝나고: KPT 한 일과 느낀 점 1) 한 주간 한 것 유 성 재 : 프로젝트 설계와 그에 맞춰 클래스, 메서드, 코드를 작성하고 팀원들의 피드백을 받아 프로그램으로 완성 박 상 훈 : 중복되는 코드를 찾아 효욜적으로 리팩토링하고 전체적인 CRUD 구조 아이디어 제안, 기획 임 동 규 : 클래스, 메서드, 코드의 완성도를 높히고 깃허브에 대한 지식 공유 및 활용을 통해 팀의 깃허브 사용능력 고취 KEEP 깃허브로 협업하기, 자유로운 소통, 진행사항을 매일 기록하기 PROBLEM 구조 기획보다는 구현에 집중한 점/ 프로젝트 참여 인원의 부족으로 인한 아이디어 부족/ 3Tier - Architecture 활용 미흡/ 데이터베이스의 삭제 이상/ Main 클래스 비대화 TRY 더 다양한 소통채널(ex: 셀프 스터디)를 구축 해..

728x90