[TIL] 2023.11.17 용어 정리

Gahyeon Lee·2023년 11월 17일
0

TIL

목록 보기
2/47
  • AOT 컴파일(Ahead Of Time Compilation)
    AOT 컴파일을 하면 설치 시 모두 컴파일되므로 사용할 때 속도는 빠르지만, 컴파일된 파일만큼 디스크의 용량을 차지하여 많은 앱을 설치할 수 없다.
  • JIT 컴파일(Just In Time Compilation)
    JIT 컴파일을 하면 호출 시 컴파일되므로 잠시 성능에 영향을 줄 수는 있지만 한 번 컴파일된 이후로는 AOT와 동일한 속도를 내고, 디스크의 용량을 적게 차지한다.
    안드로이드는 상황에 맞춰서 컴파일을 두 번 한다.

  • 바이트코드
    작성한 코드를 가상 머신인 안드로이드 런타임에서 이해할 수 있도록 변환한 코드

  • APK(Adroid Package)
    안드로이드 설치 파일의 확장자명으로 사용된다. 특정 앱의 APK 파일이 있으면 스마트폰에 수동으로 해당 앱을 설치할 수도 있다.

  • AAB(Android App Bundle)
    안드로이드가 새롭게 제안하는 APK 파일을 대체하는 빌드 파일 형태이다. 플레이 스토어에 AAB 파일 형태로 앱을 등록하면 사용자가 앱을 다운로드할 때 사용자의 디바이스에 필요한 모듈만 골라서 APK 파일로 다시 생성해준다. 구글은 21년 8월부터 구글에 새로 올라오는 모든 안드로이드 앱은 AAB 형식이어야만 한다고 정책을 바꾸었다.

  • 빌드(Build)
    소스 코드를 변환해서 안드로이드에서의 실행 파일인 APK 파일로 만드는 것이다. 빌드는 소스 코드를 기계어로 변환한 후 라이브러리와 연결해서 실제 실행 파일로 만드는 과정을 일컫는 용어

  • 컴파일(Compile)
    사람이 읽을 수 있는 형태의 소스 코드를 컴퓨터가 읽을 수 있는 형태의 기계어로 변환해주는 과정이다. 컴퓨터는 기계어만 이해하고 동작하는데, 이 기계어의 구조를 사람이 이해하는 것이 어려워 코틀린, JAVA와 같은 컴퓨터 언어가 생겨난 것이다.

  • 프레임워크
    원하는 기능 구현에 집중하여 개발할 수 있도록 일정한 형태와 필요한 기능을 갖추고 있는 골격, 뼈대를 의미한다. 애플리케이션 개발 시 필수적인 코드, 알고리즘, DB 연동과 같은 기능들을 위해 어느 정도 뼈대(구조)를 제공하며 이러한 뼈대 위에서 사용자는 코드를 작성하여 애플리케이션을 개발한다. 앱/서버 등의 구동, 메모리 관리, 이벤트 루프 등의 공통된 부분은 프레임워크가 관리하며, 사용자는 프레임워크가 정해준 방식대로 클래서, 메서드들을 구현하면 된다.
    ex) Java 서버 개발에 사용되는 Spring, Python 서버 개발에 사용되는 Django와 Flask

  • 라이브러리
    소프트웨어를 개발할 때 컴퓨터 프로그램이 사용하는 비휘발성 자원의 모임이다. 즉 특정 기능을 모와둔 코드, 함수들의 집합이며 코드 작성 시 활용 가능한 도구들을 의미한다.
    프레임워크는 프로그램이 필요한것을 개발자에게 알려줌으로써 제어권을 역전하고, 라이브러리는 개발자가 필요할 때 마다 설치, 혹은 호출함으로써 개발자가 능동적으로 사용하게 된다.

  • 젯팩(Jet Pack)
    개발자가 관심 있는 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 축소, 모든 Android 버전 및 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 모음

  • 스레드(Thread)
    어떠한 프로그램 내에서, 특히 프로세스 내에서 실행되는 흐름의 단위
    (프로세스보다도 작은 실행 흐름의 최소 단위)

profile
코린이 강아지 집사🐶

0개의 댓글