이슈) IntelliJ에서 xml파일의 경로를 찾지 못하는 문제
·
프로젝트 회고
IntelliJ에서 xml의 경로를 찾지 못하는 문제  Reader reader = Resources.getResourceAsReader("org/example/chapter01/mybatis/sql-map-config.xml"); 디버깅 을 하다가 위 코드 부분에서 경로를 못 찾는 문제가 있다는 것을 알게 되었습니다. 1.  시도오타 확인JDBC에서 오타에 의해 실행이 안되었던 적이 있어 오타를 확인하여 몇 가지의 오타를 고쳤지만,여전히 동일한 오류가 발생하였습니다. 2. 원인 src└── main ├── java │ └── org │ └── example │ └── chapter01 │ └── mybatis │ ..
클론 프로젝트) 카카오톡 클론코딩 - websocket통신시 유저 정보 null에 대한 고민
·
프로젝트 회고
websocket통신 시 유저 정보 null에 대한 고민 이슈내용 이슈 websocket으로 user정보를 넘길 때 null 이 들어오는 현상 (해결중) · Issue #6 · eivomin/CloneProject15 이슈 내용 @AuthenticationPricipal UserDetailsImpl userDetails 부분의 정보가 null로 들어옴 해결을 위해 시도해 본 것 참고사이트 : https://velog.io/@mindfulness_22/websocket-userinfo @AuthenticationPricipal UserDetailsImpl userDe. github.com @AuthenticationPricipal UserDetailsImpl userDetails 부분의 정보가 null로 ..
클론 프로젝트) 카카오톡 클론코딩 - 채팅방 구현은 어떻게 할까
·
프로젝트 회고
채팅방 구현은 어떻게 할까 이슈 내용 채팅방은 어떤 식으로 구현해야 사용자들이 자연스럽게 채팅방이라고 느낄까? STOMP의 SUBSCRIBE 개념 STOMP (Streaming Text Oriented Messaging Protocol) 간단한 텍스트 메세지 프로토콜이다. 프로토콜이란 말은 http 네트워크 통신 규약으로, STOMP는 http같은 메시지를 보낼 때 상용하는 규약으로 생각하면 된다. 아래 그림이 가장 이해하기 쉽고 적절한 것 같아 가져와 봤다. 분홍 토끼는 rabbits를 구독 중이다. 주황 고양이는 cats를 구독 중이다. 갈색 토끼가 "Hi!"라는 메시지를 rabbits를 향해 보내면 STOMP는 MESSAGE BROKER를 거쳐 rabbits를 구독 중인 분홍 토끼에게만 메시지가 가..
클론 프로젝트) 카카오톡 클론 코딩
·
프로젝트 회고
카카오톡 클론 코딩 프로젝트 소개 STOMP로 실시간 채팅방을 구현해 보자! 개발 기간 2023.05.12 ~ 2023.05.18 깃허브 링크 Back-End Git GitHub - OliveLover/CloneProject15 Contribute to OliveLover/CloneProject15 development by creating an account on GitHub. github.com Front-End Git GitHub - HyoHwanKim/hangHae99-cloneWeek Contribute to HyoHwanKim/hangHae99-cloneWeek development by creating an account on GitHub. github.com 영상 링크 시연 영상 S.A 팀..
실전 프로젝트) Apoorpoor - 아이템 이미지 나타내기
·
프로젝트 회고
아이템 이미지 나타내기 이슈 내용 1 FE에서 아이템 이미지관리를 하면 느려지는 현상 아이템 이미지처리를 원래는 FE단에서 하고 있었다. BE에서는 ItemEnumList를 만들어서 49가지의 아이템을 관리하고 있으며, 각각의 아이템 이미지를 따로 관리하지는 않았다. FE 측에서 아이템이 생각보다 무거워 렌더링에 오래 걸린다고 하였다. S3에 아이템이미지를 따로 저장하여 Be에서 해당 URL을 보내주어 FE에서 이미지 태그로 감싼다면 더 빠를 것이라는 의견이 나왔다. 이전 ItemListEnum @Getter public enum ItemListEnum { //tops top_lv2_01(0L, "촉촉한 종이 박스", 20L, 2L, "top"), top_lv3_01(1L, "꼬질꼬질 홀터넥", 20L,..
실전 프로젝트) Apoorpoor - 작성했던 테스트 코드의 방향성
·
프로젝트 회고
작성했던 테스트 코드의 방향성 처음부터 이 프로젝트를 진행할 당시 테스트코드를 짜보자고 다짐을 했었다. 처음에 테스트코드를 인터넷을 보며 최대한 짜보았는데 한가지 의문이 들었다. 내가 짠 테스트 코드는 성공할 때를 가정하므로 무조건 통과되거나 실패할수 밖에 없다는 것이다. 이것이 정말 의미있는 테스트 코드일까 하는 생각이 들었다. 그리고 프로젝트의 코드가 변경되면 이전에 짰던 테스트코드들이 못쓰게 되는 경우도 생겼다. 결국은 이전에 내가 짰던 코드들은 계속 파기가 되어 쓰다 만것은 안쓴것만 못하다 생각하여 지우게 되었다. 많이 작성했는데 계속 썼던것이 지워지니까 허탈하기도 했다. 의미있는 테스트코드란 무엇일까 아직 고민중이다. 좀더 고민을하고 현 프로젝트에 적용시켜 볼것이다. 실전 프로젝트) Apoorp..
실전 프로젝트) Apoorpoor - 챌린지 생성
·
프로젝트 회고
챌린지 생성 이슈내용 데이터 수정 시 롤백 현상 챌린지(금액 제한에 대한 절약 서비스) 기능을 하며 챌린지 내역은 조회하지 않는다고 하여 이전 챌린지 내역을 저장하는 것은 불필요하다고 생각하였다. 하나의 메서드에 수정과 저장이 가능했던 기억이 있어서 한번 시도해보고자 했다. 챌린지를 생성하는 메서드에 이전의 챌린지 내역이 있다면 "수정"을 하고 완전 처음이라면 "저장"을 하는 메서드로 하여 챌린지 참여여부를 하나의 메서드로 표현하고자 했다. 하지만 의도와는 다르게 데이터 생성은 되지만 수정이 되지 않았다. 디버깅을 해보았는데 데이터는 잘 수정되고 return까지 되는 것을 확인했다. 하지만 데이터가 롤백이 되어 수정되지 않았다. 내가 찾은 정보에 따르면, 생성의 주체인 challenge가 save로 데이..
실전 프로젝트) Apoorpoor - 아이템 필터
·
프로젝트 회고
아이템 필터 이슈 내용 나는 주로 CRUD를 맡다 보니 트러블 슈팅이 주로 CRUD내용이다. 중첩 for문의 처리 처음 나는 아이템을 구매하면 구매한 아이템리스트를 따로 조회할 줄 알았는데 유저플로우와 프론트의 요청에 따라 한 화면에 "구매하지 않은 아이템", "구매한 아이템", "착용 중인 아이템"을 구분해서 데이터를 프론트에게 보내야 했다. 직관적으로 중첩 for문 이 생각났다. 하지만 나도 이제 어엿한 개발자가 되는 과정에서 중첩 for문 은 정말 피하고 싶었다. 중첩 for문을 사용한다면 아래의 그림과 같이 되었다. ItemList를 쭉 나열한 뒤 각각의 for문으로 상태를 파악하여 필터링을 하는 구조이다. 시간복잡도는 O(n²)이다. 지금 현재는 아이템의 개수가 50여 개 이므로 큰 문제는 아니..
오지랖 토끼
'프로젝트 회고' 카테고리의 글 목록