내일배움캠프 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시)

댓글

이 블로그의 인기 게시물

내배캠15일차_map() reduce() fold()

내배캠16일차_Flutter_스토어 앱 만들기

내배캠 [3주차 WIL]