본문 바로가기

분류 전체보기

(105)
안드로이드 스튜디오 / Appsflyer onelink 적용방법 앱내 게시물 링크를 공유해서 링크를 클릭하면 해당 게시물로 들어오게 하기 위해서는 deeplink를 사용해야한다. Appsflyer onelink를 사용하여 구현하였다. 1. Appsflyer sdk 설치 1-1. 모듈단위 gradle dependencies { // Get the latest version from https://mvnrepository.com/artifact/com.appsflyer/af-android-sdk implementation 'com.appsflyer:af-android-sdk:6.9.0' } 1-2. manifest Appsflyer 에서 링크가 생성되면, 2. Manifest에서 intent-filter를 추가해준다. 이때, onelink intent-filter와 Ap..
안드로이드 스튜디오 / targetSdk33 알림 권한 요청 기존 안드로이드12 이하는 알림 권한 기본값이 활성화였는데, 안드로이드13부터는 기본값이 비활성화라고 한다. 따라서 Notification 권한을 요청하거나, 사용자가 직접 알림 설정에 들어가서 활성화를 해야 한다. Notification권한은 targetSdk33이상에서만 권한 추가 요청이 가능하다. targetSdk31로 되어 있던 프로젝트를 targetSdk33으로 올리기로 하였다. (진작했어야했는데...) 그리고, 알림 설정 팝업을 띄워주는 코드를 추가하였다. 1. build.gradle 에서 targettSdk33, compileSdk33으로 변경 2. manifest 에서 POST_NOTIFICATION 퍼미션 추가 다행히 크게 변경할 코드가 없어서 sync만 맞춰주었다. 3. 알림권한이 설정..
쏙쏙 들어오는 함수형 코딩 / 액션, 계산의 차이 - 계산은 무엇인가 ? 계산은 입력값으로 출력값을 만드는 것이다. 실행 시점과 횟수에 관계없이 항상 같은 입력값에 대해 같은 출력값을 돌려준다. 계산은 함수로 구현한다. - 계산이 액션보다 좋은 점 1. 테스트하기 쉽다 2. 기계적인 분석이 쉽다 3. 계산은 조합하기 좋다 - 계산을 쓰면서 걱정하지 않아도 되는 것 1. 동시에 실행되는 것 2. 과거에 실행되었던 것이나 미래에 실행할 것 3. 실행 횟수 - 계산의 단점 계산과 액션은 실행하기 전에 어떤 일이 발생할지 알 수 없다 - 액션이란? 외부 세계에 영향을 주거나 받는 것을 말한다. 액션은 실행시점과 횟수에 의존한다. ex) 이메일 보내기, 계좌에서 인출하기, 전역변숫값 바꾸기, ajax 요청 보내기 - 액션은 쉽지 않다!! 액션은 사용하기 어렵다...
Hilt 오류? module을 나누고, Hilt로 DI 적용을 하다 생긴 소소한 오류의 원인들 1. app단에 domain과 data를 주입했나? 2. Manifest에 name 등록을 해주었나? 3. 적절한 Annotation을 붙여 주입을 해주었나? 4. module 클래스를 생성하여 Provide를 이용하여 의존성을 주입하였나>? 5. kotlin 1.7.10 -> hilt 2.42 https://stackoverflow.com/questions/67744002/hilt-unsupported-metadata-version-in-kotlin
쏙쏙 들어오는 함수형 코딩 / 함수형 프로그래밍? 함수형 프로그래머는 액션, 계산, 데이터 이렇게 세분류로 코드를 나눈다. 1. 액션 : 실행 시점이나 횟수 또는 둘 다에 의존한다. - 시간이 지남에 따라 안전하게 상태를 바꿀 수 있는 방법 - 순서를 보장하는 방법 - 액션이 정확히 한 번만 실행되게 보장하는 방법 2. 계산 : 입력값으로 출력값을 만드는 것 - 정확성을 위한 정적 분석 - 소프트웨어에서 쓸 수 있는 수학적 지식 - 텍스트 전략 3. 데이터 : 이벤트에 대한 기록한 사실 - 효율적으로 접근하기 위해 데이터를 구성하는 방법 - 데이터를 보관하기 위한 기술 - 데이터를 이용해 중요한 것을 발견하는 원칙 분산 시스템 규칙 3가지 1. 메시지 순서가 바뀔 수 있다. 2. 메시지는 한 번 이상 도착할 수도 있고 도착하지 않을 수도 있다. 3. 응..
github / 삭제한 브랜치 복구하기 브랜치를 로컬에서만 삭제했다면, 원격 브랜치에서 바로 가져오면 되는데 로컬, 원격에서 모두 삭제를 했을땐?! 어떻게 할까 1. 지워버린 브랜치에서 한 활동 로그들을 확인한다. git reflog | grep "to 브랜치명" 2. 위에서 확인한 가장 낮은 번호를 기준으로 체크아웃한다.. git checkout -b 브랜치명 HEAD@{번호} 위 방법으로 했는데, 커밋 기록이 맞지 않거나 원하는 위치가 아니라면 해당 브랜치를 지우고, 위 방법을 다시 해주면 된다. 저도 알고싶지 않았어요...
맥 zsh: command not found: adb 오류 안드로이드스튜디오에서 adb 명령어가 안먹는 경우 vi ~/.zshrc -> export ANDROID_HOME=/Users/$USER/Library/Android/sdk/ export PATH=$PATH:$ANDROID_HOME export PATH=$PATH:$ANDROID_HOME/tools export PATH=$PATH:$ANDROID_HOME/platform-tools :wq 후 엔터 source ~/.zshrc -> 적용 adb -> 정상작동 확인
Github / 잔디가 안심어지는 경우 1. commit한 브랜치가 default 브랜치가 아니어서 -> default 브랜치 변경 or default브랜치에서 커밋한 브랜치 머지 2. fork한 repository에서의 commit -> 새 레포지토리 만든 후 mirror push 사용 3. 커밋한 이메일이 다른 경우 -> 이메일 변경

반응형