분류 전체보기
-
MediaPlayer:안드로이드에서 간단한 비디오 재생프로그래밍/Android 2020. 11. 21. 22:54
안드로이드 앱에서 오디오나 비디오 플레이를 하는 것은 많은 프로젝트에서 흔한 요구사항이다. 구글 스토어에 올라와있는 많은 앱들에서 심지어 로컬 비디오나 오디오에 대해서도 많이 제공한다. MediaPlayer MeaiaPlayer는 안드로이드 멀티미디어 프레임워크의 한 부분으로 res 디렉토리나 갤러리로부터 오디오나 비디오를 재생하게 한다. 또한 URL로부터 오디오나 비디오 스트리밍을 가능하게 해준다. https://www.raywenderlich.com/14273655-mediaplayer-simplified-video-playback-on-android The basic MediaPlayer : 오디오와 비디오 재생 Manifest declarations MediaPlayer로 네트워크를 사용한 스트리..
-
Making our Android Studio Apps Reactive with UI Components & Redux프로그래밍/Kotlin 2020. 11. 8. 22:56
아래 글을 번역한 내용입니다. netflixtechblog.com/making-our-android-studio-apps-reactive-with-ui-components-redux-5e37aac3b244 Making our Android Studio Apps Reactive with UI Components & Redux By Juliano Moraes, David Henry, Corey Grunewald & Jim Isaacs netflixtechblog.com Netflix는 Prodicle이라는 TV프로그램과 영화 제작을 담당하는 모바일앱을 구축했다. Android와 iOS앱으로 제작되었고 4명의 엔지니어가 3개월에 걸쳐서 제작했다. 이 앱의 기능은 제작 스테프들이 촬영 스케쥴을 조정하고 제작에 ..
-
가비지 컬렉션 (Garbage collection)프로그래밍/Java 2020. 10. 19. 16:30
Q. Garbage collection란? 가비지(Garbage): 더이상 의미없는 데이터 컬렉션(collection): 더이상 의미없는 데이터를 정리한다. 즉, 가비지 컬렉션은 더 이상 의미 없는 데이터의 정리, 메모리를 정리 한다는 의미이다. Garbage collection은 JVM 힙 메모리 정리 알고리즘이다. JVM은 힙 메모리에 객체를 생성한다. 힙 메모리 내에서 더 이상 사용되지 않는 객체는 새로운 객체로 재할당될 수 있도록 정리시키는 과정이다. 일반적으로 객체가 다른 객체에 의해 더 이상 참조되지 않을 때, 그 객체는 정리 대상이다. Q. Garbage collector란? 말 그대로 Garbage collection을 수행하는 담당자이다. JVM에는 Garbage collection 알고..
-
Kotlin multiplatform 프로젝트를 생성해보자프로그래밍/Kotlin 2020. 9. 1. 20:20
이 글은 영어 블로그 글을 번역하고 추가 조사한 글입니다. www.bugsnag.com/blog/kotlin-multiplatform blog.mindorks.com/getting-started-with-kotlin-multi-platform 코틀린 멀티플랫폼이란? 일반적으로 앱을 만들 때, iOS나 Android로 만든다. 그런데 디자인 변경이 있을 수 있지만, 코어 로직에 대해서는 거의 같을 것이다. 두 개의 앱을 작성하기 위해서 코틀린 멀티플랫폼은 동일한 비지니스 로직을 공유하게 하고 서로 다른 플랫폼에 대해 앱의 빌드를 제공한다. 코틀린 멀티플랫폼은 개발자가 코틀린 언어로 개발할 수 있게 한다. 또한 이는 비지니스 로직을 처리하고 개발자는 각 플랫폼의 UI만 신경쓰면 된다고 한다. 즉, 코틀린 멀..
-
OpenGL ES 3.0 - in/out 한정자Graphics/OpenGL ES 3.0 2020. 6. 1. 15:35
이 글은 OpenGL ES 3.0 Programming Guide (2nd ed.) [Ginsburg & Purnomo 2014-03-10] 를 나름 번역한 글입니다. GLSL 1.x에 있던 attribute, varying 한정자는 deprecated되었다. vertex shader의 input으로 들어오던 vertex attribute들과 fragment shader로 보낼 texture 좌표는 GLSL ES 3.0에서 어떻게 표시되는지 보자. 사라진 이유 - https://stackoverflow.com/questions/34627576/why-did-glsl-change-varying-to-in-out 공식https://www.khronos.org/opengl/wiki/Type_Qualifier_..
-
OpenGL ES 3.0 - Hello Triangle ExampleGraphics/OpenGL ES 3.0 2020. 5. 25. 12:08
이 글은 OpenGL ES 3.0 Programming Guide (2nd ed.) [Ginsburg & Purnomo 2014-03-10] 를 나름 번역한 글입니다. OpenGL 3.0을 시작하기에 앞서 간단한 예제를 작성해보려고 한다. 이 챕터에서는 삼각형을 하나 그려보려고 한다. Program 은 가장 간단한 삼각형을 그리는 프로그램을 작성할 것이다. 다음 스텝을 따라할 것이다. - 화면에 나타낼 수 있도록 EGL을 이용해 surface를 만들 것이다. - vertex, fragment shader를 로드할 것이다. - 프로그램 객체를 생성하고 vertex, fragment shader를 연결하는 program을 생성할 것이다. - viewport를 셋팅할 것이다. - color buffer를 cl..
-
Lessons learnt using Coroutines Flow in the Android Dev Summit 2019 app프로그래밍/Kotlin 2020. 1. 29. 08:56
[Lessons learnt using Coroutines Flow in the Android Dev Summit 2019 app] https://medium.com/androiddevelopers/lessons-learnt-using-coroutines-flow-4a6b285c0d06 한글 번역본입니다. Android Dev Summit 2019 App에 사용된 Flow(https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/-flow/)에 대한 내용이다. 이 앱에서 data stream을 어떻게 handle 하는지 알아보자. 이 앱은 architecture는 recommended app arc..
-
Improve app performance with Kotlin coroutines프로그래밍/Kotlin 2019. 11. 29. 00:37
Coroutine 끄적끄적 Coroutine 무엇?? 병렬성 디자인 freezing the add and blocking the main thread를 막는다 network나 disk operations를 main thread로부터 호출하는 것으로 막는다. long-running tasks를 관리해보자 croutine은 두가지 동작만 알면 된다. resume 는 현재 suspended됐던 부분부터 coroutine 실행을 다시 시작 suspend 는 현재 coroutine실행을 멈추고 모든 local variable저장 suspend는 suspend scope 안에서만 부르거나 launch 라는 coroutine builder에서 부르면 된다. suspend fun fetchDocs() { // Disp..