본문 바로가기

# 02

[Flutter] 깊은 복사 보호되어 있는 글입니다.
[Java] 자바 메모리 구조 Method Area (Static Area), Stack, Heap Method Area (Static Area) JVM이 구동될 때 생성되며 모든 스레드가 공유하는 영역. JVM 구동 중 사용될 클래스 파일을 읽고 클래스 별로 runtime constant pool(런타임 상수 풀), file data(필드 데이터), method data(메서드 데이터), constructor(생성자) 등을 저장 1. 필드 정보 : 멤버변수 이름, 데이터 타입, 접근 제어자 등의 정보2. 메서드 정보 : 메서드 이름, 리턴타입, 매개변수, 접근제어자 등의 정보3. 상수 풀(String Constant Pool)- Type에서 사용된 상수를 저장하는 곳(중복이 있을 시 기존의 상수 사용)- 문자 상수, 타입, 필드, ..
[Android] 구글 플레이 콘솔 관리형 게시 (구 예약 게시) 구글 플레이 콘솔이 새롭게 리뉴얼 되면서 예약 게시 설정이 바꼈다!! 예약 게시란? 앱을 앱스토어에 올릴 때 구글 심사가 끝나고 바로 올리는 게 아니라구글 심사가 끝나고 내가 원하는 시간대에 게시를 눌러 올릴 수 있음!!! 예약 게시가 관리형 게시로 이름이 바뀐듯... 설정 방법은?왼쪽 게시 개요 메뉴 클릭! 가운데 왼쪽 관리 버튼을 누르면 이런 창이 뜨고 첫번째 관리형 게시가 사용 설정됨 을 클릭해주고 저장 누르면 됨!! 그리고 앱 심사가 끝나면 변경사항이 게시 준비됨 밑에 심사 완료된 버전이 생성되고 검토 및 게시 버튼이 활성화 되면서 클릭 해주면 끝!
[Flutter] GestureDetector behavior /// How this gesture detector should behave during hit testing.////// This defaults to [HitTestBehavior.deferToChild] if [child] is not null and/// [HitTestBehavior.translucent] if child is null. child 가 null 이 아닌 경우 기본 값은 [HitTestBehavior.deferToChild] child 가 null 인 경우 기본 값은 [HitTestBehavior.translucent] /// How to behave during hit tests. enum HitTestBehavior { /// Targets that defer to their..
[Flutter] InheritedWidget InheritedWidget class 직관적으로 표현하고자 하는 UI component 들은 계층을 이루고 있으며, 어떤 UI를 언제 다시 그려야하는지 결정하는 메커니즘을 가지고 하나의 화면을 그려준다. widget에서 필요한 데이터를 전달해주는 가장 간단한 방식은 부모에서 자식으로 직접 전달해주는 것이다. 그러나 애플리케이션의 UI component와 비즈니스 로직이 추가되면서 점점 복잡해짐에 따라 필연적으로 특정 데이터를 필요로 하는 widget의 개수도 하나가 아니라 여러 개로 늘어날 것이다.이렇게 되면 부모에서 자식으로 직접 데이터를 전달해주는 방식은 비효율적이다. 다행히도 flutter는 특별한 widget을 이용해서 특정 데이터를 계층상 아래에 있는 모든 widget에서 효율적으로 가져갈 수..
[Flutter] StatelessWidget 에서 시작 시 함수를 호출하는 방법 class Example extends StatefulWidget { Example ({Key key}) : super (key : key); _ExampleState createState () => _ExampleState (); } class _ExampleState extends State { @override void initState () { _getThingsOnStartup (). then ((value) { print ( 'Async done'); }); super.initState (); } @override Widget build (BuildContext context) { return Container (); } Future _getThingsOnStartup () async { aw..
[Flutter] final & const final & const 공통점 한 번 설정한 값을 변경할 수 없다. 다른 값으로 변경하려고 시도하면 컴파일 오류가 발생한다. final & const 차이점 const의 경우, 컴파일 타임에서 상수를 정의할 수 있다. 즉, const로 정의한 상수는 런타임에서 정의되는 값을 설정할 수 없다는 의미다. 예를 들어, DateTime.now()의 경우 런타임에서 호출 될 때마다 결과 값이 다른데 이러한 값은 const로 설정할 수 없다. 결국 const로 설정 하는 값은 대부분 리터럴이 될 것이다. 반면, final은 런타임에서 결정되는 값도 설정할 수 있다. 그렇다고 모든 인스턴스화 과정에서 const 를 사용할 수 없는 것은 아니다. const Color(int value) Color 클래스의 생성자는 ..
[Flutter] StatelessWidget & StatefulWidget 1. StatelessWidget 변화가 필요없는 화면을 구성할 때 사용하는 위젯 클래스이며, 그렇기 때문에 build 메서드는 한 번만 호출된다.클래스가 자체적으로 다시 빌드되지 않고 자식이 변경 불가능한 경우 자식의 상태를 변경할 수 없다. 변수 쓸 때 final 써줘야됨. 안그럼 에러는 아니고 경고 뜸.// ignore: must_be_immutable이거 해줘야됨.final 써주고 생성자에 꼭 넣어줘야됨. 안그럼 컴파일 에러뜸 StatelessWidget은 상태를 갖지 않기 때문에 상태 변화를 감지하는 용도의 위젯이 아님. 따라서 변수를 초기화하고 수정하지 않도록 final 써주는 것을 권고함. 2. StatefulWidget 클래스가 자체적으로 다시 빌드 되고 자식의 상태를 변경할 수 있으며 상..