동식이 블로그

[Android] 온디바이스 AI 삽질기 - 2편: 학습 데이터 5만건, Gemini CLI로 하루 만에 만들기

실제 데이터는 못 쓰고, Claude는 비싸고, 그래서 Gemini CLI headless 호출

[Android] 온디바이스 AI 삽질기 - 2편: 학습 데이터 5만건, Gemini CLI로 하루 만에 만들기 파인튜닝을 하려면 데이터가 필요하다. 그런데 데이터가 없다. 학습 데이터 문제 모델도 정했다. 이제 학습을 돌리면 되는데, 문제가 하나 있었다. 학습 데이터가 없다. 파인튜닝은 이런 입력이 오면 이렇게 답해라, 라는 예시 쌍...

[Android] 온디바이스 AI 삽질기 - 1편: AI를 모르는 안드로이드 개발자가 LLM에 손댄 이유

Claude한테 물어보면 되겠지 — 라고 시작했다

[Android] 온디바이스 AI 삽질기 - 1편: AI를 모르는 안드로이드 개발자가 LLM에 손댄 이유 ML도 모르고, 파이썬도 어색한데 LLM을 파인튜닝해보겠다고 나선 이야기 시작하기 전에 이 시리즈는 AI/ML 전문가가 쓰는 글이 아니다. 안드로이드 앱만 만들던 개발자가 온디바이스 AI 기능을 앱에 붙여보자는 목표 하나로 시작해서,...

[Android] NestedScrollWebView

WebView 중첩스크롤 문제 해결

[Android] NestedScrollWebView 이슈가 많은 웹뷰 화면 스크롤링과 스와이프 문제 해결 문제가 되는 기존 구조는 다음과 같다. 문제점 1. 가로스크롤 바 WebView의 가로스크롤은 ScrollView의 최하단에 나타남 문제점 2. WebView 확대 WebView 확대시 내용이 잘려서 보임 문...

[Android] ContentValues Class

ContentValues Class

[Android] ContentValues Class *MediaStore* 를 통해 데이터를 저장하기 전, ContentValues Class에 대해 알아보기 android.content.ContentValues.java에 들어가보면 This class is used to store a set of values that the Conte...

[Android] Bitflag ?

Bitflag 공부

[Android] Bitflag ? 공부공부 비트 플래그(Bitflags)는 하나의 정수 변수를 사용하여 여러 가지 상태를 표현하는 기법이다. 이는 변수 내에서 각 Bool 값에 고유한 비트 위치를 할당해 사용하게된다. 예를 들어 메모리의 최소 크기 단위는 1바이트이므로 변수의 크기는 적어도 1바이트 이상이다. 8비트(1바이트)는 비트가 ...

[Android] Task Hijacking 취약점 CVE-2021-33699

CVE-2021-33699 Task Hijacking

[Android] Task Hijacking 취약점 CVE-2021-33699 이전 글이 새해 첫글!!! 이거네…너무 오랜만에 남기는 글… CVE-2021-33699 안드로이드 Task Hijacking 취약점(CVE-2021-33699)은 2021년 6월에 발견된 안드로이드 운영체제의 보안 취약점 중 하나로, 이 취약점은 악의적인 앱이 ...

[Android] Shared Preference 암호화

EncryptSharedPerference, KeyStore, RSA

[Android] Shared Preference 암호화 새해 첫 글 !! 앱내에 데이터를 캐싱할때 Room을 사용해서 저장하거나, SharedPreference로 값을 저장하곤 한다. SharedPreference를 사용하면 1 2 3 <map> <string name="lastSync">16727141076...

[Android] Gradle BuildType

BuildType.kt 뜯어보기

[Android] Gradle BuildType build.gradle을 Groovy에서 KTS로 마이그레이션을 하면서 gradle에 대한 무지함을 깨닫고.. 프로젝트 시작할 때 말고는 이 빌드 스크립트를 들여다보지 않았구나..라는 생각에 다시 한번 공부의 필요성을 느끼고 시작한다 먼저 build.gradle내의 buildTypes 에 대해...

[Android] Reduce App Size

Apk Analyze를 통한 app size 줄이기

[Android] Reduce App Size 너무너무너무너무 큰 앱 사이즈를 한번 줄여보자 굉장히 바보였다고 한다… 일단 앱 사이즈를 줄이기 전 앱 사이즈를 Android Studio의 APK Analyze를 통해 알아보자 이상하다… 분명 이 앱은 기본적인 CRUD기능만 있는.. 앱 사이즈가 크면 안되는 앱인데 무려 76.9MB...

[Android] OkHttp3 ConnectionSpecs

TLS / Cipher Suite

[Android] OkHttp3 ConnectionSpecs 무언가를 새롭게 배운다는건 신기하고 즐거운 일인 것 같다. 오늘도, 지식 + 1 Okhttp3를 통해서 여러가지 작업을 할 수 있다. 대표적으로 Interceptor를 붙여준다던지, Timeout 설정을 한다던지 이런 작업류들을 보통 많이 사용하고 자주들 접해봤을거라고 생각한다....