분류 전체보기
-
과연 Activity/Fragment가 Finished되면 View Model은 어떻게 될까?프로그래밍/Android 2017. 8. 29. 22:50
ViewModel은 MVVM 패턴에서 VM의 역할로 사용자의 눈에 보이는 데이터를 저장하고 관리하며 Activity/Fragment의 생명주기동안 데이터를 들고 있다. 그렇다면 과연 Activity/Fragment가 Finished되면 View Model은 어떻게 될까? ViewModel 라이프 사이클은 다음과 같다. Activity에 바인드 되어서 onDestroy시 같이 소멸되는 것이 원칙이다. rotation과 같이 ViewModel 객체가 다시 만들어져야할 경우는 비효율적인 경우이므로 ViewModel 객체가 재생성되지 않는다. Another problem is that, these UI controllers (activities, fragments, and so on) frequently nee..
-
[Android] MVC vs MVP vs MVVM디자인패턴 2017. 8. 1. 14:21
MVC, MVP, MVVM등 Android Application을 논리적인 component로 작성하는데 기여를 한 Design pattern들을 비교하도록 하겠다. 각각의 공통점은 아래와 같다. 1) Android Application을 크게 3가지 책임으로 분류한다. 2) Model과 View의 dependency를 제거함으로써 독립적인 Module로 사용할 수 있도록, testable하게 코드를 작성할 수 있도록 한다. MVC M : Model은 Data, Data의 State 변화를 담고있고, Business logic을 관리하는 역할이다. Application의 머리부분이며 View와 Controller에 종속적이지 않고 많은 context에서 재사용될 수 있다. V : View는 Model을 ..
-
RecyclerView in MVP — Passive view’s approach -2디자인패턴 2017. 7. 26. 02:13
RecyclerView를 사용할 때, 드는 생각은 Data를 어떻게 관리할 것인지이다. 항상 고민되는 문제이다. Passive View 를 만들자는 관점에서 RecyclerView에서 사용하는 Data는 어떻게 관리되어야 할까?대부분의 사람들은 Adapter에 Collection(List)를 생성하는 경향이 있다. Adapter에 Collection(List)를 직접 참조하는 건 정말 별로다!! 우리는 일반적으로 MVP 패턴에서 Presenter에 이 데이터를 갖게 한다. 그래서 Adapter와 Presenter에 Data를 가지고 있기 때문에 이를 sync하기 위해서는 두 배로 시간이 든다. 첫 번째로, 데이터를 Adapter에서 removing, adding, or updating하는 것은 Passi..
-
RecyclerView in MVP - Passive view's approach -1디자인패턴 2017. 7. 26. 00:09
RecyclerView in MVP - Passive view's approach좋은 프로그래머는 Seperation of concerns를 잘 알아야한다. 그래야 코드가 왜 이렇게 작성됐는지 모르는 사람도 읽기 쉬운 코드를 작성할 수 있다. '나는 코드 뭉치를 presenter에 넣어야할까? activity에 넣어야할까?', 'REST API로부터 받아야하는 데이터는 언제 실행해야할까?' 항상 고민한다. God Activity object를 만들지 않기 위해서 나는 이러한 모든 고민을 presenter에 넣는다. 하지만 이렇게 해도 presenter가 할 일이 많아지면 읽기 힘들기는 마찬가지이다. 나는 여기서 DroidMVP라는 라이브러리를 소개하고자 한다. 이 라이브러리에서 추구하고자 하는 바를 자세..
-
티스토리에 구글 애드센스 추가 방법WEB/HTML, CSS 2017. 7. 25. 00:34
구글 애드센스 사실 구글 애드센스만한 편한 UI는 보지를 못했다. 다른 광고 모듈이 있다면 추천 부탁드립니다. 핀코드 발행 방법핀코드란 정확히는 모르겠지만, 구글 애드센스의 사용자를 인증하는 방법인 것 같다.구글 애드센스는 핀코드가 있어야 내가 만든 광고단위를 사이트 내에 표시할 수 있고, 표시가 되어야 광고수익도 올릴 수 있다.내 집주소를 적고, 핀코드를 요청하면 미국의 구글로부터 편지 한 통이 배송된다. 잊고 지내다보면 도착한다. (필자는 약 한 달 소요..) 계속 못 받으면 어떡하지?? 라는 걱정 말아라, 3번 동안 핀코드를 요청했는데 못 받으면 애드센스 사이트에서 이메일로 인증받을 수 있는 방법을 권고한다ㅎㅎ 핀코드를 받고 인증이 성공하면 내 블로그에 광고를 표시할 기회를 갖는다. 광고 단위를 블..
-
함수형 프로그래밍 설계 -1프로그래밍/Java 2017. 6. 29. 00:14
Java에서 Kotlin으로 넘어가야하는 시점에서 함수형 프로그래밍이란 무엇인지 공부를 시작해보려고 한다. 사실 음식도 모르고 먹을때 보다 알고 먹으면 더 맛있듯이 프로그래밍 언어도 알고 사용하면 더 재밌다. 그래서 일단은 Java8 공부하면서 의식의 흐름을 담아보려한다. Lambda란 도대체 무엇인가? Lambda란 그리스 문자(Greek Alphabet)로 Λ, λ를 지칭한다. 들어갈 (입) 모양의 한자처럼 생겼다. 수학 분야에서 사용되고 있고 함수를 표현할 때 사용된다고 한다. f(x)의 f같은 의미인 것 같다. (추측) Lambda Expression 람다 함수, 람다식 같은 표현이다. 프로그래밍 언어 중에서도 익명함수(Anonymous Function)을 의미한다. 나는 막연히 Java에서만 있..
-
네이버 면접시 듣게 되는 41가지 질문프로그래밍/방법론 2017. 6. 19. 01:05
http://www.bloter.net/archives/245110 20. 당신의 꿈은 무엇인가요? 정말 솔직한 자신의 꿈을 말해주세요.21. 이전 프로젝트에서 어떤 갈등이 있었고, 그 문제를 어떻게 해결했나요? 구체적인 사례를 들어 설명해 주세요.22. 쿼리가 들어올 때, 어떻게 해야 효과적으로 저장할 수 있나요?23. 이 직무를 위해 당신이 정말 이것만은 열심히 했다고 생각하는 것이 있나요? 무엇인가요?24. 이전 직장에서 업무로 어떤 평가를 받았나요?25. 당신의 성장 과정과 특정 기업 사이에서 연관된 부분을 발견하고, 해당 기업을 소개해보세요.26. 기획으로 내려온 내용이 마음에 들지 않는다면, 개발자 입장에서 당신은 이를 어떻게 처리할 것인가요?27. 지금까지 당신은 성공적인 사례만을 들어 본인..