1. this와 this() this와 this()는 괄호 하나 다를 뿐인데 전혀 다른 의미를 갖고있다. 결론부터 말하자면, this는 객체 자신을 가리키고, this()는 한 클래스 내에서 한 생성자에서 다른 생성자를 호출할 때 사용된다. this public class Person { private String name; //인스턴스 변수 private int age; private String sex; public Person(String name, int age, String sex) { this.name = name; this.age = age; this.sex = sex; } } 코드를 보면, Person 생성자 내에서 'this.객체 내의 인스턴스 변수 = 매개변수' 형식으로 this 키워드..

이번엔 게시글 조회가 안되네,,? 그런데 이번엔 회원 탈퇴처리를 한 후에 게시글을 조회해봤더니 NullPointerException이 발생하였다..... 회원이 탈퇴함에 따라 게시글과 연결된 회원 정보가 'null'로 설정된 것 까지는 잘 했는데,,, 이 상황에서 발생한 NullPointerException 오류는 게시글을 조회하는 과정에서 해당 게시글을 작성한 회원의 정보를 참조하려고 했으나, 회원 정보가 이미 'null'로 설정되어 있기 때문에 발생한 것이다. 즉 회원 정보가 'null'이 될 수 있다는 점을 체크하지 않고 회원 정보가 있을 때만을 고려하여 (null이 아닐 때만을 고려하여) 코드 구현을 했기 때문이다..!! trace를 보니 DTO 변환 로직을 수정해야 함을 알 수 있었다. 즉 Ar..

회원로직, 게시글 crud, 댓글 crud까지 다 구현한 후에 포스트맨으로 전체적으로 한 번씩 확인을 해주었다. 회원탈퇴 오류 근데... 회원로직만 테스트했을 땐 잘 됐던 회원탈퇴가 갑자기 이런 오류가 뜨면서 안됐다..ㅜㅜ trace를 잘 읽어보니 외래키 제약조건과 관련된 문제였다. member 테이블에서 member_id를 기반으로 한 행을 삭제하려고 시도했으나, article 테이블에 member_id를 참조하는 외래 키(FK6l9vkfd5ixw8o8kph5rj1k7gu)가 있어서 해당 작업이 실패한 것이다. 즉 로그인한 회원이 게시글을 쓴 상태에서 탈퇴를 하려니, 게시글에서 회원의 정보를 외래키로 갖고 있기 때문에 게시글 - 회원 간 제약조건을 설정하지 않으면 회원의 정보를 지울 수 없다(회원 탈퇴..

게시글 북마크 기능은 다 만들었고, 이제 유저(멤버)의 북마크 페이지나 마이 페이지에서 북마크한 목록을 조회하는 기능을 구현할 것이다. Dto MyBookamrkDto package com.example.MyFreshmanCommunity.dto; import com.example.MyFreshmanCommunity.entity.Article; import com.example.MyFreshmanCommunity.entity.Major; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter; import lombok.NoArgsConstructor; import java.time.LocalDateTime; @Getter @A..

이번엔 게시글 북마크 기능을 만들어 볼 것이다. 이전 포스팅했던 댓글 좋아요 기능과 거의 비슷하다고 보면 된다. (사실 거의 똑같음) Entity 설계 Bookmark entity package com.example.MyFreshmanCommunity.entity; import jakarta.persistence.*; import lombok.AllArgsConstructor; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; import java.time..

회원로직, 게시글, 댓글 CRUD까지 구현 완료했으니 이젠 댓글 좋아요 기능을 구현해보겠다. Entity 설계 package com.example.MyFreshmanCommunity.entity; import jakarta.persistence.*; import lombok.*; import org.hibernate.annotations.OnDelete; import org.hibernate.annotations.OnDeleteAction; @NoArgsConstructor @AllArgsConstructor @Getter @ToString @Entity public class LikeComment { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) p..

게시글 CRUD까지 구현했으니, 이제 댓글 CRUD도 구현해보겠다. 사실 댓글 로직은 게시글 로직과 거의 똑같다. Entity 설계 댓글 Create(생성), Read(읽기), Update(업데이트), Delete(삭제)를 위해 필요한 엔티티 Comment를 만들어주었다. Comment entity package com.example.MyFreshmanCommunity.entity; import com.example.MyFreshmanCommunity.dto.ArticleDto; import com.example.MyFreshmanCommunity.dto.CommentDto; import jakarta.persistence.*; import lombok.AllArgsConstructor; import l..
프로젝트 관련 프로젝트를 진행하면서 힘들었던 점은? 혹은 어려웠던 점은? 어떤 문제로 힘들었는지, 어려웠는지 확인 프로젝트 개발 과정까진 순탄했지만, 서버 배포 과정에서 예상보다 복잡하고 어려운 문제들을 겪었다. 특히, 스프링 부트의 배포에 관한 정보를 찾기 어렵고, 자료가 체계적으로 정리되어 있지 않아 다양한 출처에서 관련 정보를 찾아보며 공부하는 데 많은 시간을 소비했다. 배포 과정에서 특히 어려움을 겪은 부분은 AWS를 통한 배포 후 인스턴스에 접속하는 것이었다. 한 팀원의 계정으로 배포를 진행했으나, 해당 팀원만이 인스턴스에 접속할 수 있는 문제가 발생했다. 이 문제를 해결하기 위해 시간이 생각보다 오래 걸렸다. 문제가 생겼던 원인 파악 1) 인바운드 규칙 변경 SSH 접속 문제를 해결하기 위해 ..
- Total
- Today
- Yesterday
- 로그아웃
- 커뮤니티
- SQL
- 웹MVC
- SQL 레벨업
- 인텔리제이
- 백준
- 영속
- 스프링부트
- 스프링
- 자바 스프링
- 백준 파이썬
- 북마크
- 회원탈퇴
- 준영속
- 비영속
- 지연로딩
- 웹 MVC
- 자바
- JPA
- 스프링 북마크
- SQLD
- 로깅
- EnumType.ORDINAL
- elasticsearch
- 프론트엔드
- DP
- 파이썬
- 다이나믹 프로그래밍
- 스프링 커뮤니티
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |