14:07 HRD-net 수강신청이 되지 않아 질문을 남김
14:08 Kotlin 깃북 마저 읽기 시작함
어제데이에 궁금했던 단어들: AOT, JIT 몰라몰라
https://ko.wikipedia.org/wiki/AOT_컴파일 에서 AOT가 뭔지 읽어보기로 했다.
"AOT 컴파일(ahead-of-time compile)은 목표 시스템의 기계어와 무관하게 중간 언어 형태로 배포된 후 목표 시스템에서 인터프리터나 JIT 컴파일 등 기계어 번역을 통해 실행되는 중간 언어를 미리 목표 시스템에 맞는 기계어로 번역하는 방식을 지칭한다." 아 뭐래!
편의를 위한 중간 언어 + 시스템인가 보다. 어떤 언어는 영어로 중역하곤 하는 것처럼. 얘 덕분에, 조립컴을 회사 관계없이 세팅해도 전부 롤을 돌릴 수 있단다. 오예! 우선은 이 정도로 이해하고 넘어가자.
AOT_컴파일 위키피디아 주소를 그대로 복붙하면, '컴파일'이 '%EC%BB%B4%ED%8C%8C%EC%9D%BC'로 나온다. 이거 뭐라고 부르더라? 유니코드?
https://xeppetto.github.io/소프트웨어/Tools/20220417-웹브라우저-주소-복사-시-한글-깨질때 에서 친절히 설명해 주었길래 인용한다.
"웹브라우저 주소창의 인코딩이 UTF-8일 수 없어서 그렇다. 웹페이지의 본문에서는 UTF-8을 허용하지만, 웹브라우저의 주소창에서는 오로지 ASCII만 허용하기 때문에 나타나는 현상이다."
14:21 아 맞다, 지금 Kotlin에 대해 공부하고 있었지. 호기심 해결했으니 유턴합시다!
https://ko.wikipedia.org/wiki/JIT_컴파일 에선 이렇게 말했다.
"JIT 컴파일(just-in-time compilation) 또는 동적 번역(dynamic translation)은 프로그램을 실제 실행하는 시점에 기계어로 번역하는 컴파일 기법이다." 최초의 JIT 컴파일러가 1960년쯤에 만들어졌다고 하니, 그럼 예전엔 미리 기계어로 다 써 뒀나 보다!
안드로이드 앱도 JIT 컴파일 과정을 거친다고 하니, 앱 버튼을 누르면 그 때 컴파일되는 거겠군. 약간 마감 전에 몰아서 하는 스타일인데? ㅋㅋ... 그러고 멍을 때림.
15:31 커피 사와서 다시 착석. 사전캠프는 4시간으로 짧으니 더 집중해보자!
소스 코드가 결국 APK가 되기까지의 전 과정이래요.
참고: 컴파일이란 (C, Python, Kotlin 같은) 소스 코드 > 기계어(0101...)로 변환하는 과정
궁금한 점: 리눅스에서 이야기하는 '라이브러리'가 뭐지? Phyton 라이브러리하고는 달라 보이는데!
와 이거 궁금했어!
AAB: 제가 더 새로워요. 저로 스토어 등록하면 사용자들이 데이터를 절약할 수 있어요!
APK: 응 축하해
16:25 여태까지 적은 메모를 가독성 있게 정리함.
앱... 실행!
앱 프레임워크
라이브러리 & 런타임 > JIT > 실행 파일 < AOT < APK
뭐시기 저시기(하드웨어 추상화 계층?)
리눅스 커널(OS)
휴대폰 하드웨어
깃북엔 이미지로 안드로이드 아키텍쳐가 설명되어 있는데, 글로도 정리해 보았다.
AOT(Ahead of Time, 시간 상관없이) = 설치 파일 일부가 한 번 더! 컴파일되는 형태.
5.0 롤리팝 시절에는 전부 JIT, 즉 설치 시 컴파일하기로 했는데 별로여서 하이브리드 됐대.
AOT만 쓰면 별로인 점: 사용속도는 빠르지만, 용량 개많이 차지함
JIT만 쓰면 별로인 점: 용량은 적게 차지하는데, 잠깐 버벅일 수 있음
16:40 호기심 해결했으니 오늘의 알고리즘 문제를 구경하러 감
왕창 실패한 내 코드는 이랬다.
class Solution {
fun solution(num1: Int, num2: Int): Int {
var answer: Int = 0
if (num1 <= 100 && num1 >= 0 && num2 <= 100 && num2 >=0)
{
num1 * num2 = answer //우선 냅다 곱하고 보자구
}
return answer
}
}
엥? 왜 테스트에서 다 실패하지? 아 웁스!
answer = num1 * num2
가 되어야지! 우하학 my 실수~
궁금한 점: raw 코드도 Github 링크와 같이 공유해야 하는데, raw 코드를 달라고 하면 주석을 포함해서 주는 것이 일반적인가? 난 주석을 되게 주절주절 쓰는 스타일이라 조금 민망하단 말이야
웅 정말 맞는 말이야. 고용센터에 전화해야 하는데 전화가 무서워! #zillennials
내일배움지원카드를 갖고 있는데도 왜인지 수강신청이 되지 않아 관할 고용센터에 연락을 취해야 한다.
17:04 관할 고용센터가 어디인지 찾는 중... 카톡 간편인증을 이번 주에만 50번은 한 것 같다
17:13 상담 대기가 되게 길다... 내일 아침에 다시 전화해 봐야지.
17:19 배가 고픔