How to become a real programmer/Front-End(5)
-
Flutter - Widget / Stateless, Stateful Widget lifecycle
플러터는 플러터나 혹은 여러 라이브러리로 제공되는 위젯들의 결합을 통해서 쉬운 프로그래밍을 지원한다. 그런데 플러터에서 사용하는 위젯은 불변한다는 원칙을 가지고 있다. 즉 위젯은 변하지 생성과 동시에 해당 상태를 변화시키지 않는다는 것이다. 하지만 코드를 수정하다보면 위젯을 변경시킬 때가 많은데, 불변의 법칙이 어겨진 것일까? 그렇지 않다. 프로그래머들은 코드 작성 시 코드를 변경한다고 생각하지만 실제로 플러터는 해당 위젯을 완전히 삭제하고 새로운 위젯을 새로 만드는 과정을 통해서 변경사항을 나타낸다. 예를 들면 아래에서 appBar 위젯을 통해서 Webview 라이브러리를 사용해 표현한 화면 상단에 ProCopier이라는 이름의 바를 하나 생성해놓고 색상을 회색에 가까운 색으로 설정한 것을 볼 수 있다..
2023.01.04 -
Flutter - Dart기초(4) - Asynchronous Programming
동기 프로그래밍 Synchronous Programming? / 비동기 프로그래밍 Asynchronous Programming? 동기 프로그래밍은 즉, 하나의 프로세스를 수행하다가 다른 프로세스의 요청이 들어가게 되면 CPU의 작동이 멈추고 해당 요청을 받는 프로세스로 이동하게 된다. 즉 CPU가 가지고 있던 프로세스와 받는 프로세스 간 동기화가 되어있는 것이다. 뭐 현재는 컴퓨터 속도가 빨라졌기 때문에 느리다는 체감을 받기는 힘들지만, 만약 서버요청과 같은 네트워크 상 어쩔 수 없이 시간이 걸리는 경우에는 빠른 컴퓨터 속도와는 다르게 시간이 오래걸려 사용자 경험이 크게 저해될 수 있다. 이를 방지하기 위해 비동기 프로그래밍은 어떠한 요청을 전달하면 바로 CPU를 보내는 것이 아닌 해당 요청에 대한 re..
2022.12.30 -
Flutter - Dart 기초(3)[Functional Programming]
함수형 프로그래밍 Functional Programming? 일련의 코딩 접근 방식으로서, 자료처리를 수학적 함수의 계산으로 취급하고 상태와 가변데이터를 멀리하는 프로그래밍 패러다임을 뜻한다 나도 솔직히 뭔 소린진 와닿진 않는다, 좀 객체지향 프로래밍과 대조적인 특징인데 다트는 객체지향 프로그래밍과 함수형 프로그래밍의 특징 모두 다 제공한다. 즉, 여러 함수들을 통해서 프로그래밍 할 수 있다는 것 1. List, Map, Set 자료형 변환 void main(){ List newJeans = ['해린', '민지', '하니', '다니엘', "혜인", '해린']; print(newJeans); print(newJeans.asMap()); // 리스트를 맵으로 변환 print(newJeans.toSet());..
2022.12.29 -
Flutter - Dart 기초(2)[Object Oriented Programming]
객체지향 프로그래밍(Object Oriented Programming, OOP)? 기존의 절차지향 프로그래밍과 다르게, 프로그램 구현에 있어 필요한 객체 각각의 집합으로 상호작용을 통해서 프로그램을 만드는 방식 플러터는 객체지향 프로그래밍 언어이다, 한 클래스와 해당 클래스로부터 파생된 개별 인스턴스가 있으며 내부에 여러 함수, 변수들로 구성된다. void main(){ Idol newJeans = new Idol(); print(newJeans.name); print(newJeans.members); newJeans.sayhello(); newJeans.introduce(); } // Idol class // name(이름) - 변수 // members(멤버들) - 변수 // sayHello (인사) ..
2022.12.28 -
Flutter - Dart 기초(1)
Flutter 문법 정리 1. 자료형 dynamic과 var의 차이 : dynamic은 선언과 동시에 fixed되지 않기에 String값으로 선언하더라도 이후 int, double, boolean 등의 다른 자료형으로 값을 넣을 수 있지만 var은 어떤 자료형이든 일단 넣고 나면 선언과 동시에 fixed 되기에 이후 동일 자료형의 다른 값은 넣을 수 있지만 다른 자료형 값은 넣지 못한다. 2. 변수.runtimeType : 변수 자료형 리턴 3. nullable과 non-nullable : null이 들어갈 수 있는 자료형과 들어가지 못하는 자료형이 구별된다는 것, 만약 String? name = '뉴진스'; 하면 name은 nullable, 만약 print(name!);? --> name이 절대 nul..
2022.12.28