| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- develop
- 자바 출력 방식
- firebase
- riverpod
- unity
- printf
- java
- 배포
- Flutter
- ListView
- react
- println
- scss
- 앱심사
- Clean Architecture
- DART
- JQ
- java 콘솔 출력 차이
- JS
- 엡
- abap
- lifecycle
- UI/UX
- java 출력
- 자바 포맷 출력
- 자바스크립트
- nodejs
- npm
- LLM
- 단축키
- Today
- Total
목록앱 (108)
guricode
https://medium.com/flutter/meet-the-flutter-extension-for-gemini-cli-f8be3643eaad Meet the Flutter Extension for Gemini CLIBuild high quality, feature rich apps with the new Flutter Extension for Gemini CLIblog.flutter.dev 미디움에서 플러터 관련글을 검색하던 중에 flutter extension을 발견하여 설치해봤다. 이 포스트에서는 간단한 설정과 사용방법 후기를 남긴다. flutter 용으로 튜닝된 느낌의 LLM인것같다. 파워쉘에서 실행선행 설치Node.js 18+ 설치. 확인: node -v Google Codelabs+1G..
한국어로 이미 배포되던 앱이었음에도 미리보기 이미지를 입력하라고 되어있다. 그래서 이전에 사용했던 미리보기를 제출하려니까스크린샷 또는 미리보기를 업로드하기 전에 새 로케일을 저장하십시오.라는 메세지가 지속적으로 발생하였다. 처음엔 로케일 저장이 제대로 되지 않은것같아 다른언어로 저장 한 후 다시 한국어로 설정해서 저장해도 똑같이 발생했다. 그러다가 새로고침을 했더니 이전에 사용했던 미리보기 이미지와 로케일도 정상적으로 적용 되었다.. 앱스토어는 빌드관련 문서를 제출할때 새로고침하면서 계속 확인을 해줘야 할 것같다.
배포할시 유의해야할 점이 있다.버전과 버전코드인데 버전은 1.0.0과 같이 사용자들에게 노출되는 버전번호이고 버전코드는 +5 와 같은 방식으로 보통 버전뒤에 붙는데 버전코드는 개발자가 확인할 수 있는 번호로 내부적으로 마이너한 사항들을 처리할때마다 업데이트 하는것 같다. 그런데 번들 업로드 과정에서 중복된 버전코드라는 메세지가 발생했는데 그건 앱 번들을 업로드 할때 이전에 사용했던 버전코드를 확인하기 때문이다. 나는 버전이 올라가면 버전코드도 처음부터 다시 사용할수 있는 것으로 이해하고 있어서 이 부분에서 에러메세지가 나는 것이었다. 새로운 버전을 업로드할때는 버전이 올라가더라도 이전에 사용한적 없던 버전코드를 사용해야한다.
[App Store Connect] iOS 애플 긴급 심사 관련 정보
1) 플랫폼 채널 (Platform Channels)Flutter(Dart)와 Android(Kotlin)/iOS(Swift) 사이에 문자열 메서드 호출 + 직렬화된 메시지로 통신한다.단발 호출은 MethodChannel, 스트림 이벤트는 EventChannel, raw 메시지는 BasicMessageChannel을 쓴다.흐름Dart가 invokeMethod("getBattery") → 네이티브가 같은 채널 이름으로 핸들러 등록 → 결과 반환.예시: 배터리 잔량 조회 (MethodChannel)Dartimport 'package:flutter/services.dart';class NativeBridge { static const _ch = MethodChannel('app/native'); stati..
AOT (Ahead-Of-Time)는 코드를 앱 실행 전에 미리 기계어로 변환(컴파일) 하는 방식이다. 앱 실행속도가 빠르고 최적화된 바이너리를 생성한다. JIT (Just-In-Time)는 코드를 앱 실행 중에 즉시(런타임)에 컴파일하는 방식이다. 수정 후 즉시 반영 가능하여 개발단계에 유리하다.Flutter에서는 개발모드일때 JIT를 사용하고 릴리즈모드일땐 AOT를 사용한다. 구분 AOT (Ahead of Time) JIT (Just in Time)컴파일 시점실행 전에 미리 컴파일실행 중에 실시간 컴파일속도실행 빠름 (기계어로 미리 변환)초기 실행 느림 (컴파일 오버헤드)빌드 크기크기가 큼 (기계어 포함)상대적으로 작음Hot Reload❌ 불가✅ 가능사용 시점Release 빌드 (배포용)Debug..
1) Future / async-await자주사용하는 대표적인 비동기 처리 한 번 완료되는 비동기 작업(HTTP, 파일 I/O)을 처리한다.Future가 완료되면 콜백 실행. async/await로 동기처럼 작성.Future fetch() async { final res = await http.get(Uri.parse('...')); // await가 다음 줄 일시중단 return res.body;}에러: try/catch로 처리. 동시 실행은 Future.wait([...]).2) Stream 여러 값이 시간에 따라 연속 도착(소켓, 이벤트, 센서, 페이지네이션) 할때 사용한다.구독해 데이터/에러/완료를 받음.UI 연동: StreamBuilder(stream: ..., builder: ...).st..
Clean Architecture는 비즈니스 로직(Domain)을 UI나 데이터 소스와 분리해의존성이 한 방향으로만 흐르도록 만든 구조다.Flutter에서는 Presentation–Domain–Data 세 레이어로 나누어ViewModel이 UseCase를 호출하고, Repository를 통해 Firestore나 API에 접근한다.[Presentation Layer] → UI, ViewModel, Provider 등[Domain Layer] → Entity, UseCase (비즈니스 로직)[Data Layer] → Repository, DataSource (API, DB, Firebase 등)UI(View)는 UseCase만 호출UseCase는 Repositor..
Isolate는 dart에서 병렬작업을 수행하기 위한 독립 실행 환경이다.Dart는 기본적으로 단일 스레드 언어이기 때문에 CPU를 많이 사용하는 연산(이미지 처리, 대용량 Json파싱)을 메인 isolate(UI스레드)에서 처리하면 UI가 멈춘다.이를 방지하기 위해 dart는 여러 Isolate를 만들어 각각 독립된 메모리와 이벤트 루프에서 동시실행시킨다.메인 Isolate(UI 스레드)와 분리되어 동작하며, 메모리를 공유하지 않고 메시지로만 통신한다. Main Isolate (UI 스레드) ↓ SendPort → Message → ReceivePort ↓ Sub Isolate (별도 스레드)기본 구조Dart는 기본적으로 1개의 메인 Isolate(UI)에서 실행됨역할무거운 연산을 별도의..
1. 이미지 처리 관련 네이티브 기능image_picker 패키지를 사용하여 갤러리에서 이미지를 선택하는 기능을 구현// lib/data/datasources/image_picker_datasource_impl.dartclass ImagePickerDataSourceImpl implements ImagePickerDataSource { final ImagePicker _picker; @override Future> pickMultiImage() async { final pickedFiles = await _picker.pickMultiImage( imageQuality: 80, // 이미지 품질 설정 ); return pickedFiles; }}이 패키지는 Android..