프로그래밍 30

RxAndroid로 리액티브 앱 만들기 #1

RxAndroid로 리액티브 앱 만들기 #1 RxAndroid로 리액티브 앱 만들기 #2 RxAndroid로 리액티브 앱 만들기 #3 RxAndroid로 리액티브 앱 만들기 #4 출처 : https://realm.io/kr/news/rxandroid/이 시리즈는 마이크로소프트웨어에 기고된 내용이 일부 수정되어 포함되어 있습니다.애플리케이션 개발이 쉽다는 말은 점차 옛말이 되어가고 있습니다. 유즈케이스가 다양해진 만큼 입력 방식도 다양해졌습니다. 가공이 필요한 데이터는 다양한 방식으로 비동기적으로 전달됩니다. 데이터는 사용자에게 즉시 전달 가능한 것과 적절히 프로세싱을 거쳐야 하는 것으로 나누어집니다. 복잡한 요구사항을 만족하기 위해 서버와 클라이언트도 복잡해졌습니다. 오늘날 서버와 클라이언트 코드는 복잡..

1. RxJava 와 RxAndroid - RX(Reactive Extensions)의 소개

RxJava 와 RxAndroid - RX(Reactive Extensions)의 소개RxJava 와 RxAndroid - RxAndroid 일단 사용해보기 RxJava 와 RxAndroid - RxAndroid 일단 응용해보기 RxJava 와 RxAndroid - Reactor pattern RxJava 와 RxAndroid - Observer pattern RxJava 와 RxAndroid - Iterator patternRxJava 와 RxAndroid - Functional programmingRxJava 와 RxAndroid - MVVM modelRxJava 와 RxAndroid - Dataflow programmingRxJava 와 RxAndroid - Observable RxJava 와 Rx..

Butter Knife (Field and method binding for android views)

Field and method binding for Android views which uses annotation processing to generate boilerplate code for you. 출처 : GitHub - JakeWharton / butterknife Butter Knife는 Injection Library로써, Boilerplate 코드를 줄이는 목적으로 사용하실 수 있습니다. 이 라이브러리는 Annotation만으로 Resouce와 Class의 멤버 변수/함수간의 Binding을 자동으로 처리해줍니다. Boilerplate 코드를 줄여 개발 속도 향샹을 목적하신다면 좋은 솔루션이 될 수 있겠죠.일단 프로젝트에 세팅해 놓으면 직관적으로 사용할 수 있기 때문에 별다른 설명없이 Bu..

Android HTTP dump log 보기 (apache http)

HTTP 통신을 할때 OkHttp3나 Retrofit2와 같은 오픈 라이브러리를 많이 사용합니다.하지만 금융권과 같은 보수적인 프로젝트에서는 오픈 라이브러리 사용을 금지하고 Apache의 httpclient의 사용을 강제하는 경우가 있습니다. OkHttp3나 Retrofit2와 같은 경우에는 HTTP dump log를 설정하는 Interface를 제공하기 때문에 직관적으로 설정할 수 있도록 유도하는 반면에 Apache의 경우에는 그렇지 못합니다. 하지만, 방법은 항상 있죠. 그 방법을 알아보도록 하겠습니다. Main Application의 onCreate() 혹은 MainActivity의 onCreate()와 같이 한번만 호출되는 곳에 아래 코드를 붙혀 넣습니다. java.util.logging.Logg..

1. Mac OS(OSX : 엘 케피탄) 설치 USB 만들기 및 클린 설치하기

Mac (엘 케피탄) 설치 USB 만들기 및 Mac 클린 설치하기 Mac 클린 설치 후 기본 세팅 Mac 클린 설치 후 설치할 프로그램 Mac 클린 설치 후 사용자 설정 세팅 Mac 클린 설치 후 백업 이미 너무나도 잘 설명이 된 포스트가 있어 간략하게 적어보도록 하겠습니다. [설치 USB 만들기] 맥의 앱스토어에서 OSX(엘케피탄)을 다운로드 받습니다. (설치 버튼을 누르면 이미 설치되어 있는데 다운로드 할꺼냐는 식으로 물어봅니다) DiskMaker X 최신버전을 다운로드 받아 설치합니다. DiskMaker X를 실행하여 OSX 버전을 고르고 다운로드 받은 OSX를 선택합니다 (앱스토어에서 받은 OSX파일은 응용프로그램에 있습니다) DiskMaker X에서 설치될 USB를 선택합니다. (USB가 지워진..

프로그래밍/MAC 2016.08.18

Android JUnit - app의 resource에 접근하기

Android JUnit - app의 resource에 접근하기google이 eclipse에 대한 지원을 중단함에 따라 Android 개발자들이 이제는 Android Studio로 많이 개발을 하고 있습니다.특히 github에 올라오는 소스들도 Android Studio 프로젝트가 많아지고 있는데요, 어느센가 Android Studio에서 프로젝트를 생성하면 androidTest외에 JUnit을 사용하는 test라는 것이 같이 생성되더군요. 전 개인적으로 ‘기능 테스트’는 JUnit으로 (test) ‘시나리오 테스트’는 AndroidTestCase (androidTest)로 합니다.Case : JUint(test)에서 app의 res/raw의 xml파일을 읽어야 한다.androidTest에서는 아래와 같..

gson 소개 및 사용법

gson 소개 및 사용법 예전에 Native (Android, iOS등)와 WAS 서버간의 통신시 사용하는 포맷은 여러 방식이 있었습니다. 그중에 대표적인 것으로 xml과 json이 있는데요. 요새는 json이 대세인듯 합니다.gson은 이 json을 편하게 사용할 수 있도록 google에서 만든 json관련 라이브러리 입니다.json과 java객체 간의 직렬화(Serialization)와 역직렬화(Deserialization)를 쉽게 할 수 있게 도와주기 때문에 json자체의 파싱보다는 업무로직 자체에 집중할 수 있도록 도와줍니다. github : google-gson 1. 설치하기 (Android Studio gradle 설정)Android Studio build.gradle(app) 설정depend..

앱에서 알림표시 활성 여부 확인하는 방법

Android도 iOS처럼 앱마다 알림수신을 ON/OFF 할 수 있습니다. 위 사진에서 '알림표시'가 그것인데요. 프로그래머 입장에서는 이 '알림표시'가 체크되어 있는지 아닌지 알아야 할 때가 있습니다. 이전에는 Reflection을 이용한 방법은 있습니다만 공식적으로는 불가능 했습니다. 하지만 Google I/O 2016에서 support-v4 ver24.0부터 공식적으로 지원한다고 합니다. 출처 : Google I/O 2016 Video Reflection 을 이용한 방법은 다음과 같습니다. public class NotificationsUtils { private static final String CHECK_OP_NO_THROW = "checkOpNoThrow"; private static fin..

터미널에서 logcat을 이쁘게 보자. (Colored logcat script : pidcat 소개)

Android App을 개발할때 대부분 Android Studio의 logcat윈도우에서 log 메세지를 확인합니다.하지만 저처럼 터미널에서 작업하는걸 좋아하는 사람도 있지요 ^^ 그 분들을 위한 Script를 소개해 드립니다.바로 pidcat ( https://github.com/JakeWharton/pidcat ) 입니다. PID Cat출처 : https://github.com/JakeWharton/pidcat 설치는 Homebrew를 사용합니다. 터미널에서 다음 명령어로 설치 합니다.$ brew install pidcat 실행 방법은 기존 logcat과 유사합니다.터미널에서 다음 명령어로 실행합니다. (com.oprah.bees.android는 자신의 app package name 을 넣으시면 됩니..

개발 & 빌드 & 배포 서버 환경.

개발 & 운영 환경 구성.AWS(Amazon Web Service)에서 EC2에 설치 및 테스트를 한 후 Raspberry PI 2 에 적용하는 방식을 취한다. AWS에 Docker를 사용해 설치 및 테스트를 한 후에 정상 작동할 경우 Raspberry PI 2 에 반영한다. 가난한 주인장은 최대한 돈(기기값, 운영비)을 아끼기 위해 다음과 같이 개발&운영 환경을 구성했다.(운영이라고 해봐야 외부에 공개도 하지않는 ‘기분만 느끼는’ 운영이다. AWS넘 비싸다 ㅠㅠ NAS살돈도 없어 Raspberry Pi2에 owncloud를 살짝 끼워 넣었다 ㅠㅠ) 개발 PC(Macbook Pro) -> 빌드 서버 (Raspberry Pi 2, Mac mini) -> 배포 & 운영 서버 (AWS) * 개발PC (Macb..

반응형