본문 바로가기

코틀린39

[Android] 네트워크 보안 구성 SSL 핀셋(pinset) 검증 SHA-265 키 구하기 - 공개키 핀닝 (android network-security-config pin-set key setting) SSL Pinning을 해야하는 이유 with android Glide javax.net.ssl.SSLHandshakeException: Pin.. 이번 공부노트는 안드로이드 SSL Pinning 할 때 여러 가지 방식이 있지만 Network Security Configuration 방식에서 pin-set SHA-265 Key를 구하는 방법을 포스팅해 보겠다. 나도 회사에서 받은 프로젝트에 Network Security Configuration로 SSL Pinning이 되어있어서 키 값을 구해야 하는 상황이었다. 구글링을 해보면 전부 Gradle를 통해서 다른 SHA-265 Key 즉 D9:8F:58~~~~ 이런 식으로 되어있는 키 값 구하는 법 밖에 안 나와서 나처럼 pin-set SHA-265 key를 구하고 싶은 사람을 위해 포스팅을 하기로 결정했다. 본 포스팅은 SHA-265 key 값을 구하는 게 주목적이기 때문에 SSL Pinning을 해.. 2024. 3. 20.
[디자인패턴 - 전략패턴] 전략패턴이란? 예제를 통해 이해하기 (Strategy Pattern) for Head First Design Patterns (헤드퍼스트 디자인 패턴 참조) 이번 포스팅을 시작하기 앞서 개념과 포스팅의 전체적인 내용은 한빛미디어 / 에릭 프리먼 , 엘리자베스 롭슨 / 헤드 퍼스트 디자인 패턴(개정판)을 참조했음을 밝히고 시작하겠다. # 전략패턴(Strategy Pattern)이란? 전략 패턴 ( Strategy Pattern ) 은 알고리즘 군을 정의하고 캡슐화해 서 각각 의 알고리즘 군을 수정해서 쓸 수 있게 해 줍니다. 전략 패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있습니다. 위에서 나오는 말은 책에서 가져온 전략패턴의 사전적 정의이다. 나는 처음에 저런 말을 듣고 전혀 이해가 가지 않았다. 그러므로 디자인패턴을 전혀 모른 상태에서 저 내용이 이해가 안 가는 건 정상이니 너무 걱정 안 해도 될 것이다. 이제 아래에서 예제를.. 2024. 1. 31.
[Android] 안드로이드 인앱결제 관련 이론 정리 이번 포스팅을 해볼것은 안드로이드 앱내에 인앱결제 관련해서 이론적으로 정리해보겠다. ※ 본 포스팅의 참고 문서는 최신 문서가 아닌 예전 문서를 바탕으로 작성 된 것이므로 잘못된 내용이 있으면 댓글 부탁드립니다 :)# 인앱결제의 종류## 1. 일회성 제품 - 일회성 제품은 사용자가 결제 방법으로 반복되지 않는 단일 요금을 지급함으로써 구매할 수 있는 컨텐츠. Google Play 결제 라이브러리에서는 정기 결제를 "INAPP"이라고 칭한다. 일회성 제품은 아래 두가지 종류로 나뉜다.👉 소비성 제품 : 소비성 제품은 사용자가 게임 내 컨텐츠를 받기 위해 소비하는 제품. ex) 게임 머니 👉 비소비성 제품 : 비소비성 제품은 한 번 구매하면 영구적인 혜택을 제공하는 제품 ex) 프리미엄 업그레이드## 2. 정.. 2023. 12. 1.
[Android-Compose] Spacer를 이용해 간단한 선 만들기 이번 포스팅은 정말 간단한 포스팅이다. 개발 시 간단한 수직 선이나 수평선을 만들어야 할 때가 있다. 그럴 때 컴포즈에서는 어떤 식으로 처리하는지 알아보자! 우선 많은 방법들이 있지만 이번 예제에서는 Spacer()컴포저블 함수를 사용해 볼 것이다. Spacer함수는 보통 컴포넌트 간의 공간을 만들고, 레이아웃의 일부 영역을 비워두기 위한 용도로 사용하는데 간단한 선도 만들 수 있다. 그럼 아래 예제를 통해 어떤 식으로 만드는지 알아보자! # 수직 선 만들기 // 너비가 1dp인 수직선 만들기 Spacer(modifier = Modifier .width(1.dp) .fillMaxHeight() .background(Color.Black) ) 이런 식으로 width값을 주어 간단한 수직선을 만들 수 있다... 2023. 5. 25.
[Android-Hilt] 안드로이드 Hilt(힐트)란? 이번 포스팅은 드디어 의존성 주입 (dependency injection, di) 라이브러리중 하나인 힐트를 알아보도록 하자! 우선 들어가기전 DI의 개념을 모르면 어려울 수도 있기 때문에 학습을 하고 이 글을 보는걸 추천한다. DI에 대한 포스팅은 추후에 추가 하도록 하겠다.# Hilt(힐트)란?간단하게 정리하자면 안드로이드에서 쉽게 의존성을 관리해주고 주입해주는 라이브러리라고 생각하면 된다. 또한 기존에 많이 쓰이던 Dagger(대거)를 기반으로 만들어졌다. 대거는 러닝커브가 높은 편이라서 학습하기가 어렵다 그리고 구글에서도 힐트를 지원해주고 있어서 안쓸 이유가 없는거 같다.# 사용법## gradle 추가- build.gradleplugins { ... id 'com.google.dagger.hilt.. 2023. 4. 19.
[Firebase - 휴대폰 인증 오류 ] SMS verification code request failed: unknown status code: 17010 null 현재 회사에서 신규 프로젝트를 하는 중 휴대폰 번호 인증 부분이 있는데 파이어베이스에서 제공하는 Authentication 기능을 사용하기로 했다. 하지만 휴대폰 번호를 입력하고 인증받기를 누르는데 아래와 같은 오류가 발생했다. SMS verification code request failed: unknown status code: 17010 null 아무리 휴대폰 번호를 입력해도 같은 오류만 발생할 뿐 나아지지 않았다. 여기서 중요한 점은 테스트번호는 되는 것이었다. 아무튼 TMI는 뒤로하고 오류 발생 원인을 적어보도록 하겠다. # 오류 발생 원인 나도 저 위에있는 오류가 무엇인지 당연 구글링을 해봤고 여러 문서들 중 가장 정확한? 글을 가져와봤다. When you repetitively use a s.. 2023. 4. 18.