[Dart] Asynchronous & Future
·
Flutter/Basic Knowledge
Dart 언어는 비동기 프로그래밍을 지원하고 이때 주요하게 쓰이는 개념으로 Future, Stream, await, async 등이 있다. 이번 포스팅에서는 Dart 언어에서의 비동기 프로그래밍의 기본 방식과 Future, await, async 키워드에 대해 다뤄 볼 예정이다. 어떤 프로그래밍을 하던 Data Fetching, Writing, Reading 이 존재하는 분야라면 비동기 처리 방식이 중요할 수 밖에 없기 때문에 이에 대해서 정리를 해보고자 한다. 아래의 내용은 Dart 공식 도큐먼트 내용을 기준으로 발췌하고 정리하였다.  Asynchronous Programming: Futures, async, await 비동기 작업이 대표적으로 사용되는 부분네트워크에서 데이터를 불러오는 작업데이터베이스..
[Dart] AOT(Ahead-Of-Time) 과 JIT(Just-In-Time) 컴파일러
·
Flutter/Basic Knowledge
Dart 언어는 AOT, JIT 두 가지 컴파일 모드를 지원한다. 나는 개인적으로 해당 컴파일 방식이 매우 Cool 하다고 생각함 ! 이렇게 컴파일러를 분리한 이유는 개발자 친화적인 방식으로 개발 환경의 편의성을 늘려주기 위함에 있는 것 같다 :) 내가 Dart 언어를 사용하면서 가장 크게 좋다고 느꼈던 부분 중 하나이기 때문에 내용을 작성해보기로 했다. 1. JIT (Just-In-Time) 컴파일러: 실행 시간 컴파일: JIT 컴파일러는 애플리케이션이 실행 중일 때 코드를 컴파일한다. 따라서 개발자가 코드를 수정하고 다시 실행할 때 마다 최신 코드로 빠르게 반영된다. (매우 매우 매우 Cool!) 인터프리터와 컴파일러 혼합: 코드를 인터프리터로 빠르게 실행하면서, 동시에 컴파일을 진행하여 최적화된 코..
[Dart] Garbage Collection 이란?
·
Flutter/Basic Knowledge
Dart에서 기본적으로 제공하는 Garbage Colletion 은 메모리를 조금 더 효율적으로 사용할 수 있게 제공하는 메모리 관리 프로세스이다. 이전에 공부한 경험이 있는 언어인 Swift에서는 ARC(자동 참조 카운팅)를 활용해 자동으로 메모리를 관리해주었는데 Dart에서는 해당 역할을 Garbage Collection이 수행하는 것 같다. 아래는 Garbage Collection에 대해서 알아본 바를 작성하고, ARC와 어떤 점이 다른지 비교해보았다. Garbage Collection의 작동원리 1. 객체 생성 : Dart에서는 객체가 동적으로 생성될 때 메모리가 할당된다. 2. 참조 관리 : 객체는 다른 변수나 객체에 의해 참조 되어진다. 이러한 참조들을 통해 객체에 접근할 수 있다. 3. 사용..
[Dart] Dart 란?
·
Flutter/Basic Knowledge
Dart는 구글에서 개발한 객체지향 프로그래밍 언어로, 주로 모바일 애플리케이션 개발 및 웹 개발에 사용한다. 아래는 Dart 언어의 주요 특징과 특성을 간략하게 설명한 것이다. 1. 객체지향 프로그래밍 (OOP) Dart는 객체지향 프로그래밍 언어로, 코드를 클래스와 객체로 구성된다. 이는 상속, 다형성, 캡슐화와 같은 객체지향 개념을 효과적으로 활용할 수 있게 해준다. 2. 가비지 컬렉션 (Garbage Collection) 메모리 관리를 자동으로 처리하는 가비지 컬렉션을 제공하여, 개발자가 메모리를 명시적으로 관리할 필요가 없다. 이로써 코드가 더 간결하게 유지된다. 3. 단일 상속 및 믹스인 (Single Inheritance and Mixins) 단일 상속을 지원하며, 동시에 믹스인을 통해 다중..