2024/11 19

TIL 2024-11-28 (Trouble Shooting (통화 환율) )

1 ) BigDecimal? 배경처음 중간 테이블은 UserCurrency Entity를 생성할 때 금액 관련 필드를 모두 Double로 선언.상황ExchangeService에서 환전 요청 Service 로직 코딩 중 환율 계산에서 Type Error 발생, 새로 만들었던 UserCurrency Eutity에선 Double로 선언되어 있는데 Currency에 선언된 환율은 BigDecimal로 선언되어 있어 타입 Error 발생과 사칙연산 사용불가능.해결기존에 먼저 작성되어 있던 rate의 타입인 BigDecimal로 다른 entity의 금액 관련 타입 변경 후에 BigDecimal의 계산법을 검색하여 찾은 뒤 코드 수정, 사용법은 두 개의 나눌 수를 각각 적어주고 가운데 '2' 는 소수점 자리 수를 의..

TIL/Project 2024.11.28

TIL 2024-11-27 (Spring 심화 - 활용)

1 ) 학습한 내용BeanAPI 예외처리JPQLfetch joinJPA 와 JPQL  Bean생명주기Spring Container 초기화Bean 인스턴스 생성의존성 주입초기화 메서드 호출Bean 사용소멸 메서드 호출Bean 소멸속성Bean이 Spring 내부적으로 구현된 코드에 의존하지 않는다.메서드 이름을 자유롭게 설정할 수 있다.외부 라이브러리에도 초기화, 종료 메서드를 적용할 수 있다.@PostConstructBean이 생성되고 의존성 주입이 완료된 후에 호출되는 메서드를 지정주로 초기화 작업을 할 때 사용Bean ScopeSingleton(싱글톤)기본으로 설정되는 스코프.Spring 컨테이너 내에서 Bean이 하나만 생성되고 모든 요청이 같은 객체를 사용상태를 가지면 안된다.prototype요청할..

TIL/Spring 2024.11.27

TIL 2024-11-26 (Spring 심화)

1 ) 오늘 학습한 내용HttpMessageConverterSpring 내부 구조Converter, Formatter1 : N 연관관계1 : 1 연관관계N : M 연관관계상속관계 매핑Proxy지연로딩, 즉시로딩영속성 전이JPA와 Transaction  HttpMessageConverter사용처HTTP 요청 : @RequestBody, @HttpEntity, @RequestEntityHTTP 응답 : @ResponseBody, @HttpEntity, @ResponseEntity우선 순위byte[]StringJSON Spring 내부 구조ArgumentResolverHTTP 요청이 컨트롤러 메소드에 전달될 때 각 파라미터를 알맞은 객체로 변환하는 인터페이스ReturnValueHandler컨트롤러 메서드가 반..

TIL/Spring 2024.11.26

[KPT 회고록] (project : todo-log)

1 ) Project : todo - log KPT Keep- 깃헙 컨벤션을 잘 지킨 부분- 팀원 간의 피드백에 따른 개선과 반영이 빨랐던 것- 모든 팀원들이 책임감 있게 프로젝트 수행- 효율적인 역할 분담- 원활한 소통Try- 프로젝트 완성도 올리기     - 좋아요 순 조회 논리적 에러 수정     - 피드 조회 시 댓글 내용 포함- API 명세서 프로그램 적극 활용 및 사이트 검색 Ex) 포스트맨- 와이어 프레임 제작 사이트 검색 및 사용법 탐색Problem- 프로젝트에 완성도에 대한 아쉬움- API 명세서 및 와이어 프레임 작성 사이트 활용 2 ) 팀원별 프로젝트 소감. 팀장 천경환 : 이번 팀 프로젝트를 진행하며 팀원들과의 소통이 얼마나 중요한 지 더욱 리마인드가 되었으며 협업에서 깃헙을 처음 ..

TIL/Project 2024.11.25

TIL 2024-11-22 (todo-log 4일차)

1 ) 프로젝트 진행정도피드(feed) CRUD피드 생성피드 조회단건 조회전체 조회피드 수정피드 삭제 (2일차 완료)친구 관리 기능팔로우 기능팔로워 목록 조회팔로잉 목록 조회언팔로우팔로잉의 게시글 조회생성순업그레이드 뉴스피드 기능전체 피드 수정순으로 조회 (3일차 완료)좋아요 순으로 조회날짜별 기간 검색 기능 (4일차 완료)  추가적으로 feed에 좋아요 수, 카테고리 표시 추가.피드에 각각 좋아요 수와 카테고리 표시 구현 int countByFeed_IdAndLikeStatus(Long feedId, Boolean likeStatus);LikeRepository에 있는 메서드 사용.위 메서드는 피드 아이디를 확인하여 그 피드의 좋아요 수를 int로 반환해준다. // 피드 전체 조회 public L..

카테고리 없음 2024.11.22

TIL 2024-11-21 (todo-log 3일차)

1 ) 프로젝트 진행정도피드(feed) CRUD피드 생성피드 조회단건 조회전체 조회피드 수정피드 삭제 (2일차 완료)친구 관리 기능팔로우 기능팔로워 목록 조회팔로잉 목록 조회언팔로우팔로잉의 게시글 조회생성순업그레이드 뉴스피드 기능전체 피드 수정순으로 조회 (3일차 완료)좋아요 순으로 조회날짜별 기간 검색 기능 Repository, Entity 생략. 팔로우 기능 구현팔로우하기Controller@PostMapping("/{followerNickname}/{followingNickname}") public ResponseEntity followUser( @PathVariable String followerNickname, @PathVariable String followingNickname..

TIL/Project 2024.11.21

TIL 2024-11-20 (todo-log 2일차)

1 ) 프로젝트 진행도피드(feed) CRUD피드 생성피드 조회단건 조회전체 조회피드 수정피드 삭제 (2일차)친구 관리 기능팔로우 기능팔로워 목록 조회팔로잉 목록 조회언팔로우팔로잉의 게시글 조회생성순업그레이드 뉴스피드 기능전체 피드 수정순으로 조회좋아요 순으로 조회날짜별 기간 검색 기능뉴스피드 CRUD 기능구현게시물 작성게시물 조회 (단건, 전체)게시물 수정 (조건 확인)게시물 삭제 (조건 확인)협업 프로젝트 진행을 하며 느낀 점.서로 역할 분담을 하였어도 필요한 클래스와 필드들이 있기에 누군가는 작업이 멈추는 상황 발생.역할 분담을 잘 하였어도 이 문제는 완벽하게 해결되지 않을 것 이라고 생각. 뉴스피드 CRUD 기능 구현 뉴스페드 조회 기능 Pageable 사용문제 발생페이징 조회를 하니 Join했던..

TIL/Project 2024.11.20

TIL 2024-11-19 (todo-log)

1 ) todo-log'todo' 스페인어로 모두, 전체 라는 뜻과 'log' 기록이라는 뜻을 합쳐 만든 모든 기록을 보여주는 뉴스피드 프로젝트. 2) 첫 날 진행도프로젝트 아이디어 구성와이어 프레임 작성ERD 작성API 명세서 작성업무 분담팀 노션 작성 프로젝트 아이디어 구성팀원들과 소통하며 각자 어떤 컨셉의 뉴스피드 또는 이름 정해오기!Sprout, '새싹' 이라는 의미로 현재 우리도 자라나는 새싹 개발자라는 의미로 개발자 취준생들의 뉴스피드 컨셉음악관련 뉴스피드, 게시글을 나중에 하나씩 모으면 플레이리스트가 되는 뉴스피드 컨센뉴스피드에 카테고리를 추가해 모든 컨셉의 뉴스피드를 볼 수 있도록 하자는 컨셉.3번 의견이 모두의 의견을 수용할 수 있으며 제일 괜찮다는 의견이 많아 수용.와이어 프레임 작성백..

TIL/Project 2024.11.19

TIL 2024-11-18 (Cookie/Session)

1) 학습한 내용CookieSession 알고리즘 코드카타( Java : 숫자 문자열과 영단어 )https://github.com/GyeonghwanCheon/codetestCookie사용하는 이유HTTP는 Stateless, Connectionless 특성을 가지고 있다.Client가 재요청시 Server는 이전 요청에 대한 정보를 기억하지 못한다.로그인과 같이 상태를 유지해야 하는 경우가 발생한다.Request에 사용자 정보를 포함하면 해결된다.브라우저를 완전히 종료한 뒤 다시 열어도 사용자 정보가 유지되어야 한다.로그인 성공시 응답set-Cookie로그인시 전달된 ID, Password로 User 테이블 조회하여 일치 여부 확인일치한다면 Set-Cookie를 활용해 Cookie에 사용할 값 저장Co..

TIL/Spring 2024.11.18

Trouble Shooting ( Calender_JPA)

1 ) 배경모든 필수 구현 완료 후 마지막 로그인 구현하는 도중 LoginRepotory 파일을 만들어 코드를 구현하려고 하였으나,  2) 전개 & 위기내가 직접 생산한 유저의 정보를 가져와 email, password 데이터를 가져와서 비교하는 코드를 구현하는데 계속 DB의 데이터를 가져오지 못하던가, 또는 스스로 제대로하고 있는지 조차 모르는 상황 발생.  3) 절정LoginRepository를 class 형식의 파일 방식으로도 접근해보았고, Interface 파일 형식으로도 접근해보았으나 내가 직접 저장했던 데이터를 DB에서 제대로 못 가져오는 것 같았으며, 로그인 성공했을 시 return 값 또한 맞는지 의문.다양한 방식으로 접근하다가 데이터 충돌까지 일어나는 상황 발생.  4) 결말stream(..

TIL/Project 2024.11.15