광고 및 배포하기
프로그래밍/플러터 2024. 5. 1. 21:37광고 및 배포하기

구글 애드몹- 구글에서 제공하는 광고 서비스- 누구나 광고를 게시하고 수익을 올릴 수 있음   google_mobile_ads - 해당 플러그인을 사용해서 구글 애드몹을 게시 가능 https://pub.dev/packages/google_mobile_ads google_mobile_ads | Flutter packageFlutter plugin for Google Mobile Ads, supporting banner, interstitial (full-screen), rewarded and native adspub.dev 아래 링크에서 구글 계정으로 로그인 후에 설정 가능 http://admob.google.com/ AdMob이메일 또는 휴대전화accounts.google.com 게시하는 광고의 경우 각..

프로그래밍/플러터 2024. 4. 17. 21:3421장

인증 - 서버와 통신하는 사용자의 정보와 유효성 검증 - 이전에서는 그냥 로컬에서 사용을 했으니까 괜찮았는데 서버와 연결하면 해당 인증 절차는 복잡해진다. 왜냐하면 사용자가 나 뿐만이 아니라 다른 사용자의 데이터도 존재하기 때문에 해당 데이터를 구분하고 요청에 맞는 데이터를 반환하는 것이 중요 JWT - 사용자 요청을 확인할 때마다 아이디 비번 입력하게 만들면 그 서비스 불편해서 아무도 안 쓴다 - 그런거 없이 JWT를 사용해서 인증을 처리 - 액세스토큰 ( 정보 접근 시 사용 ) , 리프레스 토큰 ( 액세스 토큰 만료시 사용 ) 으로 구성 class AuthRepository { final _dio = Dio(); final _targetUrl = 'http://${Platform.isAndroid ?..

프로그래밍/플러터 2024. 4. 17. 21:1920장

파이어 베이스 - 구글이 제공하는 앱 개발 최적화 기능 제공 서비스 파이어 스토어 - 파이어 베이스 기능 중 하나 - NoSQL 데이터 베이스 - 서버 인프라 관리를 알아서 해주니까 공수가 많이 줄어든다 - SDK를 활용하여 보다 직관적인 프로그래밍이 가능 - 다만 무료 사용량이 있고 그것보다 더 사용하면 결제가 필요 - JSON 형식을 그대로 저장할 수 있음 // 파이어 베이스 초기화 await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, ); // 스케쥴 모델을 그대로 파이어베이스에 저장 await FirebaseFirestore.instance .collection( 'schedule', ) .doc(schedul..

프로그래밍/플러터 2024. 4. 3. 21:3718장 19장

1) SQL - 웹이랑 똑같이 앱에서도 데이터베이스를 사용할 때 큰 틀은 같음 - 테이블 구조로 이루어져 있으며 행과 열로 구분 - 여기선 드리프트 플러그인을 사용하여 SQL을 구현 - ORM이라고 객체 - 관계 매핑을 활용해서 SQL문을 일일 작성하지 않고 코드를 통해서 구현이 가능해짐 2) 드리프트 - ORM으로 SQL을 작성하여 코드로 테이블 데이터를 조작 가능하게 해주는 라이브러리 - 기본적인 틀을 코드로 정의하고 메서드를 정의하면 자동적으로 알아서 SQL관련된 코드를 작성해주고 우리는 메서드나 변수를 사용해서 해당 테이블에 있는 레코드를 제어할 수 있다. // private값까지 불러올 수 있음 part 'drift_database.g.dart'; // part 파일 지정 @DriftDataba..

EKS Observability
인프라/AWS 2024. 3. 31. 04:28EKS Observability

EKS Logging EKS에서도 로깅을 확인 할 수가 있는데 보통 해당 로그에 대해서는 비활성화가 되어 있기 때문에 활성화를 eks 명령어를 통해서 활성화를 해줘야한다. 아니면 웹에서도 활성화가 가능하다 . 나의 로그 그룹을 확인하고 해당 그룹에 대한 로그들을 Cloud Watch를 통해서 확인을 할 수가 있다. 컨테이너 파드 로깅 사용 리전의 인증서 ARN확인을 하는데 아무것도 뜨지 않느다... 일단 해당 nginx에서는 필요가 없는 거 같으니 넘어가고 추후 수정을 해보자.... 설정을 잘못했나 싶어서 CloudFormation을 재배포 했지만 똑같이 인증 정보가 나타나지 않음 아래의 서비스를 배포 service: type: NodePort networkPolicy: enabled: false ing..

프로그래밍/플러터 2024. 3. 27. 21:1516장 17장

1) DIO - http 요청을 하는 일반적인 메서드들을 제공 - 어플리케이션에서 요청을 하고 서버에서 응답을 받아서 서로 통신을 하는데 이 때 사용되는 라이브러리 2) Json - 키 - 값 형태로 이루어진 데이터 객체 포맷 - xml도 있지만 대부분 json 형태의 데이터 포멧을 사용하여 API를 설계 3) 키보드 높이 구하기 - 키보드가 올라오면 해당 키보드의 크기 만큼 어플의 레이아웃이 망가져 버림 - 키보드의 높이를 미리 세팅해두고 키보드가 나오면 해당 크기만큼 화면 늘려서 비율 유지시켜주기 @override Widget build(BuildContext context) { final bottomInset = MediaQuery.of(context).viewInsets.bottom; return..

EKS Storage & NodeGroup
인프라/AWS 2024. 3. 23. 01:00EKS Storage & NodeGroup

본문 파드의 내부 데이터는 기본적으로 파드가 종료되면 그걸로 끝 ! 전부 삭제되어 버림 똑같은 파드를 재시작해도 데이터는 연동되지 않음 파드는 Stateless 애플리케이션이다 그래서 파드가 죽어도 작업했던 데이터를 보존하기 위해서 나온 것이 PV( Persistent Volume ) 해당 PV는 Stateful 애플리케이션으로 상태를 보존한다. PV는 어느 노드에서도 연결해서 사용 가능 Ex) NFS , Aws EBS 그리고 PV를 파드가 생성될 때 자동으로 마운트해주는 기능을 동적 프로비저닝 이라고 한다. 기본 컨테이너에서 아무런 설정을 하지 않으면 임시 파일 시스템을 사용하기 때문에 파드가 종료되면 기존 데이터가 다 삭제가 되어진다. busybox 파드를 만들고 해당 파드에 다음과 같은 글을 입력한..

Google API & Photo
프로그래밍/플러터 2024. 3. 20. 21:51Google API & Photo

출첵 1) 구글 지도 - 구글 API 가지고 와서 화면에 지도와 위치 등 랜더링 해주는 API Expanded( // 2/3만큼 공간 차지 flex: 2, child: GoogleMap( initialCameraPosition: CameraPosition( target: companyLatLng, zoom: 16, ), myLocationEnabled: true, markers: Set.from([marker]), circles: Set.from([circle]), ), ), - 위치 정보 받아서 원하는 위치와 거리 파악 후 bool타입으로 판단 후 출첵 로직 실행 ElevatedButton( // [출근하기] 버튼 onPressed: () async { final curPosition = await G..

비디오 및 영상  통화
프로그래밍/플러터 2024. 3. 20. 17:10비디오 및 영상 통화

비디오 플레이어 1) BoxDecoration - 컨테이너에서 그라데이션 색상을 만들어주는 gradient 속성을 지정 - LinearGradient 클래스를 사용해서 시작색과 끝색을 지정해서 그라데이션을 설정 // Container의 배경색을 그라데이션으로 변경 타입 BoxDecoration BoxDecoration getBoxDecoration() { return const BoxDecoration( gradient: LinearGradient( begin: Alignment.topCenter, end: Alignment.bottomCenter, colors: [ Color(0xFF2A3A7C), // 시작 Color(0xFF000118), // 끝 ], ), ); } 2) XFile - ImageP..

EKS Networking
인프라/AWS 2024. 3. 16. 19:54EKS Networking

해당 포스팅은 가시다님의 AWES 2기 스터디 내용을 토대로 작성했습니다. 네트워크 구성도 변수 세팅 # 노드 IP 확인 및 PrivateIP 변수 지정 N1=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-2a -o jsonpath={.items[0].status.addresses[0].address}) N2=$(kubectl get node --label-columns=topology.kubernetes.io/zone --selector=topology.kubernetes.io/zone=ap-northeast-2b -o jsonpath={.ite..

728x90
728x90
image