본문 바로가기

4. BuildContext 및 상속 BuildContext widget tree에서 현재 widget의 위치를 알 수 있는 정보. Flutter에서 모든 위젯은 build 함수를 가지며, 계층 구조를 이룬다. Widget build(BuildContext context) return Scaffold 해당 build 함수는, Widget 타입을 지닌 BuildContext 타입을 받아 Scaffold 라는 위젯을 리턴한다는 의미이다. 즉 build 함수는 Scaffold 위젯을 리턴을 하되, context를 포함하여 리턴한다. BuildContext는 stateless 위젯, state 빌드 함수에 의해 리턴 된 위젯의 부모가 된다. class StartPage extends StatelessWidget{ Widget build(BuildC..
3. 위젯의 종류 Container 빈 위젯, 다양한 속성을 가질 수 있는 위젯으로 직사각형의 가상 요소를 만든다. BoxDecoration으로 테두리, 배경색, 그림자등을 꾸밀 수 있으며 Margin, Padding, Constraint 속성으로 조정할 수 있다. Row, Column 콘텐츠의 수평, 수직 배치를 할 수 있게 하며 대부분의 레이아웃이 이와 조합하여 사용된다. Children 속성에 여러 위젯을 사용할 수 있다. mainAxisSize : (max,min) mainAxis의 사이즈 mainAxisAlignment : (center, start, end) 가로형 정렬 crossAxisAlignment : (center, start, end) 세로형 정렬 Stack Flutter는 요소 배치를 위해 배치형 위..
2. Flutter 기본 코드 분석, 구조의 이해 Flutter의 기본 이해를 하고자 오른쪽과 같이 작성된 앱의 구조를 분석해보고자 한다. // ignore_for_file: prefer_const_constructors // ignore_for_file: prefer_const_literals_to_create_immutables import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { const MyApp ({ Key? key }) : super(key: key); @override Widget build(BuildContext context) { return const MaterialApp( debugShowC..
1. Flutter의 이해, [Flutter 개요] 플러터는 구글이 만든언어로 다트의 프레임워크이다. 또한 크로스플랫폼 GUI SDK이며 리액트 네이티브 처럼 인터페이스를 따로 나눌 필요 없이 하나만 렌더링이 가능한 장점이 있다. 플러터는 리액트처럼 리액티브,선언형,조합할 수 있는 뷰계층 라이브러리이다. 즉 위젯이라는 작은 컴포넌트를 조합해 모바일UI를 만든다. 플러터의 대부분은 위젯이며 위젯은 뷰를 묘사하는 다트 클래스다. 구조,스타일,애니메이션 그리고 그 밖에 UI를 구성하는 모든 것이 위젯이다. 위젯이란 UI를 구성하는 모든 기분 단위요소 눈에 보이지 않는 요소(padding, center 등) 네이티브 안드로이드 에서는 뷰를 정의할때 내부 속성값으로 margin이나 padding 등을 정의해서 뷰의 크기나 위치등을 지정하는데..
Flutter Doctor - cmdline-tools compoent is missing flutter doctor --android-licenses 에서, cmdline-tools 을 찾지 못했을 경우 발생하는 오류로, Android Studio는 Default로 cmdline-tools를 제공하지 않기 때문에, 수동 설치를 하여야 한다. 안드로이드 스튜디오 SDK Manager에서 'Android SDK Command-line Tools'를 찾아 설치한다.
Lint 경고 무시하기 Flutter 프로젝트를 진행하다보면, 아래와 같이 경고문구를 띄우는데, Lint는 Flutter에서 사용자가 코드를 작성할때 빼먹는 실수나, 코드 스타일등을 지적하는 역할을 한다. (룰셋) 이는 해당 파일의 헤더나 경고가 발생하는 위젯에 // ignore_for_file : 경고명 을 작성하는 것으로 무시할 수 있다.
Sandisk Dual Drive Luxe USB 후기 기존 쓰던 노트북을 리눅스 랩탑으로 돌리면서 자료를 백업해야 하기 때문에 구매했다. 물론 NVMe 가이드 + NVMe SSD 를 사용하는 방법도 있지만, 가이드는 추가로 썬더볼트단자 혹은 케이블을 요구하여 번거롭기 때문에 그냥 USB를 구매하였다. 모델 명 뒤에 SDDDC4 가 신경쓰이는데 검색해봐도 관련정보가 안나오는데 SanDisk Dual Drive, C4는 버전을 나타내는 ( Cell 4래서 QLC 인줄 알았다 ) TLC 낸드 USB이다 특이한 점이라고 하면 USB 3.1을 지원하면서 C타입, A타입을 같이 가지고 있다는 것인데 확인차 안드로이드에 연결하니 정상적으로 연결되는게 확인됐다 그리고 대망의 속도 측정, 그냥 1기가에 5회 완주 질렀다가는 낸드 수명이 박살나버리므로 ( 안그래도 QLC 같..
JS 상에서 server 혹은 router로 부터 받아온 데이터를 넘기기 라우트, server 를 통해 응답.send, render, json을 통해 ejs파일로 넘겨 EJS 파일의 표현식에서 기존 HTML 문법에 표현식 를 사용하여, 변수를 받아올 수 있다. 하지만 자바스크립트에서 이 변수를 활용하려면 Log를 사용하거나, 자바 스크립트 문단 전체를 표현식에 감싸야 하는데 간단히 변수를 받을 수 있는 다음과 같은 방법이 있다. input 태그의 hidden 속성은 사용자에게 보여지지 않는 데이터를 정의할 때 유용하다. 중요하지 않은 넘길 데이터를 input 태그를 활용하여 받아와 jquery, javascript 등의 선택자로 받아와 사용할 수 있다. 단, 사용자 View 상에서 보이지 않을 뿐, 여전히 소스상에서는 확인할 수 있기 때문에 중요한 정보를 전송하는 방법의 쓰임..