하루에 0.01%라도 성장하자
반응형

Develop 126

Lottie를 사용해 보자!

새로운 개인 프로젝트를 만들고 있는데 알고만 있고 사용해 보지 못한 Lottie를 한번 써보면 어떨까?! 라는 생각이 들어서 SplashActivity에 사용하기로 하였다. Lottie 엄청나게 유명한 안드로이드 애니메이션 라이브러리다! 정확하게는... 안드로이드 뿐만 아니라 iOS, Window, Web 도 지원해주는 아주 좋은 라이브러리다. Lottie 안드로이드 github : https://github.com/airbnb/lottie-android airbnb/lottie-android Render After Effects animations natively on Android and iOS, Web, and React Native - airbnb/lottie-android github.com 설..

Develop/Android 2019.10.16

Event Bubbling, Event Capture

Javascript event 전달 방식 이벤트 전달 방식은 크게 두가지로 구분된다. Event Bubbling 이라고 불리는 방식과 Event Capture. 오늘은 이 내용에 대해 기록하려고 한다. Event란? Javascript 에서 정말 많이 사용되는 click 등 사용자의 입력을 받을 수 있는 기능이다. click 이렇게 설정하면 button을 클릭 하였을때 click 이벤트가 발생하고 clickMe 함수가 실행된다. Event Bubbling Event Bubbling은 하위 요소에서 상위요소로 이벤트가 전달 된다. 위 형태로 태그가 구성되어 있다면 test03을 눌렀을 때 test03 -> test02 -> test01 형태로 발생된 이벤트가 전달된다. Event Capture Event ..

Develop/Javascript 2019.10.16

MediaLive 사용시 CORS 이슈 해결.

AWS MediaLive를 이용해서 LiveStreaming 방송을 할 때 발생하는 첫번째 이슈가 바로 CORS다. 나도 그랬고 대부분 엔지니어가 착각하는 것중에 하난데, CORS의 경우에는 서버 설정으로 정책을 변경 할 수 있는데, MediaLive 자체가 생소한 나한테는 어떤것이 서버역할을 하는지 몰랐다. 그래서 엄한 EC2 붙잡고 씨름하고 있었는데, 협력사 중 AWS를 다루는 엔지니어도 잘 모르는 것 같았다..( 협력사가 AWS는 아니었음.. ) 엄청 구글링을 했는데 아래와 같이 사용법을 발견하였다. 링크 - https://docs.aws.amazon.com/ko_kr/mediastore/latest/ug/cors-policy.html AWS Elemental MediaStore의 Cross-Ori..

Develop/AWS 2019.10.08

hls.js 를 이용한 liveStreaming 서비스를 사용할 때 사용할 만한 config!

오늘은 hls.js에 대한 기록이다. https://github.com/video-dev/hls.js video-dev/hls.js JavaScript HLS client using Media Source Extension - video-dev/hls.js github.com hls.js란? 아주 간단하게 HTTP Live Streaming의 약어로 2017년 프로젝트를 하면서 알게되었다. HTML5 Video, MediaSource Extensions이 지원되야만 사용이 가능하다. 시작 사실 오늘 기록할 것은 config에 대한 내용이므로 hls.js를 전반적으로 분석하고 기록하는 것은 아니지만.. 그래도 어떻게 시작하는지는 적어놔야지.. API, docs hls.js 는 docs 정리가 잘되어 있어서..

Develop/Javascript 2019.10.08

AWS EC2 Timezone 설정하기

AWS EC2 프리티어로 간단한 시연서버를 사용하고 있는데 서버시간을 가져와 VIEW에 그려주어야 했다. localhost로 실행했을 때는 정상적으로 시간을 가져오던 서버가 AWS에 올려 사용하였더니 이상한 시간을 가져왔다. 알고 보니 서버의 시간이 UTC였다.... 시간을 한국 시간으로 바꿔주면 간단하게 해결되는 문제였기 때문에 서버시간을 한국시간으로 변경해 주었다. // 현재 시간설정 확인 cat /etc/localtime // 기존 localtime 삭제 sudo rm -f /etc/localtime // zoneinfo에서 Seoul 값 설정. sudo ln -s /usr/share/zoneinfo/Asia/Seoul /etc/localtime // 변경된 시간 확인 date 심볼릭 링크 라인에서..

Develop/AWS 2019.10.02

크롬에서 Video Autoplay가 안되는 이유 | Video Tag Autoplay is not working in Chrome!

이번에 프로젝트를 위한 간단한 시연준비를 하면서 고생한 부분을 기록, 공유한다. 이번에 시연할 때 AWS를 통해 전달 받은 MediaSource를 웹 페이지에서 보여주어야 했다. 음.. 다른 mp4 파일 과는 다르게 실시간으로 업로드 되는 것을 2,3초 간격으로 받아 영상을 보여주어야 했다. 우리가 선택한 것은 익숙한 기술인 HLS였고, 나는 hls.js를 이용해서 구현했다. 뭐 기존에 다루던 라이브러리였고, 시연이라 데모수준에서 영상을 터트리는데는 큰 이슈는 없었다. 다만.. autoplay에서 애를 먹었다. 문제의 발견 요구사항은 해당 웹페이지에 접속하면 '미디어 소스 로드와 함께 자동으로 재생이 되어야 하며, Video태그에서 제공하는 컨트롤러 UI가 없어야 한다!' 였다. 처음에 ' 이런거야 뭐 ..

Develop/HTML 2019.09.26 (9)

WebView에서 노출되는 Player Default Poster 없애기!

안드로이드에서 웹뷰를 통해 웹사이트에 있는 플레이어를 제어 혹은 보여준다고 하면 로딩할때 디폴트 포스터가 노출된다 Player Default Poster는 아래 이미지를 말한다. 정상적으로 로딩하더라도 버퍼를 받아오는 동안에는 해당 포스터를 나온다. 이 포스터를 없애는 방법은 아래와 같다. java, Kotlin 두개의 방법으로 소스코드를 공유한다. 해결법 * Kotlin /* Kotlin */ webView.webChromeClient = WebChromeClientCustomPoster() // 아래 만든 클래스를 webChromeClient로 등록하기 class WebChromeClientCustomPoster : WebChromeClient(){ override fun getDefaultVideo..

Develop/Android 2019.09.19

현재 액티비티(Activity) 확인하는 법 ( feat. singleTask )

현재 액티비트를 확인 해야 하는 상황은 생각보다 많다. 나같은 경우는 사이드 메뉴를 사용하다가 작성하는 기능이 필요 했다. 사이드 메뉴에 A, B, C 메뉴를 만들고 A를 클릭하면 A Activity로 이동. B를 클릭하면 B Activity로 이동하는 로직이다. 이슈가 되었던 건 현재 Activity가 A 인데도 A 메뉴를 누르면 새로운 A Activity가 뜬다는 점이었다. 이슈를 확인하고, 현재 Activity를 확인하여 이동해야 하는 메뉴와 같은 Activity라면 이동하지 않는 로직을 만들었다. 코드 String currentActivityName = getClass().getSimpleName().trim() // 해당 코드를 이용하면 현재 Activity의 파일 명이 나온다. // ex. M..

Develop/Android 2019.08.23

Android ) Handler postDelayed 사용법

프로젝트상 자주 사용은 하지 않는데, 가끔 찾아보면 기억 안날때가 많아서 다시 기록하는 차원으로 남겨둔다. import android.os.Handler; Handler handler = new Handler(); handler.postDelayed(new Runnable(){ @Override public void run(){ // 실행할 코드 } }, 1000); // 몇초 뒤에 실행할 코드를 실행할 것인가! ( 단위 : ms ) 주의사항! 이건 내가 잘 몰랐을때 고생했었던 경험담인데... Handler 를 처음 지정하면 android.os.Handler를 import 할 것인지, java.util.logging.Handler를 import 할 것인지 선택할 수 있는데, 무작정 자동완성 된다고 Ent..

Develop/Android 2019.08.23

안드로이드 스튜디오 테마를 변경해보자!

안드로이드 스튜디오를 사용한다. 안드로이드 스튜디오는 그만의 멋진 테마가 있다. Darcula 라는 테마가 거의 메인 테마인데, 나도 해당 테마를 약 2년동안 사용하다가 약간 지루?해지고 뭔가 음... 칙칙한 느낌을 받아 기분 전환겸 테마를 변경해 보려고 찾아보았다. 테마를 변경하려고 구글링(갓글링)을 했는데 대부분 Setting을 통해 Darcula로 변경하는 방법에 대해서만 나와있었고 다른 내용은 거의 찾아보기 힘들어서 이 글을 작성했다. 플러그인!(Plugin) 기본적으로 제공하는 테마도 물론 멋지지만, 역시.. 테마를 전문적으로 하는 조직(?)과 비교하기에는 조금 아쉬운 부분이 많다. 이번에 찾은 Material Design팀은 이런 UI를 전문적으로 고민하고 만드는 곳 같았다. 그래서 해당 Pl..

Develop/Android 2019.08.09
반응형