공부 좀 해야지 라는 생각에 하루에 10분이라도 보면서 기록하고 있었다.
오늘이 벌써 1주일이 되는 날이다.
조금씩 봐서 아직 Language Tour 도 못 끝내기는 했지만 많은 부분을 본 것 같다.
Isolates
https://dart.dev/guides/language/language-tour#isolates
대부분의 모바일, 컴퓨터는 멀티 코어 CPU이다.
멀티 코어의 장점을 활용하기 위해 개발자들은 전통적으로 동시적으로 실행되는 공유 메모리 스레드를 사용한다.
그러나 공유 상태 동시성은 에러가 발생하기 쉽고 코드가 복잡해진다.
Dart 는 스레드 대신 isolates 안에서 코드를 실행한다.
개별 isolate 는 전용 메모리 힙을 가지고 있다. 다른 isolate로부터 isolate 상태 접근을 할 수 없도록 한다.
isolate 는 생소한 개념이다. 일단 스레드는 아닌 것 같지만 비동기 처리를 하는 동작은 맞는 것 같다.
이건 나중에 더 알아봐야겠다.
Typedefs
https://dart.dev/guides/language/language-tour#typedefs
Dart 에서 문자열, 숫자가 객체인 것과 같이 함수도 객체이다.
typedef/function-type ailas 는 함수 타입에 이름을 지정할 수 있다.
typedef 는 함수 타입이 변수에 대입될 때도 정보가 유지된다.
typedef 를 사용하지 않고 변수로 대입하는 경우 함수 인터페이스에 대한 정보를 잃게 된다. 그래서 저장도니 변수가 어떤 타입인지 정확히 알 수 없다. typedef 를 사용하면 그 정보가 그대로 유지되므로 하나의 타입과 같이 사용할 수 있다.
Metadata
https://dart.dev/guides/language/language-tour#metadata
코드에 관한 추가적인 정보를 주기 위해 metadata 를 이용한다.
metadata 어노테이션은 @ 문자로 시작한다.
두 어노테이션이 있다. @deprecated, @override
어노테이션을 직접 만들 수 있다.
reflection 을 사용하여 런타임에서 metadata 를 읽을 수 있다.
Comments
1일 차에 미리 확인했다.
2020/07/20 - [Programming/Dart] - Dart 1일 차 - Language Tour
어라... 끝났다?!
'Programming > Dart & Flutter' 카테고리의 다른 글
Flutter 2일 차 - Flutter for iOS devs (2/8), Views (0) | 2020.07.27 |
---|---|
Flutter 1일 차 - Flutter for iOS devs (1/8), Views (0) | 2020.07.26 |
Dart 6일 차 - Language Tour (6/7) (0) | 2020.07.25 |
Dart 5일 차 - Language Tour (5/7) (0) | 2020.07.25 |
Dart 4일 차 - Language Tour (4/7) (0) | 2020.07.24 |