본문 바로가기

Computer Science

(2)
[CS, Android] 앱은 어떻게 만들어질까? 서론안드로이드 스튜디오에서 실행 버튼을 누르면 내부적으로 어떤 동작이 일어나는 걸까? '빌드 전달 부탁드려요', '빌드가 아직 안나왔어요' 관용적으로 표현하는 빌드는 도대체 무엇일까?고급 언어와 저급 언어흔히 우리가 코드를 작성할 때 사용하는 프로그래밍 언어인 Kotlin, Java, C, Python과 같이 사람이 쉽게 이해하고 작성하기 위해 만든 언어를 고급 언어(high-level programming language)라고 한다. 하지만 컴퓨터는 저급 언어(low-level programming language)만을 직접 이해하고 실행할 수 있다. 따라서 고급 언어로 작성된 소스 코드가 실행되기 위해서는 반드시 저급 언어로 변환하는 과정이 필요하다. 저급 언어에는 기계어와 어셈블리어가 있고 기계어는..
[CS, Android] 해시테이블 / HashMap, ArrayMap, SparseArray 서론어떤 콜백 함수가 값을 넘겨줄 때 SparseArray 타입으로 넘겨주는 것을 보고 SparseArray가 무엇이고 언제 사용해야 하는지에 대해 정리해보고자 한다. SparseArray에 대해 이해하는 과정에서 HashMap과 ArrayMap는 필수적으로 선행되어야 함을 알게 되었고, 이 과정에서 자료구조와 알고리즘에 해당하는 Map과 해시테이블에 대한 이해가 기반이 되어야 하기에 카테고리를 CS로 정하게 되었다. 최근 들어 안드로이드 개발에 있어 CS적 관점에 대해 많이 고민하고 있어서 흥미롭게 공부할 수 있었다.맵(Map) 맵은 키(Key)-값(Value) 쌍을 하나의 데이터로 보고 이 쌍들을 저장하는 자료구조로 정의한다. 위 사진과 같이 키 234에는 Banana라는 값을 가지게 되고 키 382..