Today I Learned (TIL)
트러블슈팅 기록
1. Dart SDK 설치 문제
- 문제:
dart
명령어를 찾을 수 없음 - 해결: Homebrew를 통해 Dart SDK 설치
brew tap dart-lang/dart brew install dart
2. 프로그램 실행 경로 문제
- 문제:
dart run
명령어로 프로그램이 실행되지 않음 - 해결:
pubspec.yaml
에 실행 파일 경로 지정executables: shopping_mall_cli: main
3. Null Safety 관련 문제
- 문제:
String?
타입 처리 시 null 참조 오류 발생 - 해결: Null 체크 및 기본값 처리 추가
var quantity = int.parse(quantityInput ?? '0');
4. 장바구니 중복 상품 처리
- 문제: 같은 상품 추가 시 중복으로 표시됨
- 해결:
Set
을 사용하여 중복 제거var uniqueItems = cartItems.toSet().toList();
5. 상품 검색 기능 구현
- 문제: 대소문자 구분 없이 검색해야 함
- 해결: 검색어와 상품명을 소문자로 변환하여 비교
keyword = keyword.toLowerCase(); products.where((product) => product.name.toLowerCase().contains(keyword))
6. 장바구니 상품 제거 기능
- 문제: 장바구니에서 상품 제거 시 관련 데이터 모두 정리 필요
- 해결: 상품 제거 시 수량, 금액, 목록에서 모두 제거
cartItems.removeWhere((item) => item == productName); cartQuantities.remove(productName); total -= product.price * quantity;
7. 테스트 코드 작성
- 문제: 기능 검증을 위한 테스트 코드 필요
- 해결:
test
패키지를 사용하여 단위 테스트 구현test('상품을 장바구니에 담을 수 있다', () { expect(shoppingMall.addToCart('셔츠', 2), true); expect(shoppingMall.total, 90000); });
'스파르타 코딩 클럽 내일배움캠프 6기 > TIL' 카테고리의 다른 글
앱창업 부트캠프 6기 - 2주차 WIL (0) | 2025.03.11 |
---|---|
[📅 2025.03.04] Day 2: Flutter UI 위젯 & 앱 화면 구성 (0) | 2025.03.04 |
[📅 2025.03.03] Day 1: Flutter 기본 개념 & 개발 환경 설정 (0) | 2025.03.04 |