목록2024/02 (15)
쌓고 쌓다
여러 Controller를 작성하다가 내가 어떨땐 다음과 같이 Controller에서 DTO -> Entity 변환을 하여 Service단에 넘겨주는 코드를 작성하기도 하고, PosterController.java Poster poster = PosterRequest.toEntity(posterRequest); posterService.addPoster(poster, files, locationId, member); 내가 어떨땐 Controller에서 DTO를 그대로 넘기고 Serive단에서 DTO -> Entity 변환을 하는 코드를 작성하기도 한게 눈에 들어왔다. PosterService.java void addPoster(PosterRequest posterRequest) { Poster poste..
Merge하고 작업하던 브랜치를 삭제했고 분명 브랜치는 존재하지 않는데. 기존에 작업했던 feature/approveParameter 브랜치가 남아있어 보인다. git remote update를 해도 자꾸 나타난다... 다음 명령어로 지워주자. git remote prune origin local에서 remote를 참조하는데 유효하지 않는것을 지워주는 작업이다. 존재하지 않는 브랜치가 제거되었다. git remote update는 remote에 존재하는 브랜치를 가져올뿐이지 삭제된것을 반영해주지는 않는다고한다.
특정 게시글에 달린 댓글 개수와 좋아요 개수를 구하는 쿼리를 작성하고자 했다. 먼저 poster_id가 61인 게시글에 달린 댓글들을 보자. 댓글 id가 25, 26, 34번으로 3개의 댓글이 존재한다. 여기서 게시글과 댓글을 LEFT JOIN하여 결과를 보자. select * from poster LEFT JOIN comment ON poster.id = comment.poster_id; 게시글 정보와 댓글 정보가 붙어 출력된다. 그럼 게시글에 달린 댓글 개수를 세보자. select poster.id, COUNT(comment.id) from poster LEFT JOIN comment ON poster.id = comment.poster_id GROUP BY poster.id; 61번 게시글에 달린 ..
문제가 발생한 상황은 다음과 같다. 회원은 프로필 이미지를 하나만 가질 수 있는 상황이다. Member @Entity @Data public class Member { ... @OneToOne(mappedBy = "member", cascade = {CascadeType.PERSIST, CascadeType.REMOVE}) private MemberImage memberImg; ... } MemberImage @Entity @Data @NoArgsConstructor public class MemberImage { ... @OneToOne @JoinColumn(name = "member_id") private Member member; } @OneToOne으로 회원과 프로필 이미지는 하나만 가지도록 했다..
https://school.programmers.co.kr/learn/courses/30/lessons/72412#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 다음과 같은 지원자가 있다면 언어 직군 경력 소울 푸드 java backend junior pizza 다음과 같이 "-"를 포함한 모든 조합을 구한다. 저렇게 한 조합이 완성된다면 map에 key로 조합과 해당 지원자의 점수를 넣어 관리한다. 모든 지원자들의 정보를 map에 조합으로 다 넣었다면 탐색을 위한 정렬을 map에 존재하는 모든 key에 대해 오름차순으로 정렬해준다. 이..
기존의 회원 프로필 이미지를 DELETE 쿼리를 날려주려고 했으나.. 날아가지 않는다. member.setMemberImg(null)를 작성하기전에는 member에서 MemberImage를 참조하고 있어서 null로도 해주었지만 동작하지 않는다... member의 Name을 변경했지만 UPDATAE 쿼리는 나가지 않는다. member가 dirty checking이 동작하지 않는것인데 영속성 컨텍스트에 존재하지 않는다는 이유인것 같다. member를 다시 초기화하는 과정을 넣었더니. public String updateMember(MemberUpdateRequest memberUpdateRequest, MultipartFile memberImg, Member member) throws DuplicateEx..
https://school.programmers.co.kr/learn/courses/30/lessons/92342#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 라이언이 과녁에 맞출 수 있는 모든 경우의 수를 구해 어피치 과녁과 비교하여 점수를 계산한다. 라이언이 승리하면서 점수차가 클때 answer을 갱신해주자. 젤 점수가 낮은 과녁부터 채워나가기에 라이언이 가장 큰 점수 차이로 우승할 수 있는 방법이 여러 가지 일 경우, 가장 낮은 점수를 더 많이 맞힌 경우를 return 해주세요. 의 조건을 따로 체크해주지 않아도 통과할거라 생각하..
https://school.programmers.co.kr/learn/courses/30/lessons/150368?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 각각의 이모티콘에 모든 할인율을 붙여본다. 할인율에 따른 가입자 수와 판매액을 계산해본다. 가입자를 늘릴 수 있거나 가입자 수는 그대로라도 판매액을 늘릴 수 있다면 답으로 갱신한다. 전체 코드 #include #include using namespace std; void sale(vector users, vector emoticons, int discount[8..