Firebase 안드로이드 앱 자동 테스트 하기 (Robo Test)
처음으로 1인 개발을 시도하면서 가장 큰 고민거리는 테스트였다. 앱이 버그로 인해 별점 1점을 도배받는 상황은 피하고 싶었고, 그래서 테스트의 중요성을 계속 인식하고 있었다. 개발 중에도 틈틈이 유닛 테스트를 작성해왔지만, 다양한 해상도와 OS 버전에서 앱이 제대로 동작하는지 확인하는 일은 혼자서 하기엔 상당히 번거로웠다. 이런 부담을 크게 덜어준...
처음으로 1인 개발을 시도하면서 가장 큰 고민거리는 테스트였다. 앱이 버그로 인해 별점 1점을 도배받는 상황은 피하고 싶었고, 그래서 테스트의 중요성을 계속 인식하고 있었다. 개발 중에도 틈틈이 유닛 테스트를 작성해왔지만, 다양한 해상도와 OS 버전에서 앱이 제대로 동작하는지 확인하는 일은 혼자서 하기엔 상당히 번거로웠다. 이런 부담을 크게 덜어준...
Android 에뮬레이터를 사용하다보면, 스크린 키보드는 사용 가능하지만, 물리키보드는 사용 불가능한 경우가 있다. 이는 해당 에뮬레이터 머신의 설정에서 키보드 사용이 꺼져있기 때문이다. ~/.android/avd/<emulator-device-name>.avd/config.ini 파일에 hw.keyboard=no를 hw.keyboard=...
Google Cloud 프로젝트 만들기 1. Google Cloud 홈에 접속하여 프로젝트를 생성해줍니다. 2. 프로젝트 생성이 완료되면 검색창에 “book”을 검색하고 “Books API”를 선택합니다. 3. Enable 버튼을 눌러줍니다. 4. 좌측의 “Credentials”를 클릭하고, API key를 생성해줍니다. 5. 키 생성이...
필요한 도구 설치 sudo apt update sudo apt install qemu qemu-system-x86 debootstrap debian기반 rootfs 이미지 생성 1) QEMU 디스크 이미지 생성 qemu-img create -f qcow2 debian-rootfs.img 10G 2) 디스크 이미지 포맷 및 마운트 sudo ...
지도에서 자주 보이는 하단의 BottomSheet를 Flutter에서 구현하는 방법을 알아본다. ShowModalBottomSheet ShowModalBottomSheet()은 화면 하단에 UI가 나타나도록 해준다. showModalBottomSheet( context: context, builder: (BuildContext contex...
Flutter의 Constraints 및 Size 결정 원칙 Flutter에서 Widget의 크기와 위치는 다음 한 문장으로 정리할 수 있다. “Constraints go down. Sizes go up. Parent sets position.” 부모는 자식에게 Constraints를 주고, 자식은 자신의 Size를 결정해서 부모에게 알린다. 부모...
병렬성과 동시성 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...
Trending Tags