FrontEnd 4

동기/비동기 & 블로킹/논블로킹

동기와 비동기, 블로킹과 논블로킹은 프로그램의 실행 흐름과 리소스 관리에 중요한 역할을 한다.    동기(Synchronous)와 비동기(Asynchronous)   동기(Synchronous)와 비동기(Asynchronous)에 대해 이해하기 쉬운 이미지를 가져와봤다. 동기는 순차적으로 실행하며 작업이 완료할 때까지 대기해야 한다.비동기는 병렬적으로 실행하며 다른 작업의 완료를 대기하지 않아도 된다. 하지만 결과의 순서를 예측하기 어렵다.그래서 끝났을 때의 결과 이벤트 처리를 위해 콜백 함수나 promise 등을 준비해놓는다.  둘을 비교한 표를 보면 둘의 특징이 명확하다. 특성 동기 (Synchronous) 비동기 (Asynchronous) 작업 처리 방식순차적, 한 번에 하나의 작업병렬적, 여러..

FrontEnd/JavaScript 2024.07.18

내가 보려고 만든 Dart 언어 공부

코드가 끝나면 ;(세미콜론) 하기 var는 값을 업데이트 할 수 있지만 같은 타입이어야 한다.int, String 등 타입을 지정해줄 수도 있다.var 쓰이는 경우 : 함수나 메소드 내부에 지역변수를 선언할 때int, String 쓰이는 경우 : class에서 변수나 property를 선언할 때 Dynamicdynamic는 어떤 타입이든지 들어갈 수 있는 타입을 말한다.dynamic이 필요한 경우 : JSON형태로 값을 받아 어떤 타입이 들어갈 지 모르는 상황. dart가 어떤 타입인지 확인하도록 하면 Error를 줄일 수 있다.void main() { dynamic name; if(name is String) { name.StringMethod } if(name is int) { na..

FrontEnd/Flutter 2024.05.31

Equatable

Equal 기능을 사용하게 해주는 Equatable 라이브러리에 대해서 알아보도록 하자.Library를 dependencies에 추가해주자.pubspec.yamldependencies: equatable: ^2.0.5Equatable 라이브러리를 상속 받아 CarEquatable이라는 객체를 생성해 주었다.Equatable을 상속받게 되면 아래 props를 재정의 할 수 있게 해주는데, 해당 부분은 우선 빈 배열로 두고 사용해 보자.class CarEquatable extends Equatable { final String title; final String type; final int price; const CarEquatable(this.title, this.type, this.price); ..

FrontEnd/Flutter 2024.05.05