[담타 - 리팩터링] 내 앱의 MVVM 구조는 올바른걸까? (ViewModel 편)
·
프로젝트 - 담타/리팩터링
들어가며.. 엄청난 슈퍼 개발자가 아니라면, 빠른 개발과 좋은 설계 사이의 트레이드오프는 분명 있을 것이다. 앱을 직접 배포하면서 느낀 것이고, 그리고 아마 현업에서도 이럴 것이라고 생각한다. 보통 새롭게 추가해야하는 기능이 무한정 추가되지는 않는다. 서비스가 어느 정도 궤도에 오르면 새롭게 기능을 추가하는 것에 시간을 쓰기보다는, 유지보수를 하게 되고 좋은 코드를 고민해보게 된다. 나의 앱도 어느 정도 궤도에 올라서 좋은 코드와 설계에 대해 고민하고 싶어졌는데 항상 확신을 가지지 못했던 MVVM구조로 잘 설계되었는가에 대한 고민을 한번 해보고 글로 작성해보려 한다. 내 앱은 Provider를 이용하여 MVVM 구조로 나름 설계되어 있다. 앱의 기능상 문제는 전혀 없지만, 그건 아직 앱이 크지 않아서, ..
담타 프로젝트 관리하기 3-2 - Codemagic 사용하기
·
프로젝트 - 담타/프로젝트 관리하기
담타 프로젝트 관리하기 3-1 - CI/CD 알아보기 담타 프로젝트 관리하기 3-1 - CI/CD 알아보기 들어가며 담타 프로젝트 관리하기 2-1 - Github으로 이슈 관리 담타 프로젝트 관리하기 2-1 - Github으로 이슈 관리 이 글은 2022년 10월 7일에 첫 작성되었습니다. (https://github.com/shs395/shs395.github.io/blob/ma uzzam.dev 이전 글에서 CI/CD에 대해 알아보고, 올인원 서비스를 우선 이용해봐야겠다고 마음을 먹었다. Flutter앱의 CI/CD를 도와주는 올인원서비스는 Codemagic, Bitrise, Appcircle이 있다. 예전에 Netlify를 이용해 Gatsby 블로그를, Fleek을 이용해 IPFS에 올린 웹앱을 배..
담타 프로젝트 관리하기 3-1 - CI/CD 알아보기
·
프로젝트 - 담타/프로젝트 관리하기
들어가며 담타 프로젝트 관리하기 2-1 - Github으로 이슈 관리 담타 프로젝트 관리하기 2-1 - Github으로 이슈 관리 이 글은 2022년 10월 7일에 첫 작성되었습니다. (https://github.com/shs395/shs395.github.io/blob/master/content/project/damta-github-issue-management/index.md) 들어가며 이 글은 https://github.com/cheese10yun/github-project-management 을 uzzam.dev 2022년 10월 7일 처음 작성된 Github으로 이슈관리하기.. 약 7개월만에 다음 단계를 쓴다. 1편에서 Github flow 를 이용하여 브랜치 관리를 해주었고 2편에서 Githu..
[담타 - 리팩터링] 필요 없는 주석 제거
·
프로젝트 - 담타/리팩터링
성격 때문인지 실력 때문인지 주석을 잘 못지우겠다. 차라리 기능에 대한 부가 설명을 써놓은 주석이라면 좋겠지만, 내 주석은 거의 DateTime standardDate = DateTime(year, month); // print('standard date ${standardDate}'); int totalDays = daysInMonth(standardDate); // print('totalDays : ${totalDays}'); 이런 print 디버깅을 사용하고 잠시 주석처리 해놓은 것이거나 // child: Center( // child: Badge( // // shape: BadgeShape.square, // // borderRadius: BorderRadius.circular(10), // //..
[담타 - 리팩터링] 테마 및 컬러 관리
·
프로젝트 - 담타/리팩터링
자주 쓰이는 값을 한번에 관리하기 위해 혹은 틀리면 안되는 값을 조금 더 엄격하기 위해 상수를 사용한다. 내 프로젝트에서는 아래와 같이 관리했는데, common 폴더에 theme.dart 를 만들고 appTheme 클래스를 이용해서 상수를 설정해주었다. 앱 내의 색이 들어가는 모든 것들에 대해 변수를 만들어주고 거기서 또 할당해주었다. 이렇게 한 이유는 색이 들어가는 모든 것들에 각각의 변수를 주어서 하나의 파일에서 모든 색을 수정할 수 있게 하고 싶어서였다. // /common/theme.dart class appTheme { static const Color mainGreen = Color(0xFF111111); static const Color white = Colors.white; static c..
git clean -fdx 하고 잠못자기
·
프로젝트 - 담타/etc.
스플래시 이미지 추가는 되게 간단하네? 추가하고 앱 배포하고 자야지 하다가 git clean -fdx와 함께 잠 못 잔 이야기 스플래시 스크린 추가하기 flutter_native_splash 패키지를 사용한다. 앱이 실행되고 플러터를 로드하는 동안에 빈 시간을 네이티브 단에서 채워준다고 보았다. 플러터 내에서 스플래시 스크린 위젯을 만들어서 표현하면 절대 채울 수 없는 부분이다. yaml 파일을 업데이트하고 명령어를 입력하면 끝이다. # 생성 flutter pub run flutter_native_splash:create # 삭제 flutter pub run flutter_native_splash:remove # 수정시에는 삭제 후 생성한다. 단 안드로이드 12에서는 메커니즘이 약간 바뀌어서 뭔가 더 해..
담타 프로젝트 관리하기 2-1 - Github으로 이슈 관리
·
프로젝트 - 담타/프로젝트 관리하기
이 글은 2022년 10월 7일에 첫 작성되었습니다. (https://github.com/shs395/shs395.github.io/blob/master/content/project/damta-github-issue-management/index.md) 들어가며 이 글은 https://github.com/cheese10yun/github-project-management 을 많이 참고하여 담타에 프로젝트에 적용한 글이다. Issue 새로 추가하거나 개선할 기능, 버그 등 프로젝트와 관련된 모든 것이 이슈다. 리포지토리의 이슈탭에 가면 해결 / 미해결된 이슈들을 볼 수 있다. New issue 버튼을 누르면 다음과 같은 화면이 나오고 새로운 이슈를 만들 수 있다. 제목, 내용, Assignees, Labe..
담타 프로젝트 관리하기 1 - github flow 적용하기
·
프로젝트 - 담타/프로젝트 관리하기
이 글은 2022년 8월 27일에 첫 작성되었습니다. (https://github.com/shs395/shs395.github.io/blob/master/content/project/damta-gitflow/index.md) 도입배경 위젯 기능을 개발 중 master 브랜치에서 작업하다가 날려먹기도 하고 기능개발을 위한 브랜치를 만들어서 작업하다가 삭제한 적도 있다. master 브랜치에서만 작업하는 것은 현재 배포되고 있는 버전에 개발을 하기 때문에 불편,불안했고 새로운 기능을 만들다가 취소하거나, 만드는 중에 다른 기능을 추가하고 싶을 때 새로운 브랜치를 만들어서 개발하는 것에 비해 불편했다. 브랜치를 만들어서 작업하는게 확실히 편하구나 느껴서 Git branch 전략들을 찾아보고 담타 앱에 적용해보..
flutter 첫 앱 '담타' 기획부터 출시까지 모든 것
·
프로젝트 - 담타/소개
이 글은 2022년 3월 25일에 첫 작성되었습니다. (https://github.com/shs395/shs395.github.io/blob/master/content/project/damta/index.md) 🚀 들어가며 2022년 2월 17일 처음으로 앱을 출시해봤다. 앱을 만들어봐야겠다고 생각한 건 돈 때문이었다. 매달 들어오는 월세 같은 광고비,, 어쩌면 나도..? (불가능했다.) 🤔 플러터를 선택한 이유 Swift, Objective-C, Kotlin, React Native, flutter.. 앱개발과 관련된 그 어떤 것도 해본적이 없었다. 우선 제일 중요했던 건 크로스플랫폼 지원여부였다. 사용자가 두 배면 수입도 두 배니까 그렇담 선택지는 RN과 Flutter 밖에 없었는데 Flutter 가..