소소한 일상과 잡다한 정보
반응형

dart 공부 8

Dart_13일차 : Isolate (멀티스레드 프로그래밍)

📌 Dart 17일차: Isolate (멀티스레드 프로그래밍)Dart에서 Isolate는 멀티스레드 프로그래밍을 구현하는 방법이다.Isolate 개념 및 사용법기본 Isolate 생성 및 실행 ( spawn )Isolate 간 데이터 통신 ( SendPort, ReceivePort )Isolate 활용 예제 ( 비동기 연산 처리 )1. Isolate란? (멀티스레드 개념) Dart는 기본적으로 싱글 스레드(single-threaded) 언어. 즉, 한 번에 하나의 작업만 실행할 수 있다. 하지만, Isolate를 사용하면 여러 개의 작업을 병렬로 실행할 수 있음! 📌 싱글 스레드 vs Isolate (멀티스레드) 비교특징싱글 스레드 (Future, async-await)Isolate (멀티스레드)실행..

IT/Dart 2025.03.17

Dart_12일차 : HTTP 요청 및 API 연동

오늘은 Dart에서 HTTP 요청을 보내고 데이터를 처리하는 방법을 진행해보자.Dart에서 HTTP 요청 보내기 ( http 패키지 사용)GET & POST 요청 처리JSON 데이터 변환 ( jsonDecode )비동기 네트워크 요청 ( Future , async-await )1. http 패키지 설치 ( Dart 프로젝트 )  Dart에서 HTTP 요청을 보내려면 http 패키지를 추가해야 한다. ✔️  pubspec.yaml 에 http 패키지 추가 dependencies: http: ^0.13.6 # 또는 최신 버전 사용 ✔️ 패키지 설치//intellij의 하단에 terminal 선택 후dart pub get//또는 Flutter 프로젝트 에서는 flutter pub get 진행패키지가 정상적..

IT/Dart 2025.03.12

Dart_11일차 : 파일 및 디렉터리 관리 (File & Directory Handling)

이번에는 Dart에서 파일과 디렉터리를 관리하는 방법을 확인해보자.디렉터리 생성 및 삭제 (Directory)디렉터리 내 파일 및 폴더 리스트 출력파일 복사, 이동, 삭제 (copy(), rename(), delete())비동기(Async) 방식으로 안전하게 파일 및 폴더 관리1. 디렉터리 생성 및 삭제 ( Directory )  Dart의 dart:io 라이브러리를 사용하면 디렉터리를 생성하거나 삭제할 수 있다. ✔️ 디렉터리 생성 ( create() ) import 'dart:io';void main() async { Directory dir = Directory('test_directory'); if (!await dir.exists()) { await dir.create(); pri..

IT/Dart 2025.03.10

Dart_10일차: 파일 입출력 (File I/O) & 스트림 (Stream) 활용

이번에는 저번에 맛보기로 진행했던 파일 입출력(File I/O)과 스트림(Stream)을 확인보자.파일을 읽고( readAsString() ), 쓰고( writeAsString() ) 수정하는 방법스트림( Stream )을 사용하여 대용량 파일을 효율적으로 처리하는 방법1. 파일 쓰기 ( writeAsString() , writeAsBytes() )  Dart에서는 dart:io 라이브러리를 사용하여 파일을 생성하고 데이터를 저장할 수 있다. ✔️ 문자열을 파일에 저장 ( writeAsString() ) import 'dart:io';void main() async { File file = File('test.txt'); // 파일 객체 생성 await file.writeAsString('Hello,..

IT/Dart 2025.03.09

Dart_7일차 : 파일 입출력 & JSON 데이터 처리

이번에는 파일 입출력 (File I/O)과 JSON 데이터 처리를 확인해보자. 이제 파일을 읽고 쓰는 법, 그리고 JSON 데이터를 다루는 법을 익혀서 실제 애플리케이션 개발에 활용할 수 있도록 하자. JSON 처리는 웹 API 활용에 중요한 부분이니 내용을 정확히 알고 가는 것이 좋을 것 같다.   1. 파일 입출력 (File I/O)  Dart에서는 dart:io 라이브러리를 사용해서 파일을 읽고 쓸 수 있다. ✔️ 파일에 문자열 쓰기 (writeAsString)import 'dart:io';void main() async { File file = File('test.txt'); // 파일 객체 생성 await file.writeAsString('안녕하세요, Dart 파일 입출력!'); // 파일..

IT/Dart 2025.03.05

Dart_6일차 : 고급 Stream 활용 (listen(), StreamController, Broadcast Stream)

이번에는 Stream을 더 깊이 있게 활용하는 방법을 확인해보자. 특히 listen(), StreamController, Broadcast Stream을 사용할 수 있게 되면 실시간 데이터 처리에 더 강력한 기능을 사용할 수 있다.1. Stream의 기본 동작 복습 (await for) ✔️ await for를 사용한 기본 StreamStream countStream(int maxCount) async* { for (int i = 1; i yield를 사용해 값을 하나씩 방출await for을 사용해 Stream을 반복문처럼 활용 2.  listen()을 사용한 Stream 구독 await for 없이 Stream을 구독하고 데이터가 올 때마다 실행하는 방법이 listen()이다. ✔️ listen()..

IT/Dart 2025.03.04

Dart_5일차 : 비동기 프로그래밍 (Future, async/await, Stream)

Dart의 비동기 프로그래밍에 대해 진행해볼 예정이다. Future, async/await, Stream을 활용하면 네트워크 요청, 파일 읽기, 데이터베이스 처리 같은 시간이 오래 걸리는 작업을 효율적으로 처리할 수 있다.1. Future ( 미래 값 ) Future는 비동기 작업의 결과를 담는 객체. 예를 들어, 데이터를 다운로드하는 작업이 끝나면 결과를 반환한다. Future는 비동기적으로 Type 값을 반환 / Future, Future 등 다양한 타입도 가능 await를 사용하면 Future의 결과를 기다릴 수 있음 ✔️ 기본 Future 예제Future fetchData() { return Future.delayed(Duration(seconds: 2), () => "📦 데이터 로드 완료!"..

IT/Dart 2025.02.21

Dart_3일차 : 컬렉션(List, Set, Map), 예외처리

1. 리스트 ( List )  Dart에서 List는 배열과 비슷한 개념으로 순서가 있는 데이터 모음이다. ✔️ 리스트 생성 및 사용 리스트는 add()로 요소를 추가하고, remove()로 삭제할 수 있음.void main() { List fruits = ["사과", "바나나", "포도"]; print(fruits); // 전체 리스트 출력 print(fruits[0]); // 첫 번째 요소 출력 (사과) fruits.add("오렌지"); // 요소 추가 print(fruits); // ["사과", "바나나", "포도", "오렌지"] fruits.remove("바나나"); // 특정 요소 삭제 print(fruits); // ["사과", "포도", "오렌지"] print(fruits.le..

IT/Dart 2025.02.19
반응형