Thumbnail
개발 · 프로그래밍 모바일 앱 개발

Flutter 중급 3편 - 의존성 주입 가이드 대시보드

(5)
3개의 수강평 ∙  125명의 수강생
77,000원

월 15,400원

5개월 할부 시
지식공유자: 오준석
총 29개 수업 (3시간 22분)
수강기한: 
무제한
수료증: 발급
난이도: 
입문
-
초급
-
중급이상
지식공유자 답변이 제공되는 강의입니다
폴더에 추가 공유

중급자를 위해 준비한
[모바일 앱 개발] 강의입니다.

Flutter에서 제대로 된 의존성 주입 가이드 강의입니다. injectable 패키지를 활용하는 DI 활용법을 제시합니다

✍️
이런 걸
배워요!
의존성 주입의 개념과 활용 방법
get_it, injectable 라이브러리를 활용한 의존성 주입 방법

복잡한 의존성 문제, 쉽게 해결하는 방법 
Flutter 의존성 주입 가이드 

점점 복잡해지는 의존성 문제 🚨

  • 앱의 규모가 커지면서 만나게 되는 첫 번째 문제는 쉽게 스파게티 코드가 되어버린다는 것입니다.
  • 스파게티 코드가 되지 않도록 의존성에 신경쓰며 개발을 하다 보면 설계 패턴을 적용하게 되지요.
  • 클린 아키텍처를 적용하여 개발을 하더라도 결국 의존성을 주입하는 부분의 코드가 꽤 복잡해집니다.
  • 이 강의에서는 플러터 프로젝트에서의 올바른 의존성 주입 가이드를 제시해드립니다.

DI 라이브러리 📖

플러터에는 DI(의존성 주입)를 도와주는 많은 라이브러리가 있습니다.
이 강의에서는 특정 상태관리 도구에 의존하지 않는 Injectable 라이브러리를 사용합니다. 

강의에서 쓰는 Injectable 라이브러리

이 강의를 들어야 하는 분 🙆‍♀️

지금까지의 DI 설정이 다음 코드와 비슷하거나 이보다 못하다면 이 강의를 수강하시기 바랍니다.

그래서, 강의를 듣고 나면!

  • ✅ 이 강의를 수강하고 나면 위와 같이 사람이 직접 DI를 하는 코드는 제거되게 됩니다.
  • ✅ 적절한 시점에 원하는 형태로 인스턴스를 전달할 수 있게 됩니다.

DI가 왜 필요한지에 대한 
관점을 제시해드립니다.

이전 강의들에서 다루었던 예제를 리팩토링하거나 다른 시각에서 재작성하면서 DI 의 필요성을 느껴갈 수 있도록 구성하였습니다.

리팩토링편 📚

💡 'Flutter 중급 1편 - 클린 아키텍처'에서 작성했던 노트 앱의 문제점을 진단하고 리팩토링합니다.

소규모 앱 개발을 할 때는 아무 생각 없이 모든 객체를 싱글턴으로 사용하기도 합니다. 하지만 중간 규모 이상의 앱에서는 바람직한 방법이 아닙니다. 기존 앱을 리팩토링하면서 해당 문제에 대해 학습합니다.

  • 'Flutter 중급 1편 - 클린 아키텍처' 소스를 다운받아 출발하는 리팩토링 코스입니다.
  • 문제점을 해결하면서 더 나은 코드로 수정해 나갑니다.

재작성편 📚

💡 'Flutter 응용 - 마스크 정보 앱'에서 MVVM 으로 작성했던 마스크 정보 앱클린 아키텍처 및 DI를 적용하여 다시 만들어 봅니다.

앱을 만들 때 세부 기능을 구현하느라 개발 기간이 딜레이된 경험이 있나요? 클린 아키텍처와 DI를 고려한 방식으로 '마스크 재고' 앱을 다시 작성해 보면서 새로운 개발 방식을 경험합니다.

DI를 활용하여 데이터를 Mocking하여 빠르게 앱을 만들고 나중에 실제 데이터로 쉽게 교체할 수 있습니다.

  • 처음에는 가짜 객체를 토대로 Test하면서 앱을 개발해 나갑니다.
  • 앱 완성 후 DI 라이브러리를 사용해서 진짜 데이터로 교체합니다.

[오준석의 플러터 앱 개발 시리즈] 강의 선택 가이드 👀

본인이 공부해야 할 강의가 맞는지 확인해 보세요.
(클릭하면 이미지를 새창으로 볼 수 있습니다.)


수강 전 참고 사항 📢

본 강의는 다음과 같은 환경에서 진행합니다.

실습 환경

  • 운영 체제 및 버전(OS): macOS 환경에서 안드로이드를 타겟
  • 사용 도구: Android Studio Flamingo 이상, Flutter 3, Dart 3 이상

학습 자료

  • 리팩토링편을 위해 시작 코드의 다운로드를 제공합니다.
  • 재작성편은 완성된 소스 코드를 제공합니다.

선수 지식 및 유의사항, 연관 강의

  • MVVM, 클린 아키텍처를 선행 학습한 중급자 코스입니다.

이런 분들께 추천드려요!

🎓
학습 대상은
누구일까요?
Flutter 에서 의존성 주입 방법 가이드를 알고 싶으신 분
의존성 주입시 장점을 알고 싶으신 분
📚
선수 지식,
필요할까요?
Flutter 중급 - 클린 아키텍처 강의 학습자
MVVM, 클린 아키텍처 경험자

안녕하세요
오준석 입니다.
오준석의 썸네일
교육하고 책 쓰는 개발자 오준석입니다.
'오준석의 생존코딩' 유튜브 채널과 생존코딩 (https://survivalcoding.com) 교육 플래폼을 운영중입니다.
저서
오준석의 플러터 생존코딩 (한빛미디어 2020)
오준석의 안드로이드 생존코딩: 코틀린 편 (한빛미디어 2018)
될 때까지 안드로이드 (루비페이퍼 2018)
주요경력
현) 세민직업전문학교 정보기술개발 직업훈련교사
수원스마트앱개발학원 운영
LG전자 MC사업부
일본 아이치현 (株)東海理科 Security사업부
일본 아이치현 (株)日本テクシード IT사업부
LinkedIn: https://www.linkedin.com/in/%EC%A4%80%EC%84%9D-%EC%98%A4-295623b0/
커리큘럼 총 29 개 ˙ 3시간 22분의 수업
이 강의는 영상, 수업 노트, 첨부 파일이 제공됩니다. 미리보기를 통해 콘텐츠를 확인해보세요.
섹션 0. 강의 소개
섹션 1. 리팩토링편 (노트앱)
02-소스 코드 준비 04:15
03-코드 분석 미리보기 05:27 04-DI 라이브러리 적용시 장점 미리보기 04:02
05-잘못된 의존성 주입의 버그 분석 05:10
06-버그 수정시 구조의 문제점 파악 10:28
07-go_router를 적용하여 구조 문제 수정 17:29
08-[이론] Dependency Injection 미리보기 14:20
09-get_it, injectable 준비 04:09
10-내가 만든 클래스의 의존성 주입 설정 07:50
11-써드파티 객체 의존성 주입 설정 10:30
12-환경 구성 10:32
섹션 2. 재작성편 (마스크 정보 앱)
13-마스크 정보 앱 소개 미리보기 02:39
14-디렉토리 구조 03:12
15-예제에 필요한 라이브러리 02:26
16-약국 정보 기본 코드 준비 08:00
17-위치, 권한 관련된 모델, 인터페이스 작성 06:25
18-Use Case 작성 17:21
19-Test 코드 작성 11:41
20-ViewModel 작성 05:27
21-화면 UI 작성 07:00
22-DI 안 된 버전 02:23
23-Injectable 로 DI 구성 06:03
24-go_router 적용 03:57
25-실제 데이터를 가져오도록 수정. DI 환경 구성 11:08
26-실제 위치, 실제 권한으로 처리 12:42
27-마무리 미리보기 03:57
완성 코드
.
강의 게시일 : 2023년 07월 20일 (마지막 업데이트일 : 2023년 09월 15일)
수강평 총 3개
수강생분들이 직접 작성하신 수강평입니다.
5
3개의 수강평
5점
4점
3점
2점
1점
VIEW 추천 순 최신 순 높은 평점 순 낮은 평점 순 평점 순 높은 평점 순 낮은 평점 순
nationpower81 thumbnail
5
클린 아키텍처에 이어 DI 까지 많은 것을 배워 갑니다. 감사합니다 꼭 "Flutter 중급 1편 - 클린 아키텍처" 듣고 바로 연결해서 수강하시기를 권장 드립니다.
2023-07-27
정재한 thumbnail
5
확실히 플러터는 명불허전 오준석 선생님이십니다. 다른곳에서는 절대 가르쳐주지않는 di 강의.. 정말 자세하게 알려주셔서 di부분 마스터 했습니다. 감사합니다. 또 강의 만들어 주세요 돈이 하나도 아깝지 않습니다
2023-07-23
njw9108 thumbnail
5
역시 믿고 보는 오준석 선생님 강의 너무 좋습니다! 최근 프로젝트 구조를 잡는 부분에 대해서 고민이 많았었는데 큰 도움 받았습니다. 좋은 강의 감사합니다! 클린아키텍쳐에 한걸음 가까이 가고 싶으신 분들은 강추합니다.
2023-08-07
연관 로드맵
이 강의가 포함된 잘 짜여진 로드맵을 따라 학습해 보세요!