DART 10

[Algorithm] Dart로 풀어보는 역방향 연결 리스트 만들기

Reverse Linked ListGiven the head of a singly linked list, reverse the list, and return the reversed listInput: head = [1,2,3,4,5]Output: [5,4,3,2,1]Input: head = [1,2]Output: [2,1]Input: head = []Output: []Definition for singly-linked list.class ListNode { int val; ListNode? next; ListNode([this.val = 0, this.next]);} Node란 연결 리스트(Linked List)에서 데이터를 저장하는 기본 단위각 노드는 자신이 가진 데이터와 함께 다음 노..

Dev/Algorithm 2025.08.26

Flutter/Dart 와 함께 클린 아키텍쳐 학습하기

Clean Architecture 는 각 계층의 역할을 정확히 이해하면 유지보수가 쉽고 확장 가능한 앱을 만들 수 있는 설계 방법론로버트 C. 마틴이 제안한 소프트웨어 설계 원칙, 코드를 독립적인 계층으로 분리하여 각 계층이 명확한 책임을 갖도록 하는 구조 핵심 목표- 관심사의 분리 : UI, 비즈니스 로직, 데이터 처리 등 명확히 구분- 의존성 관리 : 안쪽 계층이 바깥쪽 계층에 의존하지 않도록 설계- 테스트 용이성 : 각 계층을 독립적으로 테스트 가능- 유지보수성 : 한 계층의 변경이 다른 계층에 미치는 영향 최소화 3개 주요 계층1. Presentation Layer (표현 계층)- 역할 : 사용자 인터페이스와 상호작용 처리- 구성요소 : Page, Widget, 상태관리(BLoC, Riverpo..

Dev/Flutter 2025.08.21

[Dart] List 와 Queue 의 차이 (강의자료)

ListList 는 순서가 있는 데이터 컬렉션 입니다. 그리고 인덱스를 사용해 요소에 접근해서 데이터를 사용할 수 있습니다. Dart 에서의 리스트는 크기에 제한을 두거나 혹은 제한을 두지 않는 형태로도 만들 수 있습니다. 기본적으로 List 를 생성하는 방법은 크기에 제한을 두지 않습니다.var fruits = ['apple', 'banana'];List = [1, 2, 3, 4, 5]; 위와 같은 형태로 List 를 만들게되면 요소를 추가하거나 삭제하는 등 자유롭게 할 수 있습니다. 이완 다르게 List 의 개수를 제한하게 할 수 있는 방법은 다음과 같습니다.var list = List.filled(5, 0, growable: false);var list = List.generate(5, (i) =>..

Dev/Dart 2025.07.29

[강의자료] Json 무엇이고 Dart 에서 어떻게 사용할까?

JSONJSON(JavaScript Object Notation) 은 데이터를 구조화해서 저장하고 전달히기 위한 텍스트 기반의 데이터 포맷입니다. 즉, 데이터를 구조화해서 특정 형태의 형식으로 전달합니다.사람이 읽고 쓰기 쉽고, 구조화의 예는 다음과 같습니다.{ "name": "HealthyRyu", "age": 30, "isAlive": true} 구조화를 했다는것은 정보가 어떤 의미를 가지는지 명확하게 정해져있고, key-value 형태로 정리되어 있는것을 의미합니다. 특징- 경략 텍스트 포맷- 다양한 언어에서 지원 (Dart, Kotlin, JavaScript, Python 등)- 데이터 구조가 key-value 형태로 표현- String, int, double, boolean, Null, ..

Dev/Flutter 2025.07.25

Dart 에서 Collection Map 을 알아보자

Map은 키와 값을 한쌍으로 저장하는 컬렉션 입니다.MapMapMap 특징키 값은 중복이 없어야 함키 하나에 값 하나만 연결(매핑)키(key) 타입과 값(value) 타입은 같게 혹은 다르게 설정이 가능 기본적인 Map 생성 방법은 다음과 같습니다.var mapDefault = {};var mapDynamic = {}; // Map 으로 추론됨// 명시적으로 타입을 선언한 형태var mapDefault = { "apple" : 1, "banana" : 2};// 암묵적으로 타입을 선언하지 않은 형태var mapDynamic = {"apple" : 1, "banana" : 2}; Map for 문 사용한 탐색 방법기본 MapMap scores = {'Alice': 90, 'Bob': 85, 'Charl..

Dev/Flutter 2025.06.25

[Flutter] Dart, Flutter 설치 오류

Flutter 설치를 후, Flutter 프로젝트가 생성이 되지 않고 다음과 같은 에러가 났습니다. [!] Flutter (Channel stable, 3.29.2, on macOS 14.6 23G80 darwin-arm64, locale ko-KR) ! Warning: `dart` on your path resolves to /opt/homebrew/Cellar/dart/3.7.1/libexec/bin/dart, which is not inside your current Flutter SDK checkout at /Users/choiseewoong/development/flutter. Consider adding /Users/.../development/flutter/bin to the ..

Dev/Flutter 2025.03.19

[Flutter] Json 데이터를 객체로 변환하는 방법

class Human { String name; int age; Human({required this.name, required this.age}); factory Human.fromJson(Map json) : this( name: json['name'], age: json['age'] );} fromJson() 는 JSON 데이터를 객체로 변환하기 위해 만들었습니다. 일반적으로, API 호출이나 파일 읽기 등의 작업에서 데이터를 JSON 형식으로 받는 경우가 많습니다.JSON 데이터는 Dart에서 Map 형태로 표현됩니다.하지만 JSON 데이터만으로는 객체지향 프로그래밍의 장점을 살리기 어렵습니다. 따라서, 이 데이터를 우리가 정의한 클래스 객체로 변환해야 할 필요가 있습니다..

Dev/Flutter 2024.12.03

Flutter - ../../../.pub-cache/hosted/pub.dev/watcher-1.0.2/lib/src/constructable_file_system_event.dart:7:57: Error: The class 'FileSystemEvent' can't be extended, implemented, or mixed in outside of its library because it's a sealed class.

오류 ../../../.pub-cache/hosted/pub.dev/watcher-1.0.2/lib/src/constructable_file_system_event.dart:7:57: Error: The class 'FileSystemEvent' can't be extended, implemented, or mixed in outside of its library because it's a sealed class. Dart 을 업그레이드 해주니 해결 dart pub upgrade 해결 : https://github.com/dart-lang/sdk/issues/52570 Watcher fails with `class 'FileSystemEvent' can't be extended`, for dart, no..

Dev/Error 2023.11.24