내일배움캠프 8일차_250924
<오늘 하루 일정>
오전
9:00~10:00 인사이트클럽 (https://eopla.net/magazines/20727#)
10:00~13:00 Dart 프로그래밍 강의
13:00~14:00 점심시간
오후
14:00~15:30 박성훈 튜터님 창업 강의 세션
15:30~18:00 Dart 프로그래밍 강의
18:00~19:00 저녁시간
19:00~21:00 팀 네트워킹
1. 오늘의 학습 키워드
*Dart 프로그래밍 강의 (2-1~2-3)
메서드체이닝
순수함수
항변환함수(toString/int.parse/toList, toSet, asMap)
고차함수 (map/ where/ fold, reduce)
2. 오늘 학습한 내용을 나만의 언어로 정리하기
1) 메서드체이닝 : .을 사용해서 여러개의 함수를 하나로 연결
(예시)
int number = -12345
var result = number.abs().toString().contains('3');
print(result); // true
2) 순수함수 : 같은 입력값에 대해서 출력값이 항상 같은 함수
(예시)
int add(int a, int b) {
return a + b;
}
3) 항변환함수 : 특정 데이터를 다른 타입으로 변경 (runtimeType : 어떤 타입인지를 반환해줌)
- toString( ) : 숫자는 ' ' 따옴표가 들어간 상태로 반환
- int.parse(' ') : String 타입의 값을 int로 변환. int로 바꿔줄 문자열을 매개변수에 전달.
- double.parse(' ') : String 타입의 값을 double로 변환. double로 바꿔줄 문자열을 매개변수에 전달.
- toList( ) : 특정 collection 타입의 값을 List타입으로 변환, Map에는 적용안됨.
- toSet( ) : 특정 collecition 타입의 값을 Set타입으로 변환, 중복값은 제외하고 변환, Map에는 적용안됨.
- asMap( ) : 특정 collection 타입의 값을 Map타입으로 변환, List타입은 index가 Map의 key로 변환됨
4) 고차함수
- map( ) : collection 타입 데이터 각각의 요소에 측정함수 적용. 새로운 컬렉션 타입 반환
- where( ) : 필터링 / firstWhere : 참인 요소중 첫번째 요소 반환, lastWhere : 마지막 요소 반환
- reduce( ), fold( ): 누적개념
(예시)
List<String> words = ['다트는 ', '참 ', '재미있군 ?'];
int result = words.reduce((a, b) {
print('a : $a');
print('b : $b');
print('a + b : ${a + b}');
print('----------------------');
return a + b;
});
print('result : $result');
/*
a : 다트는
b : 참
a + b : 다트는 참
----------------------
a : 다트는 참
b : 재미있군 ?
a + b : 다트는 참 재미있군 ?
----------------------
result : 다트는 참 재미있군 ?
*/
(예시) fold는 초기값 있음
List<int> numbers = [1, 2, 3, 4, 5];
var result = numbers.fold('', (a, b) => '$a' + '$b');
print(result); // 12345
print(result.runtimeType); // String
- any( ) : 하나라도 주어진 조건을 만족하면 true 반환
- every( ) : 모든 요소가 주어진 조건을 만족해야 true 반환
- takewhile( ) : 데이터 각 요소를 주어진 조건에 넣어서 참이 되는 동안은 해당 요소를 반환, 거짓이 나오는 순간부터의 요소는 무시
- skipwhile( ): takewhile과 반대로 거짓이 되는 순간부터의 요소를 모두 반환
3. 학습하며 겪었던 문제점 & 에러 - 문제&에러에 대한 정의 : - 내가 한 시도 :
- 해결 방법 : - 새롭게 알게 된 점 :
- 이 문제&에러를 다시 만나게 되었다면? :
4. 내일 학습 할 것은 무엇인지
- 인사이트클럽 (9~10시)
- 아이디어발산 피그마기록하기
- Dart 프로그래밍 강의 (2-4~2-6)
- 개발튜터님 QnA
- 네트워킹 (19~21시)
댓글
댓글 쓰기