커밋 메시지 컨벤션...Why? 사실 지금껏 혼자서 프로젝트를 진행해오는 일이 많아서 깃 커밋 메시지를 나만 알아보면 되므로 중구난방으로 적는 일이 많았다. 그러던 중 최근에 팀 프로젝트를 진행하면서 남이 알아보기 쉽게끔 신경써서 커밋 메시지를 작성해야할 일이 생겼다. 그런데 팀 플젝이 아니더라도 몇 개월 뒤에 내가 쓴 커밋 메시지를 보게 되면 이 당시의 내가 무슨 생각으로 커밋 메시지를 작성했는지 알 수가 없다....(나를 위해서 라도 커밋 메시지를 신경써서 적도록 하자.) 정리하자면, 크게 3가지 이유로 좋은 커밋 메시지를 작성해야 할 것이다. 더 좋은 커밋 로그 가독성 더 나은 협업과 리뷰 프로세스 더 쉬운 코드 유지 보수 커밋 메시지 구조 (Commit Message Structure) 커밋 메시..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/ciYnAy/btqQNpWfXPc/nNVjbtHkB1kLUKv5lAecvk/img.png)
안드로이드의 4대 컴포넌트 초간단 요약!! TL;DR; - Too Long; Don`t Read; 액티비티(Activity) : UI를 구성하기 위한 컴포넌트 서비스(Service) : UI 없이 백그라운드에서 장시간 수행되는 컴포넌트 콘텐츠 프로바이더(ContentProvider) : 애플리케이션 간 데이터를 공유하기 위한 컴포넌트 브로드캐스트 리시버(BroadcastReceiver) : 이벤트 모델로 수행되는 컴포넌트 액티비티(Activity) 사용자 화면을 제공하는 컴포넌트!! 안드로이드 앱은 클라이언트 측 애플리케이션이므로 화면 구성이 중요하다. 따라서 가장 많이 작성하는 컴포넌트 서비스(Service) 화면과 전혀 상관없이 백그라운드에서 장시간 무언가를 수행할 수 있는 컴포넌트!! 대표적으로 채..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/qcvGG/btqQR5XcFgy/w1k4VScGZyEJ51g9e77Ep1/img.png)
깡쌤의 말에 따르면 앱 개발자 관점에서 안드로이드 플랫폼의 아키텍처를 자세히 이해하거나 응용할 필요는 없다고 한다. 다만 안드로이드 플랫폼이 어떻게 설계되었는지, 앱이 어떤 환경에서 수행되는지 등 상식 수준에서만 알아두면 좋다고 하여 이렇게 간략하게 나마 정리하려고 한다. 안드로이드 플랫폼은 리눅스 커널 기반이다. HAL(Hardware Abstraction Layer)은 자바 API 프레임워크에 하드웨어 기능을 이용하는 표준 인터페이스를 제공한다. 자바 API 프레임워크에서 하드웨어 기기(카메라, 블루투스 등)를 이용하기 위한 코드가 실행되면 내부적으로 HAL의 라이브러리 모듈이 로딩되어 처리된다. 안드로이드 런타임(Android Runtime)은 ART 가상 머신을 이용하여 그 위에 일반 애플리케이션..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/bcA5lU/btqQUYDsBpq/2UEpyh1q8c9RmsV8EhLJZK/img.jpg)
이 글은 단순히 책의 내용을 제 입맛에 맞게 요약 정리한 글에 불과합니다. 고로 이 글로 안드로이드를 공부하겠다는 생각은 접어두시는 걸 추천하는 바입니다. 책 좋아요!! 추천합니다!! 1. 안드로이드의 특징 안드로이드는 공개 운영체제인 리눅스 기반이다. 안드로이드 앱 개발은 자바(Java) 및 코틀린(Kotlin)을 이용해 개발한다. 운영체제의 핵심 코드, 라이브러리 코드, 스마트폰에 기본으로 탑재된 구글에서 만든 앱 코드 등 대부분 코드가 오픈되어 있다. 개발자가 만든 앱은 구글 Play 스토어뿐만 아니라 다양한 방법으로 사용자에게 배포될 수 있다. 안드로이드 플랫폼 기반의 스마트폰을 여러 제조업체에서 만들 수 있다. 안드로이드 기반의 모든 애플리케이션은 평등하다는 사상으로 스마트폰에 기본 탑재된 앱과..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/dn7s4q/btqPQtfDjH2/0TU3cO5zk0iNkKRwGa1phk/img.png)
Todo 리스트 앱을 만들면서 ListView를 쓰다가 막상 좀 찾아보니 RecyclerView가 더 많이 쓰인다는 것을 알게 되었다. 그리고 막상 써보니 맘처럼 쉽게 사용하기가 어려웠다. 그래서 아 이거 제대로 알고 쓰는 거 아니면 나중에 일이 더 커지겠는데 싶어서 제대로 공부해보고 쓰기로 마음먹고 이렇게 블로그를 들어와 포스팅을 하기 시작했다. 어떤 글에서나 쓰는 거지만 이 글은 제가 공부한 걸 제가 마음대로 써재기는 글인거지. 공부용으로는 전혀 도움이 안 됨을 미리 밝힙니다. 1. RecyclerView는 왜 쓰나요? 우선 RecyclerView 이전에 ListView가 있었음을 기억하자. 보통 앱을 구현하면서 ListView를 사용하는 경우에는 같은 item_layout.xml을 활용하는 경우가 ..
혼자서 안드로이드 스튜디오를 활용해서 Todo 리스트를 무작정 만들어보고 있다. 우선 Todo를 담을 데이터 스키마를 짜는데 까지는 좋았지만 어떤 데이터베이스에 담을까 찾아보고 있는 중 2018년에 나온 AAC 중에서 Room 라이브러리가 눈에 띄었고 구글에서 추천해준만큼 활용해보기로 했다. 1. Todo Entity는 데이터 구조를 표현하기 위한 클래스이다. 우선 Todo에 대한 정의를 해주었다. 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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 @Enti..