일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- socket-client
- Android
- mosquitto
- OZViewer
- BottomSheetDialog
- google-login
- ActivityResult-API
- Kotlin
- ozd
- hung-up
- Dva
- TIZEN
- 오즈뷰어
- Java8
- JNI
- Flavors
- gradle
- git-push
- git
- mqtt
- Galaxy Watch
- NoSuchMethodError
- firebase-storage
- AWS
- firebase-database
- socket-server
- cloud-firestore
- 워치
- socket.io
- Firebase
- Today
- Total
목록전체 글 (109)
Hyeyeon blog
container 의 volume 정보 조회 $ docker inspect -f '{{ .Mounts }}' CONTAINER_ID or CONTAINER_NAME image에 volum mount해서 실행 - HOST_DIR 과 CONTAINER_DIR 서로 공유- 이미 생성된 컨테이너에 볼륨 마운트 불가- [Docker Documentation]$ docker run -v HOST_DIR:CONTAINER_DIR IMAGE_NAME
container → .tar $ docker export CONTAINER_NAME PATH/FILE_NAME.tar .tar → container $ docker import PATH/FILE_NAME.tar .tar → image - [Docker Documentation] $ docker load PATH/FILE_NAME.tar image → .tar $ docker save IMAGE_NAME PATH/FILE_NAME.tar container → image - [Docker Documentation] $ docker commit CONTAINER_ID IMAGE_NAME:TAG
Docker 설치 $ apt-get install docker.io Docker 실행 $ service docker start Image 다운로드 - 최신 버전은 tag에 'latest' $ docker pull IMAGE_NAME : TAG 컨테이너 실행 $ docker start CONTAINER_NAME 컨테이너 삭제 $ docker rm CONTAINER_NAME 컨테이너 전체 삭제 $ docker rm $(docker ps -a -q) 컨테이너 이름 변경 $ docker rename PREV_NAME NEW_NAME 이미지 삭제 $ docker rmi IMAGE_NAME 이미지 전체 삭제 $ docker rmi $(docker images -q) 컨테이너로 이미지 생성 $ docker commi..
1. 정의 A pragmatic lightweight dependency injection framework for Kotlin developers (Dependency Injection 보다 Service Location에 가까움) 2. 대상 코드 생성의 부하 때문에 작거나 중간 사이즈의 앱에 적합 3. Dagger vs Koin Dagger는 컴파일 과정에서 DI를 주입하기 때문에 컴파일 오버헤드가 있는 반면, Koin은 런타임 시 DI를 주입하기 때문에 상대적으로 런타임 오버헤드가 있음 4. 기본 사용법 (1) gradle.xml 1. build.gradle(Project) buildscript { ext.koin_version = '2.2.2' } 2. build.gradle(Module) dep..
1. Encode Base64 - Base64.NO_WRAP : Base64 값의 마지막에 붙는 '\n'를 삭제 val target = "TEXT" val base64 = Base64.encodeToString(target.toByteArray(StandardCharsets.UTF_8), Base64.NO_WRAP) 2. Encrypt SHA-512 - MessageDigest algorighm으로 MD5, SHA-1, SHA-224, SHA-256, SHA-384, SHA-512 사용 가능 fun getEncrypt() : String{ val target = "TEXT" val messageDigest = MessageDigest.getInstance("SHA-512") val digest = md...
※ SMS, 전화 퍼미션 관련 구글 정책 1. AndroidManifest.xml 2. 사용하려는 Activity에 BroadcastReceiver 구현 및 등록 import android.content.BroadcastReceiver lateinit var receiver : BroadcastReceiver ... private fun initSmsReceiver() { receiver = object : BroadcastReceiver() { override fun onReceive(context: Context?, intent: Intent?) { if ((intent!!.action as String) == Flag.SMS_RECEIVED) { val bundle = intent.extras va..
::.isInitialized 사용 lateinit str : String if(::str.isInitialized) { ... }
1. Dependency Injection - 컴포넌트간의 의존 관계를 소스코드 내부가 아닌 외부 설정 파일등을 통해 정의되게하는 디자인 패턴중 하나- 객체를 직접 생성하지 않고 외부에서 주입한 객체를 사용하는 방식- 코드간의 커플링을 줄이며 유닛테스트를 용이하게 함 2. Service Locator [Wikipedia]- '서비스 로케이터' 라는 중앙 등록자를 두어, 요청이 들어왔을 때 특정 업무를 수행하기 위한 정보를 반환한다.- apk 크기, 빌드 속도, 메서드 수 등 복잡한 제약이 있는 경우 사용하기 편하다. 3. Dependency Injection vs Service Locator Dependency Injection Service Locator 일부 핵심 클래스에 종속성을 주입 모든 클래스가..