본문 바로가기

전체 글816

[RxJava] 2. Reactive Programming 이란? Reactive Programing : 데이터의 흐름과 전달에 관한 프로그래밍 패러다임을 뜻한다. 🟦 명령형 프로그래밍 vs 리액티브 프로그래밍 Imperative Programming(명령형 프로그래밍) : 작성된 코드가 정해진 순서대로 실행됨 Reactive Programming(리액티브 프로그래밍) :데이터 흐름을 먼저 정의하고 데이터가 변경되었을 때 연관되는 함수나 수식이 업데이트 되는 방식 기존의 프로그래밍 방식을 Pull 방식, Reactive 프로그래밍 방식을 Push 방식이라고도 한다. Pull 방식은 데이터를 사용하는 곳(Consumer)에서 데이터를 직접 가져와서 사용한다면, Push 방식은 데이터의 변화가 발생한 곳에서 새로운 데이터를 Consumer에게 전달한다. 리액티브 프로그래밍.. 2022. 5. 26.
[RxJava] 5.subscribeOn과 observeOn의 차이점 subscribeOn과 observeOn의 차이 RxJava는 operator를 통해 chaining 기법을 사용할 수 있다. subscribeOn과 observeOn도 마찬가지로 chaining 기법을 적용할 수 있다. 먼저 두 연산자의 역할은 다음과 같다. subscribeOn은 Observable이 데이터 흐름을 발생시키고 연산하는 스레드를 지정할 수 있고, observeOn은 Observable이 Observer에게 알림을 보내는 스레드를 지정할 수 있다. 그럼 두 연산자의 차이는 무엇일까? subscribeOn은 여러번 호출되더라도 맨 처음의 호출만 영향을 주며 어디에 위치하든 상관없다. observeOn은 여러번 호출될 수 있으며 이후에 실행되는 연산에 영향을 주므로 위치가 중요하다. 예제 A.. 2022. 5. 25.
[RxJava] 7.배압(Backpressure) 개념 이해 네이버에서 Backpressure 뜻을 찾아보면 역압으로 알려줍니다. 배압과 의미는 같으며, 역압이란 용어는 거의 사용하지 않습니다. 배압(Backpressure) 배압이란 생산되는 데이터와 소비의 균형이 어긋나는 현상입니다. 만약 10,000개의 데이터를 0.1초마다 발행하고, 소비는 10초마다 한다면 소비와 관계없이 데이터는 스트림에 계속 쌓이게 됩니다. 즉, Observable이 데이터를 발행하는 속도를 Observer의 소비 속도가 따라가지 못하는 것입니다. Flowable(사전적의미: 유동적임) 기존의 Observable이 배압 현상을 제어하지 못하는 반면, Flowable은 배압 현상을 스스로 제어할 수 있습니다. 다음의 두 코드를 살펴보도록 하겠습니다. Observable Observable.. 2022. 5. 24.
[안드로이드] GPS 정보로 현재 위치 찾기 GPS 정보로 현재 위치 찾기 우선 GPS Location 정보를 가져오도록 하겠습니다. ※ 위치정보 또한 위험 권한에 속하므로 권한 체크를 해주셔야 합니다. 1. 안드로이드 GPS 정보 가져오기 1.1 AndroidManifest.xml에 권한 등록하기 1.2 위치 관리자 객체 참조하기 Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); 1.3 Location Listener 구현 : Location Listener는 위치정보를 전달할 때 호출되므로 onLocationChanged() 메서드 안에서 위치 정보 처리. final LocationListener gpsLocationListener = new LocationLi.. 2022. 5. 23.
아이유(IU) 프로필 아이유(IU) 대한민국의 가수이자 배우. 본명 이지은 (李知恩, Lee Jieun) 출생 1993년 5월 16일 (만 30세) 경기도 광주군 광주읍 송정리 (現 경기도 광주시 송정동) 국적 대한민국 본관 전주 이씨 신체 161.8cm|O형|225mm 가족 아버지, 어머니, 남동생 학력 서울양남초등학교 (졸업) 언주중학교 (졸업) 동덕여자고등학교 (졸업) 데뷔 2008년 9월 18일| 엠 카운트다운 데뷔 음반 미니 1집 Lost And Found 종교 무종교 직업 싱어송라이터, 배우, 유튜버, 프로듀서 장르 댄스, 어쿠스틱, 발라드, R&B, Pop-rock 등 부캐 이지금, 이지동 팬덤 U愛나 (UAENA) 공식색 NEON YELLOW 유튜브 LoenIU 이지금 [IU Official] EDAM Ente.. 2022. 5. 22.
Android 개발자를 위한 Google I/O 핵심 내용 13가지 ※ 2022년 6월 16일(목)에 진행되었던 The Android Roadshow Seoul은 끝났습니다. Android 개발자를 위한 Google I/O 핵심 내용 Jetpack Compose부터 태블릿, Wear OS, 그리고 Android 13까지 Android 개발자가 알아야 할 핵심 내용 13가지를 정리해 드립니다. Modern Android Development #1: 고급 사용 사례를 지원하는 Jetpack Compose 1.2 베타 출시 Android의 최신 UI 툴킷인 Jetpack Compose에서는 다운로드 가능한 글꼴, LazyGrids, 창 인셋, 중첩 스크롤 상호 운용 등 고급 사용 사례를 구현하는 데 필요한 API와 Live Edit, 리컴포지션 디버깅, 애니메이션 미리보기 등.. 2022. 5. 22.
FSB(금융안정위원회) FSB[Financial Stability Board] 1. 개요 1999년 국제금융시스템의 안정성을 증대하고 국제적 수준의 금융 감독을 위해 설립된 FSF(Financial Stability Forum, 금융안정포럼)가 확대 · 개편된 조직이다. 2008년 미국발 금융위기를 극복하는 과정에서 신흥경제국의 목소리가 대두되면서 G7이 주축인 FSF를 G20 국가가 참여하는 기구로 확대, 개편해야 한다는 주장이 제기되었고, 2009년 4월 런던에서 개최된 제2차 G20 정상회의에서 FSF는 FSB로 확대 개편된 것이다. FSB의 운영위원회(Steering Committee)는 우리나라 금융위원회를 비롯하여 G7, 네덜란드, 호주, BRICs, 멕시코 등 16개국의 대표와 IMF, BIS, IOSCO, IAI.. 2022. 5. 20.
대한민국 대표팀 주장 손흥민 대한민국 대표팀 주장 손흥민 2022년 12월 5일(한국시간) BBC는 카타르에서 만난 팬들의 반응을 소개하며 “손흥민은 고국에서 축구를 초월한 선수”라고 평가했다. 또 “손흥민은 슈퍼스타, 우상, 슈퍼 히어로처럼 존경받는다”며 “그는 가면 뒤로 한 국가의 희망을 짊어지고 있다”고 결론 내렸다. 손흥민은 지난달 월드컵을 3주 남기고 안면골절 부상을 당해 수술을 하고도 월드컵 출전을 감행했으며, 안면 마스크를 하고 월드컵 무대에 오른 것을 두고 한 표현이다. 앞서 BBC는 손흥민의 이같은 활약을 두고 소셜 미디어(SNS)에 손흥민과 배트맨을 합성한 사진을 올리기도 했다. 안면 마스크를 쓰고 대한민국 유니폼을 입은 채 위풍당당하게 서 있는 손흥민에 검은 망토를 합성했다. 어둑어둑한 날씨에 하늘에는 배트맨의 .. 2022. 5. 20.
사자성어 모음 사자성어 1. 반면교사[反面敎師] : 다른 사람이나 사물의 부정적인 측면에서 가르침을 얻는다. 2. 타산지석[他山之石] : 다른 산에 있는 돌이라 해도 나의 옥을 가는 데 큰 도움이 된다. 즉 다른 사람의 사소한 언행이나 실수라도 나에게는 커다란 교훈이나 도움이 될 수 있음. 반면교사와 타산지석은 표면적으로는 뜻이 비슷하지만 쓰임새에 차이가 있다. 타산지석은 작고 하찮은 대상이나 나와 관계가 없어 보이는 일이더라도 참고하여 자신의 인격을 수양하는데 도움을 얻는다는 것이고, 반면교사는 다른 사람의 잘못된 일과 실패를 거울삼아 나의 가르침으로 삼는다는 뜻이다. 그러나 최근에는 모두 ‘부정적인 대상을 통해 교훈을 얻다’는 의미로 흔히 사용된다. 2022. 5. 19.
[안드로이드] App Icon 추가 및 수정하기 Android App Icon 🟦 App Icon 생성 아이콘 적용을 위해 적용될 아이콘을 준비합니다. (512x512 사이즈) Android - app - src - res에서 마우스 우클릭 선택합니다. New - Image Asset를 선택합니다. 기본 이름으로 ic_launcher로 선택 후 Image 를 가져올 Path를 설정합니다. 이미지 크기가 맞지 않다면 Resize로 변경하시면 됩니다. 여기까지 완료가 되었으면 Next를 선택합니다. 아이콘 사이즈는 512x512로 지정이 되어 있습니다. Finish를 눌러서 생성을 합니다. res - mipmap 폴더에서 해당 아이콘들을 확인할 수 있습니다. ※ AndroidManifest.xml에서 default로 "ic_launcher"로 작성이 되어.. 2022. 5. 19.
[안드로이드] 추상클래스와 인터페이스 추상 클래스(abstract class)와 인터페이스(Interface) 1. 추상 클래스(abstract class) : 추상 클래스는 전체적인 구성이 '구체화'되어 있지 않고 설계만 되어있는 클래스라고 정의할 수 있습니다. 클래스라는 것을 만들어 두면 이것을 인스턴스 화하여 객체를 생성하고 객체를 통해 클래스의 기능을 이용하게 됩니다. 객체지향 언어에서 클래스는 객체를 구체화한 것인데 이 구체화 단계가 명확하게 떨어지지 않을 대 추상 클래스를 사용하게 됩니다. 추상 클래스는 상속(extends)을 통한 자식 클래스를 의해 완성되며 abstract 키워드로 클래스가 작성됩니다. abstract class School { // abstract 추가 abstract student high(); abstra.. 2022. 5. 18.
[안드로이드] Androidx 사용법 AndroidX(Android Extension Libraries) 1. migrating를 통한 사용방법 gradle.properties에 아래의 내용 추가 android.useAndroidX=true android.enableJetifier=true Android Stuido에서 Refector를 선택한 후 아래쪽에 있는 Migrate to AndroidX... 을 클릭합니다. migrating을 하면 ctrl+z로도 되돌릴 수 없기 때문에, 호환성에 대해 걱정이 되신다면 백업을 하시는 걸 추천드리겠습니다. 하단에 Refactor할 수 있는 목록들이 나타나게 됩니다. DO REFACTOR을 선택하게 되면 자동으로 androidx 패키징으로 변경이 됩니다. AndroidX로 migrate가 완료되었습니다. 2022. 5. 17.
728x90