일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- mysql
- Reactive
- Kotlin
- 테스트 자동화
- MotionLayout
- RxKotlin
- 인앱결제
- rx
- mvvm
- SWIFTUI
- google play
- list
- MediaPlayer
- node
- databinding
- GCP
- Animation
- SwiftUI Tutorial
- MediaSession
- Koin
- 동영상
- paging
- Android
- PagingLib
- node.js
- Android 13
- android13
- Observable
- liveData
- junit
- Today
- Total
목록분류 전체보기 (137)
봄날은 갔다. 이제 그 정신으로 공부하자
Splash Screen이란? 많은 Android앱들이 다양한 기능을 지원하고 또 점점 많은 라이브러리를 탑재하다보니 앱의 사이즈가 커져 사용자가 앱을 실행하기 위해 엡 아이콘을 눌러 실제 앱이 실행되는데까지 시간이 걸리는데 이때 사용자에게 첫화면이 보여지기 전까지 자연스럽게 노출되는 화면으로 Android 12에서는 모든 앱에 새로운 앱 실행 애니메이션을 사용하는 SplashScreen API를 지원합니다. android는 앱 실행을 아래와 같이 3가지(Cold Start, Warm Start, Hot Start)로 구분 할 수 있으며, Splash Screen은 아래 3가지 앱 실행 상태 중 "Cold Start"와 "Warm Start"일때만 동작합니다. Cold Start: 앱이 처음부터 실행되는..
너무 android쪽 글만 쓰는 것 같아 이제 짧게나마 다른 분야에 대해서도 글을 작성해볼까 합니다. 우선 iOS부터... ViewController 호출 자신이 속한 storyBoard에 포함된 ViewController를 호출하는 경우, guard let myDetailVC = self.storyboard?.instantiateViewController(withIdentifier: "MyDetailController") else { return } myDetailVC.modalPresentationStyle = .fullScreen self.present(myDetailVC, animated: true, completion: nil) 다른 storyBoard에 포함된 ViewController를 호출..
Android 12는 구글이 주도하는 안드로이드 모바일 운영체계의 12번째 주요 릴리즈로 19번째 버전으로 2021년 2월 18일 안드로이드 블로그에 최초로 발표되고 5월부터 꾸준한 베타 릴리즈가 계획되었고 8월에 플랫폼이 안정되어 정식 버전이 2021년 10월 4일에 AOSP를 통해 최초로 공개 되었습니다. 이후 구글 픽셀폰을 시작으로 삼성, 화웨이, LG 등의 핸드폰 벤더들이 android 12를 지원하고 있습니다. 이렇게 android 12가 공식적으로 공개되고 지원되는 기기들이 늘어감에 따라 개발자들은 android 12가 기존 11에 비해 어느 부분이 변경되었으며 무슨 차이가 있는지 파악하고 이에 대비해야 합니다. 자세한 변경 사항은 이전 글 참고 -> https://als2019.tistory..
서비스의 원활한 유지 관리를 위해 회원을 받는 과정에서 우리는 어쩔 수 없이 회원을 식별할 수 있는 개인정보를 수집하게 됩니다. 이러한 개인정보 수집은 개인정보 보호법에 근거하여 필요한 부분만 수집해야 하며 또한 수집한 개인정보는 암호화하여 철저히 관리해야 합니다. 여기서 우리는 문제에 봉착하게 됩니다. 수집한 개인정보를 어떤 방식으로 암호화하여 관리해야 할지는 정확히 잘 모르거든요? 들은 풍월에 의하면 공개키 방식이 보안이 뛰어난데 조금 느린 단점이 있다던데… 근데 해시 함수 암호화는 뭐지??? 등등… 암호화에 대해 검색하다보면 끊임없이 관련된 정보들이 쏟아져 들어오는데… 이제 이러한 정보들 속에서 개인정보를 어떻게 암호화해야할지 난감해지기 시작합니다. 고민할 것 없습니다. 아래 3가지만 정확하게 알면..
이 글은 아래 사이트를 학습하며 작성한 글입니다. https://developer.android.com/about/versions/12/behavior-changes-all?hl=ko 모든 앱 동작 변경 사항 모든앱 동작 변경 사항이란? targetSdkVersion과 관계없이 Android 12에서 실행되는 모든 앱에 적용되는 동작 변경 사항으로 앱은 관련 동작 변경 사항을 반드시 파악하여 android 12 단말 출시(or 업데이트)에 문제 없도록 대응해야 합니다. ** 사용자 환경 ** 스트레치 오버스크롤 효과 Android 12 이상을 실행하는 기기에서 오버스크롤 이벤트의 시각적 동작이 변경됩니다. Android 11 이하에서 오버스크롤 이벤트는 시각적 요소에 발광 효과가 나지만 Android 1..
이번 글은 지난 글의 후속 글로 패스워드 암호화에 적합한 해시 함수들에 대해 설명합니다. 지난 글에서 결론은 Bcrypt 해시 함수 알고리즘이 패스워드 암호화에 적합하다고 설명하고 끝냈었는데 패스워드 암호화에 적합한 함수는 그것만 있는 것이 아닙니다. 이번 글에서는 그러한 함수들에 대해 설명하고자 합니다. 우선 지난 글에서 설명한 Bcrypt 함수부터 복습해보도록 하겠습니다. Bcrypt Bcrypt는 Blowfish 암호에 기반을 둔 해시 함수로 1999년 USENIX에서 발표되었으며 Bcrypt 함수는 OpenBSD 및 수세 리눅스 등의 일부 리눅스 배포판을 포함한 기타 시스템용 기본 암호 해시 함수 입니다. Bcypt 암호화 해시 알고리즘의 큰 특징은 SHA 계열에서 약점으로 지적된 빠른 연산으로 ..
잘되던 카톡 공유하기가 안된다면? Android 보안 정책의 강화에 따라 Android 11 이상의 단말에서는 앱이 다른앱에 접근하기 위해서는 manifest.xml 파일에 요소를 추가하여 접근하고자하는 앱의 패키지명 또는 intent Filter 서명을 포함해야하는데 해당 부분을 추가하지 않아 발생하는 문제입니다. 영향받는 API는 아래와 같습니다. - PackageManager.getPackageInfo(…) - PackageManager.getInstalledPackage(…) - PackageManager.queryIntentActivities(…) 조금 자세히 설명하면 Android 11 미만의 단말에서는 카톡이 설치되어 있는 경우 true를 반환하는 동작이 문제 없지만, Android 11 이..
패스워드 암호화라… 음… 이걸 어떻게 설명해야 좋으려나… 고민 끝에 이렇게 시작해 봅니다. 패스워드 암호화 어떤 것이 좋을까요? 개발을 하다보면 어쩔수 없이 회원의 개인정보를 저장해야 할 상황이 생겨버립니다. 그렇다고 회원 가입을 막을 수도 없고, 개인 정보를 저장하지 않을 수도 없고… 개인정보를 저장하려면 암호화해서 저장해야 하는데 어떤 암호화 알고리즘을 사용해야 하지? 암호화 알고리즘도 완벽하지 않다고 하던데… 내가 사용한 알고리즘이 보안에 취약하면 어떻게하지? 개인정보를 암호화해서 사용하면 서비스가 느려지지 않을까? 모든 개인정보를 다 암호화해야 하나? 고민하다보면 정말 끝없는 의문속에 휩싸이게 됩니다. 그리고 암호화에 대해 공부좀 해볼까 하고 파고 들려고 알아보면 엄청나게 많은 암호화 알고리즘의 ..