Flutter 전역 반응형 - 중간 크기와 공백 지대까지 버티는 설계
들어가며 플러터 앱을 개발하며 태블릿·폴더블·가로·세로 등 다양한 화면에 대응하고 있는데, 생각지 못한 화면에선 여지없이 어긋났다. 모든 경우의 수를 확인할 순 없는데, 확인하지 않은 화면이라고 UI/UX가 크게 달라져선 안 된다. 지금보다 적절한 반응형 세팅이 필요했다. flutter_screenutil 기반 앱에서 여러 기기 화면에 대응하며 정...
들어가며 플러터 앱을 개발하며 태블릿·폴더블·가로·세로 등 다양한 화면에 대응하고 있는데, 생각지 못한 화면에선 여지없이 어긋났다. 모든 경우의 수를 확인할 순 없는데, 확인하지 않은 화면이라고 UI/UX가 크게 달라져선 안 된다. 지금보다 적절한 반응형 세팅이 필요했다. flutter_screenutil 기반 앱에서 여러 기기 화면에 대응하며 정...
들어가며 mediapipe_face_mesh 패키지에 attention face mesh 모델을 추가하며, TFLite 런타임 바이너리를 custom op을 넣어 재빌드했다. 이 글은 그 과정의 기록이다. face_landmark_with_attention.tflite는 눈·입술·홍채를 한 번의 추론으로 refine해서 478개 landmark를 ...
비즈까페의 짧은 쇼츠에 나발 라비칸트(Naval Ravikant)가 파트너에 대해 말하는 장면이 나온다. 뭘 하든 정말 좋은 파트너를 찾아야 해요. 딱 세 가지만 보세요. 높은 지능(High Intelligence) 넘치는 에너지(High Energy) 높은 진실성(High Integrity) 이 세 가지가 다 있어야 해요. 뭐 하나...
들어가며 mediapipe_face_mesh 패키지를 개발하면서 MediaPipe의 Face Geometry 모듈을 분석할 일이 있었다. Face Mesh 모델은 얼굴의 468개 landmark를 화면 좌표로 출력한다. 그런데 AR 필터를 얼굴에 붙이거나 머리 방향을 계산하려면 화면 좌표만으로는 부족하다. “얼굴이 카메라 앞 3D 공간의 어디에, ...
블로그 이전 ※ Tistory 블로그 앞으로는 이곳에 글을 작성하려 한다. 내가 생각하는 블로그 플랫폼의 가장 큰 장점은 검색 엔진 노출과 자체 생태계를 통한 방문자 유입이다. 티스토리에서 2023년부터 약 160개의 글을 작성해 왔는데, 내 글의 성격이 플랫폼 효과를 보는 편은 아닌 듯하다. 그래서 유입보단 데이터를 활용에 쉬운 형태를 선택하...
이 글은 Tistory에서 이전된 포스팅입니다. 원본은 여기에서 확인할 수 있습니다. mediapipe_face_mesh mediapipe_face_mesh의 월간 다운로드 수가 거의 2K 까지 올랐다. 로드맵에 계획했던 기능들을 반영하며 기능 추가, API 사용성 개선, 안정성 향상 등 업데이트를 해왔는데, 버전과 다운로드 지표가 하나씩...
이 글은 Tistory에서 이전된 포스팅입니다. 원본은 여기에서 확인할 수 있습니다. 기본 개념 공간 분해능 (Spatial Resolution) 공간 분해능은 서로 가까운 두 점을 별개의 점으로 구분할 수 있는 최소 거리를 의미한다. 예를 들어, 공간 분해능이 10 μm 라면 약 10 μm 이상 떨어진 두 점을 구분할 수 있...
이 글은 Tistory에서 이전된 포스팅입니다. 원본은 여기에서 확인할 수 있습니다. 광학기사 소개 YES24를 구경하다가 올해 출판된 광학기사 기출문제집을 발견했다. 광학 과목들이 궁금하여 1회독한 뒤 시험에 응시했다. (문제집은 6회분의 예상문제로 구성되어 있다.) 필기 객관식 4지 택일형 과목당 20문항(과목당 30분) 총 ...
이 글은 Tistory에서 이전된 포스팅입니다. 원본은 여기에서 확인할 수 있습니다. 첫 카메라 작년 8월, 처음으로 카메라를 구매했다. 카메라 바디는 Canon EOS 6D 간단한 스펙은 DSLR, 풀프레임, 약 2,020만 화소(≈ 5472 × 3648) 중고로 거래했고, 렌즈도 함께 구매했다. 렌즈는 Tamron SP 24-70mm ...
이 글은 Tistory에서 이전된 포스팅입니다. 원본은 여기에서 확인할 수 있습니다. 기술 선택 기준 플러터 개발 중 필요한 패키지가 생기면 다음과 같이 접근한다. pub.dev에서 패키지를 검색한다. 지원 플랫폼, 의존성, 프로젝트 성숙도 등을 기준으로 1차 검토를 진행한다. 조건을 충족하는 패키지는 예제를 직접 빌드해 보고 빌드...