📊 분류 전체보기 277

only one auth mechanism allowed

Amazon s3 s3 : simple storage service 어떤 정보(= 파일) 를 저장하는 서비스, 간단한 저장 서비스 s3 를 쓰는 이유 어떤 서버를 구축해서 저장하는 서비스를 만들 수도 있지만, 아마존에서 제공하는 서비스를 사용하면 많은 것들을 신경 쓰지 않고 안전하게 파일을 보관할 수 있습니다. (유실 가능성 거의 없음. 약 99.9%) (s3 의 서버는 죽을 걱정 거의 안해도 됩니다.) s3 보안 방식 amazon s3 는 ssl 을 통해 데이터 전송과 데이터 업로드 후 자동 암호화를 지원합니다. (ssl 은 암호화 방식) 이벤트 알림 전송 amazon s3 는 amazon s3 에 객체가 업로드 되면 이벤트 알림을 전송할 수 있습니다. 즉, 스토리지와 연계된 다른 서비스를 사용하는데 ..

👩🏻‍💻 TIL 2022.09.19

[Flutter] part 와 import 차이를 알아보자

Part 와 import 차이 3개의 파일의 간단한 예시를 통해 알아보겠습니다. 1. library_main.dart library counter; export 'package:flutter/material.dart'; part 'library_part.dart'; class Counter extends AbstractCounter { // we can access library private variable _count even though it is in a different // file because we made it part of the same library reset() => _count = 0; } 첫번째 줄은 이 라이브러리의 이름을 명시해줍니다 -> counter 이것은 part 로부터..

🐦 Flutter 2022.08.20

[Flutter] 자동 생성 JSON 직렬화 코드와 비교

모델 클래스에서 JSON 직렬화 User Class 모델을 사용해보겠습니다. User Class 모델에는 map 구조에서 새로운 User 객체를 생성하기 위한 생성자인 User.fromJson() 생성자 User 객체를 map 구조로 변환하기 위한 메서드인 toJson() 메서드 class User { final String name; final String email; User(this.name, this.email); User.fromJson(Map json) : name = json['name'], email = json['email']; Map toJson() => { 'name': name, 'email': email, }; } 코드 생성 라이브러리를 통한 JSON 직렬화 여러 다른 라이브러리들..

🐦 Flutter 2022.08.20

Dart Named Constructor

Named Constructor Dart 에서 한 class 는 여러 constructor 를 가질 수 있는데, 특이한 점은 각 constructor 에 이름을 붙인다는 것이다. 명명된 생성자를 사용하여 클래스에 대해 여러 생성자를 구현하거나 추가 명확성을 제공한다. class MyPoints { final int accumulatedPoint; final int usedPoint; final int expirePoint; MyPoints({ required this.accumulatedPoint, required this.usedPoint, required this.expirePoint, }); MyPoints.initial({ this.accumulatedPoint = 0, this.usedPoint..

🐦 Flutter 2022.08.12

Flutter 생명주기

Flutter Life Cycle Widget 이론 플러터에는 Widget 단위로 개발이 된다. 이 Widget 은 불변의 법칙을 갖고 있으며 변경이 필요하면 기존 위젯을 삭제해버리고 완전히 새로운 위젯으로 대체한다. 이것이 플러터의 기본 원칙이다. Container(color: Colors.red) Container(color: Colors.blue) 예를 들어, 위처럼 Container 위젯의 color 를 red -> blue 로 바꿔었다고 해서 이는 기존 위젯을 바꾼 것이 아니라 삭제 후 새로운 위젯으로 만든 것이다. Life Cycle 이란 "생명 주기" 라는 단어 뜻에서 볼 수 있듯이 플러터에서는 위젯이 생성되고 사라질 때까지의 주기 를 관찰 해볼 것이다. 플러터에서는 대표적인 위젯 State..

🐦 Flutter 2022.07.05

[Flutter] json 파싱 정보글 모음

https://www.oowgnoj.dev/post/flutter-json [번역] 복잡한 JSON 파싱하기 in flutter 기억하기 위해 기록합니다. www.oowgnoj.dev model class 와 json 관계 이해 글 https://jvvp.tistory.com/1166 다트(dart) JSON 사용하기 dart:convert JSON 및 UTF-8 을 포함한 다양한 데이터 표현간 변환을 위한 인코더 및 디코더를 지원하는 라이브러리이다. 예제1 기본적인 JSON 문자열을 파싱하고 접근하는 방법에 대한 예제입니다. JSON jvvp.tistory.com

🐦 Flutter 2022.06.24

[Java] 추상 클래스와 인터페이스

클래스는 일반적으로 추상 클래스와 일반 클래스로 나뉜다. 추상 클래스는 클래스 내 '추상 메서드' 가 하나 이상 포함되어 있거나 abstract 로 정의된 클래스이다. 반면 인터페이스는 모든 메소드가 추상 메소드 이다. 이처럼 하는 일은 비슷하지만 이 둘의 개념은 뿌리부터 전혀 다른 곳에서 나왔다. 추상 클래스는 그 추상 클래스를 상속 받아서 기능을 이용하고 확장하는데에 이용하고, 인터페이스는 극단적으로 동일한 목적 하에 동일한 기능을 수행하게끔 강제하는 것이 바로 인터페이스의 역할이자 개념이다. 인터페이스에 대해 더 자세히 알기 위해 아래 예시를 같이 살펴보자. A학생은 PPT로 논문을 11일날 제출했다. B학생은 EXCEL 2016 로 논문을 12일날 제출했다. C학생은 EXCEL 2019 로 자기만..

👩🏻‍💻 TIL 2022.06.12

[Java] extends implements 차이

extends 와 implements 의 차이는 뭘까? 메소드나 변수를 '구현'하는가 그대로 '사용'하는가에 따라서 상속의 형태가 갈리게 된다. extends 부모에서 선언 / 정의를 모두하며 자식은 메소드 / 변수를 그대로 사용할 수 있음 implements (interface 구현) 부모 객체는 선언만 하며 정의(내용)은 자식에서 오버라이딩 (재정의) 해서 사용해야함 abstract extends와 interface 혼합. extends하되 몇 개는 추상 메소드로 구현되어 있음 1. Extends 사실 extends가 상속의 대표적인 형태다. 부모의 메소드를 그대로 사용할 수 있으며 오버라이딩 할 필요 없이 부모에 구현되있는 것을 직접 사용 가능하다. class Vehicle { protected i..

👩🏻‍💻 TIL 2022.06.12

dart 비동기 프로그래밍

cpu thread 작업을 하는 가장 작은 단위 서버요청 때문에 cpu 가 놀게 됨 -> 굉장히 비효율적 그래서 Asynchronous Programming 이 생겨나게 됨 Stream async 를 쓰면 한번에 한 값만 받아올 수 있다. 여러 값을 받아오면 리스트를 쓰던가 등등.. stream 은 완료 될때까지 값을 계속 반환할 수 있다. stream 은 dart 에서 기본적으로 제공하는 패키지는 아니다. 패키지를 불러와서 사용해야 함 import 'dart:async'; void main() { final controller = StreamController(); // dart:async 에서 StreamController 를 가져올 수 있다 final stream = controller.stream..

🐦 Flutter 2022.06.02