일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- cs
- 디자인 패턴
- 개발
- MVVM
- CS지식
- reactnative
- 안드로이드
- Android
- github
- Database
- 리액트네이티브
- 데이터베이스
- Kotlin
- 안드로이드 디자인 패턴
- React
- OS
- db
- 운영체제
- 메모리
- 코틀린
- 앱
- 스레드
- 액티비티
- 프로세스
- 앱개발
- Operating System
- 리액트
- 앱 개발
- 안드로이드 개발
- 디자인패턴
- Today
- Total
목록분류 전체보기 (72)
Tech Log
안드로이드를 개발할 때 가장 많이 권장된다는, 구글이 권장하는.., MVVM 패턴을 공부해보고자 한다. 아키텍처 패턴이 각각의 장단점이 있지만, MVVM이 어떻길래 권장되는지 상당히 궁금했다. 해당 포스팅은 안드로이드 아키텍처 기준으로 작성되었습니다. 1. MVVM 패턴이란? MVVM 패턴은 Model, View, ViewModel로 세 가지 역할로 프로그램을 분담하여 나눈 것이다. 안드로이드에서의 MVC 패턴은 View와 Model 사이의 의존성이 높다. 그리고 MVC 패턴에서는 View와 Controller가 함께 Activity나 Fragment에 있다.... (이에 대한 자세한 예시는 추후에 MVC 패턴 예제 포스팅을 작성해볼 예정이다) 이렇게 두 모듈 간의 결합도가 높으면, 추후에 프로그램이 커..
이때까지 프로젝트를 하면서 코드가 복잡해지는 것에 대한 불편함을 느꼈다. 디자인 패턴을 적용하지 않고, UI 설정 코드와 데이터 받아오는 코드 등을 합쳐놓으니 굉장한 스파게티 코드가 된 것 같았다... 따라서 앞으로 하는 프로젝트는 모듈화와 디자인 패턴 적용에 집중해야 겠다고 생각했다. 여러 아키텍처 패턴 중 심플하다고 생각되는 MVC 패턴부터 알아보고자 한다. 해당 포스팅은 안드로이드 아키텍처 기준으로 작성되었습니다. 1. MVC 패턴이란? MVC 패턴은 애플리케이션(응용 프로그램)을 서로 다른 역할로 분리해놓은 패턴 중 하나이다. 관심사 분리(Separation of Concerns, SoC)로도 알려져 있다고 한다. 여기서 관심사 분리(separation of concerns, SoC)란? In c..
MVC와 같은 아키텍처 패턴을 본격적으로 프로젝트에 적용하기 전에, ViewModel이라는 것을 알게 되었다. UI 컨트롤러와 데이터 관리를 분리하기 위해 사용되는 것으로 일단은 알고 있다. 더 정확하게 ViewModel의 개념을 알기 위해 이번에 ViewModel에 대해서 공부하고 블로깅해보려 한다. 또한, ViewModel을 제대로 공부하는 것이 아키텍처 패턴을 알맞게 적용하는데 (당연하지만)큰 도움이 될 것이라 생각한다. 들어가기 전에 앞서서, 구분해야 할 것이 있다. MVVM 패턴에 사용되는 개념 중에 ViewModel 이라는 것이 있다. 그리고 안드로이드 Jetpack에 포함되는 클래스 중에 ViewModel 이라는 것이 있다. (또한 Jetpack 클래스의 ViewModel은 Android A..
RecyclerView는 안드로이드 위젯 중에서 많이 쓰이는 것 중 하나다. RecyclerView는 메모리 최적화와도 관련된 내용이 나오기 때문에, 이론적인 내용에 대한 정리가 필요할 것 같아 글을 작성해본다. 1. RecyclerView란? Android Developers에서는 RecyclerView를 동적 목록을 나타내는 수단으로 표현하고 있다. 이름에서 알 수 있듯이, RecyclerView내의 View를 재활용하는 동적 목록이다. Android Jetpack에 포함되어 있는 위젯이다(원래는 Support Library에서 지원됐으나, Support Library가 deprecated됨) 다시 말해, 데이터 목록을 재활용하여 목록에 나타낸 View라고 생각하면 된다. 아래와 같은 아이템 목록들을..
프로그래머스에서 문제를 풀다가 해쉬 개념과 관련된 문제를 풀었다. 해쉬 관련 문제 풀이를 블로그에 올렸으니 해쉬 테이블에 대해서도 블로깅해봐야 할 것 같아서 정리해보았다. 1. Hash란 Hash하는 것, 즉 Hahsing은 산술적인 연산을 이용하여 키가 있는 위치를 계산하여 바로 찾아가는 계산 검색 방식이다. 키 값을 비교하여 찾는 검색 방법이 아니다. 이 과정에서 쓰이는 함수와 테이블이 있다. 각각 Hash Function, Hash Table이라 불린다. 해쉬 함수(Hash Function)는 키 값을 원소 위치로 변환한다. 해쉬 테이블(Hash Table)은 해쉬 함수에 의해 계산된 주소 위치에 항목을 저장한 표다. 이와 같은 설명을 그림과 같이 표현하면 다음과 같다. 그림과 같이 키 값에 대해서..
안드로이드 개발 언어로 코틀린을 주로 쓰고 있다. 언어 특징을 대충은 알고 있었지만, 오래 기억하기 위해서 정리해보게 되었다. 1. 코틀린이란? 코틀린은 자바 플랫폼(자바 프로그램의 개발과 실행을 위한 환경)에서 돌아가는 프로그래밍 언어다. 자바가 사용 중인 곳이라면 거의 대부분 코틀린을 사용할 수 있다. 현재 서버 개발, 안드로이드 어플리케이션 개발 등에서 활발하게 사용되고 있다. 코틀린은 간결하고 실용적이며, 자바 코드와의 상호 운용성을 중시한다. * 상호 운용성 : 하나의 시스템이 동일 또는 이기종의 다른 시스템과 아무런 제약이 없이 서로 호환되어 사용할 수 있는 성질 (출처 : 위키백과) 자바가 실행되는 환경이면 잘 작동하며, 성능도 자바와 같은 수준이다. 2. 활용 범위 앞서 코틀린이 자바 플랫..
Fragment에 대해서 공부하면서, Fragment에도 생명주기가 있다는 것을 알게 되었다. Fragment는 Activity에 종속이 될 텐데 Fragment의 생명 주기는 종속되는 중에 어떻게 돌아갈까 궁금했다. 이번 포스팅에서는 Fragment 생명 주기에 대해서 자세히 알아보고자 한다. 그리고 Activity 생명 주기와는 어떤 다른 점이 있는지 공부해보고자 한다. 1. 배경 Fragment도 Activity와 마찬가지로 UI를 빌드하는 것이므로 Activity가 생명주기를 갖는 것과 같은 이유로 생명주기를 갖고 있다. 생명주기 콜백 함수가 있는 이유는 사용자가 Fragment 화면을 나가거나 돌아올 때 대응하기 위해서였다. 그 외에도 다른 이유들이 있는데 아래 링크에서 생명주기를 사용하는 이유..
클론 코딩을 하면서, ViewPager2를 사용하게 되었다. 사용한 지 좀 오래 되어, 복기용으로 글을 작성하게 되었다. 0. 개념 ViewPager2는 화면 슬라이드에 이용되는 레이아웃 클래스이다. ViewPager2가 ViewGroup으로부터 상속된 것을 보면, Container 역할을 한다는 사실을 유추해낼 수 있다. 단어의 뜻 그대로, View + Pager = 페이지를 쓸어 넘기듯이 View를 넘기는 것이다. 이 뷰에서는 스와이프(Swipe) 제스처를 통해서, 한 화면에서 다음 화면으로 전환할 수 있다. ViewPager2는 데이터를 페이지 단위로 화면에 표시한다. 여러 종류의 뷰 위젯을 사용하여 ViewPager2를 구성한다. 1. ViewPager와 ViewPager2 ViewPager2라고..