본문 바로가기

분류 전체보기

(187)
Android Bundle(.aab) release crash 삽질 구글에서 8월부터는 신규 앱을 출시할 때 apk가 아닌 bundle로 업로드 하라고 한다. 11월 부터는 신규 앱 뿐만 아니라 기존 앱을 업데이트 할 때도 bundle만 받는다고 하니 bundle로 출시하는 것이 이젠 필수가 되었다. 초창기에 구글에서 bundle을 소개했을 때 확인했던 기억으로는 res 파일과 abi 파일들을 유저들의 단말기에 필요한 것들만 골라서 다운로드함으로써 설치 파일의 사이즈와 설치 했을 때의 앱 사이즈를 줄인다는 점만 체크했었다. (여기서는 bundle의 내부 구조를 설명할 것은 아니기 때문에 자세하게 살펴보고 싶은 사람들은 아래 링크를 확인하면 될 것이다.) https://medium.com/daangn/%EB%8D%94-%EC%9E%91%EC%9D%80-apk%EB%A5%B..
RxJava 연산자 📚 RxJava에서 연산자란? RxJava에서 연산자란 함수이다. 연산자를 이용하여 데이터를 생성하고 통지하는 Flowable이나 Observerble 등의 생산자를 생성할 수 있다. 생산자에서 통지한 데이터를 다양한 연산자를 통하여 데이터를 가공하여 결과값을 만들어 낼 수 있다. 🙋‍♂️ Flowable, Observable 생성 연산자 interval 지정한 시간 간격마다 0부터 시작하는 숫자를 통지한다. (Long Type) InitialDelay 파라미터를 사용하여 최초 대기 시간에 대한 대기 시간을 지정할 수 있다. 완료 없이 계속 통지한다. 호출한 스레드와는 별도의 스레드에서 사용된다. Polling 용도의 작업을 사용할 때 활용될 수 있다. range(n, m) 지정한 값(n)부터 m개의 숫..
트레이드 오프 (Trade Off) 트레이드 오프란? 트레이드오프란 객체의 어느 한부분의 품질을 높이거나 낮추는게, 다른 부분의 품질을 높이거나 낮추는데 영향을 끼치는 상황을 이야기한다. 일반적으로 한쪽의 품질을 높이면, 다른쪽의 품질은 떨어지는 방향으로 흐른다.소프트웨어 개발을 예로들어보자. 일반적으로 개발시간을 늘리면 제품의 완성도는 높아지겠지만, 개발시간이 늘어날 수록 비용이 증가하게 된다. 그러므로 시간과 비용을 비교해 가면서 최적의 타협점을 찾아내어야 한다. 이것을 트레이드오프라고 한다. 1. 빠른 개발을 통해 개발 비용을 줄이고 시장성을 테스트할 것이냐 VS 2. 처음부터 Clean Architecture와 Clean Code를 작성하여 기초 공사를 탄탄히 할 것이냐
Flowable과 Observable 🙋‍♂️ Flowable과 Observable의 비교 1. Flowable Reactiver Streams 인터페이스를 구현 Subscriber에서 데이터를 처리 데이터 개수를 제어하는 배압 기능 존재 Subscription으로 전달 받는 데이터 개수 제어 Subscription으로 구독 해지 2. Observable Reactiver Streams 인터페이스를 구현 X Observer에서 데이터를 처리 데이터 개수를 제어하는 배압 기능 X 배압 기능이 없기 때문에 데이터 개수를 제어 X Disposable로 구독 해지 3. 배압이란? Flowable에서 데이터를 통지하는 속도가 Subscriber에서 통지된 데이터를 전달 받아 처리하는 속도 보다 빠를 때 밸런스를 맞추기 위해 통지량을 제어하는 기능을 ..
Reactive Streams 🙋‍♂️ API Components 1. Publisher (생산자) 데이터를 생성하고 통지한다. subscribe : 소비자를 등록할 때 호출 2. Subscriber (소비자) 통지된 데이터를 전달받아서 처리한다. onSubscribe : 데이터를 최초 통지할 때 호출 onNext : 데이터를 통지할 때 마다 호출 onError : 데이터 통지에서 에러가 발생했을 때 호출 onComplete : 데이터 통지가 완료 되었을 때 호출 3. Subscription 구독 자체를 의미, 전달 받을 데이터의 개수를 요청하고 구독을 해지한다. request : 데이터 개수 요청 cancel : 요청 취소 4. Processor Publisher와 Subscriber의 모든 기능이 있음. 🙋‍♂️ Publisher..
IntelliJ Run Console이 지저분하게 나올 때 (Executing task....) 가끔 IntelliJ로 자바 프로젝트를 열면 이런식으로 지저분하게 나올때가 있다. 위와 같이 깔끔하게 사용하고 싶은 경우 Ctrl + Alt + S -> Build, Execution, Deployment -> Build Tools -> Gradle에서 Build and run using -> IntelliJ IDEA Run tests using -> IntelliJ IDEA 로 변경해주면 된다.
ubuntu 모스키토 설치 $ sudo apt-get install $ sudo apt-get update $ sudo apt-get install build-essential python quilt python-setuptools python3 $ sudo apt-get install libssl-dev $ sudo apt-get install cmake $ sudo apt-get install libc-ares-dev $ sudo apt-get install uuid-dev $ sudo apt-get install daemon $ sudo apt-get install libwebsockets-dev $ wget http://mosquitto.org/files/source/mosquitto-1.4.10.tar.gz $ tar z..
안드로이드 스튜디오 Kotlin Hint 설정 Ctrl + Alt + S -> Inlay Hints -> Kotlin -> Show hints for에서 원하는 힌트를 적용하면 된다.