일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 에러
- microtask queue
- 초기화
- 자료구조
- zwj
- IOS
- Android
- 거리알고리즘
- 플러터
- 완전탐색
- Java
- Lazy
- 앱아이콘 변경
- 싱글톤
- flutter
- 코틀린
- element tree
- Render object tree
- 자바
- Singleton
- 플러터 동작
- 알고리즘
- dfs
- 비동기 처리
- Event Loop
- 재귀
- Kotlin
- dart
- 프로그래머스
- linebreak
- Today
- Total
목록dart (4)
모바일 개발하는 자바리안의 메모장
Dart는 싱글 스레드 언어이며, 일반적인 의미의 스레드 개념이 없으며, 대체로 Isolate를 사용하여 병렬 작업을 수행할 수 있다. 하지만, Isolate는 별도의 메모리 공간을 갖고 독립적으로 실행되기 때문에 일반적인 스레드처럼 메모리를 공유하지 않는다. 대신, 메시지(Message Passing)를 통해 데이터를 주고받을 수 있다. 각 Isolate는자체적인 실행 환경에서 독립적인 Event Loop을 할당받게 된다.즉, 별도의 Isolate을 생성하게되면 메인 Isolate와 분리된 별도의 Event Loop을 할당 받아 독립적으로 동작하게 된다. Dart의 Event Loop은 Microtask Queue와 Event Queue, 2개의 tassk queue를 포함하고 있으며 각 queue에 ..
Drawer를 child로 갖고있는 Container의 모퉁이를 둥글게 바꾸는 게 아주 간단할 줄 알았으나, Decoration으로 어떤 위젯을 감싸도 모퉁이가 둥글게되지 않아 찾아본 결과,,, Decoration은 child 위젯의 뒤에 그려진다는 것을 알게되었다. 결국 Container에 borderRadius가 잘 반영이 되었다 해도 child 뒤에 그려져 보이지 않았던 것이다.. 이에 대한 해결책은 바로 ClipRRect이다. 공식 문서에서의 해당 위젯에 대한 설명은 다음과 같다 : A widget that clips its child using a rounded rectangle. [Link] 해당 위젯으로 감싸면 끝이 둥근 형태의 컨테이너가 틀이되고 자식 위젯이 그 틀 안에서 출력되는 것이다...
스프레드 연산자는 컬렉션 내 데이터들 나열된 상태를 명시해주는 연산자로, 컬렉션에 다른 컬렉션 데이터를 삽입할 때 사용됩니다.. 아래 예제 코드를 보면 : List dynamicList = [1, 2, "삼", 4]; List finalDynamicList = [0, ..dynamicList, 5]; // Print : "0, 1, 2, "삼", 4, 5" List finalIntList = [0, ..dynamicList, 5]; // Error 아아주 간단하다. 앞서 설명한 바와 같이, dynamicList 앞에 ... 연산자를 명시하여 0과 5 사이에 해당 컬렉션의 데이터를 삽입하겠다는 의미이다. 하지만 type은 신경써줘야 한다, dynamicList와 동일한 데이터 타입으로 선언된 finalDy..
함수 정의 시 매개변수 선언 시, 매개 변수를 선택형으로 설정해줄 수 있다. 이를 선택 매개변수라 부르며, 선택 매개변수를 넘겨줄 때에는 앞에 매개변수명을 명시해야하기 때문에, 이름 있는 매개변수(Named Parameter)라고 불리기도 한다. 선택형 매개변수는 간단하게 curly bracket({})으로 감싸주어 선언할 수 있다. 다음 예제 코드를 보자 : void testFunc(String required, {int named}) { // Codes } void main() { testFunc("String", named:0); testFunc("String"); testFunc(named:0); // Error } testFunc의 매개 변수 2개가 선언되었고, 그 중 named라는 int 타입..