[Rs] 나에게 블로그란
·
Retrospect
인사말 안녕하시렵니까. 저는 Mins programming 블로그의 Mins를 맡고 있습니다.블로그 글을 마지막으로 작성한지가 어언 10달이 다 되어 가는 것 같네요...오랜만에 글을 작성하는 이유는 '기록' 이라는 키워드에 대해 요즘 생각이 참 많아져서 몇 자 적어보고자 복귀했습니다. 간결하게 표현을 해보자면, 블로그에 대한 스스로의 정리를 해보고자 돌아왔다고도 할 수 있겠죠.블로그의 시작 블로그를 시작하게 된 첫 번째 계기는 광고를 붙여서 돈을 벌어보고 싶어서 였습니다. (에드센스는 달았지만 수익은 ... 0$)하지만 누군가 그랬죠. 남의 주머니에서 돈을 가져오는건 힘든 일이라고.블로그를 작성해보며 돈을 벌기 위한 블로그 운영은 정말 쉽지 않은 일임을 깨닫고 첫번째 블로그는 폐쇄하게 됩니다.. 그리고..
[Dart] Stream 이란?
·
Flutter/Basic Knowledge
Dart 언어의 비동기 프로그래밍에서 Future와 함께 중요하게 사용되는 개념 중 하나인 Stream에 대하여 알아보고자 한다. Future와 Stream의 차이점은 아주 간단 명료 하다. "단일 값" vs "다중 값". Future는 단일 비동기 작업에 대해 단일 값 혹은 단일 오류를 처리하는데에 사용되는 개념이고, Stream은 다중 비동기 작업에 대해 다중 값 혹은 다중 오류를 처리하는데에 사용되는 개념이다. 또한 Stream은 Future로 불가능한 작업 중 하나인 실시간 데이터 리스닝이 가능하다. 이를 이해하기 위해, 전통적인 Data Pulling 방식을 생각해보자 전통적인 Data Pulling 방식 Flow 1. 초기에 필요한 데이터를 Database로 부터 받아온다. 2. 새로고침 혹은..
[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] 단일 상속과 Mixin
·
Flutter/Basic Knowledge
이번 포스팅은 아래의 실습 코드를 가지고 내용을 작성해본다. 단일 상속 현재 위의 코드에서 Animal과 Dog, Cat은 단일 상속 관계이며, Dart 언어에서 다중 상속은 지원하지 않는다. 때문에 다중 상속이 필요한 경우, 즉 코드 재사용을 원하는 경우에는 Mixin이라는 개념을 통해 다중 상속을 구현하도록 한다. Mixin 상속의 경우 extends라는 키워드를 사용하고, Mixin의 경우 with이라는 키워드를 사용한다. 위의 fish와 duck 클래스를 보자. fish는 swimmer를 Mixin 하였다. duck은 Animal Class를 단일 상속받으며 swimmer를 Mixin 하였다. 나는 여기까지 실습해보면서, 그럼 도대체 단일 상속하고 Mixin의 차이점이 뭐지? 라는 생각이 들었다...
[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. 사용..