Uknow's Lab.
article thumbnail
[Spring] Filter가 두 번씩 실행되던 현상
프레임워크/Spring 2024. 3. 19. 21:13

Filter가 두 번씩 호출되는 현상 발생...! Jwt 로그인 흐름을 파악하기 위해 로그를 찍어 확인하던 중, JwtAuthenticationFilter가 두 번씩 실행되던 현상을 발견하였습니다. 아직까지 이로 인해 일어난 문제는 없지만, 두 번씩 호출되는 건 절대 바람직한 현상이 아니기에 원인 추적에 나섰습니다. @Slf4j @Order(Ordered.HIGHEST_PRECEDENCE) @RequiredArgsConstructor @Component public class JwtAuthenticationFilter extends GenericFilterBean { private final JwtTokenProvider jwtTokenProvider; @Override public void doFilt..

article thumbnail
안드로이드 무선디버깅 (Wireless Debugging)
프레임워크/Android 2023. 10. 25. 01:43

안드로이드 스튜디오에서 애뮬레이터로 애플리케이션을 실행할 수 있지만, 저는 애뮬레이터보다는 실제 스마트폰에서 테스트 및 디버깅하는 것을 선호합니다. 하지만 실제 스마트폰에서 디버깅을 하기 위해 USB 케이블을 연결하기엔 다소 번거로운 감이 있는데요. WiFi가 제공되는 환경이며, PC와 동일한 네트워크망을 사용중이라면 다행이도 무선 디버깅이 가능합니다. * 아래 내용은 Android 11 이상 기준입니다. 개발자 모드 ON 유/무선에 상관없이 디버깅을 위해서는 개발자모드가 활성화 되어있어야 합니다. [설정 앱] -> [휴대전화 정보] -> [소프트웨어 정보] -> [빌드 번호]를 5번 클릭하면 개발자 모드가 활성화됩니다. PC 스마트폰 페어링(Pairing) 및 연결(Connect) [설정 앱] -> [..

article thumbnail
AWS Lightsail로 Spring 웹사이트 배포하기
프레임워크/Spring 2023. 8. 20. 01:26

AWS Lightsail 세팅 AWS(Amazon Web Services). 클라우드 서비스의 대표격인 플랫폼입니다. AWS를 처음 사용할 때, 초기 세팅이나 설치해야 할 것들이 다소 있습니다. AWS Lightsail은 보다 간편하고 사용하기 쉬워 초보자, 개인, 소규모 팀이 사용하기 좋습니다. 오늘은 이 AWS Lightsail에 Spring + Thymeleaf를 사용해 제작한 웹 사이트를 배포해보려 합니다. 먼저, AWS Lightsail 홈페이지에 접속합니다. https://lightsail.aws.amazon.com https://lightsail.aws.amazon.com/ls/webapp lightsail.aws.amazon.com 회원가입 과정은 생략하겠습니다. 저의 경우 이전에 미리 생..

article thumbnail
[Spring] java.sql.SQLException: Field 'id' doesn't have a default value 에러
프레임워크/Spring 2023. 6. 11. 21:52

스프링으로 홈페이지를 개발하고 있었는데, 늘 그랬듯이 오류가 하나 났습니다. 오늘의 오류는 java.sql.SQLException: Field 'id' doesn't have a default value. 라는 메시지와 함께 404페이지로 이동하는 문제였습니다 https://stackoverflow.com/questions/804514/hibernate-field-id-doesnt-have-a-default-value

article thumbnail
스프링으로 우당탕탕 게시판 만들기 1 - CRUD (+MySQL)
프레임워크/Spring 2023. 5. 8. 00:59

지난 동계 방학기간 동안 인턴을 나가게 되었는데, 인턴쉽 기간 동안 파이썬 장고를 사용해 홈페이지 백엔드를 개발하였습니다. 파이썬은 원래 익숙했기에 큰 거부감이 없었고, 장고도 생각보다 간단하여 꽤 쉽게 배울 수 있었습니다. (물론 깊게 들어가면 한 없이 어렵겠지만) 그런데 웬걸... 학과 팀 프로젝트 / 과제용으로 php로 아주아주 간단하게 끄적이다가, 백엔드를 제대로 해보니 너무나도 신세계였습니다. 백엔드가 생각보다 재밌던 저는 인턴이 끝나고 제 주 언어인 자바/코틀린의 백엔드 프레임워크인 스프링을 파보기 시작했는데요. 사실 제대로 공부하려고 하면 계속 새 일이 생겨갖고 'ㅅ'; 자는 시간을 줄이며 틈틈히 인프런 김영한님의 강의를 듣고 있었습니다... 이제 MVC 1편 강의를 다 봤는데, 스프링으로 ..

article thumbnail
[안드로이드] 버튼 색상 혹은 drawable이 적용되지 않는 현상
프레임워크/Android 2023. 3. 29. 22:01

안드로이드를 시작할 때 많은 사람들이 한 번 겪는 버튼에 색깔이나 drawable이 적용되지 않는 증상이죠. 백그라운드 속성을 지정해줬으나, 안드로이드 기본 테마 특유의 그 보라색이죠. 여기엔 두 가지 해결방법이 있습니다. AppCompatButton 사용 Button을 androidx.appcompat.widget.AppCompatButton 으로 지정해주면 background 속성이 잘 적용됩니다. Theme 변경 혹은 themes를 AppCompat으로 변경하면 됩니다. 왜 적용이 안되지? 기본 버튼이 듣질 않는 이유는 안드로이드 프로젝트를 만들었을 때, 기본적으로 MaterialComponents 테마로 적용되있기 때문입니다. MaterialComponents의 버튼은 자체적으로 backgroun..

article thumbnail
[안드로이드/코틀린] 리사이클러뷰(RecylcerView)에 아이템 클릭 리스너 넣기
프레임워크/Android 2022. 12. 26. 15:22

리스트뷰와 리사이클러뷰의 아이템 클릭 리스너 ListView에 아이템 클릭 이벤트 리스너를 넣는 것은 꽤 간단했습니다. 그냥 버튼 클릭 리스너를 다는것과 같이 setOnItemClickListener를 달아주면 되니까요 하지만 RecyclerView 안에는 어떠한 itemClickListener를 찾아볼 수 없었습니다. 이는 아이템뷰를 재사용(Recylce)하는 리사이클러뷰의 특성 때문입니다. 뷰를 재사용하기 때문에, 리스트뷰보다 적은 리소스를 사용하며, 더 유연하고 자유롭지만, 마찬가지로 뷰를 재사용하기 때문에, 아이템을 클릭했을 때 이벤트를 처리하기가 어렵다고 하네요. 하지만, 방법이 없는것은 아닙니다. 저희가 직접 아이템 클릭 리스너를 구현하여 넣어주면 되니까요. 참고로 본 포스팅에서 사용하는 리사..

article thumbnail
[안드로이드] Cause: not a valid name: 에러 해결
프레임워크/Android 2022. 11. 29. 13:42

잘 되던 얘가 갑자기 안되기 시작했다. not a valid name이라는 처음보는 에러인데, 나 혼자만이 아닌 다른 팀원들과 같이하는 학부 프로젝트이기 때문에, 다른 팀원들이 뭔가를 잘못 건들였나 하는 생각에 깃허브 로그를 뒤적거리며 찾던 중, 다른 팀원이 id에 한글을 넣어버렸던것 (...) 영어로 바꾸니 잘 된다. 나중에 만나면 꿀밤 한대 때려줘야겠다....

article thumbnail
[Android/안드로이드] 지도 특정 시, 도에 색 칠하기 / 통계 지도 만들기
프레임워크/Android 2022. 10. 8. 22:16

모바일 앱이나 웹을 서비스 할 때, 서비스에 따라 지도에 통계치를 표기할때와 같이 지도의 색을 칠해야 할 때가 있습니다. 처음 시, 도 등 특정 지방자치단체에 색을 칠해야 함을 알았을 때, 어떻게 해야하나... 많은 고민이 있었고 3대 지도 API인 네이버, 카카오, 구글 지도 API에 삽질도 좀 하다가, 스택 오버플로우도 꽤나 많이 기웃거렸던 기억이 납니다. Javascript 관련 예제는 꽤 많은데 안드로이드 관련 예제는 별로 없어서 꽤 애먹었습니다 ㅎㅎ.... 결과적으로 지도에 색을 칠하는 것 자체는 지도 API는 별 필요가 없고 지도 svg 파일 하나와 VectorChildFinder 라이브러리면 됩니다. 지도 SVG 파일 준비 먼저 바탕이 될 지도 svg 파일 하나를 준비합니다. 구글링을 해봤더..

article thumbnail
[안드로이드] Build was configured to prefer settings repositories over project repositories but repository 'Google' was added by build file 'build.gradle' 에러
프레임워크/Android 2022. 7. 10. 20:59

파이어베이스를 추가하려고, 구글 가이드라인을 따라 Android의 build.gradle에 넣으려 했는데, 위와 같은 오류가 뜨더군요. 찾아보니, 안드로이드 스튜디오 Aritcle Fox 이상의 버전부터는 setting.gradle에 추가를 해야 한다 합니다. 안드로이드 스튜디오는 버전이 바뀔때마다 뭔가 조금씩 바뀌는데, 개발자 입장에서는 잘되던 놈이 안되니 매번 당황스러움을 느끼네요 허허...