2021/11 4

adb에서 쉽게 딥링크(Deeplink) 열기 / 인텐트(Intent) 전송

딥링크 열기 adb shell am start -d "rally://accounts/Checking" -a android.intent.action.VIEW Action을 가진 액티비티 실행 -a 옵션 뒤의 액션을 가지고 있는 액티비티가 실행된다. adb shell am start -a android.intent.action.MAIN 패키지를 지정한 실행 -p 옵션 뒤에 패키지를 설정하면 해당 패키지에서 실행된다. adb shell am start -a android.intent.action.MAIN -p com.example.app 액티비티 실행 -n 옵션 뒤에 컴포넌트 이름을 적어준다. adb shell am start -a android.intent.action.MAIN -n com.example.a..

Redis의 개념과 활용법

Redis란? Redis는 인 메모리 키 값 데이터 구조 스토어다. 일반 Database는 데이터를 디스크에 저장하지만, 레디스는 데이터를 서버의 주 메모리에 저장한다. 그렇기 때문에 전통적 Database보다 데이터 접근 시간이 약 1ms 정도로 월등히 빠르며, 다양한 형식의 데이터를 저장할 수 있다. 대표적으로는 List, Set, Hash, Bitmap 등이 있다. 메모리에 저장하다보니 데이터가 휘발하지 않을까?라는 생각이 들 수도 있지만, 예기치 못한 셧다운 등 필요한 경우 Snapshot을 떠서 저장할 수 있다. Redis의 활용법 캐시(Caching) 캐시는 데이터의 접근시간을 줄이기 위해 가져온 데이터를 복사해두는 임시 공간이다. Redis는 앞서 설명했듯 메모리에 데이터가 저장되어있어 캐시..

[안드로이드] VideoView 소리없이 비디오 재생하기

사용자의 폰에서 돌아가는 다른 미디어 플레이에 지장을 주지 않으면서 현재 비디오 뷰의 Volume을 줄여서 재생해야하는 경우가 있다. MediaPlayer.setVolume(0F, 0F)를 하게되면 볼륨은 줄여지지만, 동시에 미디어 볼륨에도 지장을 주므로 VideoView 내에서 AudioFocus를 AUDIOFOCUS_NONE으로 설정해주는 작업이 필요하다. if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) { // MusicPlayer를 방해하지 않음 setAudioFocusRequest(AudioManager.AUDIOFOCUS_NONE) }

[Nginx] 리버스 프록시로 사용하기 (백업 서버 설정, 로드 밸런싱)

Upstream Nginx를 리버스 프록시로 이용하기 위해서는 nginx의 내장 모듈 중의 하나인 upstream 모듈을 사용하면 된다. upstream 모듈은 proxy_pass등의 지시자에 의해 참조되며 nginx가 받은 요청들을 처리할 서버의 집합을 정의할 수 있다. *리버스 프록시가 무엇인가요? 가정 lou-server1.com, lou-server-2.com, lou-server-3.com이라는 3개의 서버에 각각 웹 애플리케이션이 동작하고 있다고 가정한다. upstream 지시자 바로 뒤의 'backend' 부분은 서버 집합의 그룹명이다. 나중에 proxy_pass에서 이 이름을 가지고 참조 할 수 있다. upstream 블록안에는 현재 동작중인 서버 목록이 들어가게 된다. server 지시자..