Dart에서 동시성과 이벤트 루프 이해하기
병렬성과 동시성 Event Loop를 보기 전에 미리 알고 가야 하는 개념이 있다. Parallelism(병렬성)과 Concurrency(동시성)이다. 동시성과 병렬성은 운영체제에서 나오는 개념인데, 다음과 같은 차이가 있다. 동시성(Concurrency) 병렬성(Parallelism) ...
병렬성과 동시성 Event Loop를 보기 전에 미리 알고 가야 하는 개념이 있다. Parallelism(병렬성)과 Concurrency(동시성)이다. 동시성과 병렬성은 운영체제에서 나오는 개념인데, 다음과 같은 차이가 있다. 동시성(Concurrency) 병렬성(Parallelism) ...
C++를 주로 하다가 Dart 언어로 넘어오면서 자주 착각한 게 있는데, 바로 Dart는 기본적으로 참조 복사가 일어난다는 것이다. Dart의 구조 값 복사는 변수에 값을 할당할 때 실제 데이터의 복사본이 생성되는 것을 의미한다. Dart에서는 기본 자료형(int, double, bool, String 등)에서 값 복사가 일어난다. 반면, 참조 ...
이전 포스트 에서 프로세서는 EL2를 지원한다는 사실을 확인했다. 프로세서가 EL2를 지원하고, kernel에서 kvm option도 켰다. 그럼에도 /dev/kvm파일이 나타나지 않는 이유에 대해 확인할 차례다. kvm 커널 코드를 확인해보자. kvm_arm_init kvm 활성화는 arm_init() -> kvm_init() -> kv...
이전 포스트 에서 직접 빌드한 Kernel이 필요하다는 걸 확인했다. galaxy note 10+ 의 커널을 바꿀 수 있는 방법은 여러가지가 있지만, 나는 LineageOS를 이용하기로 했다. LineageOS는 안드로이드 기반 커스텀 펌웨어로, 지속적인 업데이트가 이루어지고 있고 무엇보다 설치 및 빌드 가이드가 상세하게 나와있다. 미리 빌드된 Li...
개발하다 보면 Arm 기반 프로세서에서도 테스트해 봐야 하는 상황이 종종 생긴다. 여태껏 QEMU Emulation을 통해 x86머신에서 테스트를 진행해 오긴 했지만, 아무래도 kvm을 쓸 수 없다 보니 너무 느리고 답답하다. Mac PC를 쓰면 된다지만, 1년에 한두 번 쓰자고 사기엔 Mac은 너무 비싸다…. 고민하던 중 놀고 있던 Galaxy No...
Linux kernel의 가장 큰 장점은 opensource라는 것이다. 모든 코드들이 공개되어 있기 때문에 시스템 개발자로서는 최고의 교과서라고 할 수 있다. 하지만 교과서가 너무 거대하다.. QEMU를 이용하면 Linux kernel에 gdb를 붙여 그나마 코드 분석을 조금 용이하게 할 수 있다. 여기에는 QEMU와 gdb를 이용해서 linux ...
루팅을 진행하게 되면 갤럭시 노트 워런티가 깨지게 됩니다. 추후 순정 펌웨어로 돌린다고 하더라도 삼성페이를 포함한 각종 은행 어플들을 사용할 수 없게 됩니다. 안드로이드 버전 12 및 13에는 동일한 방법으로 루팅을 할 수 있습니다. 갤럭시 S20, S21, S22 시리즈 갤럭시 노트 10, 20 시리즈 갤럭시 탭 S6 lite,...
이 글에서는 스마트폰과 스마트워치 등의 장치를 원격으로 디버깅할 수 있는 STF(Smartphone Test Farm)에 대해 소개합니다. STF를 이용하면 다양한 디바이스를 서버에 연결하여, 개발한 애플리케이션을 여러 디바이스 환경에서 쉽게 테스트할 수 있습니다. 공식 git 주소는 다음과 같습니다. https://github.com/Device...
OVMF란? QEMU는 기본적으로 SeaBIOS를 사용하여 가상 머신을 부팅합니다. 그러나 GPT 파티션이나 UEFI 기능이 필요한 최신 운영체제를 구동하기 위해서는 OVMF(오픈소스 UEFI 펌웨어)를 사용하는 것이 적합합니다. OVMF는 QEMU나 KVM과 같은 가상 환경에서 UEFI 기반 부팅, TPM, Secure Boot 등을 지원하며, ...
Charles Proxy를 이용하면, 안드로이드에서 보내는 패킷들을 분석할 수 있습니다. Charles Proxy 설치 및 환경설정 https://www.charlesproxy.com/ 에서 각 OS에 맞는 버전을 다운받습니다. ubuntu에서는 다음 명령어로 쉽게 설치할 수 있습니다. wget -qO- https://www.charle...
Trending Tags