Backend(39)
-
다트 Stream
Stream데이터가 연속적으로 전달될 때 이를 수신하고 처리할 수 있도록 도와주는 비동기적 데이터 구조에요.Future가 단일 값을 반환하는 비동기 연산이라면, Stream은 여러 개의 값을 순차적으로 전달받을 수 있습니다. 따라해보기1️⃣ Stream 생성Dart에서 스트림을 생성하는 방법은 여러 가지가 있습니다.(1) StreamController를 사용하여 생성import 'dart:async';void main() { final controller = StreamController(); controller.stream.listen((data) { print('Received: $data'); }, onDone: () { print('Stream closed'); }); ..
2025.03.13 -
다트 reduce(), fold()
리스트나 컬렉션의 요소들을 하나의 값으로 축소하는 데 사용되는 메서드에요.두 메서드는 비슷하지만 중요한 차이점이 있어요.reduce🔹 리스트의 요소들을 하나의 값으로 줄이는 데 사용됨 🔹 첫번째 요소를 초기값으로 사용하며, 연산을 수행하여 결과를 생성 🔹 빈 리스트에서 호출하면 예외 발생🔹 동일한 타입의 결과를 반환해야 함예제void main() { List numbers = [1, 2, 3, 4, 5]; int sum = numbers.reduce((a, b) => a + b); print(sum); // 15} fold 🔹 reduce와 달리 초기값을 명시적으로 설정 가능 🔹 리스트가 비어 있어도 예외가 발생하지 않음 🔹 연산 결과를 다른 타입으로 변환할 수 있음예제void m..
2025.03.12 -
다트 static
static🔹메모리에 한번 할당되어 프로그램이 종료될 때 해제되는 것을 의미해요. void main() { final b = B(); //B클래스 선언 print(b.bb); //출력 2 b.bbPrint(); //출력 2}class B { int bb = 2; void bbPrint() { print(bb); }}기본적으로 클래스의 멤버변수나 멤버함수는 클래스 객체를 생성해야지만 사용할 수 있습니다.하지만 static이 붙은 변수나 함수는 클래스 객체를 생성하지 않고도 사용할 수 있습니다. void main() { print(A.aa); // 출력 1 A.aaPrint(); // 출력 1}class A { static int aa = 1; static void aa..
2025.03.12 -
다트 VSCode 개발환경
1️⃣ Chocolatey 설치 Dart SDK를 설치하려면 Chocolatey 설치가 필요해요 -> Windows에서 cmd 창에서 패키지(ex. dart)를 설치할 수 있는 패키지 매니저 PowerShell 을 관리자 권한으로 실행 후 아래 코드 입력하면 설치 완료. ( 전체 코드 복사 후 붙여넣기) Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https:..
2025.03.11 -
다트 상수
변수 변경자🔹final 변수: 런타임에 변수값 확정 후 변경 불가🔹const 변수: 컴파일타임에 변수값 확정 후 변경 불가🔹static 변수: 인스턴스 변수가 아닌 클래스 변수임을 표시 일반적으로 final 변수와 const 변수 대신에 final 상수, const 상수로 부르는 경우가 많다. final실행 중에 값을 한 번 대입하면 이후에 그 변수의 값을 변경할 수가 없다.void main() { final f = [1, 2, 3]; final g = [4, 5, 6]; // Error: Can't assign to the final variable 'f'. // f = g;}위와 같이 새로운 final 상수 f에 새로운 컬렉션을 대입하는 것은 불가능하다.다트에서 모든 변수는 레퍼런스 타입..
2025.03.11 -
다트 란?
Dart는 2011년 GOTO 컨퍼런스에서 구글이 발표한 자바스크립트를 대체 가능한 크로스 플랫폼 프로그래밍 언어로, 발표 당시에는 주목을 못 받았지만 2017년 Dart를 사용하는 Flutter의 등장으로 수요가 높아지며 사용도가 급성장한 언어에요. 기본적으로 C 언어의 문법과 비슷하며 Java, C#, JavaScript와 같은 기능적 스트럭처를 추가한 언어로, 간결하고 강력한 기능을 지원하기에 현대적이라는 평가를 받고 있어요. 🔹Dart를 사용하는 이유Dart 언어의 수요가 높아진 이유는 Flutter에 사용되는 언어가 Dart이기 때문입니다. Flutter가 나오기 이전의 앱 개발에서는 iOS와 Android는 코드가 공유될 수 없었습니다. 때문에 안드로이드와 iOS를 모두 지원하는 앱을 만들..
2025.03.11