본문 바로가기
  • A space that records me :)

기술20

[Spring boot] warning: unknown enum constant When.MAYBE 더보기 환경 spring boot v3 gradle java 17 🚫 현상 어느날 부터 빌드할때 아래 경고 메시지가 계속 올라왔다.. 에러는 아니지만 매우 거슬린다. warning: unknown enum constant When.MAYBE reason: class file for javax.annotation.meta.When not found ✏️ 원인 @Nullable 어노테이션을 사용하면서 발생하는 문제로 이 경고는 javax.annotation.meta.When 프로젝트 런타임에서 열거형을 사용할 수 없기 때문에 발생한다고 한다. 🛠️ 해결 방안 이를 수정하려면 Google의 JSR305를 추가하면 된다. build.gradle에 의존성 추가 dependencies { implementation.. 2023. 10. 13.
[Spring boot] Generating equals/hashCode implementation but without a call to superclass ℹ️ Development Environment Spring boot v3.0.1 Gradle v7.6 Java v17 Lombok 🚫 현상 Spring boot gradle build시 아래 warning을 매 프로젝트마다 자주 만난다. warning이기에 빌드시 문제는 없지만, 해소해주는 것이 좋다. 계속 까먹기 때문에 기록한다.. warning: Generating equals/hashCode implementation but without a call to superclass, even though this class does not extend java.lang.Object. If this is intentional, add '@EqualsAndHashCode(callSuper=false)' t.. 2023. 9. 26.
[Keycloak] Keycloak이란? & 간단한 설치 및 테스트 공식 사이트 : https://www.keycloak.org/ 1️⃣ (What) Keycloak이란? Keycloak은 RedHat 산하 IAM 솔루션이다. ❓ IAM 솔루션 (Identity and ACcess Management Soluthion) 회원가입, 로그인 인증, 인가, 로그인 이력관리, 회원 정보 수정, 탈퇴 등.. 인증/인가 기능들이 미리 다 구현되어 있는 솔루션을 말한다. 대표적으로 Keycloak, AWS Cognito같은 서비스가 있다. 1. 특징 SSO (Single-sign-on)를 제공한다. Restful API 지원 및 Custom API를 추가할 수 있다. Java로 개발된 오픈소스이다. https://github.com/keycloak/keycloak\ 2. 제공 기능 .. 2023. 9. 11.
[Android Build failed] Keystore file ... not found for signing config 'debug'. (MAC) 더보기 환경 mac react native android yarn build 🚫 에러 발생 상황 React-native Android 빌드 Failed Keystore file '.../파일명.keystore' not found for signing config 'debug'. BUILD FAILED in 22s error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8.. 2023. 9. 7.
[cocoapods] gem install error react-native설치를 위해 cocoapods설치 하다가 tool이 없다는 에러가 났다. $ sudo gem install cocoapods Last login: Sun Oct 31 17:25:58 on ttys001 yjkim@yjkimui-MacBookPro ~ % sudo gem install cocoapods Password: /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0/universal-darwin20/rbconfig.rb:229: warning: Insecure world writable dir /opt in PATH, mode 040777 Building native extensions. This c.. 2021. 10. 31.
[PostgreSQL] Pgpool-II + Watchdog setting [2021.10.29] PostgreSQL 데이터베이스 서버 2대를 구성하던 중, PostgreSQL만으로는 자동 아카이빙 복제는 되지만 자동 failover는 되지 않는다는 것을 알게되었다. Auto Failovr 를 위해 알아보던 중 대표적인 Pgpool-II을 알게되었고, 이 툴이 PostgreSQL의 커넥션 풀 관리도 해준다는 것을 알게되었다. failback도 자동으로 지원해주는 것 같지만, 데이터베이스 서버 커넥션을 얻어오지 못한다는 것은, 현재 그 서버에 어떤 문제가 있다는 것이고 사람의 직접적인 분석이 필요하므로 failback은 자동으로 구성하지 않았다. 대신 recovery -> start -> pgpool attach node 단계별로 제공하는 스크립트를 만들었다. 시행착오가 정말 많.. 2021. 10. 29.
[PotgreSQL] PostgreSQL 이중화 (HA) 2021.10.29 고객 데이터베이스가 PostgreSQL을 사용. 새로운 프로젝트 구축할 때 PostgreSQL을 사용할 예정. 이중화, failover 구축 예정 환경 Linux, Centos 7 PostgreSQL v.14 PostgreSQL 특징 직접적으로 커넥션 풀을 관리하지 못한다. PgBouncer라는 것을 통해서 DB를 접속하게 하고, 그 사이에서 커넥션 풀을 관리한다. https://www.pgbouncer.org/ https://medium.com/deliverytechkorea/%EB%84%88%EC%9D%98-%EB%82%98%EC%9D%98-%EC%97%B0%EA%B2%B0%EA%B3%A0%EB%A6%AC-db-connection-pooler-pgbouncer-e43ec536a08.. 2021. 10. 29.
[Spring security] 인증 및 권한 체크 2021.10.23 - [IT 기술/권한 인증&인가] - [Spring Security] Authentication 라이브러리 구현 [Spring Security] Authentication 라이브러리 구현 프로젝트마다 로그인/회원가입/권한인증 등 기능을 매번 구현하기 힘들다. 그래서 직접 프로젝트마다 적용시킬 Authentication 라이브러리를 개발하였다. Authentication 라이브러리는 인증 및 권한 관 yjkim97.tistory.com 8. AuthorizationChecker.java ignore, permitAll처리 되지 않은 모든 url 요청이 들어오면 AuthorizationChecker를 통해 메뉴 또는 api에 대한 권한 체크를 한다. 해당 url이 메뉴이면 권한그룹 Aut.. 2021. 10. 24.
[Spring Security] 로그인 기능 구현 2021.10.23 - [IT 기술/권한 인증&인가] - [Spring Security] Authentication 라이브러리 구현 [Spring Security] Authentication 라이브러리 구현 프로젝트마다 로그인/회원가입/권한인증 등 기능을 매번 구현하기 힘들다. 그래서 직접 프로젝트마다 적용시킬 Authentication 라이브러리를 개발하였다. Authentication 라이브러리는 인증 및 권한 관 yjkim97.tistory.com 6. 로그인 기능 구현 spring-security의 DaoAuthenticationProvider를 커스텀하였다. (CustomAuthenticationProvider) CustomAuthenticationProvider에서는 DB에서 사용자 정보를 가.. 2021. 10. 24.