본문 바로가기

Development

[Flutter] FutureBuilder 사용법 - 비동기 처리결과를 UI에 적용하기 위해 사용하는 위젯으로 FutureBuilder는 'Future' 객체를 사용해  데이터를 비동기적으로 가져오고, 가져온 데이터를 기반으로 화면에 UI를 표시 FutureBuilder 위젯 추가하기FutureBuilder는 필요한 두 가지 파라미터인 future와 builder를 작성해야 함.future는 데이터를 가져오는 Future 객체를, builder는 UI를 구성하는 함수를 입력 import 'package:flutter/material.dart';import 'package:http/http.dart' as http;import 'dart:convert';void main() => runApp(MyApp());class MyApp extends Statel.. 더보기
[Flutter] 외부 위젯 가져와서 사용하기(video_player) flutter pub get1. 해당 위젯을 pub.dev  에서 검색하여 문서를 확인 2. 제목 우측에 복사 버튼으로 해당 패키지 명(+버전) 복사  3. 복사한 패키지이름을 패키지를 관리하는 pubspec.yaml 파일에 추가video_player: ^2.8.6 dependencies: flutter: sdk: flutter # The following adds the Cupertino Icons font to your application. # Use with the CupertinoIcons class for iOS style icons. cupertino_icons: ^1.0.6 video_player: ^2.8.6  단! flutter의 pubspec.y.. 더보기
[Flutter] Dart 문법 - 04. 연산자 4. 연산자 1. 3항 연산자 String? strValue; //if문 if(strValue != null){ strValue = 'init value'; } //3항 연산자 가능 strValue = strValue==null ? 'init value' : strValue; strValue = strValue ?? 'init value'; strValue ??= 'init value'; 2. 케스케이드 연산자(Cascade notation) //같은 widget(객체)의 속성을 연속으로 변경할 경우 사용함 var user1 = User(); user1.name = 'kim'; user1.age = 30; user1.sex = 'male'; user1.id = 'sai'; var user2 = User(.. 더보기
[Flutter] Dart 문법 - 02. 조건문과 03. 반복문 2. 조건문 1. if or 삼항연산자 int intValue = 10; if(intValue > 20){ print('20 이상'); } else if( i == 20){ print('20'); }else{ print('20보다 작음'); } if(intValue == 20) print('20');//1줄로 사용 가능 int intValueUser = intValue 7){ break; } print(i); } //34567 2. while, do while int intValue = 1; while (intValue 1); 더보기
[Flutter] Dart 문법 - 01. 데이터 타입 1. 데이터 타입 int double String(시작이 대문자이니 클래스 겠지?) bool num(int, double이 상속받음) int num1 = 10; double num2 = 3.0; String strValue = 'name'; bool isTrue = true; 해당 변수의 타입 확인 is runtimeType //is로 현재 변수가 int가 맞는지 확인 print(num1 is int); //true print(num2 is int); //flase print(num1.runtimeType); //int print(strValue.runtimeType); //String 타입 추론 추론을 통해 이후 사용된 값을 기준으로 타입을 정함 var (컴파일시 코드로 타입이 결정됨) dynamic .. 더보기
t4g EC2 서버(arm64)를 위한 Docker Image Build 방법 Amazon EC2 T4g 인스턴스는 Arm 기반 AWS Graviton2 프로세서로 구동됩니다. T4g 인스턴스는 버스트 가능한 차세대 저비용 범용 인스턴스 유형으로, 기본 수준의 CPU 성능과 함께, 필요할 때는 언제든지 CPU 사용량을 버스트할 수 있는 기능을 제공합니다. T3 인스턴스보다 최대 40% 더 향상된 가격 대비 성능을 제공하며 사용 중에 일시적인 스파이크를 경험하는 중간 정도의 CPU 사용량을 가진 애플리케이션을 실행하는 데 적합합니다. T4g 인스턴스는 대규모 마이크로서비스, 중소형 데이터베이스, 가상 데스크톱 및 비즈니스 크리티컬 애플리케이션을 비롯하여 다양한 범용 워크로드를 위해 컴퓨팅, 메모리 및 네트워크 리소스를 균형 있게 제공합니다. 또한 개발자는 이러한 인스턴스를 사용하여 .. 더보기
AWS EC2의 Private key 교체 기존의 Private KEY가 노출 되거나 잃어버린 경우 새로운 키를 생성하고 EC2를 교체를 진행한다. 1. 새로운 키 발급 EC2 - 네트워크 및 보안 - 키 페어 - 키 페어 생성 2. 다운받은 pem 파일을 ftp를 이용해서 서버에 업로드 한다. 3. Private Key를 이용하여 Public key 생성한다. 4. 생성된 Public Key의 값을 EC2 인스턴스에 등록하기 - 생성된 public key를 vi로 열어서 내용을 복사한다. 5. 복사한 내용을 authorized_keys에 복사 [root@ip-172 key]# echo 복사한내용 >> ~/.ssh/authorized_keys 6. vi로 내용을 확인 - 기존 aws에서 생성한 ec2@amazon 키 - 새로 생성한 키가 아래에 .. 더보기
AWS EC2 디스크(볼륨) 용량 올리기(용량확장) EC2 사용중 대용량 업로드 업체의 운영으로 아래와 같이 디스크 용량이 100%에 도달해 버렸다. 단순 홈페이지라 볼륨 용량을 150G만 했었는데 300G로 증가 해서 운영하기 위해 볼륨을 수정함. - EC2 -> Elastic Block Store -> 볼륨 -> 볼륨수정 수정할 볼륨의 크기를 300으로 설정후 수정 볼륨의 수정은 생각보다 Optimazing 시간이 상당히 걸린다. 처리가 완료되면 콘솔에서 볼륨의 증가를 확인한다. - 아래와 같이 현재 사용중인 볼륨은 150G이고 해당 디스크에 300G가 있는것으로 표시된다. 일단 먼저 해당 파티션을 조정하여 300G로 수정한다. - growpart로 처리하면 알아서 자동으로 최대값으로 잡아준다. 이후 resize2fs로 루트인 nvme0n1p1의 사이.. 더보기