우선 ReactiveX가 무엇인가? ReactiveX의 풀네임은 'Reactive eXtensions' reactive: 반응을 보이는 , extension: (세력, 영향력, 혜택 등의) 확대 ReactiveX가 반응을 확장한다는 의미를 가지고 있다는 것을 알 수
ObservableObservable은 데이터의 흐름을 관장하는 클래스로써 RxJava에서는 Observable이 절대 빠질 수 없다.Observable은 데이터의 흐름에 맞게 알림을 보내 구독자가 데이터 처리를 할 수 있도록 만든다.Observable은 세 가지의 알
Android 앱 개발을 하다보면, Activity 클래스에 모든 앱 동작 코드를 전부 집어넣는 경우가 많았다.물론 동작에 있어 큰 문제는 없지만 체계적인 구조가 전혀 없어 추후에 유지 보수 또는 어떠한 곳에서 오류가 터지면 어딘지 찾는 것 또한 일이였는데..실제로 회
SOLID의 목적은 중간 수준의 소프트웨어 구조가 아래와 같도록 만드는 데 있다.변경에 유연해야한다.이해하기 쉬워야 한다.많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 된다.여기서 '중간 수준'이란 프로그래머가 원칙을 모듈 수준에서 작업할 때 적용할 수 있
밥아저씨는 2장을 들어가며 세 가지의 패러다임에 대해 설명을 한다.구조적 프로그래밍goto문장 → if / then / else 와 do / while / until 로 대체제어흐름의 직접적인 전환에 대해 규칙을 부과객체 지향 프로그래밍stack frame을 heap으
처음 1장을 들어가면 익명의 회사의 데이터를 보여준다.데이터를 살펴보면 시간이 지날수록 Software Engineer수는 늘어나지만 생산성은 점점 떨어진다.Robert C. Martin(밥아저씨) 는 토끼와 거북이 우화로 예를들며 어리석음을 말했는데, 현대의 개발자도
Pull requests let you tell others about changes you've pushed to a branch in a repository on GitHub. 풀리퀘스트는 당신이 변경한 내용에 대해서 다른 사람들(동료)에게 말해준다.
Git 의 서브모듈(Submodule) 이란 하나의 저장소 안에 있는 또 다른 별개의 저장소이다.보통 다른 원격 저장소를 가져와(pull) 서브모듈로 사용하게 된다.Submodule을 추가하려는 부모를 parent라고 하고, Submodule로써 추가되려는 자식을 ch
Reset은 시계를 다시 맞추는 것,돌아 가려는 커밋으로 리파지토리는 재설정되고, 해당 커밋 이후의 이력은 사라진다. EX) 일반적인 개발 이력과는 차이가 있지만, 이해가 쉽게 하기 위해 영화 “유주얼 서스펙트”를 이용했고 이에 대한 스포일러를 포함.기대했던 영화를 예
난독화 솔루션의 종류 에러기반 난독화 리패키징 방지 기능 smali 코드에서 자바 코드로 ㅂㄴ환할 때 사용되는 dex2jar 도구의 에러를 유발 소스코드기반 난독화 자바 코드의 클래스, 메소드명, 필드명, 변수명 등을 임의의 문자(a, b
피카소(Picasso)는 외부로부터 이미지를 불러와야 할 경우 유용하게 사용할 수 있는 라이브러리다.매우 간단한 코드 몇 줄로 이미지 로딩, 메모리 & 디스크 캐싱, 변형(Transforming)을 가능케 한다.1\. 직관적이다.반응형 프로그래밍은 3가지 부분으로 나뉘
RxKotlin, RxAndroid을 알아보기전에 먼저 알아볼것이 있다.바로 Reactive Programing 이다.컴퓨터 프로그램에는 세가지 종류가 있다.주어진 입력 값을 바탕으로 결과를 계산하는 변환 프로그램이며 일반적으로 컴파일러와 수치 계산 을 하는 프로그램이
OkHttp는 Square에서 제공하는 오픈소스 프로젝트이며 동기, 비동기 방식을 각각 제공해줌으로서 개발자가 선택하여 사용할 수 있다.OkHttp는 HTTP 및 HTTP/2 통신을 보다 쉽게 할 수 있도록 다양한 기능을 제공해주는 Android 및 Java 용 라이브
Retrofit은 REST API로, 서버와 클라이언트간 Http 통신을 위한 인터페이스를 뜻한다.쉽게 말해, 클라이언트에서 서버로 어떠한 요청을 보내면 서버는 그 요청에 대한 응답을 클라이언트로 보내주게 되는데, 이 일련의 과정들을 쉽게 사용 할 수 있도록 도와주는
트랜지션은 장면이 전환될 때의 애니메이션에 대한 정보를 담고 있는 추상 클래스Transition 방식은 SDKVersion 21 이상부터 지원하기 때문에 그 이하의 버전에서는 사용이 불가능Transitions APITransitions API구글은 액티비티간 화면 전환
연산을 통해서 Animation효과를 만드는 방법을 말한다.쉽게 풀어서 얘기하면 view의 위치를 이동, 회전, 확대/축소, 투명도 조절을 할 수 있다.투명 애니메이션 (alpha)alpha값을 설정하여,대상의 투명도의 변화를 애니메이션으로 구현uration : 실행
Android view에서 보여지는 구조들은 실제 Directory 구조와 다릅니다. 개발편의를 위해서 필요한 폴더들만 보여주고 있다.프로젝트의 모든 빌드 관련 구성 파일을 최상위 Gradle Script 그룹에 표시Gradle Scripts : 그룹은 build와 관
소스코드 뿐만 아니라 다양한 리소스를 활용하여 프로그래밍할 수 있도록, 상당히 유연한 어플리케이션 구조 보유소스코드 + 다양한 리소스소스코드의 가독성을 높여 유지보수하기가 쉬움.다양한 언어와 지역에 따라 리소스를 분리하여 관리함으로써 안드로이드 어플리케이션의 현지화(L
하이브리드 앱도 앱이기 때문에 웹 페이지로 구성이 되어있지만 앱의 기능을 어느 정도는 사용하게 됩니다. 그렇기 때문에 앱에서는 웹에서 어떠한 신호를 받기 위한 로직이 필요했으며, 그에 따라 생겨난 것이 Javascript를 통해 데이터를 주고받을 수 있도록 한, And