프로젝트 생성 ! 먼저 플러터 개발환경 세팅을 완료해야 된다. vscode를 실행시킨 후 ctrl + shift + p > Flutter New Project > Aplication 누르고 프로젝트의 위치를 선택해준다.나같은 경우는 찾기 쉽도록 바탕화면으로 설정해줬다. 이렇게 생성한 프로젝트는 폴더형식의 파일이다. 프로젝트 이름(폴더명)을 지어주고 'Enter' 키를 누르면 이렇게 프로젝트가 생성된다.다시 프로젝트를 열 때는 파일 > 폴더열기 > 생성한 프로젝트 폴더 선택 순으로 하면 된다. 폴더구조 세팅 프로젝트를 생성하면 위와같은 기본 폴더구조가 보일텐데여기서 프로젝트에 필요한 폴더나 파일을 추가할 것이다. 아래 빈 곳을 클릭한 후 폴더 생성버튼을 눌러 'asset' 이라는 폴더를..
개요 무스마에서 배운 플러터 지식을 기반으로 하나 만들어보고 싶은 앱이 생겼다. 바로 내 운동루틴에 맞춘 운동일지 앱이다. 예전에는 나름 꾸준히 루틴대로 운동을 했었는데 근래에는 운동을 소홀히 했던 것 같다. 그래서 내가 쓰기 위한 운동일지 앱을 하나 만들어서 나름대로 목표를 정하고 변화과정을 한눈에 보기쉽게 알 수 있도록 하면 되게 좋을 거 같다는 생각이 들었다. 앱 컨셉 본인은 체질 때문에 어릴 떄부터 쭉 마른 체형에 속해있던 사람이었다. 마른 사람들을 보통 멸치라고 부르는데 본인은 이 멸치상태를 탈출하고 싶었다. '운동 열심히 해서 멸치에서 고등어라도 되어보자!' 이게 이 앱의 취지이다. 그래서 앱 이름을 '멸치 탈출'로 지었다. 구현할 화면들 1. 스플래쉬 화면 2. 메인화면 3. 유저 프로필 화..
문제 발견 Drafts 탭에 있던 피그마 파일을 들어가서 개발자모드를 실행시키려니 개발자모드가 활성화가 되지 않는 문제를 직면했다. 문제 확인 그래서 개발자모드 토글버튼에 마우스를 갖다대보니까 To access Dev Mode, move this file from your drafts toa paid external team, or upload it to a team in another organization. 라고 툴팁이 떴는데 해석해보니까 개발자모드를 활성화시키려면파일을 팀으로 이동시키라는 뜻이었다. 문제 해결 파일을 Teams 탭의 Team project로 드래그해서 옮겨놓으면다시 개발자모드를 활성화 시킬 수 있었다. 개발자 모드 유료화 2월 1일부터 개발자모드가 유료화로 바뀌었다.월..
길다면 길고 짧다면 짧은 지난 3개월 간의 현장실습이 드디어 끝이나게 되었다. 아쉽게도 회사에서 T.O가 없다고 취업연계는 하지 못했다. 하지만 지난 3개월간 나는 의미있는 시간을 보냈다고 생각한다. 회사에서 협업이 어떤 방식으로 이루어지는지 알게되었고, 그동안 플러터를 많이 써보면서 간단한 앱 정도는 하나 구현할 수 있을 정도로 실력이 늘게되었다. 무스마는 정말 좋은 회사라고 생각한다. 서로 존중하는 문화와 개인의 성장을 독려하는 문화 속에서 긍정적인 영향을 많이 받았던 것 같다. 이 경험을 바탕으로 앞으로 실력을 좀 더 쌓아서 기회가 된다면 다시 이 회사에 면접을 보러 갈 생각이다.
설정 참고자료 Internationalizing Flutter apps How to internationalize your Flutter app. docs.flutter.dev 이거 참고해서 설정하면 된다. 여기서 추가 설명이 필요한 부분만 밑에 더 써놨다. 언어추가 localizationsDelegates: const [ AppLocalizations.delegate, GlobalMaterialLocalizations.delegate, GlobalWidgetsLocalizations.delegate, GlobalCupertinoLocalizations.delegate, ], supportedLocales: const [Locale('en'), Locale('ko')], runApp(main.dart)에..
Provider Provieder를 쓰는 이유 1. 코드역할 분리 UI를 담당하는 코드, 네트워크를 담당하는 코드, 데이터를 담당하는 코드 등코드를 역할에 따라 나눌 수 있다. 한 클래스가 여러 역할을 할수록, 클래스가 커지고 관리가 어렵게 됩니다.따라서 클래스가 하나의 역할만 갖도록, 클래스를 나눈다. 2. 데이터 공유 하나의 데이터를 여러 페이지에서 공유해야 될 때가 있다. 그런데 페이지마다 데이터를 새로 불러온다면 앱이 복잡해지고, 비용도 많이 들 것이다. 이럴 때 Provider 패턴을 쓰면 데이터 공유를 쉽게 할 수 있다. 3. 간결한 코드 Provider 패턴을 쓰면 Bloc패턴에 비해좀 더 적은 코드로 클래스들을 구분해서 쓸 수 있다. 패키지 추가provider: ^6.0.5 예제(Todo..
null safety Flutter 2.12 버전부터는 null 관련 버그를 줄이고 코드 안정성을 향상시키기 위해 "null safety" 개념이 도입되었다. - Non-nullable 타입: int, double, String과 같이 null 값을 가질 수 없는 타입은 "non-nullable" 타입으로 분류된다. 변수에는 반드시 초기값이나 값이 할당되어야 합니다. - Nullable 타입: nullable 타입은 변수가 null 값을 가질 수 있는 상태를 의미한다. - Null Safety 연산자: Null safety에서는 변수가 null일 가능성이 있는 경우, ? 연산자를 사용한다. nullsafety는 null로 인해 의도치 않은 동작을 방지하는 것이 목적이다. nullable Dart는 변수의..