
`react-native-biometrics` 라이브러리를 사용하여, 생체인증 (Android: 지문인식 / iOS: TouchID, FaceID)를 적용하는 방법에 대해서 정리하였다. 라이브러리 설치npm install --save react-native-biometrics 권한 설정앱이 기기의 하드웨어(지문 센서, Face ID 등)와 소프트웨어 API에 접근할 수 있도록 허용하는 과정Android 권한 설정`app/src/main/AndroidManifest.xml` 파일에 아래와 같이 권한에 대한 선언이 필요하다. iOS 권한 설정`Info.plist` 파일에 아래 항목을 추가한다.NSFaceIDUsageDescription앱에서 Face ID를 사용하여 인증합니다. 생체인증 구현생체인증 가능 ..

Before[Spring Boot] Spring Security JWT 로그인 구현 (1) [Spring Boot] Spring Security JWT 로그인 구현 (1)JWT 로그인 구현하기 Spring Boot 3.0 부터 Spring Security 6.0.0 이상의 버전이 적용되면서, Spring Boot 3.1.2 와 Spring Security 6.1.2를 사용하여 JWT 로그인을 구현하고 그 과정을 정리 하였다. [변경사항] WebSecuritbright-forward.tistory.com JWT 발급하기 로그인 진행시 AccessToken과 RefreshToken을 발급 받고,AccessToken이 만료되면 RefreshToken을 통해 AccessToken을 재발급 받을 수 있도록 구현하..

WebSecurityConfigurerAdapterSpring Security 5.7.0 부터 해당 클래스가 컴포넌트 기반의 보안설정을 권장한다는 이유로 Deprecated 되었다.@Configuration@EnableWebSecuritypublic class SecurityConfiguration extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { // configure HTTP security... } @Override public void configure(WebSecurity web) throws Exceptio..

JWT 로그인 구현하기Spring Boot 3.0 부터 Spring Security 6.0.0 이상의 버전이 적용되면서,Spring Boot 3.1.2 와 Spring Security 6.1.2를 사용하여 JWT 로그인을 구현하고 그 과정을 정리 하였다.[변경사항] WebSecurityConfigurerAdapter Deprecated [Spring Security] WebSecurityConfigurerAdapter DeprecatedWebSecurityConfigurerAdapter Spring Security 5.7.0 부터 해당 클래스가 컴포넌트 기반의 보안설정을 권장한다는 이유로 Deprecated 되었다. @Configuration @EnableWebSecurity public class Se..
오류내용 error: insufficient permission for adding an object to repository database .git/objects Linux 서버에서 git pull을 진행하던 중 오류 발생 .git/objects에 쓰기 권한이 없어서 발생하는 문제 오류 해결 $cd .git $sudo chmod 777 -R objects/ .git/object에 쓰기 권한 부여 777의 의미 소유자 권한 / 그룹 사용자 권한 / 기타 사용자 권한 에 권한을 부여한다는 의미 4: 읽기 권한 / 2: 쓰기 권한 / 1: 실행권한 4 + 2 + 1 = 7 이면 읽기/쓰기/실행 권한을 모두 부여한다는 의미

오늘 한 일 8시 출근 2일차 조금 피곤하긴 한데 저녁 시간이 많아져서 하루가 길어진 느낌이다. 저녁 시간을 조금 더 효율적으로 사용할 수 있는 방법을 찾아봐야겠다. 일단은 Kotlin 공부를 중심으로 시작! 프로그래머스 스킬체크 [r굿 스타터]는 clear! [탄탄한 비기너] 도전 중인데.. 코틀린이 아직 익숙하지 않은 탓일까? 깔끔하게 광탈! 계속해서 Kotlin 공부하면서 도전해야겠다! 마무리 딱히 뭐.. 오늘은 회사일이 잘 안끝나서 스프링 시큐리티도 못봤다.

오늘 한 일 스프링 시큐리티 (Kotlin) 스터디 http://www.yes24.com/Product/Goods/112200347 스프링 시큐리티 인 액션 - YES24 모든 스프링 개발자에게 권장하는 스프링 시큐리티 필수 가이드!보안은 타협할 수 없는 중요한 요소다. 스프링 시큐리티로 안전하게 데이터를 전송하고 자격 증명을 검증하며 공격을 방지하는 www.yes24.com 스프링 시큐리티 인 액션으로 스터디를 시작했다. 어제 Swagger를 잘 못 적용시켰던 것은 알고보니 Swagger 2.0과 Swagger 3.0의 접속 주소가 달라서 그런 것 이었다. swagger 2.0 접속 url http://localhost:8080/swagger-ui.html swagger 3.0 접속 url http:/..

Hibernate Entity 엔티티 클래스는 final 일 수 있지만 lazy loading을 위한 proxy 객체를 생성 할 수 없다. Technically Hibernate can persist final classes or classes with final persistent state accessor (getter/setter) methods. However, it is generally not a good idea as doing so will stop Hibernate from being able to generate proxies for lazy-loading the entity. - Hibernate 공식 문서 - allOpen Kotlin 과 final 하지만 Kotlin에서는 클래스와..

String 변수 생성 String str1 = "apple"; //리터럴을 이용한 방식 String str2 = "apple"; //리터럴을 이용한 방식 String str3 = new String("example"); //new 연산자를 이용한 방식 String str4 = new String("example"); //new 연산자를 이용한 방식 리터럴을 이용한 방식 string constant pool이라는 영역에 생성 intern() 메서드가 호출됨 intern() : 주어진 문자열이 string constant pool에 존재하는지 검색해서 존재하면 주소를 반환 new 연산자를 이용한 방식 Heap 영역에 생성 문자열 비교 == 연산자 비교하고자 하는 대상의 주소값을 비교 // 불일치 publi..

배열과 for문 for문을 통해서 배열의 각 요소에 접근할 수 있다. 홀수 찾기 val arr = arrayOf(1, 97, 78, 13, 17, 89, 24, 88) var oddArr = emptyArray() for(i in arr) { if(i%2 !== 0) { oddArr = oddArr.plus(i) } } print(oddArr.contentToString())//[1, 97, 13, 17, 89] for문을 통해 배열 arr의 0번 인덱스부터 순회하며 2로 나눈 나머지 값이 0이 아닌 값들을 빈 배열 oddArr에 추가해서 arr 배열에서 홀수 값만 가진 oddArr 배열을 얻을 수 있습니다.