
Http HTTP (HyperText Transfer Protocol)는 텍스트 기반의 통신 규약으로 인터넷에서 데이터를 주고받을 수 있는 프로토콜이다. 예를 들어 유튜브를 보는 경우 유튜브에 접속해서 동영상을 보게 되는데, 이때 브라우저는 Http request를 s
TCP/IP란, 우리가 인터넷을 통해 정보를 주고받을 수 있게 해주는 중요한 방법이다!TCP/IP에 대해 그냥 이해하려고 하니 너무 어려웠다 ㅎ 간단하게 설명하면 아래와 같다.예를 들어 우리가 친구에게 비밀 편지를 보내고 싶은데 편지가 너무 길면, 여러 조각으로 나눠서

"Flutter의 위젯이란 UI를 구성하는 기본 단위다"라는 설명을 많이 찾아볼 수 있다. 그렇다면 위젯은 UI Components와 같은 걸까? 굳이 UI와 위젯을 구분하는 이유가 있을까 너무 궁금했다.유저 인터페이스란 글자 그대로 사람과 컴퓨터 사이의 상호작용을 위

지난 글에서 Flutter의 위젯에 대해 알아보았다. 이어서 상태에 대해 알아보자!Flutter의 위젯이란? 👉 Flutter의 위젯과 UIFlutter는 선언형 UI를 사용한다. 선언형 UI란 특정 UI 요소의 변경이 필요할 때마다 해당 UI 요소를 새로 만들어 내
앱이 사용자와 상호작용하면서 데이터 (=상태)는 변경된다. 이때 상태는 로그인 상태, 서버에서 가져온 데이터 상태, 등을 다 포함할 수 있다.UI가 데이터 변화에 따라 잘 동작해야하기 때문에 특히 UI가 복잡할 때 상태관리는 중요한 역할을 한다.Stateful Widg

Flutter에서는 위젯의 상태가 매우 중요한 개념이라는 것을 확인했다! 그래서 상태관리도 함께 알아보았다. 👉 Flutter 위젯 상태관리 이처럼 상태 변화에 따라 위젯은 생성되고, 소멸되고, 업데이트를 하는데 이 과정을 위젯의 생명주기라고 부른다. 생명주기를 잘

pubspec.yaml은 플러터 개발을 할 때 항상 사용되는 파일이다! (처음엔 어떻게 읽는거지 싶었는데 야믈 파일이라고 한다..😆)패키지 의존성 관리, 프로젝트 정의를 하는 파일인데 https://pub.dev/에서 필요한 패키지를 다운로드 받을 때 이 파
sdk (Software Development Kit)코드샘플, 다큐먼트, api, 라이브러리를 담고 있는 키트api가 들어있음api를 활용하여 코드를 짤 필요가 없다.즉 앱을 빌드하기 위해 필요한게 다 있다.api통신을 위한 목적코드 라이브러리나 sdk는 없음라이브러
핫 리로드, 핫 리스타트 기능은 앱 변경되는 사항을 빠르게 반영하기 위해 지원하는 기능이며 빌드 유무에 차이가 있다.핫 리로드는 소스 코드의 변경 사항을 즉시 앱에 반영하되, 앱의 현재 상태를 유지하는 기능이다. (코드를 불러오고 위젯트리를 재빌드한다.)즉, 변수의 현
사람이 이해하는 언어를 컴퓨터가 이해하는 언어로 변환하는 과정 중 하나!고급언어 (Dart, Python, Java 등) 를 저급언어 (2진수로 이루어진 기계어. 1,0)로 변환하는 과정이 컴파일이다빌드라는 변환 과정의 큰 틀안에서 동작하는 하나의 과정이 컴파일이다.여
컴파일러 컴파일 작업을 수행하는 도구 👉 컴파일이란? 컴파일러 언어 vs 인터프리터 언어 dart는 프린트 문 쭉 있어도 에러 있으면 터지고 콘솔 x (컴파일로 에러 있는지 없는지 확인 후 실행) 파이썬 프린트 문을 쭉 실행, 에러에서 멈춤 (단점: 에러가 났는지
final, const는 각각 런타임, 컴파일 타임에 초기화되는 변수라는 점에서 차이가 있다!👉 컴파일타임과 런타임우선, 한 번 값을 대입하면 변경할 수 없다는 공통점이 있다는 점이 있다.(상수, 불변값)final 변수의 값은 런타임에 초기화된다. final 키워드는
변수 앞에 '\_'를 붙이면 private 변수를 만들 수 있다.프라이빗 변수는 같은 파일에서만 접근 가능한 변수다. (일반적으로 다른 언어에서는 클래스 내부에서만 사용하도록 접근을 제한한다)객체 지향 프로그래밍에서 중요 원칙은 바로 캡슐화, 정보은닉이다. Privat
차례대로 실행하나의 작업이 끝나야 다른 작업 실행된다.동시 실행즉, 하나의 작업이 끝나지 않더라도 기다리지 않고 다음 작업 처리비동기를 처리하기 위한 키워드: Future, async, awaitasync 키워드를 함수 앞에 붙이면 비동기 함수를 정의할 수 있고, aw
BuildContext 위젯이 화면에 어디에 있는지에 대한 위치 정보를 담고 있다. 예를 들어, 화면에 텍스트를 표시하는 위젯이 있다면, 해당 텍스트 위젯의 BuildContext는 이 텍스트가 어디에 위치하는지를 가리킨다. BuildContext를 사용하면 해당
앱의 여러 부분이 제대로 동작하는지 돕는 도구, 식별자가 바로 key다. 플러터는 기본적으로 위젯의 타입으로 각 위젯을 식별한다. (ex. Text, Button, Image)이때 위젯의 타입이 다르다면 위젯을 식별하는데 문제가 없다. 하지만 같은 타입의 위젯이 여러

API 통신을 위한 모델을 만들 때 이 두가지 패키지를 자주 함께 사용했다. freezed의 불변성을 활용하면서 json_serializable을 통해 JSON 직렬화 및 역직렬화를 자동으로 처리할 수 있기 때문이다.불변성을 가진 데이터 모델 (데이터 클래스)을 생성하

TDD란 이야기를 많이 들었는데 단순히 테스트 코드를 짜는 걸 말하는 건지 다른 의미가 있는 건지 궁금했다.TDD란 개발 (코드 작성 전) 테스트 코드를 먼저 작성하는 개발 방식!TDD는 보통 아래의 방식으로 진행된다고 한다.코드 작성 전 특정 기능에 한해 (기능 세분