본문 바로가기

반응형

Flutter-플러터/플러터 공부

Flutter X Supabase RLS , 서버에 유저 정보 저장하기 목표는 로그인 후 테이블에 유저를 특정 할 수 있는 uuid 값과 구글 이메일, 닉네임을 저장 하는 것이었습니다. Supabase에는 기본적인 보안 정책이 있습니다. 로그인 된 유저만 해당 DB 테이블을 CRUD를 할 수 있습니다. 그것을 Row-Level Security 라고 부르고 줄여서 RLS 입니다. RLS 링크 https://supabase.com/docs/learn/auth-deep-dive/auth-row-level-security Part Two: Row Level Security | Supabase Docs _10 const { data, error } = await supabase.from('leaderboard').insert({ name: 'Bob', score: 99999 }) s.. 더보기
Flutter- supabaase Google 소셜 로그인 구현 supabase를 알고 난 후 스프링 부트 과외를 멈췄습니다. supabase는 파이어베이스와 비슷한 기능을 가진 DB 서비스입니다. 파이어 베이스와 가장 큰 차이점은 관계형 DB라는 것 입니다. 아직 한국에서는 supabase 관련 자료가 없기도 하고, supabase 다큐먼트도 오픈베타 서비스다 보니 중구난방으로 정리가 되어 있는 느낌이었습다. 더구나 제가 회원가입, 로그인 로직을 잘 이해하지 못한 상태에서 supabase를 이용한 google 소셜 로그인을 진행하려니 너무 힘들었습니다. 그래도 어찌 어찌 성공했습니다. 제가 이해한 supabase 로그인 방법입니다. supabase 로그인 종류 이메일 로그인 텍스트 필드 창에 이메일과 비밀번호 입력 후 진행하는 일방적인 방법입니다. 소셜 로그인 웹 .. 더보기
Flutter -Auth 코드를 짤 때 Session을 변수명으로 쓰는 이유 Chat GPT가 설명해준 글 Flutter에서 인증(Authentication) 코드를 구현할 때 session이라는 변수명을 사용하는 것은 일반적인 명명 관례에 따른 것입니다. 이는 다음과 같은 이유로 널리 사용됩니다: 의미적 명확성: session이라는 단어는 웹 개발과 앱 개발에서 사용자의 로그인 상태를 유지하는 기간을 나타내는 용어로 널리 사용됩니다. 따라서 session 변수는 사용자의 현재 로그인 세션을 나타내는 데 적합합니다. 표준화된 용어: 대부분의 인증 시스템에서는 '세션(Session)'이라는 용어를 사용하여 사용자의 로그인 상태, 권한, 사용자 정보 등을 저장합니다. 개발자들은 이 용어에 익숙하므로 session이라는 변수명을 사용하면 코드의 가독성과 유지보수성이 향상됩니다. 상태 .. 더보기
Flutter 구글 스프레드 시트 연동 3 - 데이터 삭제 https://www.youtube.com/watch?v=7RBMsjgAocs&list=TLPQMjkxMDIwMjMfUFMLpVd78w&index=3&ab_channel=HeyFlutter%E2%80%A4com 데이터를 받아 올 때 구글 스페레드 시트가 오류가 나면 대응 하는 코드 Future getUsers() async { try { final users = await UserSheetsApi.getAll(); if (users != null && users.isNotEmpty) { setState(() { this.users = users; }); } else { ScaffoldMessenger.of(context) .showSnackBar(SnackBar(content: Text('데이터를 가져오.. 더보기
Flutter getx ui 렌더링 적용이 안될 때 Getx 는 Flutter 상태관리 중 하나이다. 편하다. 너무 편하다. 개발을 하던 중에 .obs 로 선언한 변수를 ui에 끌어다가 썼는데 바로 적용이 안된다. 핫 리로드를 하면 또 바뀐다. 즉 해당 .obs의 변수를 즉각적으로 감지를 못한 다는 이야기이다. 이 때 수동으로 직접 새로고침을 통해 변환 시켜주는 방법이 있다. 바로 refresh() 함수를 이용해서 바꿔주면 된다. Widget categoryboard(BuildContext context) { return Container( width: double.infinity, height: 50.h, child: ListView.builder( physics: BouncingScrollPhysics(), scrollDirection: Axis.ho.. 더보기
Postman 포스트맨은 API 를 이용한 앱을 만들 때 직관적으로 볼 수 있게 하는 아주 정말 진짜 너무 좋은 사이트 이다. 아래 페이지에 접속~! https://web.postman.co/ 1. 워크 스테이션으로 이동 2. api 주소를 입력하고 키값과 벨류 값을 넣고 샌드를 보내면 끝 아 물론 앱에 인증이 필요 하면 인증 토큰도 입력해주면 된다. Get , Post, Update, Put , Del 여러 메서드도 가능... 세상 너무 좋아졌어 나는 앱에 필요한 데이터를 API에 직접 입력해야 해서 Post를 씀! 더보기
Flutter m1,m2 pod install 펌 https://dev-repository.tistory.com/120 m1, m2 맥에서 Pod install 오류로 Flutter iOS 빌드 안 될 때 Flutter 프로젝트로 iOS 앱을 빌드할 때, m1, m2 맥 기기에서 오류가 발생하면 다음 방식으로 해결할 수 있다. Flutter 프로젝트 루트 경로에서 다음처럼 입력하면 된다. sudo arch -x86_64 gem install ffi cd ios r dev-repository.tistory.com 플러터는 크로스 플랫폼이다 개발 할 때는 편한데 빌드, 배포 할 때는..... 두 플랫폼을 신경써야 하니 결국 힘들다 '' 더보기
Flutter 카카오맵 - 타다 참고 https://medium.com/%EC%A1%B0%ED%98%84%EC%B2%A0%EC%9D%98-%EA%B0%9C%EB%B0%9C%EB%A1%9C%EA%B7%B8/flutter-ui-%ED%83%80%EB%8B%A4-tada-%EC%95%B1-5aa699585c1f Flutter UI - 타다(TADA) 앱 안녕하세요! 오랜만의 포스팅 이네요. 지난 번 카카오 지도 글을 마지막으로 새로운 곳으로 이직을 하게 되어 포스팅을 오랫동안 못하고 있었습니다. 이대로 있다가는 올해가 다 지나도 포스팅 medium.com 꽤 좋은 내용 감사합니다. 더보기

반응형