본문 바로가기

전체보기

(288)
[Android] 확 바뀐 안드로이드 스튜디오 프로파일러로 메모리 릭 & CPU 점유율 잡는 법 Android Studio가 업데이트되면서 기존에 익숙했던 Android Monitor가 사라지고 **App Profiler**로 기능이 통합되었습니다. UI와 사용법이 변경되어 당황스러우셨던 분들을 위해, 최신 안드로이드 스튜디오(Koala, Ladybug 등) 환경에서 **메모리 릭(Memory Leak)**을 잡는 방법과 CPU 점유율을 분석하는 방법을 정리했습니다.1. 메모리 릭(Memory Leak) 잡아내기메모리 릭을 탐지하는 방법은 크게 두 가지가 있습니다. 개발 단계에서 가장 추천하는 자동화 툴(LeakCanary) 방식과, 정밀 분석을 위한 Android Studio Profiler 방식입니다.방법 A: LeakCanary 라이브러리 사용 (추천)가장 쉽고 확실한 방법입니다. 코드를 수정..
AI가 당신의 10년 묵은 스파게티 코드를 구원할 수 없는 이유 (feat. 제조사 SW의 눈물) "이거 AI 돌려서 싹 정리하죠?" 요즘 회의 시간이나 커뮤니티에서 종종 듣는 말입니다. AI 툴이 비약적으로 발전하면서, 복잡하고 지저분한 레거시 코드(Legacy Code)를 AI에게 맡겨 깔끔하게 리팩토링하자는 주장이 힘을 얻고 있습니다.하지만 20년 넘게 안드로이드와 제조사 SW를 다뤄온 제 입장에서 단호하게 말씀드립니다. "그건 판타지입니다."오늘은 왜 AI가 레거시 코드의 만능열쇠가 될 수 없는지, 특히 현업의 관점에서 이야기해 보려 합니다.1. SW의 진짜 가격표는 '코드'가 아니라 '검증'에 붙어 있다많은 분이 간과하는 사실이 있습니다. 소프트웨어의 가치는 코드를 짜는 행위가 아니라, **"이 코드가 어떤 상황에서도 죽지 않고 돈을 벌어다 준다"는 검증(Verification)**에서 나옵..
Gemini가 말아주는 MVVM 시작 가이드 [MVVM + Room + Kotlin] 일기장 앱 개발 가이드 Phase 0: 개념 잡기 (Java 개발자를 위한 브리핑)1. MVVM 패턴이란?과거에는 Activity가 UI도 그리고, DB도 찌르고, 로직도 처리했죠? (God Activity). MVVM은 이를 철저히 분리합니다.Model (Room DB): 데이터 그 자체입니다.View (XML, Activity): 껍데기입니다. "화면에 무엇을 보여라"라는 명령을 받기만 하고, 사용자의 클릭을 ViewModel에 전달만 합니다. 절대 로직을 갖지 않습니다.ViewModel: 화면을 위한 데이터를 들고 있는 상태 저장소입니다. 화면 회전(Rotation)이 일어나도 죽지 않습니다. View가 "나 뭐 보여줘?" 하고 관찰(Observe)하고 있는..
GitHub Copilot 이 말아주는 MVVM 시작 가이드 Android MVVM 패턴 완벽 입문 가이드 📱목차MVVM 패턴 이해하기프로젝트 준비단계별 구현최종 프로젝트: 일기장 앱1. MVVM 패턴 이해하기1.1 MVVM이란?MVVM (Model-View-ViewModel) 은 UI와 비즈니스 로직을 분리하는 아키텍처 패턴입니다.┌──────────┐ ┌─────────────┐ ┌───────┐│ View │ ────▶│ ViewModel │ ────▶│ Model ││ (UI) │ ◀──── │ (로직) │ ◀──── │(데이터)│└──────────┘ └─────────────┘ └───────┘각 계층의 역할:View (Activity/Fragment): UI 표시, 사용자 입력 전달만 ..
ChatGpt가 말아주는 MVVM 시작 가이드 초보자 눈높이로 개념 → 설계 → 구현 → 확장 순서로, 중간중간 Kotlin 설명도 넣었습니다. 예제 코드는 Android 프로젝트에서 바로 붙여 쓸 수 있도록 구성했어요.요약(한눈에)목표: Room 기반 일기장 앱 (왼쪽: 일기 목록, 오른쪽: 일기 뷰어). 뷰어에서 수정/삭제 가능.아키텍처: MVVM (UI: Fragment/Activity — ViewModel — Repository — Room)핵심 기술: Kotlin, AndroidX ViewModel, LiveData, DataBinding, Coroutines, Room, RecyclerView샘플 구조: MainActivity(호스트) → DiaryListFragment(왼쪽) + DiaryViewerFragment(오른쪽). 두 Frag..
[긴급] 쿠팡 개인정보 유출, 내 정보는 안전할까? 2차 해킹 막는 필수 체크리스트 최근 쿠팡에서 4개월 넘게 고객 개인정보가 해커에게 유출되었다는 충격적인 소식이 들려왔습니다. 이름, 전화번호, 주소, 주문 내역 등 민감한 정보가 장기간 노출되었다면, 단순히 "기분 나쁘다"에서 끝날 문제가 아닙니다.해커들은 이 정보를 바탕으로 **2차, 3차 해킹(금융 피해, 사칭 사기)**을 시도할 가능성이 매우 높습니다.22년 차 개발자로서, 지금 당장 여러분이 수행해야 할 보안 조치 체크리스트를 정리해 드립니다. 이 글을 보는 즉시 하나씩 실행해 주세요.✅ 1. '비밀번호' 변경 (가장 중요: 다른 사이트까지!)가장 기본이지만, 가장 중요한 단계입니다. 하지만 핵심은 **'쿠팡만 바꾸면 안 된다'**는 것입니다.쿠팡 비밀번호 즉시 변경: 특수문자, 대소문자를 섞어 기존과 전혀 다른 패턴으로 변경..
전설의 귀환인가? Polar Solaron 35mm f2 (7매 복각) 사용기 1. 프롤로그: 전설을 쫓아서라이카를 사용하는 사진가라면 누구나 한 번쯤 들어봤을 이름, 'King of Bokeh(보케의 제왕)'. 바로 Summicron 35mm V4 (7매) 렌즈입니다. 하지만 천정부지로 치솟은 가격 때문에 선뜻 들이기 어려운 것이 현실이죠.그러던 중 흥미로운 렌즈를 만났습니다. 바로 Polar Optics의 Solaron 35mm f/2입니다. 중국의 신생 광학 제조사에서 작정하고 7매 렌즈를 복각해 내놓은 이 렌즈, 과연 오리지널의 감성을 얼마나 재현했을까요? 직접 마운트하고 거리를 걸으며 느껴본 소감을 정리해 봅니다. 2. 렌즈 스펙 (Specification)Polar Solaron 35mm f2는 오리지널 7매의 광학 설계를 충실히 따르고 있습니다. 주요 스펙은 다음과 같..
[Leica M11-P] 라이카로 담은 주말 일상 안녕하세요? 엘카입니다. 피곤한 상태일 때는 와이프와 주말을 집 과 동네 카페를 왔다갔다하며 일상을 즐깁니다.이렇게 동네 마실 나갈 땐 가벼운 렌즈가 필요하죠? 그래서 최근에 구매한 가벼운 35mm F2 단렌즈 하나 물리고 나갑니다. 카페에 도착해서 빵 사진도 담아봤습니다.부드러운 보케가 빵을 더 먹음직스럽게 만들어 주네요. 35mm F1.4 보다 약하지만 그래도 배경분리는 확실히 되서 좋네요.F2 렌즈를 많이 내는 이유가 가벼움과 보케를 살리는 마지노선 조리개라 그런 거 아닌 가 생각합니다. 야간 스냅도 참 매력적입니다.그래도 야간 스냅은 Simera 35 F/1.4 가 그 자릴 차지하겠네요.
[LUMIX S1R2] 만추 가득찬 가을을 지나 겨울로 가네요.와이프랑 함께 걷고 쳐다보던 길 들에 가득한 가을 맞이 잎들이 다 사라져 가는 걸 보니 그리워하다 라는 단어가 생각났어요. 그래서 그리움 가득한 느낌이 오도록 색감을 조정해 봤습니다.간만에 색감 만지니 재밌네요.
ViewModel, DataBinding 으로 ViewPager2/RecyclerView 제대로 쓰는 방법 정리 ViewModel, DataBinding 으로 ViewPager2/RecyclerView 제대로 쓰는 방법 정리ViewModel + DataBinding + ViewPager2 + RecyclerView 조합을 한 화면에 쓰다 보면,클릭 한 번에 로그가 여러 번 찍히거나, 콜백이 중복 호출되는 문제가 자주 나온다.이 글에서는ViewModel 에서 상태와 콜백을 관리하고XML(DataBinding) 으로 ViewPager2 와 묶고@BindingAdapter 와 어댑터에서 중복 등록 없이 구현하는 전체 패턴을 예제 코드와 함께 정리한다. 1. 전체 구조 한 번에 보기구성은 이렇게 나뉜다.ViewModel아이템 리스트 상태선택된 아이템 상태아이템 선택 콜백XML 레이아웃ViewPager2DataBinding..
[Android] MVVM 다음 스텝: Flow, StateFlow, Hilt 초보자 완벽 가이드 지난 가이드에서 ViewModel과 DataBinding으로 MVVM의 기본기를 다졌습니다. 이제 안드로이드 아키텍처를 완성하는 마지막 퍼즐, Flow/StateFlow와 Hilt를 알아볼 차례입니다.이 가이드는 LiveData를 Flow로 바꾸고, ViewModel 생성을 Hilt에 맡기는 과정을 상세히 다룹니다. 1. Flow & StateFlow (LiveData의 다음 세대)LiveData는 훌륭하지만, 안드로이드 생명주기에 종속적이며 기능(결합, 변형 등)이 제한적입니다. Flow는 Kotlin 코루틴을 기반으로 한 비동기 데이터 스트림으로, 더 강력하고 유연합니다.1-1. "대체 왜?" - LiveData 대신 StateFlow?LiveData: 안드로이드 전용. View(Activity)가 ..
[Android] 3년 만에 복귀한 개발자를 위한 MVVM, ViewModel, DataBinding 완벽 정복 가이드 안녕하세요! 오랜만에 안드로이드 프로젝트로 복귀하신 것을 환영합니다. 3년 전이라면 아마 MVP 패턴이나 findViewById를 주로 사용하셨을 텐데요, 현재 안드로이드 개발은 MVVM (Model-View-ViewModel) 아키텍처를 중심으로 완전히 재편되었습니다.ViewModel, DataBinding, LiveData... 처음엔 낯설지만, 한번 익숙해지면 예전 방식으로 돌아갈 수 없을 만큼 강력하고 편리합니다.이 가이드에서는 복귀 개발자의 시각에서 가장 헷갈리는 부분만 쏙쏙 뽑아, "왜 쓰는지"부터 "어떻게 쓰는지"까지 상세하게 알려드립니다. 1. "대체 왜?" - MVVM, 왜 써야 하나요?예전에는 Activity나 Fragment(View)가 API 통신, 데이터 계산, UI 변경 등 모든..
'감성'의 스틸 림 복각이냐, '성능'의 현행 FLE냐. 35mm 주미룩스 완벽 해부. 라이카 35mm f/1.4 주미룩스(Summilux) 비교 분석:스틸 림(Steel Rim) 복각판 (11301) 대 현행 ASPH. FLE (11726) 1.0 서론: 두 개의 철학, 하나의 초점 거리 (35mm f/1.4)1.1 보고서의 목적본 보고서는 라이카(Leica) M-마운트의 상징적인 35mm $f/1.4$ 초점 거리에서 현행으로 판매되는 두 가지 핵심 렌즈, 즉 **Leica Summilux-M 35 $f/1.4$ '스틸 림(Steel Rim)' 복각판 (모델 11301)**과 **Leica Summilux-M 35 $f/1.4$ ASPH. FLE (모델 11726)**에 대한 심층 비교 분석을 제공합니다. 이 두 렌즈는 동일한 제조사, 동일한 초점 거리, 동일한 최대 개방 조리개 값을..
Lumix S1R2 | TTArtisan AF 40mm F2 L 마운트 리뷰 (안사면 흑우) 안녕하세요? 엘카입니다. 간만에 올리는 포스팅, 제목이 아주 자극적이죠?하지만 23만원으로 구매할 수 있는 아주 작고 가볍고 화질 과 그 특유 발색이 아름다운 렌즈가 있다면 믿으실까요? 지금 2차 구매를 KPP샵에서 한다고 하니 달려가셔서 구매 하시길 바랍니다. 일단 이 렌즈를 칭찬하는 이유는 저렴한 가격이니 화질을 따지지 마시고, L 마운트 유저들에게 가볍고, 발색 좋고, 화질도 준수한 20만원 초반대 AF렌즈가 있다는 것에 큰 박수를 주고 싶습니다. KPP샵에서 사면 무상보증도 3년입니다. 특히 바디가 메탈, 후드도 메탈이라서 넘 만족스럽네요.75mm 의 유격이 아주 넘치는 플라스틱 후드 엄청 악플 달았더니, 이번에는 메탈에 딱 맞는 후드가 나왔어요. 칭찬해. 하지만 저는 사각 후드가 좋아 고민하다..
Lumix S1R2 | 안양천 가을 냄새 안녕하세요? 사진찍는 개발자 엘카입니다. 오늘은 한 대의 바디와 한 개의 렌즈로 날씨가 너무 좋아 오전을 운동하는 날로 정했습니다.구일역에 내린 후 가산디지털단지 까지 안양천으로 통한 도보로 이동했습니다. 세상에 오늘 날씨 너무 좋아 모든 것이 선명하게 담겨지는 하루 였습니다. 가을 냄새를 담아왔습니다. 사진으로 공유해 봅니다. 벤치를 다양한 시선으로 담아보고 싶어 몇장 촬영했습니다. S PRO 50 렌즈는 보케와 선예도가 일품이라 꽃 사진 찍기 참 좋습니다.그래서 열심히 담아봤습니다. 풍경도 빠질 수 없네요.
Lumix S1R2 | 안양천을 나와 가산동 진입 때 만나는 INK 커피점 오늘 안양천 산책을 마친 후 가산동 헬스장 가는 길에 담은 사진입니다. 커피를 즐기고 가고 싶었으나 몸 식기 전에 웨이트를 해야 해서 사진으로만 담았네요. 아쉽!!
Leica M11-P | 라이카 X 타이포크 로 담은 문래동 스냅 안녕하세요? 엘카입니다. 요즘 제가 공부하고 있는 35mm 화각 연습을 위해 문래동을 방문했습니다. 라이카의 광학 뷰파인더는 보이는 게 그대로 찍히는 게 아니라 렌즈 인식에 따른 테두리 안에서 사진이 찍히기 때문에 미러리스를 사용하는 저는 단순 화각 뿐만 아니라 추가 어려움이 생겼습니다. 바로 라이카 M 시스템 광학식 뷰파인더에서 펼쳐지는 구도를 현실과 동기화 시키는 작업이 필요합니다. 제 주력 화각 50mm도 아직 적응이 안되서 정말 다른 렌즈는 내려놓고 50mm 하나로 1년 써야 하나 여전히 고민에 휩싸여 있답니다. 그 적응을 위해 시작한 거리스냅 사진 올려봅니다. 타이포크 Thypoch Simera 35mm F1.4 의 선예도와 색감에 참 만족스런 사진들 구해 좋습니다.
Leica M11-P |일상에 좋은 35mm 렌즈 (타이포크 시메라 35.4) 안녕하세요? 엘카입니다. 일상을 멋지게 담기 위해 광각계열이자 다용도로 인기 높은 35mm 렌즈로 일상을 담아본 사진들 올립니다. 렌즈는 요즘 핫한 타이포크 시메라 35mm F1.4 / Thypoch Simera 35mm F1.4 렌즈 입니다.라이카 1/10 가격에 35mm Summilux의 체험을 할 수 있다 생각되는 렌즈입니다. 개봉기는 아래 글 참고해 주세요.https://elka.tistory.com/538 타이포크 시메라 (Thypoch Simera) 35mm F1.4 개봉기안녕하세요? 엘카입니다. M11-P 와 Summilux 50mm F/1.4 현행 전 모델 구매 후에 용돈 탕진 후, 광각의 빈자리가 너무 그리울 때, 마침 타이포크 시메라 시리즈를 할인하는 행사가 있어 냉큼 질렀습니다.el..
Leica M11-P | 타이포크 Thypoch Simera 35mm 로 담은 동네 공원 사진 35mm 는 풍경과 거리를 찍기 좋은 렌즈입니다.여기에 아주 밝은 조리개를 가진 렌즈라면 풍경 속에 인물 녹이기도 가능합니다. 그리고 상반신 위주의 인물사진에도 배경분리를 낼 수 있는 아주 좋은 환경을 만들 수 있습니다. 동네 산책하면서 담은 사진 올려봅니다.
타이포크 Thypoch Simera 35mm F1.4 개봉기 안녕하세요? 엘카입니다. M11-P 와 Summilux 50mm F/1.4 현행 전 모델 구매 후에 용돈 탕진 후, 광각의 빈자리가 너무 그리울 때, 마침 타이포크 시메라 시리즈를 할인하는 행사가 있어 냉큼 질렀습니다. 아마 여유가 있었다면 제가 최근에 가장 애정하는 75mm F1.4 를 추가 구매하고 싶었지만, 1년 후를 생각하며 참아보렵니다. 그래서 선택한 고민 중에 최종 낙찰한 제품은 타이포크 시메라 35mm F/1.4 입니다. 개봉을 위해 포장을 푸니 왠 보석상자함 같은 패키지가 반겨줬습니다.서드 파티 렌즈라서 그냥 종이박스 겠지 했다가 넘 이쁜 케이스 였어요. 크. 시메라 카메라 추천하는 이유는 패키지 구성물 입니다. 렌즈에 메탈 랜즈캡이 제공되고, 감동적이게 클래식한 후드가 제..

반응형