Ubuntu Local에서 Supabase 서버 실행하기 (with Edge Function)
1. Docker 설치 Supabase를 로컬에서 실행하려면 Docker가 필요하다. Ubuntu에 Docker를 설치하는 방법은 다음과 같다. 1.1 패키지 업데이트 및 필수 패키지 설치 sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ ...
1. Docker 설치 Supabase를 로컬에서 실행하려면 Docker가 필요하다. Ubuntu에 Docker를 설치하는 방법은 다음과 같다. 1.1 패키지 업데이트 및 필수 패키지 설치 sudo apt-get update sudo apt-get install \ apt-transport-https \ ca-certificates \ ...
Windows 환경과 Mac 환경을 오가며 작업해야 하는 일이 많아졌다. 원격 연결을 사용하기로 결심했고, 최종 후보로 Sunshine을 선택했다. 오픈소스인 Sunshine과 Moonlight가 macOS를 지원하며, 낮은 레이턴시로 유명하다. 그리고 무료다! Sunshine 공식 가이드대로 진행하면 막히는 부분이 있었고, 여기에 그 해결법을 ...
FutureBuilder를 이용해 HTTP 요청이 완료되면 Text 위젯을 리턴해주는 함수를 만들었는데, HTTP 요청이 정상적으로 완료되었음에도 불구하고 값이 제대로 바뀌지 않는 상황을 겪었다. 이 문제는 비동기 함수에서의 값 타입과 참조 타입의 차이에서 발생한 것이었다. 비동기 함수는 코드의 실행 순서가 예기치 않게 뒤섞일 수 있기 때문에, 값...
Flutter에는 End-to-End test를 위한 integration test가 존재한다. integration test를 이용하면 혹시 모를 UI error나 hang issue, uncaught exception 같은 버그들을 사전에 확인할 수 있다. 또한 adb로 연결된 여러 디바이스(가상 디바이스 포함)에서 동시에 실행시킬 수 있기 때문에...
처음으로 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를 결정해서 부모에게 알린다. 부모...
Trending Tags