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

Develop 130

abstract, interface 그 차이와 사용법.. 그리고 사용하는 이유

abstract(추상) 잘 모르더라고 사용하는 단어의 뜻을 이해하면 대충 50%정도 감이 온다. abstract는 무슨 뜻을 가지고 있을까 abstract는 추상적인 이라는 뜻을 갖는 단어이다. 그렇다면 추상적이라는 의미는 무엇일까? ( 갑자기 국어 ) ???? 추상적 개념은 추상적인 것을 지칭하는 개념...이고...뭔소리야... 그래서 추상적이 뭐냐고.. 철학적으로 접근을 해봤다.... 음.. 어렵네요 추상적이라는 것을 빼고 추상을 검색해 보았다. 추상이란 구체에 대립하여 말하는 개념이며 전체의 한정된 것. 혹은 일부 나는 이렇게 추상이라는 것에 정의를 내렸다. 전체의 일부. 물론 추상이라는 단어자체의 뜻은 내가 내린 정의와 다를 수 있다. 하지만 내가 아래에 써 내려갈 글들은 JAVA의 추상적인 개념..

Develop/Android 2019.11.08

제네릭이란? 사용하는 이유는!!?

자바의 가장 상위 클래스는 Object 이다. 이 Object는 상위 클래스이기 때문에 어떠한 타입도 받을 수 있다. 단! 캐스팅이 필요하다. 아래는 간단한 예시이다. public class Obj { private Object object; public Object get(){ return object; } public void set(Object object){ this.object = object; } } public class Test { public class void main(String[] args){ Obj obj = new Obj; obj.set("뚠님"); String text = obj.get(); System.out.printf(text); } } Object 형태의 Obj 클래스를..

Develop/Android 2019.11.01

overloading, overriding을 알아보자.

오버로딩(overloading), 오버라이딩(overriding)?? 자바를 배운다면 아주 기초적인 내용이다. 하지만 현재 이직을 준비하고 있는 입장에서.. 다시 기본이 중요하다는 것을 느꼈고, 리마인드 차원에서 정리한다. ( 향후에 이걸 정리하게 된 썰을 풀 수 있다면... 풀어보겠다.. ㅋㅋ ) 기본적으로 자바의 다형성을 지원하는 방법이라고 말할 수 있겠다. 그리고 그 다형성을 제대로 표현해 줄 수 있는 방법이 오버로딩(overloading)이다. 간단하게 정의를 해보자. 오버로딩(overloading) : 같은 이름의 메소드를 갖지만 파라미터의 타입이나 개수가 다른 형태 오버라이딩(overriding) : 상위 클래스가 가지고 있는 메소드를 재정의 하는 형태 Overloading 예시 public ..

Develop/Android 2019.10.31

안드로이드 스튜디오 Resource 폴더를 관리해 보자! - Android File Grouping

안드로이드 스튜디오를 사용하면 항상 고민인 것이 있다. res 관리. java나 kt 코드는 디렉토리를 만들어서 보기 좋게 관리 할 수 있는데 res 폴더는 좀처럼 그룹핑이 되지 않는다. layout 과 fragment를 나누고 싶거나, 혹은 하나의 activity를 기준으로 거기에 들어가는 fragment를 모아서 사용하고 싶다거나 개발자의 마음대로 그룹핑을 하면 좋지 않을까 ? 그래서 이것 저것 알아 봤는데, 생각보다 어렵더라.. 어디 들어가서 폴더 만들고 막.. 사실 나는 실제 폴더구조를 만든다기 보단, 작업하기 편하게 안드로이드 스튜디오에서 그룹핑된 구조로 보여주길 원했다. 실제 파일들은 하나의 폴더에 들어가 있더라도 말이다. 이 고민으로 열심히 구글링 해서 여러가지를 찾았는데, 그중에 사용해보고..

Develop/Android 2019.10.21

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
반응형