Flutter


클린 아키텍쳐는 소프트웨어 개발에서 매우 중요한 개념입니다. 이 아키텍쳐는 코드의 유지보수성과 확장성을 높이기 위해 계층을 분리하는 데 중점을 두고 있습니다. 클린 아키텍쳐를 이해하기 위해서는 그 기본 개념과 필요성을 먼저 알아보는 것이 중요합니다. 클린 아키텍처의 정의 클린 아키텍쳐는 로버트 C. 마틴(Robert C. Martin)이라는 소프트웨어 엔지니어가 제안한 아키텍쳐 패턴입니다. 이 아키텍쳐는 소프트웨어의 각 구성 요소를 명확하게 분리하여, 서로의 의존성을 최소화하고, 변경이 용이하도록 설계되었습니다. 클린 아키텍쳐는 일반적으로 여러 개의 계층으로 구성되며, 각 계층은 특정한 역할을 수행합니다.주요 구성 요소Entities엔티티는 비즈니스의 핵심 개념을 나타내는 객체예) User, Produ..

1. env 파일 사용처음에는 launch.json파일을 만들고 .env파일 경로를 설정해서 api_key를 관리하려고 했었다. 그런데 어떤 과정에서 문제가 있었는데 json파일로 하는 방식이 작동하지 않았다. 그래서 다른 방식으로 하려고 찾아봤다. json파일을 만드는것 보다는 dotenv 패키지를 많이 사용하는 거같았다. dotenvhttps://pub.dev/packages/flutter_dotenv flutter_dotenv | Flutter packageEasily configure any flutter application with global variables using a `.env` file.pub.dev디렉토리 루트 경로에 .env를 만들고 사용하는 것은 기존과 동일했고, pubnsp..


문제 상황세팅 : 맥북, VSCode, Android simulatorVSCode에서 firebase 기능을 연습하던중 android simulator에서 앱이 실행되지 않는 문제 발생Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'. > Installed Build Tools revision 33.0.1 is corrupted. Remove and install again using the SDK Manager. 해결 과정일단 위에나온 오류를 검색을 해보았다. 나와 같은 문제를 겪은 사람이 많은거같았다."Installed Build Tools revision 33.0.1 is corrupted" 현재 설치되어있는..


이전에는 fireabase에 들어가서 시키는데로 하나하나 진행하면서 파일을 생성하고 복잡한 과정을 통해서 연결을 진행했다. 하지만 그렇게 하지 않고 좀 더 쉽게 하는 방법이 있어서 정리해보려고 한다. Firebase consloe에서 프로젝트 만들기Flutter에 firebase연동Firebase CLI설치(Fireabase연동을 쉽게 할 수 있게 도와주는 도구)윈도우 : (https://firebase.google.com/docs/cli) 링크에서 설치파일다운맥 : curl -sL https://firebase.tools | bash 터미널에서 명령어 입력Terminal에서 firebase Login 입력 후 로그인입력하면 약관동의 입력모드 나오면 y 누르고 엔터 치면 브라우저에서 구글 계정 선택창 열..

화면 전환을 할 때 길을 알려주는 것을 Navigation이라고 합니다. Flutter에서는 다양한 방법으로 화면 전환을 구현할 수 있으며, 그 중 두 가지 주요 방법은 Navigator와 GoRouter입니다. 이 글에서는 두 네비게이션 방법의 특징과 장단점을 비교하여, 어떤 상황에서 어떤 방법을 선택해야 할지에 대해 알아보겠습니다. NavigatorNavigator는 Flutter에서 기본으로 제공하는 네비게이션 기능으로, 화면 전환을 위해 push와 pop 메서드를 사용하여 화면을 스택에 쌓고 제거하는 방식으로 작동합니다. 기본적인 기능을 제공하지만, 몇 가지 단점이 존재합니다. 1. 제한된 애니메이션 및 시각 효과: Navigator는 기본적으로 애니메이션이나 시각 효과를 포함하고 있지만, 개발..

1. Lint 수정 예전부터 flutter 과제나 강의 실습을 할 때 const를 사용하라는 파란 줄이 뜨는 것이 거슬렸다. 다른 것을 검색하다가 Lint를 수정해서 없애는 방법을 찾게 되었다. 우선 Lint가 무엇이냐, 코드의 스타일을 통일하고 잠재적인 버그를 찾기 위해 정해놓는 규칙들이다. 그러면 왜 const를 사용하라고 하는 걸까?먼저 const는 상수이다. 상수는 변하지 않는 값이라는 뜻으로 변하는 값인 var과 반대되는 뜻을 가진다. 그러면 const를 사용하면 어떤 점이 좋을까. const를 사용하면 위젯의 값이 변하지 않게 되고, 이를 명시해놓으니 랜더링 할 때 불필요한 자원과 시간을 절약할 수 있게 된다. 그래서 const사용을 권장하기 위해 lint에서는 파란 줄로 알려주는 것이다. ..


1. Firebase Update 실패강의를 따라서 CRUD의 CRD는 완성하고 U를 마지막으로 하고 있었는데, 오류가 발생했다.null타입은 String타입에 서브타입이 아니라는 문구였다. 분명 잘 따라 한거같았는데 정말 당황했다. 영상을 다시 돌려보면서 빠진것을 찾아보았지만 알 수 없었다. 그래서 지금 저 오류가 어디 코드에서 실행되는 것인지 찾아봤다.예전에 튜터님에게 질문을 한적이 있었는데 디버깅 방법을 알려주셨었다. 데이터의 순서를 따라가면서 오류가 난 위치를 찾는 것이다.다행히 함수에 try catch문을 감싸 놔서 하나하나 print문으로 넣어서 같이 출력되는 함수를 찾았다.다른 곳이 아닌 Update함수 부분에서 오류가 나고 있다는 것을 알게 되었다. 그곳에서의 함수를 비교를 해보니 바뀐 데..

1. firebase CLI 연동 과정 중 문제 파이베이스를 CLI로 연동하는 과정에서 아래의 코드를 치고 난 후 문제가 발생함dart pub global activate flutterfire_cli 아래의 글이 나오면서 실행이 안되었다. Warning: Pub installs executables into $HOME/.pub-cache/bin, which is not on your path.You can fix that by adding this to your shell's config file (.bashrc, .bash_profile, etc.): export PATH="$PATH":"$HOME/.pub-cache/bin" 글을 읽어보자. 내 경로에 인식이 안되고 있다고 하고 있었다. htt..

처음에 리스트를 추가하는 화면에서 정보를 입력하고 추가하면 리스트에는 정보가 추가 되었는데, 메인화면에는 바로 추가된 정보가 적용되니 않고 검색 기능을 이용하고 난 후에 추가된 정보가 보이는 문제가 있었다. 이를 해결하기 위해서 검색을 해보았다. https://usedpaper.tistory.com/63 flutter 페이지 뒤로 갔을때 새로고침 하는 방법.Navigator.push에서 then을 추가하고 setState를 적용한다. setState가 실행됨에 따라 새로고침이 되는 방식이다. 이동된 페이지에선 Navigator.pop을 해주면 된다. Navigator.push(context, MaterialPageRoute(builder: (contexusedpaper.tistory.com 처음에는 위..