본문 바로가기

전체 글77

git hub 공부 git 흐름원격repo → 이슈 생성  → 브랜치 생성  → pull  → 코드 수정  → commit  → merge  → 브랜치 삭제  → push 2024. 10. 23.
git 공부 원격 repo tracking ↑ 로컬 repo  원격 repo push ↑ ↓ pull 로컬 repo  원격 repo ↓ clone 로컬 repo 2024. 10. 22.
vs코드에서 flutter 사용시 android폴더 contains emphasized items 에러 아무것도 하지않고 새 프로젝트를 생성했는데...android폴더에 빨간색 경고등 뜨면서 숫자가 표시되었다.폴더 안에 다른 파일들에는 경고등이 뜨지 않아 당황스러움.경고등에 마우스를 올려보니 contains emphasized items 이것 저것 찾아보고 변경해봐도 해결이 되지 않아 튜터님께 여쭤보니vs코드 좌측 하단에 자세한 에러메세지 나온다고 확인해보라고 하신다. 해당 에러를 가지고 챗gpt에게 도움 요청하니...자꾸 뭘 확인하라는데...이상이 없음. 그런데...자세히 보니 에러메세지 창에 이전에 연습하고 삭제한 프로젝트 경고창들이 잔뜩 쌓여있음.삭제한 프로젝트 경고창 삭제하는 방법을 챗gpt에 문의1. 워크스페이스 설정 초기화VS Code의 워크스페이스에 남아 있는 설정이 에러 메시지를 유발할 수 .. 2024. 10. 21.
dart 문법 const, final 수를 선언할 때 사용하는 키워드로, 한 번 값을 할당하면 이후에는 변경할 수 없도록 만드는 역할을 합니다. 주로 상수값을 저장할 때 사용되며, 코드의 가독성과 안전성을 높이는 데 도움을 줍니다. const와 final의 차이점final: 한 번 할당되면 값을 변경할 수 없지만, 런타임에 결정될 수 있는 값입니다. 즉, 프로그램이 실행되는 동안 할당이 가능하고, 그 이후로는 변경이 불가능합니다.const: 반드시 컴파일 타임에 값이 결정됩니다. 즉, 실행 전에 값이 미리 확정되어야 합니다. 2024. 10. 10.
Flutter 위젯_ListView 위젯 import 'package:flutter/material.dart'; void main() {   runApp(const MyApp()); } class MyApp extends StatelessWidget {   const MyApp({super.key});   @override   Widget build(BuildContext context) {     return MaterialApp(       debugShowCheckedModeBanner: false,       home: Scaffold(         body: ListView(           scrollDirection: Axis.horizontal,           children: List.generate(           .. 2024. 10. 10.
Flutter 위젯_PageView 위젯 import 'package:flutter/material.dart'; void main() {   runApp(const MyApp()); } class MyApp extends StatelessWidget {   const MyApp({super.key});   @override   Widget build(BuildContext context) {     return MaterialApp(       debugShowCheckedModeBanner: false,       home: Scaffold(           body: PageView(         children: [           Container(             color: Colors.red,             chi.. 2024. 10. 10.
Flutter 위젯_StatefulWidget과 StatelessWidget StatelessWidget(생성 후 수정 불가)단순성변화하는 상태를 다룰 필요가 없습니다. 이렇게 하면 코드를 유지 관리하기 쉽고 버그가 덜 발생할 수 있습니다.예측 가능성불변 클래스에는 외부 상태 변경의 영향을 받지 않는 예측 가능한 동작이 있습니다. 이렇게 하면 테스트 및 디버그가 더 쉬워집니다. StatefulWidget(수정가능하며 화면에 바로 반영)동적 대화형 UIStatefulWidget을 사용하면 동적이고 대화형 UI를 만들 수 있습니다. 위젯의 변경 가능한 상태를 관리함으로써 사용자 상호 작용 또는 데이터 변경에 따라 실시간으로 위젯의 UI를 업데이트할 수 있습니다.유연성StatefulWidget은 애니메이션 처리, 네트워크 요청 또는 복잡한 데이터 처리와 같은 상태 업데이트 처리를 위한.. 2024. 10. 10.
dart 문법_동기, 비동기2 async, await, Future 개념이 어려워 챗GPT에게 설명해달라 요청했다. **async, await, Future**는 Dart와 같은 언어에서 비동기 프로그래밍을 처리하기 위한 중요한 개념입니다. 비동기 처리는 프로그램이 즉각 완료되지 않는 작업을 처리할 때 유용합니다. 예를 들어, 서버에서 데이터를 가져오거나 파일을 읽는 작업은 시간이 걸리기 때문에, 프로그램이 이를 기다리지 않고 다른 작업을 진행할 수 있게 해줍니다.1. 비동기 프로그래밍이란?비동기 프로그래밍은 시간이 오래 걸리는 작업이 완료될 때까지 기다리지 않고, 다른 작업을 계속 진행할 수 있도록 하는 방식입니다. 예를 들어, 파일을 읽거나 네트워크 요청을 보내는 작업은 시간이 걸리기 때문에, 이런 작업을 동기적으로 처리하면 프로.. 2024. 10. 8.
dart 문법_클래스 void main() async {   var totalYears = 10;   print('프로그램 시작');   var man = Human(     id: ' xxxxxxx -xxxxxxx',     name: '홍길동',     age: 39,     gender: Gender.M,   );      for (var currentYear = 1; currentYear     await Future.delayed(Duration(seconds: 1));     print('$currentYear년이 흘렀습니다.');     man.addAge();     print('${man.name}은 ${man.age} 나이입니다.');   }      print('프로그램 종료'); } 2024. 10. 8.
dart 문법_동기, 비동기 동기 작업이 순차적으로 처리되는 것을 의미합니다. 하나의 작업이 끝나야 다음 작업이 진행이 되는 것 void main() {   print('작업 1 시작');   performTask();   print('작업 1 완료'); } void performTask() {   print('작업 2 실행'); } 출력 작업 1 시작 작업 2 실행 작업 1 완료  비동기 작업이 병렬적으로 처리될 수 있습니다. 즉, 작업이 완료될 때까지 기다리지 않고 다음 작업을 바로 시작합니다. 주로 네트워크 요청, 파일 읽기/쓰기 등 시간이 걸리는 작업에 사용됩니다. void main() {   print('작업 1 시작');   performTask();   print('작업 1 완료'); } Future performTas.. 2024. 10. 8.