본문 바로가기

Flutter/Flutter Study20

[Flutter] dependencies와 dev_dependencies 차이점 Flutter 프로젝트를 관리할 때, pubspec.yaml 파일은 프로젝트의 종속성을 정의하고 있는 중요한 파일 중 하나입니다. 여기서 dependencies와 dev_dependencies는 프로젝트가 어떤 외부 패키지를 사용하는지를 명시하는 데 사용됩니다. Dependencies: dependencies 섹션은 앱의 런타임에 필요한 패키지들을 나타냅니다. 이러한 패키지들은 앱이 실행 중일 때 사용되며, 앱의 기능이나 로직을 구현하는 데 필요한 주요 라이브러리들을 여기에 포함합니다. 이러한 패키지들은 사용자가 앱을 실행하는 동안 필요한 라이브러리들로, 배포된 앱에도 포함됩니다. 예를 들어, HTTP 요청을 처리하기 위한 http 패키지를 dependencies에 추가할 수 있습니다. yamlCopy .. 2024. 1. 17.
[Flutter] Text 노란색 밑줄 없애는 방법 | flutter text yellow underline 해결방법 1. DefaultTextStyle 위젯 사용 기존 코드 child: Text( '왜 노란색 줄이 뜨는가', style: TextStyle( fontSize: 20.0, fontWeight: FontWeight.w700, color: Colors.black, ), ), DefaultTextStyle 사용한 코드 DefaultTextStyle를 사용해 아래와 같이 코드를 작성하면 기존의 노란 줄이 사라진 것을 볼 수 있다. child: DefaultTextStyle( style: TextStyle( fontSize: 20.0, fontWeight: FontWeight.w700, color: Colors.black, ), child: Text('왜 노란색 줄이 뜨는가'), ), 기본골격 Defaul.. 2023. 5. 24.
[Flutter] JWT 토큰, Aceess Token, Refresh Token이란? Contents JWT (JSON Web Token)이란? JWT (JSON Web Token) 토큰은 인증과 정보 교환을 위한 업계 표준이다. JWT는 클라이언트와 서버 간의 안전한 방식으로 정보를 전송하기 위해 사용된다. 이 토큰은 JSON 형식으로 표현되며, 클레임(claim)이라고 불리는 정보를 포함하고 서명(signature)을 통해 검증된다. JWT (JSON Web Token) 구조 JWT 토큰은 아래와 같이 점( . )을 기준으로 세 가지 부분으로 구성한다. Hearder(헤더) . Payload(페이로드) . Signature (서명) Header(헤더) 토큰의 유형과 해싱 알고리즘을 포함한다. 일반적으로 "alg"라는 필드에 암호화 알고리즘(예: HMAC, RSA, 등)을 지정한다. P.. 2023. 5. 20.
[Flutter] 세션(Session)과 토큰(Token)의 차이점 및 정의과 특징 Contents 세션(Session)과 토큰(Token)은 사용자 인증과 상태 관리를 위한 보안 기술로 사용되지만 몇 가지 차이점이 있다. 아래에서 세션과 토큰의 정의와 그들 간의 차이를 비교해 보겠다. 세션(Session)이란? 정의: 세션은 서버 측에서 유지되는 상태 정보로서, 사용자 인증과 관련된 데이터를 저장하고 클라이언트와 서버 간의 연결을 유지한다. 특징: 서버 측에서 상태를 유지하고 관리한다. 클라이언트는 세션 ID를 통해 서버와 상호작용하고 세션 상태를 유지한다. 보안을 위해 세션 ID는 일반적으로 암호화되어 전송된다. 세션은 서버의 리소스를 사용하므로 서버 부하가 발생할 수 있다. 세션 ID가 서버에 저장되기 때문에 사용자 정보 노출될 위험이 없으며, 요청을 보내는 사용자가 누구인지 서버.. 2023. 5. 20.
[Flutter] showDatePicker 한국어 바꾸기 / DatePicker 데이트피커 한국어 변경 현재는 적용되지 않는 코드 아래 코드에 showDatePicker에 직접적으로 locale : const Locale('ko', 'KR') 을 주게 되면 showDatePicker() 로드부터 실패가 된다. 아래 코드처럼 showDatePicker에 locale을 설정하는 것이 아닌, MaterialApp에 전체적으로 언어를 설정해줘야 한다. Future _selectDate(BuildContext context) async { final DateTime? picked = await showDatePicker( context: context, initialDate: DateTime.now(), firstDate: DateTime(DateTime.now().year - 1), lastDate: DateTi.. 2023. 4. 28.
[Flutter] BOTTM OVERFLOWED BY PIXELS 해결 방법 모음 BOTTM OVERFLOWED BY PIXELS 오류 해당 오류는 Text를 입력해야하는 부분을 클릭을 했을 때 키보드가 올라오면서 위젯들이 키보드와 함께 위로 밀려나면서 fixel 오버플로우가 발생하면서 노란색 빗금이 생긴다. 해당 문제를 아래의 방법으로 해결할 수가 있다. BOTTM OVERFLOWED BY PIXELS 해결책 1. Scaffold 아래에 resizeToAvoidBottomInset 사용하기 resizeToAvoidBottomInset: false, 2. body 부분에 SingleChildScrollView 사용하기 body에 해당하는 코드를 SingleChildScrollView()로 묶어주면 된다. 위젯들이 화면을 초과한다면 손가락으로 화면을 내려야 하는 스크롤 형태로 구성이 된.. 2023. 4. 22.
[Flutter] 위젯 간의 데이터 전송 / 스크린 이동 / Navigator, ModalRoute, Named Route Contents 이전 글에 이어서 코드를 작성하며, 버튼을 클릭했을 때 데이터 전송까지 이루어지도록 하겠다. 이전 코드는 아래의 글을 참고하자. 중복된 코드를 MainLayout이라는 위젯으로 다른 파일에 빼서 관리했다. [Flutter] 버튼(Button) - ElevatedButton, OutlinedButton, TextButton [Flutter] 버튼(Button) - ElevatedButton, OutlinedButton, TextButton 꾸미기 Contents 플러터(Flutter) 버튼(Button) 알아보기 플러터에는 ElevatedButton, OutlinedButton, TextButton 버튼 등이 있으며 이를 알아보고 style을 통해 꾸미는 방법을 알아보도록 하겠다. // i.. 2023. 3. 16.
[Flutter] 버튼(Button) - ElevatedButton, OutlinedButton, TextButton 꾸미기 Contents 플러터(Flutter) 버튼(Button) 알아보기 플러터에는 ElevatedButton, OutlinedButton, TextButton 버튼 등이 있으며 이를 알아보고 style을 통해 꾸미는 방법을 알아보도록 하겠다. // ignore_for_file: prefer_const_constructors import 'package:flutter/material.dart'; class HomeScreen extends StatelessWidget { const HomeScreen({super.key}); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title: Text('Button'), ).. 2023. 3. 14.
[Flutter] 드로어(Drawer) 메뉴 만들기 | 플러터 네비게이션 드로어 (Navigation Drawer) 메뉴 Contents 플러터 드로어 메뉴를 만들기 위해서는 앱바(AppBar)가 필요하다. 앱바의 햄버거 메뉴를 클릭했을 때 드로어메뉴가 보이도록 하기 때문이다. 그런데 플러터에서 드로어 메뉴를 만들면 자동으로 앱바에 햄버거 모양의 아이콘이 추가된다. 이전에 작성한 코드에서 햄버거 메뉴만을 지우고 가져오자. 이전 앱바(AppBar) 코드 참고하기 [Flutter] AppBar 앱바 만들기 [Flutter] AppBar 앱바 만들기 | DEBUG 리본 없애기 | 메뉴 아이콘 추가하기 Contents 앱바(Appbar) 생성하기 - AppBar() home_screen.dart 파일 import 'package:flutter/material.dart'; class HomeScreen extends Stateles.. 2023. 2. 15.