플러터 9

[빙챗 사용기] 챗지피티(Chat GPT)와 빙챗(Bing Chat)비교 #뉴빙

작년말 부터 챗지피티(chat gpt)가 엄청난 인기를 끌고 있다. 해외 물품 판매를 위한 쇼피파이 웹사이트를 제작하면서 Chat GPT에 위력을 체감 하였다. 마이크로소프트의 빙이 채팅 기능을 출시한다 하여 빠르게 웨이팅 리스트에 이름을 올렸다. 그리고 어제 아침 아래의 이메일을 받았다. (이렇게 빨리 받을 수 있을거라 생각하지 못했다.) (코드 생성은 플러터와 스벨트를 실험해봤다.) 이제 CHAT GPT와 Bing Chat을 비교해보자! 1. 실시간 기능 - Chat gpt 가장 단순한 질문인 한국의 대통령이 누구냐는 것을 물어보았지만, Chat GPT의 정보는 2021년에 머물러 있다. 재미있게 즐겨보는 유튜버에 대해 물어보았다. - 빙챗 똑같이 한국대통령이 누구냐고 물어보았다. 아래 나오듯이 먼저..

기타 2023.02.25

[SVELTEKIT] capacitor 사용하여 안드로이드 앱 만들기

아이오닉사용해서 sveltekit 안드로이드 앱만들기 이미 스벨트로 만들어 놓은 코드가 있어서, 굳이 플러터 flutter를 사용하지 않고 기존 코드를 이용하여 앱을 만들어 보고 싶었다. 처음 앱으로 빌드할 때 좀 느렸지만 이후엔 빠르게 빌드가 됬다. 오래 사용해보지 않아 얼마나 좋은지 나쁜지는 잘 모르겠지만 가벼운앱을 만들땐 괜찮을 않을까 싶다. 1. 기존에 있던 프로젝트에 capacitor 설치하기 npm install @capacitor/core @capacitor/cli 2. capacitor init 하기 capacitor를 init할때 스벨트킷의 빌드할 폴더는 build이기 때문에 기본값 www대신 build로 적어 준다.. (혹시라도 init 때 www로 설정해놓더라도 capacitor.co..

[에디터 잘써먹고 스타일 잘해보기] 플러터 위젯 이해하기

플러터 위젯 이해하기 여기서는 플러터를 시작하는 많은 사람들이 중요하지만 놓칠 수 있는 부분을 설명하려고 한다. 플러터는 위젯으로 구성되어 있다. 그렇기 때문에 위젯을 이해해야 쉽게 웹사이트 혹은 어플리케이션을 만들 수 있다. HTML의 구성요소들은 인터넷에 찾으면 쉽게 찾을 수 있다. 그리고 그걸 어떻게 원하는데로 스타일을 할지도 쉽게 찾을 수 있다. 하지만 플러터는 신상프레임워크이기 때문에 우리가 찾기가 어려울 수도 있다. 그런데 플러터는 텍스트에디터의 도움을 아주 잘 받았다. 텍스트에디터를 잘 이용하면 위젯의 속성명과 거기에 들어가야하는 값이 무엇인지 알 수 있다. 이게 아주 중요하다. 개발의 이걸 알고 개발을 하고 모르고 개발을 하냐에 따라서 개발의 속도가 크게 차이가 난다. 특히나 HTML에 익..

플러터 listView와 sliverList 으로 리스트 그리기

Front는 과연 무엇일까 하는 생각이 들었다. 심플하게 말하자면 데이터를 보기 좋게 뿌려주는 것이다. 그것을 UI라고 한다. 그 중에 가장 기본이 되는 것은 어떻게 반복되는 형식을 front에 뿌려주는 것인가 일 것이다. flutter의 sliverList와 ListView가 기본적으로 많이 사용되는 리스트 위젯일 것이다. 이들은 index는 0부터 시작해서 정해진 아이템(자식)의 숫자만큼 반복할 것이다. 아래를 보면 listview.build메서드의 프로퍼티에 itemCount를 전달한다. 그러면 build메서드는 이렇게 전달받은 카운트 만큼 반복을 하며 itembuilder에 넣은 함수에 index를 전달할 것이다. sliverList역시 딜리게이션에 context와 index를 전달 하는 함수를 ..

[플러터] 플러터 애드몹 달기

플러터에서 애드몹을 달때 사용하던 패키지가 기존에 firebase_admob에서 pub.dev/packages/google_mobile_ads 이걸로 바뀌었다. 광고 다는 법은 공식 사이트에 나온 그대로 따라하면 된다. 설명이 쉽게 나와있다. 기존의 애드몹은 자동으로 맨 밑 바닥에 광고를 붙여줬는데 새로운 애드몹 패키지에선 위젯으로 만들어 자신이 원하는 위치에 붙일 수 있다. 그런데 저 광고 패키지를 설치 할때 에러 때문에 고생했는데 원인은 gradle을 업데이트 해야했다 . 1. gradle\wrapper\gradle-wraper.properties 여기에 들어가 아래의 배포버전을 넣는다. distributionUrl=https\://services.gradle.org/distributions/grad..

플러터 처음 빨리 시작하기~

1. 폴더구조 플러터개발시작시 유튜버들이 많이 사용하는 폴더구조 2. 스타일에 사용될 상수 만들기 디자인과 관련된 상수를 가진 색상 클래스, 엘리먼트 형태관련 클래스를 만들어서 디자인을 쉽게 하기 3. 데이터 모델 만들기 사용할 데이터의 형태를 지정하기 위해 데이터 모델만들기 4. 실제 사용하거나 UI디자인/테스트를 위한 데이터 만들기 개발중 데이터를 제공할 파일을 만듬 5. 여러개의 스크린을 불러올 수 있는 스크린콜랙션파일 생성 (Optional) 6. 여러개의 위젯을 불러올 수 있는 위젯콜렉션파일 생성 7. 웹을 위한 반응형 위젯 만들기 8. 데이터 오브젝트나 오브젝트 리스트를 json으로 바꾸기 9. 스트링으로 된 Json을 리스트로 바꾸기 10. GetX로 상태관리 GetX를 통해 state를 관..

플러터에서 자식 위젯의 메서드 부모에서 호출하기

플러터는 위젯으로 구성되어 있다. 그렇기 때문에 위젯간의 소통을 할 수 있는 방법을 아는 것이 중요하다. 위젯간의 소통 방법들을 공부하지 않으면 분리되지 않은 거대 위젯으로 앱이 구성이 될 것이다. 부모의 버튼을 눌렀을때 자식 스크롤 위젯이 자동으로 맨 밑까지 내려오게 하는 기능을 구현해야 했다. 위젯이 나누어지지 않았을 때는 문제가 없었지만 위젯이 부모와 자식으로 나누어 지면서 버튼과 리스트가 분리 되었다. 이때 부모가 자식의 메서드를 호출해서 그 메서드가 자식을 움직이게 만드려면 어떻게 해야 할까? StackOverflow에서 두가지 방법을 찾을 수 있었다. 첫번째는 메서드를 초기화한 클레스의 인스턴트를 전달하는 방법 1. 클레스에 메서드를 초기화 해서 자식 위젯에 인스턴트를 전달한다. 2. 자식위젯..

플러터에서 firebase_auth와 flask 서버 같이 사용하기.

이렇게 사용하면 아래와 같은 장점이 있을 것 같다. 1. 사용자 개인정보를 직접 저장하고 있지 않아도 된다. - 개인정보의 보안이나 관리가 어렵다. 2. 서버에서 구현하기 귀찮은 모바일확인, 페이스북&구글로그인 등을 쉽게 구현 가능하다. 3. firestore의 단점인 과금 문제를 보완 가능. - 정말 필요한 채팅서비스에서만 firestore를 사용하면 될듯. 나머지는 flask SQL서버에 저장. 4. 파이썬을 서버로 사용하기 때문에 데이터처리에도 유용하지 않을까.....? 플러터에서 1. firebaseAuth로 로그인을 함 2. firebaseAuth로 아이디 토큰을 받음 3. http post로 토큰을 서버로 보냄. 서버에서 1. post로 온 토큰을 firebase의 decoded_token =..

flutter sqflite 사용하기

SQLITE의 플러터 버전이다. 1. 경로정하기 _path = await getDatabasesPath() + 'example.db'; // 디비의 경로를 정해준다. 2. DB 만들고 오픈하기 _db = await openDatabase(_path, version: _version, onCreate: onCreate); 디비 만들어질때 사용되는걸 정의 한다. 3. 디비가 만들어질때 테이블 생성하기 static void onCreate(Database db, int version) async => await db.execute('CREATE TABLE items (id INTEGER PRIMARY KEY NOT NULL, name STRING, price INTEGER, qty INTEGER, type S..