반응형

설명 19

mongoose subdocument

subdocument : 도큐먼트 안의 도큐먼트, 스키마 안의 스키마 예를들어서, 여행 앱을 만든다고 한다면, 유저가 있을 것이다. 유저는 여행을 5곳을 다녔다. 그러면 유저는 여행정보를 5개를 가지고 있다. 유저가 로그인 했을 때, 쉽게 해당 여행에 대한 기록을 볼 수 있기 위해서, User DB 안에 trip을 reference로 property로 만들어준다. 그러면 다음과 같은 형태일 것이다. const user = new Schema( { username: { type: String, unique: true }, email: { type: String, unique: true }, password: { type: String, select: false }, triplist:[{ type:Schem..

flutter 2022.07.21

flutter datepicker provider

flutter에서 datepicker를 사용해서 원하는 날짜를 선택 할 수 있다. 코드는 다음과 같다 screen 부분 class EndDate extends StatelessWidget { const EndDate({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Container( width: 65, margin: EdgeInsets.fromLTRB(30, 0, 0, 0), child: Text( '종료일 ', style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), )); } } class EndDateFeild extends StatelessWi..

카테고리 없음 2022.07.04

flutter provider.of vs Consumer

flutter에서 provider와 consumer를 언제 사용해야할지, 두개의 차이점이 무엇인지 궁금했다. Provider는 데이터를 전달해주는 역할을 한다. Consumer는 2가지 상황에서 provider 대신에 사용된다. 1. Provider의 자손인 BuildContext를 가지고 있지 않아서 Provider.of를 사용할 수 없을 때, Provider에서 값을 얻을 수 있게 한다. document에서 이렇게 말하는데, 이게 무슨 말이지 헷갈릴 것이다... @override Widget build(BuildContext context) { return ChangeNotifierProvider( create: (_) => Foo(), child: Text(Provider.of(context).va..

flutter 2022.06.28

flutter @override

flutter나 java 등 여러 프로그래밍 언어를 사용하다보면 @override라는 것을 자주 보게된다. 그렇다면 @override가 무엇인지에 대해서 알아보겠다. @override는 함수가 조상 클래스에도 정의되어있지만 현재 클래스에서 다른 작업을 수행할 수 있도록 재정의하는 것이다. 추상 메소드 구현에도 사용한다. 사용을 할지 말지는 선택사항이지만, 가독성을 높이기 위해서는 사용하는 것이 좋다고 한다. The annotation @override marks an instance member as overriding a superclass member with the same name. 이라고 dart SDK 도큐먼트에서 말하고 있다! *@override는 키워드가 아니라 annotation이라고한다..

카테고리 없음 2022.06.27

flutter statelesswidget class key, const란?

flutter 에서 stateful, stateless class를 만들면, 자동으로 key라는 것이 class 안에 들어가있는 것을 확인 할 수 있다. 여기서 key는 무엇이고 const는 왜 사용하는것일까? 플러터 독스에 따르면, Key class는 Widget에 대한 identifier이다. 다른 클래스에서 동일한 키를 가지고 있으면, 같이 업데이트 해줄 수 있다. Key에는 LocalKey와 GlobalKey가 존재한다. GlobalKey 는 전체 앱에서 unique한 특성을 가진다. LocalKey는 parent widget이 같은 경우에 사용한다. 그래서 평상시에 코딩할 때는 class에 key를 남겨놓을 필요가 없을 것 같다 그렇다면 class 정의를 하고, 바로 아랫줄에 있는 const는 ..

flutter 2022.06.23

flutter listview builder scroll

flexible widget의 경우, child widget의 크기를 가변적으로 할 수 있게만 만들어주고, scrollable하게는 만들어주지 않는다. 그래서 SingleChildScrollView로 flexible 위젯을 감싸줘야한다. class MonthScreen extends StatelessWidget { const MonthScreen({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( resizeToAvoidBottomInset: false, body: SingleChildScrollView( child: SafeArea( child: Column( mainAxisSize: ..

flutter 2022.06.22

플러터 스플래쉬 화면

스플래쉬 화면은 모바일 앱을 실행시켰을때 가장 처음으로 나타나는 화면이다. 사용자 타입에 따라 다른 랜딩 화면을 제공하기 위한 준비 시간동안 로고와 같은 앱을 대표하는 내용으로 구성되어있다. 예를 들면, 네이버블로그, 넷플릯, 뱅크샐러드의 스플래쉬 화면이다. 그렇다면 플러터에서도 스플래시 화면을 넣는 방법을 알아보자! flutter_native_splash 패키지를 사용한다. pubspec.yaml에 dependency를 설정해준다. dependencies: flutter_native_splash: splash 화면에 보여줄 이미지를 assets 폴더를 만들어 넣어준다. 그리고 pubspec.yaml 파일에 flutter_native_splash를 추가해준다. color, image, background..

flutter 2022.06.20

flutter container click

플러터에서 container widget을 클릭하기 위해서는 InkWell 위젯을 사용하면 된다. 그리고, inkwell widget안에 onTap 부분에 클릭하면 수행할 함수/동작을 넣어주면 된다. InkWell( onTap: (){ Navigator.of(context).pushReplacementNamed('/promise'); }, child: Container( padding: EdgeInsets.all(10), height: 150.0, width: 150.0, color: Colors.transparent, child: Container( decoration: BoxDecoration( color: Colors.grey.withOpacity(0.2), borderRadius: BorderRa..

flutter 2022.06.18

flutter sqflite 사용법

flutter에서 데이터를 로컬에 저장하는 방법은 두가지가 있다. 하나는 shared preference이고 다른 하나는 sqflite이다. shared preference의 경우에는, 자동 로그인 같은 간단한 데이터를 저장하고 싶을 때 사용한다. sqflite는 디바이스에 많은 데이터를 저장 하고, 쿼리를 요청할 때 사용한다. 먼저, puspec.yaml 파일에 dependency를 추가해준다. dependencies: sqflite: 1. 데이터베이스 열기 Future get database async { if (_db != null) return _db; _db = openDatabase(join(await getDatabasesPath(), 'Record5.db'), onCreate: (db, v..

카테고리 없음 2022.06.16
반응형