Flutter

예외예외는 예상한 상황과 다른 상황이 진행되는 것을 말한다.예외 상황이 발생하면 프로그램이 비정상적으로 종료가 되기 때문에 예외상황을 예상하고 처리해야 정상적으로 구동되게 된다. try~catch~finally try { //구동되는 코드를 짠다 String invalidNumber = "abc"; int result = int.parse(invalidNumber); print(result); // on은 오류중에서 특정한 형식의 오류만 골라내서 특정한 오류 구문을 사용} on FormatException catch (e) { print(e); // 오류구문이 발생하면 실행되는 부분} catch (e) { print(e); // 예외 구문이 끝난 후 무조건 실행된는 구문} finally ..

문제 해결 첫번째 코드에서 products라는 배열을 구성했고, String Pname, int Pprice로 구성되어있습니다. 저 배열을 이용해서 아래의 코드에서 키보드 입력과 비교해서 배열이 Pname과 같은 것을 찾고 그 물건의 Pprice를 찾고 총가격(totalPrice)에 추가하는 방식을 구성했다. 아래는 완성한 코드의 문제였던 일부를 가져온것이다.List products = [ Product("셔츠", 45000), Product("원피스", 30000), Product("반팔티", 35000), Product("반바지", 38000), Product("양말", 5000), ];String? inumber = stdin.readLineSync()!; ..

텍스트로 구동되는 간단한 형태의 쇼핑몰을 짜면서 첫번째로 마주한 문제가 항상 출력되는 메뉴를 만드는 것이었다.단순하게 반복문을 이용해서 구성하려고 했으나, 반복문은 반복횟수를 처음에 정해놓고 진행하게되어 어느 순간에는 무조건 끝나게 된다는 문제가 있었다. 그래서 'dart 무한 루프'로 검색을 해서 찾아보니 방법이 있었다. 아래의 코드는 검색을 통해서 찾은 방식을 적용한것이다.bool isRun = truewhile (isRun) { int i; print( "----------------------------------------------------------------------"); print(menu); print( "----------------..

1함수형 프로그래밍(Functional Programming)함수를 체이닝을 이용해서 사용하는방식. 체이닝은 '.'을 이용해서 체인처럼 연결해서 사용하는 방식을 말한다. int number = -12345var result = number.abs().toString().contains('3');print(result); // true 체이닝 방식은 swift에서도 옵셔널 체이닝 방식으로도 쓰인다. 순수함수를 이용해서 가변적인 데이터 사용을 최소화한다.객체지향 프로그래밍과는 좀 다른 느낌인거같다.인터넷에 검색해보니 객체지향 프로그래밍은 명령형(어떻게 할건지에 대한 방식)이고 함수형 프로그래밍은 선언형(무엇을 할 건지를 설명하는 방식)이라고 한다. 두가지의 개발하는 방향이 다른 것 같지만, Swift의 경험..

문서 주석기본적으로 주석은 코드안에 들어있지만 컴파일할때는 없는 것처럼 인식되어, 개발자들이 코드를 분석할때 필요한 정보를 기록해놓을때 사용한다. 그래야 코드를 빠르게 이해하고 구조를 파악하는데 용이하기 때문이다. 이런 일반적인 주석 말고도 하나가 더있다. 바로 문서 주석이라는것이다. 주석처리가 되면 아예 인식이 안되는 다른것들과는 다르게, 문서주석은/// 또는 /**로 사용한다. /** * 두 수의 곱을 반환하는 함수입니다. * * 이 함수는 [a]와 [b]를 곱하여 그 결과를 반환합니다. * 예를 들어, multiply(2, 3)은 6을 반환합니다. */int multiply(int a, int b) { return a * b;}위와같은 방식으로 사용한다. 일반주석과 비슷하지만, []를 이용하여 ..


firebae 연동 이후에 데이터를 쓰고, 데이터를 불러오는 과정에서 문제가 발생해서 해결방법을 찾고 있었다. 어제 하루 종일 혼자 해결하려고 했지만, 실패하고 오늘 다시 오류를 찾기 위해서 튜터 분에서 도움을 받던중, 아래 문장에서 오류가 있어보인다라고 말씀해주셨다. 'Timestamp' firebase에서 데이터 형식을 지정할때 시간 설정을 timestamp로 해놓은게 생각이 나서 찾아봤다. 분명 설정은 timestamp로 했지만 데이터를 입력하는 과정에서 들어간 데이터는 timestamp가 아니라 string타입으로 바뀐 시간 데이터가 들어간 것을 보았다. 그래서 맨처음 데이터를 생성할때 만들었던 timestamp로 만든 데이터를 삭제 해보았다. 삭제하고 새로고침을 눌러보니 불러드린 정보가 잘 ..

firebase에 연결하는 과정에서 데이터를 firebase에 들어가는 것은 확인 되었으나, 읽어서 불러와서 화면에 데이터가 보이지 않는 문제가 발생했다. 콘솔 창에서도 오류라고 보이는 문제가 없었고, firebase를 확인해보니 Read 요청이 되는 것을 보니 데이터 요청은 들어가고 있는 것 같다. 하지만 화면에는 읽은 데이터가 되지 않고 있다. 1. 문제로 키를 잘 못 입렸한 줄 알고 확인해보니, 잘 들어갔고, 요청도 제대로 된것을 보면 이건 문제가 아니다.2. 코드를 잘 못 입력한 경우인 경우는 더 확인을 해보아야 한다.3. firebase에서 설정을 잘못한 경우 일수도 있다. 데이터 베이스의 어떤 부분과 코드에서 짠 설정이 올바르지 않은 경우.4. 예기치 못한 실수? 어떤 부분이 문제인지는 모르..


Flutter를 이용한 앱을 firebase에서 android와 iOS 두가지를 연결하던 중 발생한 문제가 있었다. Android는 문제 없이 잘 연결되었지만, iOS는 중간에 Pod install 과정이 하나 더 있는데 이를 실행하니 아래와 같은 문제가 발생했다. 오류가 발생하면 당황하기 마련이다. 하지만 우선 오류가 발생한 글을 읽어보면 대체로 어떤 문제인지 파악할 수 있을 때가 많다. 이 사실을 알기에 찬찬히 읽어보았다. 처음에는 어떤 오류인지 잘 눈에 들어오지 않았다. 그래서 install을 다시 했지만 같은 오류가 나왔고, 두번째에 나온 글을 읽다보니 설치된 pod의 버전이 달라서 생긴 문제인것을 알 수 있었다. 버전이 달라서 생긴 문제는 높은 확률로 해결방법이 같이 제시되어있다. 이로 인..