반응형

flutter 34

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

mongoose db schema reference

flutter 백엔드쪽은 node js를 사용하고, DB는 mongoose를 사용한다. DB 스키마에 있는 property에서 다른 DB 를 참조하려고 한다. (쉽게 말하자면, 예를들어 여행 DB가 있는데, 여행을 같이 한 user들 리스트가 property로 들어간다. 그리고 user들도 따로 DB가 있을때, 여행 DB에서 user DB를 참조하는 방법에 대한 글이다) mongoose에서 object id를 이용해서 해당 데이터를 나타낸다. (object id는 unique함) 그리고 여행에 해당하는 유저가 여러명일것이므로 []를 이용해서 array로 만들어준다. const trip = Schema({ title: { type: String, required: true, }, useridlist:[{ ..

flutter 2022.07.21

Flask vs Django vs NodeJs

나는 주로 파이썬을 사용해서 개발을 한다. 그래서 서버를 만들 때 큰 고민 없이, 편하게 만들 수 있는(코드 줄이 적은) Flask를 사용하곤 했다. 하지만, Flask를 이용했을 때는 사실 유저가 많을 때를 고려하지 않은, MVP를 만들 때 사용했던 것이었다. 하지만 Flask는 쓰레드를 1개밖에 사용하지 못하고, 유저가 많으면 아주 느려지는 단점이 있다. 그래서 유저가 많을 때는 멀티 쓰레드 코딩을 하는 등 다른 노력이 더 필요하고, 보안 문제 등의 단점이 있다. 그렇다면 유저가 많은 python 프로그램을 어떤 서버에 올려야할까? 일단, Flask, Django, Nodejs의 장단점을 비교해 볼 것이다. Flask Django NodeJS 특징 - 프로젝트마다 1개의 어플리케이션 개발 - DB 접..

flutter 2022.06.29

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 dependencies vs dev dependencies

flutter에서는 pubspec.yaml이라는 파일을 이용해서 필요한 패키지들을 설치한다. 그런데 이 파일에 보면, dependencies와 dev_dependencies가 있다. 필요한 패키지를 이 둘중 어디에 작성을 해야할까? dependencies : 개발 완료 후 앱을 배포할 때 포함해야하는 플러그인 목록 (컴파일 할 때 필요) dev_dependencies : 개발 단계에서 앱을 테스트하기 위해 필요한 플러그인 목록 (개발할 때 필요) 예를들어서, change_app_package_name flutter_lints 와 같은 패키지들은 개발단계에서 필요한 것이다. (change_app_package_name 패키지의 경우에는, 해당 플러터 프로젝트의 이름을 바꾸기 위해 필요한 것이다. 더 자세히..

flutter 2022.06.24

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 위젯에서 조건문 사용하기

플러터에서는 if/else, switch 문을 이용해서 위젯에 조건문을 줄 수 있다. 그리고 간편하게 ternary operator(삼항 조건 연산자)를 사용할 수도 있다. class SaveBtn extends StatelessWidget { SaveBtn({Key? key}) : super(key: key); late QuillModel quillmodel; late Pcontents pcontents; @override Widget build(BuildContext context) { quillmodel = Provider.of(context); pcontents = Provider.of(context); return Container( margin: EdgeInsets.fromLTRB(0, 0, ..

flutter 2022.06.19
반응형