내배캠 33일차_Flutter 실무숙련 (Core특강)
1. Flutter 실무 숙련
CORE반 특강 복습 <JSON>
1)JSON 데이터를 디코드(jsonDecode)하기 위해 dart:convert 라이브러리를 불러온다.
2) JSON 형식의 문자열을 만든다. """ 는 여러줄 문자열을 표현할 때 사용하는 문법이다.
JSON은 List 형태이며, 내부에는 Map이 들어있음
[참고]
Parsing : 문자열을 분석해 의미있는 데이터 구조로 바꾸는 전체과정 (역직렬화 포함 가능)
Mapping: 보통 JSON의 key-value -> 클래스의 필드에 대응시키는 작업
직렬화 : 객체 -> JSON 문자열 / 역직렬화 : JSON -> 객체
3) jsonDecode()로 문자열을 실제 Dart객체로 변환
parsed는 List<dynamic>타입
print(parsed) 결과
[{name: 홍길동, color: 파란색, size: L, type: 반팔, quantity: 2}, {name: 이길동, color: 블랙, size: S, type: 긴팔, quantity: 1}]
print 결과
홍길동님이 파란색 L사이즈 반팔을 2개 구매하셨습니다.
이길동님이 블랙 S사이즈 긴팔을 1개 구매하셨습니다.
CORE반 특강 복습 <API>
API는 두 소프트웨어 구성요소가 서로 통신할 수 있게 하는 메커니즘이다.
서버에서 클라이언트(우리기준으로 앱)에서 사용하라고 만들어 놓은 일종의 데이터 인터페이스이다.
서버에서 특정 주소(Url)를 제공하고, 우리가 앱에서 이걸 호출하면 데이터를 받을 수 있는 형태이다.
HTTP
HTTP 통신은 두 가지 큰 개념이 있다.
Request (요청) : 인터넷 브라우저 주소창에 주소를 입력하는 행위도 해당됨.
Response (응답) : 요청에 따른 응답이 들어옴.
요청 방식에는 몇 가지 메서드가 존재하는데, 제일 중요한 2가지. get과 post
get: 주소창에 입력하는 방식
post: 값을 전달할 때 바디를 만들어서 보이지 않게 전달. 전송데이터가 외부에 드러나지 않아 보안에 유리
https://pub.dev/packages/http/install
http 패키지 사용하기 위해 pubspec.yaml에 패키지를 추가
dependencies:
http: ^1.5.0
Response(응답)을 받고나서, 우리가 첫 번째로 확인할 것은 상태 코드이다.
중요! Response는 항상 상태코드를 전달해준다.
Response status: 200 (200번대 요청 성공 / 400번대 클라이언트 오류 / 500번대 서버오류)
*실습해보기- 서울시 공동육아나눔터 시설 현황데이터 활용
링크:
https://data.seoul.go.kr/dataList/OA-20968/S/1/datasetView.do
http://openapi.seoul.go.kr:8088/727646464f63686f31323962416c6b57/json/TnFcltySttusInfo1004/1/20/
데이터가 여러번 감싸져있는 형태, 리스트, 맵, 리스트, 맵 - 토글형태처럼 이루어져 있음.
Map에서 필요한 데이터를 꺼낼 때는 ['key'] 값으로 꺼냄.
List에서 필요한 데이터를 꺼낼 때는 for 문을 활용해서 꺼냄
2. 인사이트 클럽
테슬라와 스페이스X CEO 일론 머스크처럼 시간 관리하기, 타임박싱 | 일하는 우리 |
오늘의 주제는 '시간관리'였다.
시간관리는 일의 효율을 내기 위해 중요하다.
인사이트클럽을 통해 다른 분들의 의견을 들어보고 내가 적용해보고 싶은 것은
하루에 무조건 꼭 해야할 일 1~3가지는 정해놓고 꼭 마무리 할 것
쉬는시간도 함께 정해놓고 진행할 것
개인적으로는 전환비용이 많이 드는 편이어서
이걸 줄이는 것도 시간효율을 내는 것에 도움이 될 것 같다.
의식하고 있으면 그래도 관리를 할 수 있지만,
점점 에너지와 집중력이 낮아질 수록 전환비용이 더 증가하는 것 같다.
시간관리를 잘 하기 위해서는 기본적으로 컨디션 관리가 잘 되어야 할 것 같다.
댓글
댓글 쓰기