개발공부

고정 헤더 영역

글 제목

메뉴 레이어

개발공부

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기 (21)
    • JAVA문법 (5)

검색 레이어

개발공부

검색 영역

컨텐츠 검색

전체 글

  • 웹소켓 Error publishing SessionConnectedEvent[GenericMessage 문제 해결

    2024.02.05 by 화2팅

  • 1/3 테스트코드 동시성 문제

    2024.01.03 by 화2팅

  • AOP 경로지정 트러블 슈팅

    2023.12.21 by 화2팅

  • B-4 백오피스 프로젝트 KPT 회고 (12/11)

    2023.12.11 by 화2팅

  • 12/4 UserDetails문제 & @Data .toString()문제

    2023.12.04 by 화2팅

  • 11/22

    2023.11.22 by 화2팅

  • 11/20

    2023.11.20 by 화2팅

  • 11/17

    2023.11.17 by 화2팅

웹소켓 Error publishing SessionConnectedEvent[GenericMessage 문제 해결

프로젝트에서 웹소켓으로 채팅창을 구현중 에러로그가 서버에서 찍히는것을 확인했다. 에러로그는 찍히지만 실제로 돌아가는데에는 이상이 없었기때문에 발견을 못했다가 최종제출 직전에야 발견해서 해결해보았다. 문제 원인은 다음과같은 stompClinet.connect가 실행될때 오류가 터지는것같다. 실제로 에러로그는 다음과같이 찍혔다. 정확한 원인자체는 이해를 못했지만 결론적으로 해결은 했다 아마 웹소켓을 연결할때 getName()이라는 메서드를 어디서 사용중인것같다. getName 부분에서 getUsername()이 null이 리턴돼서 생기는 문제였다. 따라서 UserDetailsImpl부분을 null이아닌 값을 반환하도록 수정하였다. 기존에는 이 부분이 그냥 return null로 돼어있어서 발생한 문제였다. ..

카테고리 없음 2024. 2. 5. 20:32

1/3 테스트코드 동시성 문제

테스트를 클래스별로 따로 실행하는것이 아니라 그림과같이 테스트코드를 전체한번에 실행했을때 DB관련해서 문제가 생기는것이 테스트코드 동시성 문제이다. 문제가 생기는 원인은 다음과같다. 다음그림과같이 @Autowired로 Repository를 주입받는 테스트 클래스가 여러개이고 이 테스트클래스가 한번에 실행됐을때 이들은 같은 DB를 공유하는것이다. 물론 테스트에 @Transactional이 걸리거나 수동으로 DB를 delete하여 비워줄수있지만 DB의 id값까지 초기화되지는못하고 1씩 늘어나는것이다. (id1번의 데이터가 @Transactional로 초기화되어 지워져도 다음에 오는 데이터의 id값은 2가 되는것이다.) CI/CD중 CI부분에서 테스트코드를 체크하는부분을 쓰는경우가 있는데 이때 테스트코드를 한..

카테고리 없음 2024. 1. 3. 10:13

AOP 경로지정 트러블 슈팅

AOP를 admin - controller 디렉토리 내부 Admin관련 Controller에 Admin 권한을 체크하는 aop 적용하려고 하였다. 이때 aop경로지정관련해서 문제가 있었는데 위에 있는 4자지의 코드중에서 문제가 되는것은 세번째 코드이다. 3번째 코드는 내가 이 AOP를 처음 작성할때 경로설정했던 스타일이었고 그건 강의에서 나온 스타일이였기 때문에 이부분에서 시간을 많이 잡아먹고 튜터님께 여쭤봐서 같이 해결하였다. 우선 저 execution 문법을 해석해보면 다음과같다. 즉 실행되었던 1,3번쨰 코드를 해석해보면 //@Pointcut("execution(* com.example.dp.domain.admin.controller..*.*(..))") // 되는거 @Pointcut("execut..

카테고리 없음 2023. 12. 21. 10:30

B-4 백오피스 프로젝트 KPT 회고 (12/11)

Keep 이메일 인증, Redis , AWS3등 팀원들이 사용한 다영한 기술들에 대해서 습득&경험 할 수 있었다. git을 활용한 협업 시스템, 유스케이스를 작성함으로써 전반적인 비즈니스 로직 체크 Github : Issue 활용, 태그 기능, 커밋에 이슈 포함, Git Action 기능, 커밋 컨벤션, 풀리퀘 이슈 템플릿 사용 Postman 자동화 새로 안 지식에 대해서 팀원에게 잘 공유하는 부분 상세한 코드 리뷰를 통해 배운 부분이 많았다. 새로운 기능을 구현할 때, 항상 효율과 최적화를 중요시하며 진행하던 모습이 인상적이었다. 깃허브의 이슈나 커밋 메세지에 이슈 번호를 남기면서 개발하던 방식이 너무나 좋았다. Problem 절대적인 시간이 부족해 다른 팀원들이 사용한 여러 기술들을 전부 소화하지 못..

카테고리 없음 2023. 12. 11. 17:28

12/4 UserDetails문제 & @Data .toString()문제

오랫만에 TIL작성이다. 주말동안 테스트코드관련 과제하면서 몇가지 정리할만게 있기도하고 이제 슬슬 다시 써야할것같은 분위기라 써보려한다. 물론 당장 내일 안쓸수도있지만... 1. Controller -> Service 넘어갈때 UserDetails를 넘기기 vs UserDetails.getUser()를 넘기기 Controller 단에서 @AutenticationPrincipal를 이용해서 userDetails를 인자로 받아올수 있다. 여기서 userDetails는 security단에 저장된? User객체정보를 담고있는데 이걸 활용하는 2가지 방법이 있다. 이 두 가지의 차이는 뭐가 다를까?? 정답은 디버깅을 통해 확인해보도록 하자 user는 userRepository에서 userId를 활용해 DB에서 직..

카테고리 없음 2023. 12. 4. 20:13

11/22

이번주는 너무 피곤하다... 팀과제진행중에 JPA로 N:M 연관관계 코드 처음짜본거랑 알고리즘 문제 하나 오래걸렸던거를 기록용으로 올리려고한다. 1. 중간테이블을 이용한 N:M Entity 연관관계 설정 다음 그림과 같이 리뷰와 해시태그는 N:M으로 매핑돼있을때 이 둘을 N:M으로 매핑하는 방법에 대해서 기록해보겠다. Review Entity @Getter @Entity @Table(name = "review") @NoArgsConstructor(access = AccessLevel.PROTECTED) public class Review extends BaseEntity { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long Id; ..

카테고리 없음 2023. 11. 22. 23:27

11/20

오늘은 개인과제도 다했고 내일 팀과제하기전날이라 알고리즘이나 끄적이면서 쉬엄쉬엄 쉬면서 했다.... 그래서 딱히 TIL작성할게 많진않아서 쉬어가는 하루로 생각해야겠다. 1. substring Substring은 문자열을 자르기 위해 사용되는 메서드로, 주어진 문자열에서 특정 범위의 문자열을 추출한다. String substring(int beginIndex, int endIndex) beginIndex : 추출을 시작할 인덱스(포함) endIndex: 추출을 종료할 인덱스(미포함) 2. 알고리즘 옹알이(2) 풀던중 반복문과 try-catch의 혼합 옹알이(2)라는 알고리즘을 풀던중 Integer.parseInt(x) 코드의 x가 "12345"와 같은 숫자형 문자가 아닐때 단순 print문을 하는게 아니라..

카테고리 없음 2023. 11. 20. 21:04

11/17

오늘은 개인과제의 프런트 부분 화면을 하루종일 만들었다. 이거 chatgpt이용하면서 만드니까 은근 재밌고 하다보니 프런트 부분의 대한 이해도 되다보니 하는맛이 난다 DTO를 쓰는 이유 DTO는 Data Transfer Object의 약자로 DTO는 말 그대로 데이터를 Transfer(이동)하기 위한 객체이다. 각 클레스를이동할때마다 DTO라는 이동수단으로 데이터를 옮기는것이다. 그렇다면 DTO를 쓰는 이유는 무엇일까? 검색해보면 역할의 분리, 관심사의 분리라는 용어가 공통적으로 매우 많이 나온다. 근데 사실 MVC도 그렇고 저런 단어를 들으면 대충 느낌만 오고 정확히 이해하기는 쉽지않고 실제로도 글로만 읽으면 잘 모르겠다. 그런데 어제 메모리관련 오류를 고치면서 왜 DTO를 쓰는지에 대해서 짚고 넘어가..

카테고리 없음 2023. 11. 17. 22:32

추가 정보

인기글

최신글

페이징

이전
1 2 3
다음
TISTORY
개발공부 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바