분류 전체보기 98

[Spring Security] HttpSecurity.authorizeHttpRequests() 미적용

아직 해결하지 못한 문제. 토큰 생성과 인증은 잘 되는데, 권한에 따른 접근 제한을 주기 위해 HttpSecurity.authorizeHttpRequests()를 사용하려 했으나, 적용이 되지 않는 상황이다. 아래는 요청 로그와 필터 체인 목록이다. ************************************************************ Request received for GET '/users': org.apache.catalina.connector.RequestFacade@27ea5644 servletPath:/users pathInfo:null headers: authorization: Bearer 토큰값 user-agent: PostmanRuntime/7.29.2 accept:..

java/spring 2022.11.18

[Java] java.lang.StackOverflowError: null

어렵게 다가갈 오류가 아니었는데, 하필 보안 부분을 만지고 있어서 알아차리는데 꽤 오래걸렸다. 나같은 경우에는 무한루프로 이 오류가 나타나게 되었다. 다음 코드에서 에러가 발생했다. @Override public String getPassword() { return getPassword(); } 다시 보니 말도 안되는 코드를 적어놨다. 대놓고 무한루프 돌겠다는건데ㅋㅋㅋㅋㅋㅋㅋㅋㅋ 보통은 lombok이랑 jpa랑 같이 이용하면서 toString등의 메소드가 호출 반복되면서 발생한다고 한다. 이러한 경우에 다음과 같은 에러가 발생할 수 있다는 것을 알게 된 계기라고 생각하자.

java 2022.11.17

Glide로 이미지 받아오기 삽질...

안스 2일차에 Glide로 url가지고 이미지 받아오는거 하다가 에러가 났다. 내가 서버에서 보내는 이미지가 표시 안되길래, 다른 외부 이미지 url을 사용했더니 잘 표시되었다. 당연히 내가 서버에서 보내는 방식에 문제가 있는줄 알고 여러 시도를 했다. 그 중 하나가 캡디 이전 글 내용인 retrofit2로 바이트스트림을 직접 받아 디코딩하는 것이었다. 아무래도 속도 문제로 발생하는 것 같은 그 에러는 결국 포기했고, 어떻게든 사이드 기능들 위주로 작업하면서 거의 완성했었는데... 마지막으로 주석처리한 Glide코드 지우기 전에 한번만 해보자! 라는 심정으로 돌리니까 이미지가 잘 받아와졌다. 어이가 없었다. 진짜. 아무튼 그렇게 원인을 생각해보니, retrofit2 실행시키려고 보안 설정에서 http 접..

캡스톤 디자인 2022.11.16

[JPA] Attribute Converter

JPA가 지원하지 않는 타입을 매핑하거나, 두 개 이상의 속성을 갖는 밸류 타입을 한 개 칼럼에 매핑할 때 Attribute Converter를 사용한다고 한다. 나같은 경우는 enum을 db에 넣으려고 할때, db에서는 int를 쓰고 자바 내에서는 String으로 쓰면 어떨까 생각하면서 찾아보다 발견했다. 아직 구현을 안해봐서 예시를 만들지는 못하겠고, 참고 자료 링크만 일단 걸어두고 필요할 때 공부할 예정이다. JPA 프로그래밍 입문 - AttributeConverter (gunju-ko.github.io) JPA 프로그래밍 입문 - AttributeConverter AttributeConverter 이 글은 “JPA 프로그래밍 입문 - 최범균저”에 있는 내용을 정리한 글 입니다. AttributeC..

java/JPA 2022.11.15

[Github Actions] 빌드 디렉토리(working directory) 변경

여러 사람이 하나의 레포지토리를 사용하다 보면 최상위 디렉토리 이외의 폴더에서 빌드를 한다거나 여러 빌드 디렉토리가 존재하여 원하는 디렉토리를 지정하여 빌드시킬 필요가 있다. jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Set up JDK 11 uses: actions/setup-java@v3 with: java-version: '11' distribution: 'temurin' - name: Grant execute permission for gradlew run: chmod +x gradlew working-directory: "./working" - name: Build with Gradle run: ...

github 2022.11.14

[Android Studio] android.os.NetworkOnMainThreadException

현재 해결이 안된다. 처음 오류를 확인한건 한 메소드에서 여러 장의 이미지를 불러올 때 확인되었다. 처음에는 당연히 속도 문제인줄 알고 확인했지만, 에러 메세지를 보니 메인 스레드에서 네트워크 작업을 해서 그렇다고 한다. 뭐 그런 규약이 있다고 치고, 메인 스레드에서 네트워크 작업을 전부 분리해내어 실행시켰지만, 똑같은 에러가 뜬다. 현재 이미지를 가져오는 방식은 retrofit2를 이용하여 1. get으로 byteStream을 받아오고 2. byteStream을 디코딩하여 Bitmap으로 저장하고 3. Bitmap을 이미지뷰에 표시 하는 방식인데, 2번에서 에러가 나온다고 한다. 개인적인 생각으로는 byteStream을 전부 받아오기 전에 다음 작업을 시작해버려서 그런 것 같은데, 어떻게 해결해야 할지..

캡스톤 디자인 2022.11.14

Main Project 1주차

프리 프로젝트 시작 후, 일기가 굳이 필요하다는 생각을 가지지 못해서 작성하지 않고 있었다. 그렇게 메인 프로젝트로 들어와서 멘토와 만나고 나니 확실히 기록해야 할 부분들이 많았다. 프로젝트를 진행할 때 기본적으로 배웠던 부분들로 구현이 가능한 것들은 배운 것들로 구현하고, 구현이 매우 복잡하거나 불가능해 보이는 부분들에 대해서는 다른 해결 방안을 찾는 과정으로 구성하였다. 따라서 DB는 당연히 RDB, 보안은 SpringSecurity, CI/CD는 githubAction, api 문서화는 RestDocs와 같이 디폴트로 정해놓고 가는 부분들이 있었다. 그 후 백엔드의 기능적인 볼륨에 있어서만 고민하며 회의를 가졌었다. 하지만 멘토님은 기능 볼륨보다 작은 볼륨안에서도 고민한 흔적들이 나타나는 것이 좋다..

캡스톤 디자인 구상도에 관한 공부를 하며

캡디 논문의 메인 주제로 빅데이터를 활용하게 되었다. 하지만 이쪽 관련 지식이 전무한 상황이라 오늘과 내일을 이용해서 공부하면서 방향성을 잡아가기로 결정하고 열심히 찾아보고 있다. 현재 대략적인 구상은 데이터셋을 구하여 머신러닝을 통해 특정 대상과 자주 매칭되는 특징을 가지는 다른 대상들을 추천해주는 방식으로 생각중이다. 현재는 해당 기능 구현을 위해서 어떠한 기술들이 가장 적절한지 판별하는 중이다. 언젠가는 경험해보고 싶었던 분야기도 하고, 약간 다르긴 하지만 openCV를 이용한 이미지 분석은 사용해 본 적이 있었기 때문에 적절히 섞어보면 좋은 결과가 나올 것 같다.

캡스톤 디자인 2022.11.04