본문 바로가기

HELLO_WORLD44

안드로이드 앱 아키텍처 가이드 - ViewModel 편 개요 안드로이드 클린아키텍처 가이드에 따라서 이번편은 ViewModel 을 알아보겠습니다. ViewModel은 MVVM 패턴의 중간다리 역할 입니다. 분류를 하자면 presenter 쪽에 넣을수 있겠네요. Activity나 Fragment에서 들어온 요청을 받아서 넘기는 역할을 하게 되죠. 기존의 Activity 의 매시브한 클래스가 MVVM 패턴을 통해 한것 다이어트 되는 형태가 되는것이죠. 제가 느낀 핵심은 각각의 경계를 지키고 자기 할일만 하면됩니다. 시작 ViewModel은 클린아키텍트 3레이어에서 presentation 영역에 속합니다. ViewModel 사용의 가장 중요한 목표는 ViewModel 은 수명 주기를 고려하여 UI 관련 데이터를 저장하고 관리하도록 설계되었다는 것입니다. ViewM.. 2021. 8. 6.
안드로이드 앱 아키텍처 가이드를 따르라! 소개 안녕하세요. 김과자 입니다. 기존의 앱 개발계는 그야말로... '개판' 입니다. 소스는 이사람 저사람을 거치고 산넘고 물건너 뒤죽박죽 난리 블루스입니다. 그런곳이 어디냐구요 ?... 대부분이 이런 어려움을 겪고 있습니다. 안드로이드는 특히나 오픈소스가 많고, 프레임워크 레벨에서의 파편화도 심각했습니다. 그에 따른 개발기준도 해당 소스를 만진 개발자 수만큼 많았습니다. 정말이지 노답일수밖에 없죠. 그리하여... 구글은 개발 단에서 지킬 최소한의 기준을 제시합니다. 바로 앱 아키텍처 가이드 입니다. 이 기준을 지키면 그들이 말하는 클린 아키텍처에 한발짝 다가갈수 있습니다.(아마도) 그렇다면 과연 클린한 아키텍처란 무엇일까요? 매우 길어질수 있어서 다른글을 통해 한번 같이 알아보겠습니다. "한마디로 요약.. 2021. 5. 10.
안드로이드에서 사용하는 코루틴 (코틀린) 왜 이런글을? 안드로이드 (코틀린) 에도 코루틴을 통한 비동기 처리를 사용할수 있기 때문이죠. 안드진영에서는 대대손손 물려받은? 자바 계열의 스레드 개념을 활용하여 비동기 처리를 하곤 했습니다. 당연히 그렇게 사용했습니다. 그런데 이 스레드를 컨트롤 한다는건 매우 위험하고 어려운 복잡한 그러한 일이었기에...(대표적으로 메모리 문제 그리고 메모리 문제) 코틀린으로 넘어오면서 코루틴 이라고 하는 개념을 추가하여 비동기 방식의 로직처리를 안정적으로 할수 있게 되었습니다. (과연그럴까요?) = 정리 + 요약 하여 해당 내용을 공유 합니다. 코루틴? (Coroutine) 이름이 비슷하다고 해서 코루틴은 코틀린에서 새로 등장한 지식이 아닙니다. 아주 오래 전부터 기존에 있던 이론입니다. 코루틴(coroutine).. 2021. 2. 5.
알면 알수록 헷갈리는 IOS 환경 #2 - 앱 배포방식에 대해서 알아보자. 안녕하세요. 김과자입니다. 알면알수록 ... 시리즈 두번째 순서입니다. 잘 모르신다면 아래를... 2020/08/29 - [HELLO_WORLD/애플_IOS] - 알면 알수록 헷갈리는 IOS 환경 #1 - 인증서와 프로비저닝(코드서명) ios 개발을 하면서 맨날 해도 헷갈리는 그것! 몇가지? 다양한 배포 방법에 대해서 알아보겠습니다. 거짓말 조금 보태서 인증서와 사이닝, 그리고 배포까지 이해하면 ios 개발 반은 먹고 들어가는거죠. 테스트를 위한 배포 방법에는 4가지 정도의 플랜이 있습니다. 개발용 테스트 애드혹 (adhoc) 테스트플라이트 엔터프라이즈 이와 같은 배포 방식을 왜 알아야하는가? 하는 의문이 들수 있습니다. 단편적인 예를 들어보겠습니다. 사내에서 개발을 하는데 소스작업을 마무리 하고 이제 .. 2020. 10. 2.
알면 알수록 헷갈리는 IOS 환경 #1 - 인증서와 프로비저닝(코드서명) 안녕하세요. 김과자입니다. 그동안 안드로이드에 대한 글만 쓴것 같아서 IOS도 지식공유를 해보려합니다. IOS 개발을 시작할때 뭐부터 공부하시나요? 스위프트? Xcode 사용법? 물론 당연히 중요합니다. 그러나 실제 현장에서 문제가 되는 골치거리는 따로 있죠. 그중에서 오늘은 인증서와 프로비저닝 프로파일에 대해서 정리해보려 합니다. 초기와 달리 XCODE 가 좋아지고 ! 개발 환경이 업데이트 되면서 지금은 XCODE 자체의 자동인증 방식을 통해 알아서 인증서와 프로비저닝 프로파일을 셋팅합니다. 아주 세상 편해졌죠. "그럼 뭐가 문제라는 말인가요?" 안타깝게도 우리가 작업할 현장은 우리가 원하는 대로 할수있는 정상적인? 환경이 아닙니다. 외부로 연결되는 인터넷이 안 되는 경우도 많고, 계정을 안 주는 경우.. 2020. 8. 29.
[지식공유] flutter (플러터) 배우기 - 개념과 기초구현 안녕하세요. 김과자입니다. 최근 핫한 개발 프레임워크 이죠. 플러터(플루터) 를 알아봅시다. 플러터는 구글이 개발한 오픈 소스 모바일 애플리케이션 개발 프레임워크 입니다. 안드로이드, iOS용 애플리케이션 개발을 위해 세상에 나오게되었습니다. 사실 전에도 크로스플랫폼 개발을 위한 프레임워크들이 있었죠. 예를 들어 phonegap, cordova, ionic, react native...등등 이들의 목표 자체는 아마도 이것이겠죠? 한가지 방법 한번의 구현으로 여러가지 플랫폼을 일타쌍피!!신공 아... 생각만해도 너무 좋지만. 그에따른 이슈도 너무 많습니다. 그럼 어찌어찌 개발을 했다고 해서 native 를 몰라도 되는가? 그것도 아니란 말이죠. 결국엔 네이티브 작업을 좀 해줘야하죠. 정도의 차이일뿐. 어찌.. 2020. 6. 14.
[지식공유] 웹뷰뿌시기 (webview) 파일업로드(사진업로드) 안녕하세요. 김과자 입니다. 오늘은 1편에 이어서 예정대로 웹뷰 뿌시기 2편 웹뷰계의 최강 빌런 !!! 파일업로드...에 대해서 알아보겠습니다. 웹뷰에서 파일업로드를 처리하기 위해서는 웹 소스에서 html5를 이용해서 form 태그에서 input type 을 file 로 지정하기만 하면 그 뒤는 식은죽 먹................ "여러분. 안드로이드 개발에 그런일은 없습니다." “의심하지 마세요. 모든것이 수동입니다.” … 그리하여 웹뷰에서 파일업로드를 처리하기위해서는 약 3가지 OS 버전에 대해 고려해야합니다. 왜냐구요? 버전별로 구현방식이 다릅니다. "네???" 하하하하ㅏㅎㅎㅎ하ㅏㅎ하ㅏ하ㅏ하... 웹뷰 뿌시기 2편 - 파일업로드(혹은 사진업로드) 시작해보겠습니다. 안드로이드 웹뷰상에서 파일(사진.. 2020. 6. 1.
[지식공유] 웹뷰뿌시기(webview) 자주 쓰는 10가지 셋팅 안녕하세요. 김과자 입니다. 안드로이드 앱 개발중 웹뷰를 사용하여 개발하는 방식은 이제 아주 흔한 일이 되었죠. 네. 그렇습니다. 우리에게 익숙한 웹을 이용해서. 앱개발하는데 활용한다? 아싸 ! 개꿀!! 기존에 웹이 개발되어 있는걸 그냥 넣기만 하면 끝~?! 얼마나 좋습니까? "그런데 말입니다." 세상이 어디 그리 호락호락 한가요? 구글 새ㄲ... 아 아니 구글 님들이 얼마나 웹뷰를 잘 만들어 놓았느냐. "하핳하하핳ㅎㅎ하하하하핳..." 환영합니다. 지금 부터 여러분은 웹의 모든 동작을 수동으로 컨트롤 하게 될것입니다. 🙀 자. 그럼 이제부터 웹뷰 관련 셋팅을 연재해보겠습니다. - 자주 사용하는 것들 10가지 셋팅법 - 최강의 빌런. 파일업로드 문제!!! - 이건 진짜 심각한 ... window.open .. 2020. 5. 26.