Programming(178)
-
[Flutter] 미세 팁 - 앱스토어에 iOS용 앱을 출시하는 경우, 다양한 기기의 스크린 샷 준비하기
iOS용 앱을 앱스토어에 출시하기 위해서는 다양한 기기의 스크린샷을 캡쳐해야한다. 애석하게도 개중에는 반드시 추가해야하는 스크린샷이 있는데, 앱을 등록하는 시기에 맞춰서 등록해야하는 스크린샷 크기가 미묘하게 변화한다. 예를 들어 이 글을 작성하는 2025년 1월 31일을 기준으로, iPhone 16 Pro Max 화면 사이즈인 6.9인치 디스플레이가 옵션이고 iPhone XS Pro Max 화면 사이즈인 6.5인치 디스플레이가 필수 사양이었다. 만약 아이패드를 지원한다면, 13인치 디스플레이 기준으로 촬영한 스크린샷이 첨부되어야한다. 물론 게임을 비롯해 다양한 업체에서 출시한 앱을 살펴보면, 필수 기기에서 캡쳐한 스크린샷이 동봉되어있긴 하지만 마케팅을 위해 다양한 문구나 이미지가 포함되어있는 것을 볼 수..
2025.01.31 -
[Dart] Completer를 사용한 비동기 제어
[Dart] 메시지를 통해 동작하는 Isolate를 추상화하기Isolate에 대해 알아보자에서 Isolate를 사용할 시 유의해야 할 점과, 포트를 사용해서 Isolate 사이에 여러개의 메시지를 주고받기에 기재되어있는 예제를 살펴봤습니다. 유의할 점 중에는 Isolate 갯zerodice0.tistory.com 이전에 여러가지 동작을 하나의 Isolate에서 처리 가능하도록 작성한 적이 있었다. 이를 통해서 Worker를 1~2개만 생성한 뒤 원하는 작업이 별개의 Isolate에서 동작하도록 작성할 수 있게 됐다. 물론 앱의 성능을 위해서도 Isolate는 1~2개 정도가 실행되는게 가장 적당했는데, 어느 순간 확인해보니 Worker가 4~8개씩 실행되는 경우가 있는게 아닌가. 어디가 문제인지 고민하..
2025.01.15 -
안드로이드 폰의 화면을 미러링해서 컴퓨터에 띄워보자, scrcpy!
GitHub - Genymobile/scrcpy: Display and control your Android deviceDisplay and control your Android device. Contribute to Genymobile/scrcpy development by creating an account on GitHub.github.com 평소에는 디버깅을 위해서 안드로이드 스튜디오의 Running Device 툴을 사용해서, 에뮬레이터를 띄우거나 혹은 USB/Wi-Fi로 연결되어있는 장비의 화면을 띄우곤 했다. 다만 이 경우에는 프레임이 제한되거나 화면 품질이 저하된다던가 하는 문제가 있었다. 그래서 찾다가 발견한 것은 scrcpy. 윈도우나 리눅스를 사용하고 있다면 위의 깃허브 레포지터리를..
2024.11.20 -
Dell D6000 Docking Station과 M1 맥북과 Neovim, feat. Lazy.vim
당근 마켓에서 도킹 스테이션을 알아보던 중 우연히 Dell사의 D6000 도킹 스테이션을 발견했다. 썬더볼트3을 지원하는 제품으로 USB-C 포트가 하나밖에 없다는 건 아쉬운 점이지만, DP포트 두 개와 HDMI포트 하나가 달려있어 총 세 개의 모니터에 연결할 수 있는 도킹 스테이션이었다. 구매를 할까, 말까 고민하며 스펙을 알아보기 위해서 구글링을 하다보니, 미국 아마존에서 중고 제품이 당근 마켓보다 싸게 올라와있는 것이 아닌가? 환율을 고려해도 5만원은 저렴한 가격에 올라와있기에, 스펙을 알아보다 말고 바로 구매하기로 결정했다. 일주일 쯤 지나자 아마존에서 커다란 종이봉투(!)가 도착했다. 아무리 그래도 전자제품이 해외에서 오는데 종이봉투는 좀 아니지 않나...싶었지만, 배송료가 무료인데다 문제가..
2024.08.28 -
React Native와 WebSocket과 자체 서명된(Self-Signed) 인증서
때는 바야흐로 2024년 08월 초, 임베디드 회사에서 WebRTC를 도입하기 위해 이런저런 시도를 하고 있을 때였다. 문득 Flutter를 사용해서 WebRTC로 수신한 영상 재생 및 데이터 채널을 통한 통신이 되는 것을 확인했을 무렵, '왜 이번 프로젝트 시작할 때 React Native를 안 썼더라...?'하는 의문이 들기 시작했다. 물론 React Native를 써본적도 없고, React는 조금 깔짝거려봤지만, 코드가 Typescript로 되어있으면 유지보수 할 수 있는 인원도 많아지니 좋지 않을까...하는 생각이 기저에 깔려있었기에 드는 의문이었다. 당장 진행중인 프로젝트를 몽땅 다 갈아엎지는 못하더라도, 지금까지 Flutter로 작성한 WebRTC 테스트용 샘플 앱을 React Native로 ..
2024.08.08 -
[Dart] 메시지를 통해 동작하는 Isolate를 추상화하기
Isolate에 대해 알아보자에서 Isolate를 사용할 시 유의해야 할 점과, 포트를 사용해서 Isolate 사이에 여러개의 메시지를 주고받기에 기재되어있는 예제를 살펴봤습니다. 유의할 점 중에는 Isolate 갯수가 CPU 코어 갯수±2개 정도를 유지하는게 좋다는 내용이 있었는데요. 이번에는 포트를 사용해서 Isolate 사이에 여러개의 메시지를 주고받기에서 살펴본 내용을 기반으로, 하나의 Isolate를 사용해서 여러개의 작업을 할 수 있도록 수정해보겠습니다.먼저 예제를 살펴봅시다. 포트를 사용해서 Isolate 사이에 여러개의 메시지를 주고받기에 기재되어있는 예제는 아래와 같습니다.import 'dart:async';import 'dart:convert';import 'dart:isolate';v..
2024.07.31