
//중복회원 확인 private void validateDuplicateMember(SignupDto signupDto) { Long count = memberRepository.countByEmail(signupDto.getEmail()); if (count > 0) { // 중복된 이메일이 존재하는 경우 예외 발생 throw new DuplicateMemberException("이미 존재하는 회원입니다."); } } //로그인 public Member login (LoginDto loginDto) { Member member = memberRepository.findByEmail(loginDto.getEmail()); if (member == null) throw new MemberNotFoundEx..

프로젝트 소개 이번에 새내기를 위한 커뮤니티를 만드는 프로젝트를 진행하게 됐다. 스프링을 배우고 난 후 처음으로 하는 프로젝트라 효율적인 DB 및 JPA 사용 등 성능에 초점을 맞추긴 어렵겠지만, 그래도 최대한 열심히 이것저것 사용하며 배워보려고 한다! DB 설계 일단 db를 설계해두면 나중에 구현하기 더 쉬울 것 같아서 ERDCloud를 사용하여 설계해주었다. Entity 설계 일단 회원가입, 로그인 등의 멤버 로직을 만들기 위해 필요한 엔티티는 Member와 Major이다. package teamFive.freshmanCommunity.entity; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Getter;..

1️⃣ 💦문제💦 스프링부트3 자바 백엔드 개발 입문 댓글 조회하기에서 기사 조회할 때랑은 다르게 왜 엔티티에서 DTO로 변환하는지 잘 모르겠다.. 기사 조회할 때랑 똑같이 그냥 commentRepository.findByArticleId(articleId);만 해주면 되는 것 아닌가? 🌟해결🌟 엔티티를 반환하지 않고 DTO를 반환하는 이유는 엔티티와 응답을 따로 운용하는 것에서부터 출발한다. 엔티티에는 A라는 필드가 있지만, 응답에서 A라는 필드를 보여주고 싶지 않다면 어떨까? 엔티티에는 B라는 값이 없는데, 응답에서는 B라는 값을 보여주고 싶으면 어떻게 해야할까? 이 두 가지를 동시에 충족시켜 줄 수 있는것이 DTO이다. DTO는 외부로 나가는 데이터를 보안적인 측면에서 관리할 수 있으며, 엔티티에 값..

🚀접근하기 처음 입력받은 배열과 (50 10 100 20 40) 두번째 입력받은 배열 (30 50 70 10 60) 을 입력받아 이차원 배열을 만들어 주었고, 똑같은 배열이지만 다 0 으로 채운 dp 배열을 만들어 주었다. dp 문제인 만큼 case를 나누어 주었다. case 1) 두 배열 중 윗 배열인 경우 (50 10 100 20 40 중) case 2) 두 배열 중 아랫 배열인 경우 (30 50 70 10 60 중) case 1)인 경우엔 dp 배열에서 자신의 왼쪽에 있는 숫자와, dp배열에서 자신의 왼쪽 대각선 밑에 있는 숫자 + 원래의 이차원 배열에서 자신의 숫자 중 더 큰 값을 dp 배열에서의 자신의 숫자로 입력해주었고, case 2)인 경우에 dp 배열에서 자신의 왼쪽에 있는 숫자와, dp배..

🚀접근하기 지금까지 풀었던 문제들을 토대로 케이스를 나누고, '지금 나'를 기준으로(반복문에서 지금의 i) 풀자는 생각을 갖고 풀었다. 케이스를 나눠가며 1) # i-2번째 포도주 마시고 i-1번째 포도주 마심 X O X # i-2번째 포도주 안마시고 i-1번째 포도주 마심 X O O 2)# i-2번째 포도주 안마시고 i-1번째 포도주 마심 X O O 3)# i-2번째 포도수 마시고 i-1번째 포도주 안마심 O X O 이렇게 3가지의 경우를 생각해 보게 되었다. 그리고 나서 신기하게 i가 늘어날수록 저 노란색 화살표의 순서대로 계속해서 가는 규칙이 보였다....! (0 -> 2 -> 1 -> 0 -> 2 -> 1 .....) 🎉코드 n = int(input()) s_list=[] for _ in rang..

재밌어서 일주일만에 진도를 정말 많이 나간 것 같다. package com.example.firstproject.api; import com.example.firstproject.dto.ArticleForm; import com.example.firstproject.entity.Article; import com.example.firstproject.repository.ArticleRepository; import com.example.firstproject.service.ArticleService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springf..

🚀접근하기 어려웠다.. 경우의 수를 나눠보려고 했는데 잘 나누지 못했다.. 결국 1.N번째 줄에 사자가 없는 경우 (X X) 2.N번째 줄 왼쪽에 사자가 있는 경우(O X) 3.N번째 줄 오른쪽에 사자가 있는 경우(X O) 이렇게 3가지의 경우의 수로 나누어 풀면 되는 문제였다. 🎉코드 N=int(input()) dp=[] for i in range(0, N+1): dp.append([0,0,0]) dp[1][0]=1 dp[1][1]=1 dp[1][2]=1 for i in range(2, N+1): dp[i][0]=(dp[i-1][0]+dp[i-1][1]+dp[i-1][2])%9901 dp[i][1]=(dp[i-1][0]+dp[i-1][2])%9901 dp[i][2]=(dp[i-1][0]+dp[i-1][..

🚀접근하기 사실 처음에 문제 이해하는 게 어려웠다.. 조건에서 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 이 부분을 어떻게 구현해야 할지 처음엔 막막했는데, 결국 윗줄과 아랫줄의 색깔이 같지 않으면 되는 것이었다. 즉 R, G, B를 구분해서 R인 경우 윗 줄의 G,B 중 작은 것을 더해주고, G인 경우 윗 줄의 R,B 중 작은 것을 더해주고, B인 경우 윗 줄의 R,G 중 작은 것을 더해준 다음, 마지막에 R,G,B중 가장 작은 값을 출력해주면 된다. 🎉코드 import sys N = int(sys.stdin.readline()) rgb_list = ..
- Total
- Today
- Yesterday
- 커뮤니티
- EnumType.ORDINAL
- SQLD
- 비영속
- DP
- 로그아웃
- 지연로딩
- 자바 스프링
- 자바
- 백준
- 북마크
- 준영속
- 스프링 커뮤니티
- 영속
- SQL 레벨업
- SQL
- elasticsearch
- 스프링
- 프론트엔드
- 다이나믹 프로그래밍
- 회원탈퇴
- 스프링 북마크
- 백준 파이썬
- 인텔리제이
- JPA
- 웹 MVC
- 웹MVC
- 로깅
- 파이썬
- 스프링부트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
31 |