본문 바로가기

분류 전체보기28

[spring] Check your ViewResolver setup / viewResolver viewResolver 에러 viewResolver은 디스페처서블릿이 클라이언트에게 요청받으면 핸들러맵핑, 핸들러어댑터, 컨트롤러, 뷰리졸브가 있는 스프링 빈이 생성되는데 그 속에 포함된 애이다. 퓨리졸브는 @컨트롤러 메서드에서 리턴한 뷰를 찾아 주는 역할을 한다. 그래서 리턴 객체를 잘 입력해 주어야한다. would dispatch back to the current handler URL [/hello] again 현재 처리기 URL [/hello]로 다시 디스패치합니다. Check your ViewResolver setup! ViewResolver에러로 500에러가 생긴다. 서버의 구문이 잘못되었다는 소리인데... 경로를 잘 써주었는데 잘 못 쓴게 없는데 왜그럴까... @GetMapping 값이 뷰와.. 2023. 11. 15.
비동기 프로그래밍 동기 : 모든 코드가 순차적으로 진행되는 형태 비동기 : 코드가 동시 다발적으로 실행되서, 순차적으로 보장을 할 수 없는 형태 Futere 클래스 / async, await 키워드 : 1회만 응답을 돌려받는 경우 Stream 클래스/ async*, yield 키워드 : 지속적으로 응답을 돌려받는 경우 void main () { Future todo (int second) async{ await Future.delayed(Duration(seconds: second)); print('TODO Done in $second seconds '); } todo(3); todo(1); todo(5); } 위의 사진처럼 비동기 방식은 함수가 동시 다발적으로 실행되기 때문에 순서를 보장할 수 없다. 현재 Future... 2023. 11. 6.
[dart] 가위 바위 보 import 'dart:convert'; import 'dart:io'; import 'dart:math'; void main() { /// 1. 유저에게 어떤 타입을 낼 것인지 물어보는 질의 칭 print('가위, 바위, 보 중 하나를 정해서 입력해 주세요'); final String userInput = stdin.readLineSync(encoding: utf8) ?? 'Error'; //잘 안쓰는 함수 : 콘솔창에서 데이터 받기 /// 2. 컴퓨터가 낼 타입이 어떤 것인지 결정하는 함수 const selectList = ['가위', '바위', '보']; final cpuInput = selectList[Random().nextInt(3)]; print(cpuInput); /// 3. 유저의 타입과.. 2023. 11. 6.
flutter )) tree 삼종세트 Widget Tree 화면을 만들기위해 작성한 위젯을 트리 형식만든다. widget tree는 Element Tree와 1:1로 연결되어 있다. 위젯은 immutable(변하지 않으려는)한 특성을 가지고 있다. Element Tree 변하지 않으려는 위젯 트리 대신에 상태를 관리하고 RenderObject Tree의 라이프 사이클을 관리하는 트리이다. 아래의 사진처럼 위젯 트리와 엘리먼트 트리는 1:1로 연결되었다. 또한 Stateful 위젯은 Element Tree 에 상태가 추가된다. 이때, 재설정이 필요하면 해당 부분만 re-build되기 때문에 리소스 낭비가 아니다. 반대로 stateless 위젯은 상태가 없다. RenderObject Tree RenderObject tree는 Element Tr.. 2023. 11. 3.