728x90
회원 가입 패이지 개발
- 추가로 아이폰 SE모델 하다 12 프로맥스를 하니 확인 위젯이 끝까지 안들어가는 것을 확인했다. 수정을 해봐야 할 것 같다.
- CupertinoPageScaffold : IOS design을 바탕으로 만들어진 Scaffold
- Scaffold :
Scaffold(
appBar: AppBar(), // 상단에 들어갈 위젯
body: Container(), // 중간에 들어갈 위젯
bottomNavigationBar: BottomAppBar( ), // 하단에 들어갈 위젯
)
- ㅇSafeArea : Appbar가 디바이스마다 달라 자동설정 해줌.
- CupertinoButton : padding이 default로 들어가고 있기 때문에 패딩 제로로 준다, 안되면 minsize : 0.0 설정
- infinity : double.infity로 wide 값을 화면 꽉 채우고 싶을 때 사용
- case Styles
- camelCase
- kebab-case
- PascalCAse
- snake_case
- 변수 , 함수 이름 설정 방식
- 앱 UI 개발을 할 때 Padding은 기준을 정하고 정렬 (상황마다 다름)
- 박스 사이즈는 신경 쓰지 말고, 박스 안 글자와 박스 사이에 Padding 값 신경
- 디자인은 디자이너가 모두 결정하고 개발자는 의견만 내기
- 의견을 내려고 할 때 UI 프로세스의 목적을 알고 목적에 맞는 의견 말하기
- Color
- Flutter에서 RGB값은 ARGB여서 위치 변경하여서 넣기
Color(0xffD8D8D8)
Color.fromARGB(255, 255 , 237, 232),
- 정규식
- TextField안에 내가 원하는 문자 , 숫자 등등 만 입력 하게 한다
- 밑 코드는 숫자만 입력
inputFormatters: [ FilteringTextInputFormatter.allow(RegExp(r'[0-9]')) ]
- 삼항 연산자 :
- 선택권이 두 개 밖에 없을때 쓰는게 좋다.
- 조건이 세 개 이상이면
- 함수를 만들어서 if 문 사용
- 플러터는 UI, Logic이 붙어 있어 통일성이 좀 떨어진다.
- Logic : 입출력
- Lint : 코드 규정
- 회사마다 코드 가독성에 관한 규정들이 있다
- 만약 코드에 대한 통일성이 없다면 코드가 실행하는데 크게 영향을 주지는 않지만 가독성이 떨어지고 유지보수를 힘들게 만들어 준다.
- 설정한 옵션에 맞게 검사후 교정을 하는 것을 lint라고 한다.
- Request 하는 법: Post(서버에 보내기 )
- 입력값을 TextEditingController사용
- statusCode : 서버 통신 코드 (200,300,400,500)
- 만약 서버에다가 데이터를 보낸다고 하면 변수형태로 만들어주어 실제 서버와 개발 서버를 바꾸어 주는 형태로 사용해야 한다.
- 만약 사용하지 않는다면 모든 요청이 일일이 다 바꿔줘야 하는 일이 생김
- 최악의 상황 스토어에 배포했는데 서버는 개발 서버를 보고 있을수도 있다.
- http 통신 할때 사용하는 함수
- headers , body에 들어가야 되는 것은 api에 따라 달라진다.
- headers :
- 헤더에는 사용자 인증 인가 처리할 때 사용
- UUID만 사용하면 해킹에 취약 , 값이 고정인 상황
- Token값을 가져와서 사용자를 알 수 있음.
- get이랑 post 차이점
- get은 body가 없다. request를 보낸다고 치면 Url에 맵핑이 되어 묶여서 들어감(보안상 안 좋음)
- async :
- 비동기형태로 움직인다.
- 비동기 방식 : 순서가 안정해져 있다
- await :
- 서버 응답이 올 때 까지 기다려라
- Future로 묶여있는 Response를 가져온다.
728x90
'Flutter' 카테고리의 다른 글
[피플] - 이슈 수정 (git, 협업능력) (0) | 2023.02.03 |
---|---|
[Flutter 문법]StatefulWidget parameter 넘겨주기 (0) | 2023.01.20 |
Dart 문법 정리 (0) | 2023.01.04 |
인스타그램 클론코딩 (0) | 2023.01.03 |
CustomErrorMessage (0) | 2023.01.03 |