1. Toy Project (Kotlin, Mvp, Dagger, Rx, FireBase 적용기) 우 명 인 2. Toy Project • 재미삼아, 취미로, 호기심, 공부를 목적으로 하는 프로젝트 3. Toy Project • 재미삼아, 취미로, 호기심, 공부를 목적으로 하는 프로젝트 • 개인 혹은 팀을 만들어 하는 프로젝트 4. Toy Project • 재미삼아, 취미로, 호기심, 공부를 목적으로 하는 프로젝트 • 개인 혹은 팀을 만들어 하는 프로젝트 • 배포에 목적을 두지 않는 프로젝트 5. Toy Project • 재미삼아, 취미로, 호기심, 공부를 목적으로 하는 프로젝트 • 개인 혹은 팀을 만들어 하는 프로젝트 • 배포에 목적을 두지 않는 프로젝트 • 회사 업무시간이 아닌 개인시간(퇴근 후, 주말 등) 을 이용하는 프로젝트 6. Toy Project • 재미삼아, 취미로, 호기심, 공부를 목적으로 하는 프로젝트 • 개인 혹은 팀을 만들어 하는 프로젝트 • 배포에 목적을 두지 않는 프로젝트 • 회사 업무시간이 아닌 개인시간(퇴근 후, 주말 등) 을 이용하는 프로젝트 • 기능과 스펙에 제한이 없는 프로젝트 7. Toy Project • 재미삼아, 취미로, 호기심, 공부를 목적으로 하는 프로젝트 • 개인 혹은 팀을 만들어 하는 프로젝트 • 배포에 목적을 두지 않는 프로젝트 • 회사 업무시간이 아닌 개인시간(퇴근 후, 주말 등) 을 이용하는 프로젝트 • 기능과 스펙에 제한이 없는 프로젝트 • 규모와 일정에 제한이 없는 프로젝트 8. Why? • Kotlin으로 Android를 개발 할 수 있다는데? 9. Why? • Kotlin으로 Android를 개발 할 수 있다는데? • 요즘 Reactive가 유행이라던데? 10. Why? • Kotlin으로 Android를 개발 할 수 있다는데? • 요즘 Reactive가 유행이라던데? • Mvp 패턴을 사용하면 개발과 유지보수에 좋다는데? 11. Why? • Kotlin으로 Android를 개발 할 수 있다는데? • 요즘 Reactive가 유행이라던데? • Mvp 패턴을 사용하면 개발과 유지보수에 좋다는데? • Dagger를 쓰면 Android 에서도 쉽게 DI를 쉽게 할 수 있다는데? 12. Why? • Kotlin으로 Android를 개발 할 수 있다는데? • 요즘 Reactive가 유행이라던데? • Mvp 패턴을 사용하면 개발과 유지보수에 좋다는데? • Dagger를 쓰면 Android 에서도 쉽게 DI를 쉽게 할 수 있다는데? • FireBase를 사용하면 별도로 서버를 만들지 않아도 된다는데? 13. Why? • Kotlin으로 Android를 개발 할 수 있다는데? • 요즘 Reactive가 유행이라던데? • Mvp 패턴을 사용하면 개발과 유지보수에 좋다는데? • Dagger를 쓰면 Android 에서도 쉽게 DI를 쉽게 할 수 있다는데? • FireBase를 사용하면 별도로 서버를 만들지 않아도 된다는데? • 내가 사용할만한 App을 만들어 보고 싶다. 14. Problem • Framework, Library, Pattern 들을 회사 프로젝트에 적용을 해볼까? 15. Problem • Framework, Library, Pattern 들을 회사 프로젝트에 적용을 해볼까? • 팀원들도 나와 같은 관심들을 갖고 있을까? 16. Problem • Framework, Library, Pattern 들을 회사 프로젝트에 적용을 해볼까? • 팀원들도 나와 같은 관심들을 갖고 있을까? • 서비스중인 프로젝트에 적용을 해도 괜찮을까? • 개발해야 될 일들도 많은데… • 프로젝트 규모가 큰데 언제 다 적용하지? 17. Goal •내가 사용 할 App을 만들자 •일상생활에서 자주 쓰는 App을 만들자. •세상에 없는 App을 만들 생각은 없다. •마음대로 기획도 하고 개발도 하자. 18. Goal •내가 사용 할 App을 만들자 •일상생활에서 자주 쓰는 App을 만들자. •세상에 없는 App을 만들 생각은 없다. •마음대로 기획도 하고 개발도 하자. •개발자 스러운 앱을 만들고 싶지 않다. •디자이너와 같이 협업을 하자 19. Goal •내가 사용 할 App을 만들자 •일상생활에서 자주 쓰는 App을 만들자. •세상에 없는 App을 만들 생각은 없다. •마음대로 기획도 하고 개발도 하자. •개발자 스러운 앱을 만들고 싶지 않다. •디자이너와 같이 협업을 하자 •배포까지 해보자 •잘되면 좋고, 안 되도 그만! 20. Goal •내가 사용 할 App을 만들자 •일상생활에서 자주 쓰는 App을 만들자. •세상에 없는 App을 만들 생각은 없다. •마음대로 기획도 하고 개발도 하자. •개발자 스러운 앱을 만들고 싶지 않다. •디자이너와 같이 협업을 하자 •배포까지 해보자 •잘되면 좋고, 안 되도 그만! •Kotlin, Rx, Mvp, Dagger2, FireBase를 쓰자! •시간이 오래 걸리더라도 위에 있는 5개를 다 사용해보자 •완벽을 추구하지 말고, 점진적 리펙토링을 통해 개선하자. 21. Kotlin ? • Android 개발을 할 수 있다는데? 22. Kotlin ? • Android 개발을 할 수 있다는데? O (프로젝트는 현재 릴리즈) 23. Kotlin ? • Android 개발을 할 수 있다는데? O (프로젝트는 현재 릴리즈) • Java랑 100% 호환 된다는데? 24. Kotlin ? • Android 개발을 할 수 있다는데? O (프로젝트는 현재 릴리즈) • Java랑 100% 호환 된다는데? O (프로젝트는 현재 100% Kotlin , 초기에는 자바와 같이 개발을 했었음) 25. Kotlin ? • Android 개발을 할 수 있다는데? O (프로젝트는 현재 릴리즈) • Java랑 100% 호환 된다는데? O (프로젝트는 현재 100% Kotlin , 초기에는 자바와 같이 개발을 했었음) • Fp를 할 수 있다는데? •Scala보다 심플 하다는데? 26. Kotlin ? • Android 개발을 할 수 있다는데? O (프로젝트는 현재 릴리즈) • Java랑 100% 호환 된다는데? O (프로젝트는 현재 100% Kotlin , 초기에는 자바와 같이 개발을 했었음) • Fp를 할 수 있다는데? O (멀티 패러다임 언어) • Scala보다 심플 하다는데? O (Scala와 문법은 비슷하지만 Scala보다는 심플하다고 느낌) 27. Kotlin ? • Android 개발을 할 수 있다는데? O (프로젝트는 현재 릴리즈) • Java랑 100% 호환 된다는데? O (프로젝트는 현재 100% Kotlin , 초기에는 자바와 같이 개발을 했었음) • Fp를 할 수 있다는데? O (멀티 패러다임 언어) • Scala보다 심플 하다는데? O (Scala와 문법은 비슷하지만 Scala보다는 심플하다고 느낌) •아직 써도 될까? 28. Kotlin ? • Android 개발을 할 수 있다는데? O (프로젝트는 현재 릴리즈) • Java랑 100% 호환 된다는데? O (프로젝트는 현재 100% Kotlin , 초기에는 자바와 같이 개발을 했었음) • Fp를 할 수 있다는데? O (멀티 패러다임 언어) • Scala보다 심플 하다는데? O (Scala와 문법은 비슷하지만 Scala보다는 심플하다고 느낌) •아직 써도 될까? O (시작 할 당시 에는 0. 대 베타 버전 이었지만, 프로젝트 규모가 크지 않아 큰 무리가 없었다. 지금은 정식 릴리즈된 상태) 29. Kotlin ! • 홈페이지 문서가 잘 되어 있다. 30. Kotlin ! • 홈페이지 문서가 잘 되어 있다. • 우려 했던 것과 달리 러닝커브가 높지 않았다. • Scala를 어느정도 알고 있어서 문법이 익숙했다. 31. Kotlin ! • 홈페이지 문서가 잘 되어 있다. • 우려 했던 것과 달리 러닝커브가 높지 않았다. • Scala를 어느정도 알고 있어서 문법이 익숙했다. • Null safe가 잘 되어 있다. 32. Kotlin ! • 홈페이지 문서가 잘 되어 있다. • 우려 했던 것과 달리 러닝커브가 높지 않았다. • Scala를 어느정도 알고 있어서 문법이 익숙했다. • Null safe가 잘 되어 있다. • Fp를 적용 할 수 있다. 33. Kotlin ! • 홈페이지 문서가 잘 되어 있다. • 우려 했던 것과 달리 러닝커브가 높지 않았다. • Scala를 어느정도 알고 있어서 문법이 익숙했다. • Null safe가 잘 되어 있다. • Fp를 적용 할 수 있다. • Android Extention, Lambda 를 통해, 많은 보일러 플레이트 들을 제거 할 수 있다. • 코드가 간결 해지고, 로직에 더 집중 할 수 있다. 34. MVP ? • MVP 패턴으로 개발을 하면 좋다는데? • Model, View, Presenter 가 뭐지? 35. MVP ? • MVP 패턴으로 개발을 하면 좋다는데? • Model, View, Presenter 가 뭐지? Model - App에서 사용되는 Data View - Ui에 관련된 동작들을 정의한 Interface Presenter - 비즈니스 로직을 담당. 36. MVP ? • MVP 패턴으로 개발을 하면 좋다는데? • Model, View, Presenter 가 뭐지? Model - App에서 사용되는 Data View - Ui에 관련된 동작들을 정의한 Interface Presenter - 비즈니스 로직을 담당. • Android에도 잘 적용이 될까? 37. MVP ? • MVP 패턴으로 개발을 하면 좋다는데? • Model, View, Presenter 가 뭐지? Model - App에서 사용되는 Data View - Ui에 관련된 동작들을 정의한 Interface Presenter - 비즈니스 로직을 담당. • Android에도 잘 적용이 될까? O (Android에 매우 적합, Android dependency와 관련된 문제만 잘 처리 한다면.. ) 38. MVP ! • 래퍼런스가 많다. (이론, 코드 모두) 39. MVP ! • 래퍼런스가 많다. (이론, 코드 모두) • 초기 러닝커브는 높지 않았다. 40. MVP ! • 래퍼런스가 많다. (이론, 코드 모두) • 초기 러닝커브는 높지 않았다. • Android dependency 들이 골치 •Ui 및 Android dependency 들은 View로 분리 •순수 비즈니스 로직만 Presenter에 구현 •자연 스럽게 비즈니스 로직과 UI가 분리 •Presenter는 unit test만 하면 됨 •View는 Ui test만 하면됨 41. MVP ! 아직도 고민 중... • Ui와 비즈니스 로직이 많지 않은 구조도 굳이 MVP를 적용하는게 맞을까? •그렇다면 어떤 부분은 MVP로 되어있고, 어떤 부분은 MVP로 되어 있지 않다면 이건 올바른 걸까? 42. Dagger2 ? • DI를 사용하면 개발이 편하다는데? • 그런데 DI가 뭐지? 43. Dagger2 ? • DI를 사용하면 개발이 편하다는데? • 그런데 DI가 뭐지? Dependency Injection의 약자로 의존성 주입을 말함. 간단하게 정리하자면, 클래스간 의존 관계를 클래스 내부에서 정하지 않고, 컨테이너를 통해 주입 시켜 주는 것을 말합니다. 44. Dagger2 ? • DI를 사용하면 개발이 편하다는데? • 그런데 DI가 뭐지? Dependency Injection의 약자로 의존성 주입을 말함. 간단하게 정리하자면, 클래스간 의존 관계를 클래스 내부에서 정하지 않고, 컨테이너를 통해 주입 시켜 주는 것을 말합니다. • Dagger는 뭐지? 45. Dagger2 ? • DI를 사용하면 개발이 편하다는데? • 그런데 DI가 뭐지? Dependency Injection의 약자로 의존성 주입을 말함. 간단하게 정리하자면, 클래스간 의존 관계를 클래스 내부에서 정하지 않고, 컨테이너를 통해 주입 시켜 주는 것을 말합니다. • Dagger는 뭐지? Android 에서 DI를 쉽게? 할 수 있도록 도와주는 라이브러리를 말함. 46. Dagger2 ? • DI를 사용하면 개발이 편하다는데? • 그런데 DI가 뭐지? Dependency Injection의 약자로 의존성 주입을 말함. 간단하게 정리하자면, 클래스간 의존 관계를 클래스 내부에서 정하지 않고, 컨테이너를 통해 주입 시켜 주는 것을 말합니다. • Dagger는 뭐지? Android 에서 DI를 쉽게? 할 수 있도록 도와주는 라이브러리를 말함. • 좋은 자료 47. Dagger2 ! • Dagger2를 사용하기 위해 DI 를 공부하게 됨. 48. Dagger2 ! • Dagger2를 사용하기 위해 DI 를 공부하게 됨. • 보다 많은 재사용을 가능하게 해준다. 49. Dagger2 ! • Dagger2를 사용하기 위해 DI 를 공부하게 됨. • 보다 많은 재사용을 가능하게 해준다. • 보다 높은 decoupling 을 가능하게 해준다. 50. Dagger2 ! • Dagger2를 사용하기 위해 DI 를 공부하게 됨. • 보다 많은 재사용을 가능하게 해준다. • 보다 높은 decoupling 을 가능하게 해준다. • 생각보다 러닝커브다 높았다. 51. Dagger2 ! • Dagger2를 사용하기 위해 DI 를 공부하게 됨. • 보다 많은 재사용을 가능하게 해준다. • 보다 높은 decoupling 을 가능하게 해준다. • 생각보다 러닝커브다 높았다. • 완벽하게 이해하지 못하고 사용을 했었는데, 문제가 생길 때마다 많은 시간과 노력이 들었다. 52. Rx ? • Rx.. 너무나도 여기저기서 유행이다. 53. Rx ? • Rx.. 너무나도 여기저기서 유행이다. • 왠지 나도 당연히 알아야 만 할것 같았다. 54. Rx ? • Rx.. 너무나도 여기저기서 유행이다. • 왠지 나도 당연히 알아야 만 할것 같았다. •Reactive는 뭐지? 55. Rx ? • Rx.. 너무나도 여기저기서 유행이다. • 왠지 나도 당연히 알아야 만 할것 같았다. •Reactive는 뭐지? 반응형 프로그래밍 56. Rx ? • Rx.. 너무나도 여기저기서 유행이다. • 왠지 나도 당연히 알아야 만 할것 같았다. •Reactive는 뭐지? 반응형 프로그래밍 • 그런데 Rx가 뭐지? 57. Rx ? • Rx.. 너무나도 여기저기서 유행이다. • 왠지 나도 당연히 알아야 만 할것 같았다. •Reactive는 뭐지? 반응형 프로그래밍 • 그런데 Rx가 뭐지? ReactiveX, 이벤트 주도 반응형 프로그래밍 58. Rx ? • Rx.. 너무나도 여기저기서 유행이다. • 왠지 나도 당연히 알아야 만 할것 같았다. •Reactive는 뭐지? 반응형 프로그래밍 • 그런데 Rx가 뭐지? ReactiveX, 이벤트 주도 반응형 프로그래밍 • 굳이 Android에서 사용 할 필요가 있을까? 59. Rx ? • Rx.. 너무나도 여기저기서 유행이다. • 왠지 나도 당연히 알아야 만 할것 같았다. •Reactive는 뭐지? 반응형 프로그래밍 • 그런데 Rx가 뭐지? ReactiveX, 이벤트 주도 반응형 프로그래밍 • 굳이 Android에서 사용 할 필요가 있을까? O (Stream, 비동기, 병렬 처리를 하는데 있어서 매우 적합하다.) 60. Rx ! • Android call back 지옥에서 벗어날수 있게 해준다. 61. Rx ! • Android call back 지옥에서 벗어날수 있게 해준다. • 비동기 처리를 쉽게 할 수 있다. 62. Rx ! • Android call back 지옥에서 벗어날수 있게 해준다. • 비동기 처리를 쉽게 할 수 있다. • 러닝커브는 보통이라고 생각한다. 63. Rx ! • Android call back 지옥에서 벗어날수 있게 해준다. • 비동기 처리를 쉽게 할 수 있다. • 러닝커브는 보통이라고 생각한다. • Stream 을 사용 할 수 있다. • Kotlin 을 사용하고 있어서 큰 이득은 없었지만, 초기 Java로 개발하던 시기에는 Rx를 사용해 Stream을 처리했었다. • 여러 이벤트들을 합치고 분리 하는 등 여러 관리 할 수 있다. 64. Rx ! • Android call back 지옥에서 벗어날수 있게 해준다. • 비동기 처리를 쉽게 할 수 있다. • 러닝커브는 보통이라고 생각한다. • Stream 을 사용 할 수 있다. • Kotlin 을 사용하고 있어서 큰 이득은 없었지만, 초기 Java로 개발하던 시기에는 Rx를 사용해 Stream을 처리했었다. • 여러 이벤트들을 합치고 분리 하는 등 여러 관리 할 수 있다. • Thread를 관리 쉽게 할 수 있도록 도와준다. 65. FireBase ? • 구글 IO이후에 너무 Hot 하다. 66. FireBase ? • 구글 IO이후에 너무 Hot 하다. • 별도의 서버 없이도 서버에서 하는 일을 할 수 있다는데? •푸시도 가능하다는데? O (가능) •Analytic도? O (가능 Ga와는 비슷하면서도 다르다.) •CrashReport도? O (가능 Fabric보다는 2% 부족, 구글이 Fabric을 인수) 67. FireBase ! • 사용 초기에는 문서가 매우 좋지 않았지만, 현재는 잘 되어 있다. 68. FireBase ! • 사용 초기에는 문서가 매우 좋지 않았지만, 현재는 잘 되어 있다. • 참고할 문서나 코드가 지속적으로 늘어나고 있다. 69. FireBase ! • 사용 초기에는 문서가 매우 좋지 않았지만, 현재는 잘 되어 있다. • 참고할 문서나 코드가 지속적으로 늘어나고 있다. • 정말 별도의 서버를 만들지 않고도 많은 걸 할 수 있다. • Notifications 사용 • RemoteConfig 사용 • Analytics 사용 • RealTimeDataBase 사용 할 예정 70. 협업 •이슈 관리는 Trello 71. 협업 •이슈 관리는 Trello •문서도 Trello (format은 구글Doc, 링크 등 마음 대로) 72. 협업 •이슈 관리는 Trello •문서도 Trello (format은 구글Doc, 링크 등 마음 대로) •소스 관리는 GitHub 73. 협업 •이슈 관리는 Trello •문서도 Trello (format은 구글Doc, 링크 등 마음 대로) •소스 관리는 GitHub •미팅은 주기적으로, 유동적으로 •초기에는 기획을 해야 하기 때문에 매주, •중간에는 각자 작업 해야 할 일들이 있기 때문에, 2주에 한번 •막판에는 프로젝트가 루즈해 지지 않고, 마무리를 하기 위해 매주 74. 협업 •이슈 관리는 Trello •문서도 Trello (format은 구글Doc, 링크 등 마음 대로) •소스 관리는 GitHub •미팅은 주기적으로, 유동적으로 •초기에는 기획을 해야 하기 때문에 매주, •중간에는 각자 작업 해야 할 일들이 있기 때문에, 2주에 한번 •막판에는 프로젝트가 루즈해 지지 않고, 마무리를 하기 위해 매주 •미팅은 되도록 정해진 장소, 정해진 시간에! 75. 회고 •기획의 수정, 원복 반복… 76. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. 77. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 78. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 미팅, 중간점검 등 을 적절히 79. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 미팅, 중간점검 등 을 적절히 •무리하게 되면 일상생활이 힘들어 진다. 80. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 미팅, 중간점검 등 을 적절히 •무리하게 되면 일상생활이 힘들어 진다. 선택과 집중의 필요성 (너무 무리 하게 되면 일상생활, 회사 생활에 악 영향을 미친다.) 81. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 미팅, 중간점검 등 을 적절히 •무리하게 되면 일상생활이 힘들어 진다. 선택과 집중의 필요성 (너무 무리 하게 되면 일상생활, 회사 생활에 악 영향을 미친다.) •내가 제대로 하고 있는 건지? •잦은 리펙토링으로 인한 일정딜레이 82. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 미팅, 중간점검 등 을 적절히 •무리하게 되면 일상생활이 힘들어 진다. 선택과 집중의 필요성 (너무 무리 하게 되면 일상생활, 회사 생활에 악 영향을 미친다.) •내가 제대로 하고 있는 건지? •잦은 리펙토링으로 인한 일정딜레이 제대로 공부하고 있다는 증거다! 83. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 미팅, 중간점검 등 을 적절히 •무리하게 되면 일상생활이 힘들어 진다. 선택과 집중의 필요성 (너무 무리 하게 되면 일상생활, 회사 생활에 악 영향을 미친다.) •내가 제대로 하고 있는 건지? •잦은 리펙토링으로 인한 일정딜레이 제대로 공부하고 있다는 증거다! •혼자 할 껄, 괜히 같이했나? •나 혼자 열심히 한다고 진도가 빨라지지 않는다. (답답함) •쉬고싶은데 억지로 하게 된다. (퀄리티 저하) •의사결정이 늦어진다. (일정연기) 84. 회고 •기획의 수정, 원복 반복… 기획을 어느정도 마무리 해놓고 진행 하는게, 개발에 더 집중을 할 수 있을것 같다. •루즈해 지거나 흐지부지 되기 쉽다. 미팅, 중간점검 등 을 적절히 •무리하게 되면 일상생활이 힘들어 진다. 선택과 집중의 필요성 (너무 무리 하게 되면 일상생활, 회사 생활에 악 영향을 미친다.) •내가 제대로 하고 있는 건지? •잦은 리펙토링으로 인한 일정딜레이 제대로 공부하고 있다는 증거다! •혼자 할 껄, 괜히 같이했나? •나 혼자 열심히 한다고 진도가 빨라지지 않는다. (답답함) •쉬고싶은데 억지로 하게 된다. (퀄리티 저하) •의사결정이 늦어진다. (일정연기) 토이 프로젝트를 빨리 한다고 누가 상을 주거나 하지 않는다. 시간은 걸려도 초기에 설정한 목표를 만족시키는데 집중하자. 85. 잃은 점 •건강 86. 잃은 점 •건강 시간을 정해 두고 무리하지 않음. 87. 잃은 점 •건강 시간을 정해 두고 무리하지 않음. •가족과의 시간 88. 잃은 점 •건강 시간을 정해 두고 무리하지 않음. •가족과의 시간 와이프가 잠든 이후, 혼자 있는 시간에 89. 잃은 점 •건강 시간을 정해 두고 무리하지 않음. •가족과의 시간 와이프가 잠든 이후, 혼자 있는 시간에 •게임 할 시간 90. 잃은 점 •건강 시간을 정해 두고 무리하지 않음. •가족과의 시간 와이프가 잠든 이후, 혼자 있는 시간에 •게임 할 시간 가끔은 게임보다 재미있을 때가 있다. 91. 얻은 점 •Dagger2, Rx, Firebase, Mvp, Kotlin 경험 92. 얻은 점 •Dagger2, Rx, Firebase, Mvp, Kotlin 경험 •사람 93. 얻은 점 •Dagger2, Rx, Firebase, Mvp, Kotlin 경험 •사람 •소수이지만 팀을 만들고 관리, 운영 해봤다. 94. 얻은 점 •Dagger2, Rx, Firebase, Mvp, Kotlin 경험 •사람 •소수이지만 팀을 만들고 관리, 운영 해봤다. •PlayStore에 앱을 등록 95. 얻은 점 •Dagger2, Rx, Firebase, Mvp, Kotlin 경험 •사람 •소수이지만 팀을 만들고 관리, 운영 해봤다. •PlayStore에 앱을 등록 •자신감 Up 96. 결과물 97. 결과물 98. 결과물 99. 결론 이런 사람들에게 토이프로젝트를 강력하게 추천합니다. 100. 결론 이런 사람들에게 토이프로젝트를 강력하게 추천합니다. • 신 기술에 관심이 많다. 101. 결론 이런 사람들에게 토이프로젝트를 강력하게 추천합니다. • 신 기술에 관심이 많다. • 회사 프로젝트에 새로운걸 할 여유가 없다. 102. 결론 이런 사람들에게 토이프로젝트를 강력하게 추천합니다. • 신 기술에 관심이 많다. • 회사 프로젝트에 새로운걸 할 여유가 없다. • 재미있게 자기 개발을 하고싶다. 103. 결론 이런 사람들에게 토이프로젝트를 강력하게 추천합니다. • 신 기술에 관심이 많다. • 회사 프로젝트에 새로운걸 할 여유가 없다. • 재미있게 자기 개발을 하고싶다. • 용돈을 벌고 싶다. 104. 결론 이런 사람들에게 토이프로젝트를 강력하게 추천합니다. • 신 기술에 관심이 많다. • 회사 프로젝트에 새로운걸 할 여유가 없다. • 재미있게 자기 개발을 하고싶다. • 용돈을 벌고 싶다. 주기적으로 토이 프로젝트를 하자!