profile
공부 정리

인텔리제이 어노테이션 갑자기 인식안됨

(나중에 또 까먹을까봐) 오랜만에 인텔리제이로 프로젝트파일을 열어봤는데 어노테이션들이 한 개도 인식이 되지 않고있었다. build.gralde을 보니 인식이 아무것도 안되고 있었다. https://kth990303.tistory.com/235 구글링 끝에 위의 블로그를 찾았고 임의적으로 build.gralde에 변화를 주어 새로고침 하게 했고 이후에 정상적으로 어노테이션들을 인식하는 것을 확인할 수 있었다.

2023년 4월 27일
·
0개의 댓글
·

aws 인스턴스 문제 (서버터짐)

문제 Lionz를 배포해놨는데 일정 시간이 지나면 서버가 다운되고 aws에 들어가서 인스턴스를 확인해보니 상태검사가 실패된 모습을 확인했다. 인스터스 모니터링을 해보니 터질때 마다 CPU가 100%에 가까워 졌었다. 해결방법 원래는 아래와 같은 순서로 배포를 진행했었는데 $ find ./* -name "*jar" $ java -jar [jar 파일명] & $ nohup java -jar [jar파일명] 1> [로그 파일명] 2>&1 & 사실 nohup문으로만 배포하는 방법도 많다고 한다 저 2개를 같이 run시켜서 CPU 사용률이 너무 높아져 터진 것 같다. $ find ./* -name "*jar" $ nohup java -jar [jar파일명] 1> [로그 파일명] 2>&1 & 그래서 이렇게만 진행하면 괜찮은 것 같다.

2023년 3월 20일
·
0개의 댓글
·
post-thumbnail

ADMIN만 수정 가능하도록 기능 추가

현재 권한을 위와 같이 enum타입으로 설정한 상태 tasknotice와 notice CRUD에 관리자만 접근할 수 있도록 if문으로 감싸주려고 위에처럼 했는데 빨간줄이 뜬다..! 팀원이 알려준건데 Enum타입은 위와 같이 비교해야 한다고 했다.

2023년 3월 19일
·
0개의 댓글
·
post-thumbnail

(git)cannot merge binary files conflict

예상 원인 백엔드 팀원이 프로필이미지 기능을 추가하면서 테스트 하기위해 사진파일을 올려서 push를 했었다 이제 문제는 내가 pull 받을 때가 문제였는데.. 문제 발생 (충돌) git pull origin main을 치니까 위와 같이 Cannot merge binary files 라는 에러가 나왔다 시도1 그래서 그냥 새로 클론 받아서 하려고 했는데 yml파일을 우리가 .gitignore에 올려놓아서 새로 추가하기도 해야했고 제일 크다고 생각했던 문제는 .idea폴더다. 인텔리제이에서 자바 클래스 파일들을 인식을 못하고 있었고 그 이유는 gradle이 인식이 안됐기 때문인데 이게 .idea 폴더를 지우고 다시 키면 된다고 했다. 지웠다가 다시키면 알아서 .idea폴더와 안에 파일들이 다시 생성이 되

2023년 3월 14일
·
0개의 댓글
·
post-thumbnail

Lionz 배포 (aws)

배포 + DNS aws로 배포 하고 DNS 설정하는 것 까지는 https://steady-coding.tistory.com/625 이 분을 따라했다! (보안그룹->인바운드 규칙 에서 443port도 잊지말고 추가해줘야함) >- DNS를 설정하는 이유 (출처 : 위의 분 블로그 중 발췌) DNS 설정 전에는 EC2의 퍼블릭 아이피를 이용해 스프링과 통신 중 -> 하지만 외부에 퍼블릭 아이피를 공개하는 것은 위험하고, 숫자로 된 아이피를 기억하기 어려움 -> 따라서 아이피를 우리가 보기 쉬운 문자 형태인 도메인으로 바꿈 -> 이때 아이피를 도메인으로 바꿔 주고, 도메인을 다시 아이피로 변환하는 시스템을 DNS라고 함 배포 과정 MAC은 pem 키가 존재하는 디렉토리 경로로 이동한 다음 ssh -i Lionz.pem ubuntu@13.~ sudo apt update sudo apt install openjdk-17-jdk // 배포할 소스 코드 clone $ git cl

2023년 3월 5일
·
0개의 댓글
·
post-thumbnail

통합검색 기능 개발

과제공지글(tasknotice),과제(task) 들을 title(제목)이나 explanation(설명) 그 글이나 과제에 딸린 tag의 name으로도 검색이 가능한 기능을 개발한다 기능 설명: Tasknotice는 title,explanation 으로 검색 task는 explanation으로 검색 tag name으로도 검색가능 추가된 부분: Tasknotice와 Task 의 Repository,Service파일에 findByName 메서드 추가 TasknoticeTag와 TaskTag 의 Repository, Service파일에 findByTagName 메서드 추가 AllSearchApiController에서 구현 완료 >tasknotice task도 똑같이 함 >tasknotice_tag ![

2023년 2월 21일
·
0개의 댓글
·
post-thumbnail

No Serializer found...에러

No serializer found for class org.hibernate.proxy.pojo.bytebuddy.ByteBuddyInterceptor and no properties discovered to create BeanSerializer 개발하던 중 위와 같은 에러가 떴다. 상황 > 위와 같은 엔티티에서 tasknotice와 tag를 join해서 결과를 가져오려했다. > 그래서 Repository에 위와 같이 메서드를 만들고 문제 발생 >![](https://velog.velcdn.com/images/97gkswn/po

2023년 2월 21일
·
0개의 댓글
·
post-thumbnail

JPQL 주의사항

위 처럼 줄 바꿈해서 쓰고싶으면 저렇게 바꾸기 직전 line에 공백(space)를 넣어주는게 좋다. 저렇게 하지 않으면 에러가 계속 났음..

2023년 2월 21일
·
0개의 댓글
·
post-thumbnail

파트 별 Tasknotice 조회

Tasknotice에 target이라는 필드가 있고 여기에는 파트인 FE or BE가 들어간다 이 때 해당 파트의 Tasknotice만 조회하고 싶은데 그렇게 하기위해서는 Tasknotice Repository에서 JPQL을 작성했어야 했는데 약간 잘못알고 있었던게 있다 select * t from tasknotice t where t.tasknotice_target = FE 로 해야하는 줄 알았는데 DB상에서의 column으로 조회하는게 아니라 객체속 필드이름으로 조회를 하는것 같다 따라서 아래와 같이 >select t from Tasknotice t where t.target = FE 로 해주어야 한다 (왜 "FE"처럼 따옴표가 없어도 되는지는 모르겠다 ![](https://velog.velcdn.c

2023년 2월 15일
·
0개의 댓글
·
post-thumbnail

토큰으로 로그인 (postman)

위와 같이 로그인을 하면 accessToken과 refreshToken이 response로 오게되는데 이 다음부터 "내가 나다" 라는 것을 명시하기 위해 Authorization에서 Type을 Bearer Token으로 설정한 후 "accessToken"을 넣어주면 된다 accessToken: 유효기간 짧음 refreshToken : 유효기간 김 그래서 accessToken 유효기간이 끝나면 refreshToken을 통해 재발급 받음 반대로 access는 유효한데 refresh가 끝나면 access를 통해 재발급 받음

2023년 2월 11일
·
0개의 댓글
·
post-thumbnail

일단 로그인 구현해보기

어차피 따라한거지만 복잡해서 까먹을까봐 적어놓는 구현흐름 장고했을때 회원가입 + 로그인 구현하는것은 그렇게 복잡하지 않았던 것으로 기억한다. 하지만 스프링 하면서 로그인을 해보려니 너무 복잡하고 어려웠다.. 버전 신경써야하고 deprecated된 것들이 꽤 많아서 애를 먹었다. 구글링해도 괜찮은 참고자료를 찾기 어려웠는데 우연히 https://velog.io/@tank3a/Security-%EC%84%A4%EC%A0%951 를 알게되었고 이 분을 통해 아래링크의 블로그를 알게되었다 >https://bcp0109.tistory.com/301 이 블로그가 최고인것같다 폴더 구조 >우선 현재 폴더구조는 아래와 같다 원래 하던 프로젝트에 로그인을 구현하기위해 추가한것 들이 많아 무엇을 추가했었는지 작성하도

2023년 2월 10일
·
0개의 댓글
·

기능 개발

과제공지 글 수정 일단 Post로 과제공지글 수정같은 경우에는 수정버튼을 누르면 원래 글의 내용이 모두 와야하고 (과제공지객체를 그냥 return하면 되나?) 그 원래 내용들 모두를 Json으로 프론트로 보내주고 프론트단에서 다시 보내주면 그거를 set으로 저장 수정할 때 put과 patch가 있는데 PUT : 리소스의 전체를 update 할 때 사용 PATCH : 리소스의 부분을 update 할 때 사용 >뭘 쓸지 고민되면 그냥 POST로 해도됨 오히려 POST를 사용해서 수정하는게 REST스타일을 잘 따르는것임 (참고: https://repo.yona.io/doortts/blog/issue/12) Tasknotice_Tag 수정할 때 Tasknotice_Tag객체가 여러개 이미 존재할텐데 하나하나 update해준다 있던거 다 지우고 새로 만든다 request로 온 tag리스트에 갯수가 달라지면 복잡해지므로 일단 2번으로 태그

2023년 2월 6일
·
0개의 댓글
·