•
메시지를 콜하는 것은 메인스레드의 일, RestTemplates로 http 요청
•
비동기 방식은 멍때리는 시간이 아예 없다.
•
스레드의 장점은 리턴을 받을 수 있으니까 콜백 같은게 필요가 없다. ????
•
IO방식은 비동기 방식이 훨씬 유리하고, 게임이나 이런 같이 동시에 그림을 그리는 것들은 비동기 방식으로 구현이 어렵다. (비동기는 한 작업이 끝나야 작업을 할 수 있으므로)
•
블락을 당하는 것은 멍때린다는 것, nonBlockIO 방식으로 설계된 서버는 비동기 방식의 서버이다. (단일 스레드 사용)
◦
Que에 담아서 순차적으로 작업을 처리한다.
◦
노드JS - 자바스크립트로 작성된 걸 실행시켜주는 환경
▪
노드 JS를 사용하는 이유는 단일 스레드 기반이라 속도가 빠르다.
▪
스프링 기반에서 단일 스레드를 위한 제티를 쓸수 있게 옵션을 추가했다.
•
그걸 사용하기 위한 응용 프로그램이 웹 플러스 이다.
•
HTTP프로토콜,
의존성 추가
dio: ^5.4.3+1
flutter_riverpod: ^2.3.6
Java
복사
콜백 함수 공부 예제
자바, 스프링, 소켓통신, 템플릿엔진, 디비쿼리, 운영체제, 네트워크, 자료구조, 알고리즘
Java
복사
Dio의 리턴 타입
Future<Response<T>> 타입으로 리턴
통신해서 컬렉션을 받으면 List, 단일값은 Map
하지만 ApiUtil로 무조건 받을 거기 때문에 받은 값은 Map이다.
response에 final을 붙이면 굳이 Response<Map<String, dynamic>> 을 사용하지 않아도 된다 .
Future로 리턴이 되어야지 await를 걸 수 있다.
메인에서 await가 걸려있다면 기다리는 그 객체를 Futurue<void> 로 받아야 된다.
Dio는 맵을 리턴한다.
view는 view model에 의존한다.
파싱의 책임은 레파지토리로 정한다.
레파지토리에서 파싱의 책임을 주기 위해서, 리턴을 Post로 적음.