본문 바로가기

분류 전체보기14

Flutter & Dart - Functional Programming (함수형 프로그래밍) 해당 목차는 저의 배움을 설명 하기에 앞서 드리고 싶은 말이 있습니다.함수형 프로그래밍이란 주제를 가지고 책이 여러권 있을만큼 아직까지도 많은 내용과 사람마다 다양한 생각이 존재하는데요.제가 설명 드리는 부분이 극히 일부분 + 저의 개인적인 생각이 들어간 부분이 존재하니FP 관련해서는 제 글 만 보지 마시고 다른 글도 참고 하셔서 유익한 정보만 가져가셨으면 합니다.Functional Programming (함수형 프로그래밍)함수형 프로그래밍이란?함수형 프로그래밍(Functional Programming)은 프로그래밍 패러다임 중 하나로, 프로그램의 구성 요소를 순수 함수(Pure Function)로 작성하고, 상태 변화와 부작용(Side Effect)을 최소화하여 코드를 작성하는 방법론입니다. 데이터와 .. 2025. 1. 9.
Flutter & Dart - Dart 에서의 커링(Currying) 커링(Currying)은 하나의 함수가 여러 매개변수를 받는 대신, 매개변수를 나누어 단계별로 받는 기법입니다. 이를 통해 함수 호출을 더 유연하게 작성할 수 있으며, 재사용성을 높이는 데 기여합니다. 여기에서는 Dart에서 커링을 구현하고 사용하는 방식을 예제로 설명합니다.기본 커링 함수 구현curry(Function f) => (a, {Iterable? args}) => (args?.length ?? 0) > 1 ? f(a, args) : (b) => f(a, b);코드 분석Function f:  커링 대상이 되는 함수입니다. 예를 들어, (int a, int b) => a * b 같은 함수가 입력됩니다.매개변수 a와 선택적 매개변수 args:  a: 첫 번째 매개변수로 사용됩니다.  args: 선.. 2025. 1. 9.
Flutter & Dart - Lambda 람다 함수는 익명 함수로, 이름 없이 간단한 형태로 작성되는 함수입니다. 함수의 형식이 간단하고 특정한 기능을 짧은 코드로 구현할 수 있기 때문에 자주 사용됩니다. 주로 간결한 코드와 고차 함수를 다룰 때 유용하게 사용됩니다.1. 람다의 특징익명 함수: 람다 함수는 이름이 없는 함수입니다. 그 대신 변수에 할당하거나 다른 함수의 매개변수로 전달할 수 있습니다. 람다 함수는 코드가 짧고, 직접적으로 표현해야 할 때 유용합니다.(a, b) => a + b위 예시에서 (a, b) => a + b는 "a"와 "b"를 받아 더하는 함수입니다. 이름이 없는 이 함수는 직접적으로 계산만 수행하고, 이름은 필요 없습니다.예:함수: 람다는 객체가 아니라 함수로 취급됩니다. 즉, 람다는 클래스에 종속되지 않고 독립적으로 .. 2025. 1. 8.
Flutter & Dart - Iterable Iterable 학습 정리1. Iterable의 기본 개념Iterable은 순차적으로 데이터를 접근할 수 있는 구조입니다. 즉, Iterable을 사용하면 데이터의 각 항목을 순차적으로 처리할 수 있습니다. Iterable은 반복 가능한 데이터 구조를 제공하며, 이를 통해 데이터를 하나씩 순차적으로 처리할 수 있습니다.Iterable은 메모리 효율적이며, 지연된 계산(Lazy Evaluation)을 가능하게 합니다. 이는 데이터가 하나씩 필요할 때마다 계산되어 메모리를 절약하는 방식입니다.예시Iterable generateNumbers(int max) sync* { for (int i = 1; i 2. sync*와 async* 함수sync* 함수sync*는 동기적으로 값을 생성하는 제너레이터 함수입니다.. 2025. 1. 8.
Flutter & Dart - Stream,StreamBuilder Stream과 StreamBuilder의 이해Stream이란?Stream은 Dart에서 비동기적으로 연속적인 데이터 이벤트를 전달하는 방식입니다. 마치 데이터의 흐름을 관리하는 파이프라인과 같으며, 비동기 처리에서 강력한 도구로 사용됩니다. 방송 플랫폼에 비유하자면, 스트리머가 데이터를 송출하고 시청자가 이를 구독하는 구조와 같습니다.Stream의 특징:데이터를 순차적으로 전달합니다.데이터 이벤트에는 data, error, done의 세 가지 유형이 있습니다.필요에 따라 데이터를 지연 생성(lazy production)할 수 있습니다.Stream의 주요 상태:Idle 상태: Stream이 아직 데이터 이벤트를 생성하지 않은 초기 상태입니다.Active 상태: 데이터를 방출하고 리스너가 이를 구독하는 상태.. 2025. 1. 7.
[Swift] 변수,상수(1) - Swift 마스터 하기 2일차. 변수와 상수 개발자가 아니더라도 쉽게 접하시는 단어이기도 하고 개발자라면 누구나 무조건 사용하고 알고 있는 내용!그래도 복습한다 생각하고 같이 알아볼까요?변수와 상수?변수(Variables)의 정의는 값을 저장하고 나중에 변경할 수 있는 메모리 공간.상수(Constants)의 정의는 값을 한 번만 할당할 수 있는 메모리 공간을 의미하며 값이 한 번 할당되면 변경 불가.이 정도만 알고 있으면 될까요? 저는 메모리 저장 과정 또한 알고 있어야 한다고 생각합니다.  변수와 상수의 메모리 저장 과정.메모리 할당 :- 변수나 상수가 선언될 때, 시스템은 해당 데이터 타입에 필요한 메모리 공간을 할당합니다. - 예를 들어, 정수 타입의 변수를 선언하면 해당 정수에 필요한 메모리 크기만큼의 공간을 할당받습니다.값의 .. 2024. 4. 20.