김누누
close
프로필 배경
프로필 로고

김누누

  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
  • 깃허브
  • 글쓰기
  • 설정
[플러터 인 액션] C3 : 플러터의 세계로 (2) 레이아웃

[플러터 인 액션] C3 : 플러터의 세계로 (2) 레이아웃

플러터 레이아웃플러터 렌더링 엔진은 한 가지 정해진 레이아웃 시스템을 사용하지 않는다는 특징이 있다.위젯은 뷰를 묘사하는 고수준 클래스이며, 위젯을 화면에 그리는 부분은 저수준 객체가 담당한다.Row와 ColumnColumn, Row 위젯으로 플렉시블 레이아웃을 활용할 수 있다.Column은 자식들을 열로 배치하고, Row는 행으로 배치한다.레이아웃 제약 조건플러터는 UI 라이브러리이며, 렌더링 엔진이기 때문에 레이아웃 제약 조건은 중요한 개념이다.플러터 개발 중에 flutter layout in-finite size(플러터 레이아웃 무한 크기)에 대한 오류를 겪게 된다.제약 조건이 어떻게 동작하는지 이해하여, 오류에 대응해야 한다.RenderObject이 클래스는 내부에서 사용되는 클래스이므로 플러터 ..

  • format_list_bulleted Deep Dive/Flutter
  • · 2025. 2. 20.
  • textsms
[플러터 인 액션] C3 : 플러터의 세계로 (1) 위젯과 상태 관리

[플러터 인 액션] C3 : 플러터의 세계로 (1) 위젯과 상태 관리

플러터 프로젝트 구조플러터 프로젝트를 만들면 디렉터리가 생성된다.모든 디렉터리를 알 필요는 없으며, 사용하지 않는 디렉터리도 있다.counter_app=> android => ios=> lib => main.dart // 프로젝트 진입점, main을 포함=> test // 비즈니스 로직 검증 => widget_test.dart=> pubspec.yaml // 모든 다트 프로젝트에 필수, 의존성과 메타데이터 관리=> pubspec.lock // 편집하면 안 되는 잠금 파일 생성 => README.md플러터 앱 내부플러터의 많은 기능은 다트 라이브러리로 이루어져 있다.구글의 머티리얼 디자인 시스템 기본 위젯을 사용할 수 있다.앱 진입점앱의 맨 윗부분에 main 함수를 선언한다.runApp이라는 메서드로 최상..

  • format_list_bulleted Deep Dive/Flutter
  • · 2025. 2. 20.
  • textsms
[플러터 인 액션] C2 : 다트

[플러터 인 액션] C2 : 다트

다트 프로그램 내부모든 다트 프로그램은 main 함수를 반드시 정의해야 한다.모든 변수는 형식을 가져야 하며, 형식(or void)를 반환해야 한다.입출력과 다트 라이브러리다양한 라이브러리를 제공하지만, dart:core 라이브러리만 자동 로드된다.dart:html, dart:async, dart:math 등 다양한 라이브러리를 사용할 수 있다.dart:io를 활용하여 서버 응용프로그램이나 명령줄 응용프로그램을 구현할 수 있다.import 'dart:io';void main() { stdout.writeln('Greet Somebody'); String? input = stdin.readLineSync(); return helloDart(input);}void helloDart(String? nam..

  • format_list_bulleted Deep Dive/Flutter
  • · 2025. 2. 18.
  • textsms
[플러터 인 액션] C1 : 플러터

[플러터 인 액션] C1 : 플러터

플러터플러터는 구글에서 만들어 오픈 소스로 공개한 모바일 SDK다.렌더링 엔진, UI 컴포넌트, 테스트 프레임워크 도구, 라우터 등 앱을 만드는 데 필요한 모든 기능을 제공하는 플랫폼이다.플러터를 활용하면 개발자는 앱 특유의 도메인 기능에만 집중할 수 있다.플러터와 다트다트는 플러터를 위한 프로그래밍 언어로 생산성이 좋고 예측 가능하다.다트는 객체지향이므로 마크업 언어를 사용하지 않고, 다트 언어만으로 사용자 경험을 구현할 수 있다.다트는 JIT(just-in-time) 컴파일과 AOT(ahead-of-time) 컴파일을 모두 지원한다.AOT 컴파일러다트 코드를 효율적인 네이티브 코드로 전환대부분의 기능을 커스터마이즈JIT 컴파일러핫 리로드 지원빠른 개발 속도와 반복을 지원누가 플러터를 사용할까?개인 개..

  • format_list_bulleted Deep Dive/Flutter
  • · 2025. 2. 18.
  • textsms
플로우 테스트

플로우 테스트

플로우 테스트Flow를 반환하는 대부분의 함수는 Flow를 반환하는 다른 함수를 호출합니다.이는 데이터 → 도메인 레이어로 Flow 반환과 뷰 모델에서 UI 모델로의 전환에서도 적용됩니다.이러한 함수들을 어떻게 테스트하는지 직접 구현해봤습니다.비즈니스 로직테스트를 위한 로직을 구현하였습니다.ObserveAppointmentsService는 비즈니스 로직을 포함하고 있습니다.레퍼지토리 저장소로부터 Flow 데이터를 반환받아, 다양한 연산 후 재반환합니다.// Sealed Class 정의sealed class Appointment { data class AppointmentsUpdate(val appointments: List) : Appointment() data object Appointmen..

  • format_list_bulleted Deep Dive/Kotlin Flow
  • · 2025. 2. 18.
  • textsms
공유플로우와 상태플로우

공유플로우와 상태플로우

개요일반적으로 플로우는 콜드 데이터이기 때문에 요청할 때마다 값이 계산됩니다.여러 개의 수신자가 하나의 데이터가 변경되는지 감지하는 경우도 있습니다.이 경우 메일링 리스트와 비슷한 개념인 SharedFlow를 활용할 수 있습니다.StateFlow는 감지 가능한 값과 비슷하게 동작합니다.SharedFlow공유플로우를 통해 메시지를 보내면, 대기하고 있는 모든 코루틴이 수신하게 됩니다.이는 브로드캐스트 채널과 비슷하게 동작합니다.replay마지막으로 전송한 값들을 저장할 수를 지정합니다.(default:0)relayCache값을 저장한 캐시를 나타냅니다.resetReplayCache저장한 캐시를 초기화하는 경우 활용합니다.suspend fun main(): Unit = coroutineScope { /..

  • format_list_bulleted Deep Dive/Kotlin Flow
  • · 2025. 2. 18.
  • textsms
  • navigate_before
  • 1
  • 2
  • 3
  • 4
  • ···
  • 9
  • navigate_next
전체 카테고리
  • 분류 전체보기 (252)
    • Deep Dive (49)
      • Kotlin Coroutine (18)
      • Kotlin Flow (6)
      • Test Code (12)
      • Android Jetpack Compose (9)
      • Flutter (4)
    • [Android] Architecture (14)
      • Architecture Pattern (5)
      • [Android] Multi Module (3)
      • [Android] DI (4)
    • [Kotlin] Tech,Study (18)
    • [Android] Tech,Study (65)
      • [Android] Trouble Shoot (20)
      • [Android] Custom (9)
    • Algorithm (13)
    • Computer Science (29)
      • 독서 (8)
      • 프로그래밍 (14)
      • 운영체제 (4)
      • 자료구조 (1)
      • 네트워크 (1)
    • GitHub (1)
    • Python,Django,DRF (13)
    • IOS,Swift (10)
    • 회고 (7)
전체 방문자
오늘
어제
전체
태그
  • #kotlin
  • #코틀린
  • #코루틴
  • #compose
  • #ViewModel
  • #안드로이드
  • #알고리즘
  • #Android
  • #Coroutine
  • #우테코
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바