배운것들을 정리합니다.
三昧境

전체 글 46

[플러터 flutter] initState와 dispose란?

initState플러터에서 위젯의 상태가 처음 생성될 때 호출되는 메서드입니다.StatefulWidget의 상태 클래스에서 오버라이드 할 수 있으며 위젯의 초기 설정, 초기화 작업을 수행하는데 사용됩니다.위젯이 처음 빌드되기 전에 호출되기 때문에 위젯이 화면에 나타나기 전에 필요한 작업들을 설정할 수 있는 최적의 위치입니다 특징한 번만 호출됨initState는 위젯의 상태가 처음 생설될 때 단 한번만 호출됩니다.사용처네트워크 요청, 스트림 구독, 컨트롤러 초기화 등 초기 설정 작업을 수행하는데 사용됩니다.super.initState() 호출initState 메서드를 오버라이드할 때, 반드시 super.initState()를 호출해야합니다.이는 부모 클래스의 초기화 작업을 보장합니다.class MyStat..

[플러터 Flutter] 예외처리 try-catch와 throw, finally

try-catch 구문은 Dart 언어의 예외 처리(exception handling) 메커니즘의 일부입니다.여기서 예외란 프로그램의 정상적인 실행 흐름을 방해하는 사건입니다.이는 코드작성의 오류, 네트워크 통신오류, 기기오류 등 다양하게 발생할 수 있습니다.try-catch를 사용하여 실행 중 발생할 수 있는 예외(에러)를 포착하고 적절히 처리할 수 있습니다.// 기본구조try { // 예외가 발생할 수 있는 코드} catch (e) { // 예외가 발생했을 때 실행되는 코드}  try 블록try { // 예외가 발생할 수 있는 코드}예외가 발생할 수 있는 코드를 포함합니다.여기서 예외가 발생하면 프로그램의 흐름이 try블록을 벗어나 가장 먼저 일치하는 catch블록으로 이동합니다. catch(e..

[플러터 Flutter] 소셜로그인 카카오톡 2 social login with Kakao 2

[플러터 Flutter] 소셜로그인 카카오톡 1 social login with Kakao 1Flutter 3.22.2Dart 3.4.3DevTools 2.34.3AndroidStudio 17.0.10 koalamac 기준으로 작성되었습니다.들어가기 앞서 카카오톡 플러터 공식문서도 있음 참고 부탁드립니다.https://developers.kakao.com/docs/latest/ko/flutter/gettingujo-orr.tistory.com  우선 프로바이더 패키지를 설치하여 프로젝트에 적용시킵니다. [플러터 Flutter] 상태관리 Provider, MultiProvider상태관리란?애플리케이션의 상태(state)를 관리하는 것을 의미합니다.상태는 사용자 인터페이스(UI)와 상호작용하거나 애플리케이션..

Flutter/tip 2024.07.12

HTTP와 HTTPS의 차이점은?

HTTP와 HTTPS는 둘다 TCP/IP 프로토콜 스위트를 기반으로 작동하는 애플리케이션 계층 프로토콜이며 컴퓨터나 기기간 통신을 위해 약속된 통신 규약입니다.  HTTP (HyperText Transfer Protocol)HTTP는 웹 서버와 클라이언트(브라우저) 간에 데이터를 주고받기 위한 프로토콜입니다.기본적으로 데이터를 평문으로 전송하며 주로 웹 페이지와 자원들(이미지, 비디오 등)을 전송하는 데 사용됩니다.주로 공개된 웹 페이지나 파일을 전송할 때 처럼 민감하지 않은 데이터의 전송에 사용됩니다. 평문(Plaintext)암호화되지 않았고 추가 처리 없이 사람이나 컴퓨터가 읽을 수 있는 텍스트 문서입니다.보통 암호화 또는 인코딩 전의 데이터를 의미합니다.이미지 등과 같은 모든 정보를 더 느슨하게 나..

CS/network 2024.07.09

[플러터 Flutter] 상태관리 Provider, MultiProvider

상태관리란?애플리케이션의 상태(state)를 관리하는 것을 의미합니다.상태는 사용자 인터페이스(UI)와 상호작용하거나 애플리케이션의 내부 동작을 관리하는 데 필요한 데이터를 나타냅니다.상태 관리는 애플리케이션이 예측 가능한 방식으로 동작하도록 도와주며, 특히 복잡한 애플리케이션에서는 필수적인 요소입니다. 상태 관리의 필요성UI 업데이트상태가 변경될 때 UI를 자동으로 업데이트해야 합니다.예를 들어, 사용자가 버튼을 클릭하면 버튼의 상태나 관련된 UI 요소가 변경될 수 있습니다.일관성 유지여러 UI 요소가 동일한 상태를 공유하는 경우 상태 변경이 일관성 있게 반영되어야 합니다.유지보수상태를 중앙에서 관리하면 코드의 유지보수와 확장이 쉬워집니다. 상태 관리의 종류setStateFlutter의 내장 상태 관리..

Flutter/tip 2024.07.09

[플러터 Flutter] 객체지향(Object Oriented Programing,OOP)의 이해

객체지향 프로그래밍Object Oriented Programing의 앞글자만 따서 OOP라고 불립니다. 이는 프로그래밍 패러다임의 하나로, 데이터를 객체로 다루며, 객체의 상호작용을 통해 프로그램을 설계하는 방식입니다.쉽게 생각했을 때 아주 잘 정리된 코드 또는 구조방식이라고 볼 수 있습니다.정리가 잘 되어있는 만큼 문제가 생긴 구간을 찾아서 유지보수하거나 사용하기 쉬울 것입니다.  객체 (Object)데이터를 구조화하고 관련 기능을 함께 묶어 하나의 단위로 관리하는 방법입니다.클래스를 기반으로 메모리에 생성된 구체적인 실체이며, 속성과 데이터를 처리하는 메서드를 포함합니다.객체는 상태와 행동을 가지며, 이를 속성(Properties)과 메서드(Methods)라고 하며, 클래스의 인스턴스입니다. 객체의 ..

Flutter/tip 2024.07.05

[플러터 flutter] 비동기 / 동기 async, awiat, future은 무엇인가?

Future은 비동기 작업을 처리하는 데 사용되는 클래스입니다.비동기 작업은 즉시 완료되지 않고 일정 시간이 걸리는 작업을 말하며, Future는 이러한 작업의 완료 또는 실패 결과를 나타내는 객체입니다.여기서 동기와 비동기란비동기 (asynchronous) / 동기 (synchronous)위 사진을 참고하여 보면 동기 (Synchronous)한 작업이 완료될 때까지 다음 작업이 시작되지 않습니다.간단하고 직관적이지만, 시간이 오래 걸리는 작업일 경우 비효율 적입니다.void main() { print('시작'); performTask(); print('끝');}void performTask() { print('실행중');}// 차례대로 출력시작실행중끝  비동기 (Asynchronous)한 작업이..

[플러터 Flutter] 초기화란?

초기화 (Initialization) 변수 초기화변수를 사용할 수 있도록 처음 값을 설정하는 과정입니다.변수나 함수를 호출하는 것과는 다릅니다.변수를 초기화하지 않으면 변수에 어떤 값이 들어 있는지 알 수 없으며, 초기화된 값은 변수의 기본 상태가 됩니다.int number; // 변수 선언, 초기화되지 않음number = 10; // 변수 초기화이렇듯 해당 변수나 함수에 값을 지정해 주는 순간을 '초기화'라고 합니다.int number = 10; // 변수 선언과 동시에 초기화  함수 초기화함수는 함수 자체를 초기화한다기보다는 함수를 정의하고, 그 함수를 호출하는 과정이 있습니다.함수를 정의하는 것은 함수를 사용할 준비를 하는 것이고, 호출하는 것은 실제로 함수를 실행하..

[플러터 Flutter] Const, Final의 차이 그리고 컴파일타임과 런타임

const와 final은 둘 다 Dart에서 변경할 수 없는 변수를 선언할 때 사용되지만사용 용도와 동작 방식에서 차이가 있습니다.컴파일 타임과 런타임은 프로그래밍에서 코드가 실행되는 두 가지 주요 단계입니다. 이 두 개념은 코드가 언제 검증되고, 언제 실제로 실행되는지를 정의합니다.들어가기 앞서 중요한 개념을 짚고 넘어가야 합니다. 저급(저수준) 프로그래밍 언어 (Low-Level Programing Language) 컴퓨터가 이해하기 쉽게 작성된 프로그래밍 언어로 컴퓨터 위주의 코드입니다.수준이 낮다가 다른 뜻이 아닌, 더 하드웨어에 근간을 두고 있다는 뜻입니다. 실행속도가 매우 빠르지만 배우기가 어려우며 유지보수가 힘든 것이 단점입니다.일반적으로 기계어와 어셈블리어를 말합니다.  기계어 (Machi..

[플러터 Flutter] Null-Safety와 late키워드

NullSafety는 Dart에서 도입된 개념입니다.코드에서 null 참조에 대한 안정성을 높이기 위한 기능이며이를 통해 null 참조로 인한 예기치 않은 오류를 방지하고 안전한 코드를 작성할 수 있습니다.똑같이 ?(Question mark)를 사용해도 삼항연산자와는 다른 개념입니다.Null-Safety의 주요 개념 Nullable 타입변수가 null을 포함할 수 있는 타입입니다.변수를 선언할 때 String이 아닌 String? 으로 작성합니다.String? nullableName;String nullavleName; // 오류  Non-nullable 타입변수가 null을 포함할 수 없는 타입입니다.이는 변수를 선언할 때 String? 이 아닌 String 으로 작성합니다.String name = '..