분류 전체보기

    안드로이드 재난문자 차단 안 됨 해결 방법 (공기계)

    공기계 사용시 재난문자 기능을 꺼도 계속 올 경우비행기 모드 설정 후 > 와이파이 사용하여 임시방편으로 해결가능

    <Why A.I. Isn’t Going to Make Art> By Ted Chiang

    Why A.I. Isn’t Going to Make ArtBy Ted ChiangAugust 31, 2024In 1953, Roald Dahl published “The Great Automatic Grammatizator,” a short story about an electrical engineer who secretly desires to be a writer. One day, after completing construction of the world’s fastest calculating machine, the engineer realizes that “English grammar is governed by rules that are almost mathematical in their stric..

    [Flutter] How to make Stopwatch running in the background on Flutter

    1. 문제 상황Flutter로 운동 모드를 개발하는 중, 스탑워치 기능을 구현하면서 한 가지 중요한 문제가 발생했습니다. 스탑워치가 화면 이동이나 앱이 백그라운드로 전환되었을 때에도 계속 작동해야 했지만, 기본적인 Stopwatch 클래스는 이 요구 사항을 충족하지 못했습니다. 특히, 앱이 백그라운드로 전환되면 스탑워치가 멈추고, 다시 포그라운드로 돌아왔을 때 경과 시간이 정확히 유지되지 않는 문제가 있었습니다.2. 기존 코드와의 문제점기존의 Stopwatch 클래스는 앱이 포그라운드에 있을 때는 잘 작동했지만, 백그라운드로 전환되면 상태를 저장하거나 복원할 수 있는 방법이 제공되지 않았습니다. 이는 다음과 같은 문제를 야기했습니다:앱이 백그라운드로 전환되면: 스탑워치의 시간이 정지되어, 다시 포그라운드..

    [Flutter] 포그라운드(Foreground)와 백그라운드(Background) 상태 관리 방법

    1. 서론모바일 애플리케이션 개발에서 포그라운드와 백그라운드 상태 관리는 애플리케이션의 성능 및 사용자 경험에 직접적인 영향을 미친다. Flutter와 같은 프레임워크를 사용하여 애플리케이션을 개발할 때, 애플리케이션이 포그라운드에서 백그라운드로 전환되거나 그 반대의 경우, 적절한 처리를 통해 안정적인 동작을 유지할 필요가 있다. 본 문서에서는 포그라운드와 백그라운드 상태의 정의와 Flutter에서 이들을 관리하는 방법을 제시하고, 실제 구현 예시를 통해 이를 설명하고자 한다.2. 포그라운드(Foreground)와 백그라운드(Background) 상태의 차이점포그라운드(Foreground) 상태: 포그라운드 상태란 애플리케이션이 사용자의 인터페이스 상에 활성화되어 사용자와 상호작용이 가능한 상태를 의미한..

    Flutter 상태 관리: Provider에서 Riverpod으로 마이그레이션하며 얻은 이점과 문제 해결 경험

    1. 개요Flutter에서 상태 관리를 위해 널리 사용되는 두 가지 라이브러리는 Provider와 Riverpod입니다. 이번 포스팅에서는 기존에 사용하던 Provider를 Riverpod으로 마이그레이션하면서 얻은 이점, 두 상태 관리 라이브러리의 주요 차이점, 그리고 마이그레이션 과정에서 직면했던 문제와 해결 과정을 공유하고자 합니다.2. Provider와 Riverpod의 차이점의존성 주입과 범위:Provider는 위젯 트리에 의존성을 주입하여 하위 위젯에서 데이터를 공유할 수 있게 해줍니다. 하지만 복잡한 애플리케이션에서는 의존성의 범위(scope)를 관리하기 어려울 수 있습니다.반면, Riverpod은 ProviderContainer를 사용하여 보다 명확하게 의존성의 범위를 지정할 수 있으며, ..

    Flutter DateSelector & showDatePicker: 효과적인 날짜 선택 구현하기

    Flutter 앱에서 사용되는 showDatePicker 의 효과적인 사용방법에 대해 이야기해보려고 합니다.아래 위젯은 사용자가 일간, 주간, 월간 데이터를 쉽게 탐색할 수 있게 해주는 중요한 UI 요소입니다.DateSelector 위젯 소개DateSelector는 다음과 같은 주요 기능을 제공합니다:현재 선택된 날짜 표시날짜 증가/감소 버튼달력을 통한 날짜 선택일간/주간/월간 모드 지원이제 각 부분을 자세히 살펴보겠습니다.주요 구성 요소1. 상태 관리class _DateSelectorState extends State { late DateTime _selectedDate; late dynamic _periodType; @override void initState() { super.initS..

    Flutter 아키텍처와 Dart 언어의 크로스 플랫폼 원리

    Flutter는 단일 코드베이스로 iOS와 Android 플랫폼에서 애플리케이션을 개발할 수 있는 강력한 프레임워크입니다. 이 포스팅에서는 Flutter의 아키텍처와 Dart 언어가 어떻게 iOS와 Android에서 작동하는지에 대해 알아보겠습니다. 1. Flutter의 아키텍처 Flutter의 아키텍처는 세 가지 주요 구성 요소로 나눌 수 있습니다: Flutter 엔진, Flutter 프레임워크, 그리고 Dart 언어입니다. Flutter 엔진 (Flutter Engine)  • Flutter 엔진은 C++로 작성되었으며, 애플리케이션의 렌더링, 스케줄링, 그리고 네이티브 코드와의 상호작용을 처리합니다. • 이 엔진은 Skia라는 고성능 2D 그래픽 라이브러리를 사용하여 UI를 그리며, 플랫폼에 종속되..

    [Java] Method Overloading and Overloading in Java: Differences and Examples

    자바 프로그래밍에서 메서드 오버로딩과 오버라이딩은 객체지향 프로그래밍의 중요한 개념 중 하나입니다. 이 두 가지 개념은 메서드의 다형성을 구현하는 방법으로, 코드의 재사용성과 유연성을 높이는 데 기여합니다. 이번 포스팅에서는 각 개념을 설명하고, 실제 예시 코드를 통해 그 작동 원리를 살펴보겠습니다.1. 메서드 오버로딩 (Method Overloading)메서드 오버로딩은 같은 이름의 메서드를 여러 개 정의하는 것을 말합니다. 이때 메서드들은 매개변수의 타입, 개수, 순서가 서로 달라야 합니다. 메서드 오버로딩은 컴파일러가 전달되는 인자를 기반으로 어떤 메서드를 호출할지 결정합니다.예시 코드class Parent { void print(int x) { System.out.println(..

    [Flutter] 위젯 생명주기 이해하기: 타이머 관련 오류 해결 사례

    1. 소개Flutter 앱 개발에서 위젯의 생명주기를 이해하는 것은 매우 중요합니다. 이는 앱의 성능을 최적화하고, 메모리 누수를 방지하며, 예기치 않은 오류를 피하는 데 핵심적인 역할을 합니다. 이 포스트에서는 실제 스톱워치 앱 개발 중 발생한 타이머 관련 오류를 통해 Flutter 위젯의 생명주기를 심도 있게 살펴보겠습니다.2. Flutter 위젯 생명주기 개요Flutter에는 두 가지 주요 위젯 유형이 있습니다: StatelessWidget과 StatefulWidget. StatefulWidget의 경우, 다음과 같은 주요 생명주기 메서드가 있습니다:initState(): 위젯이 생성될 때 호출됩니다.build(): 위젯을 렌더링할 때 호출됩니다.dispose(): 위젯이 제거될 때 호출됩니다.3...

    [Flutter] How to solve build errors

    빌드 에러가 발생하는 상황빌드 에러는 여러 상황에서 발생할 수 있다:디버깅 모드로 빌드시Xcode에서 Runner/AppDelegate 파일에서 'No such module 'Flutter' 에러 발생Flutter SDK를 다운그레이드 또는 업그레이드한 경우pubspec.yaml 파일을 수정한 후 바로 빌드할 때해결 방법프로젝트 루트 디렉터리에서:lib 폴더와 pubspec.yaml 파일이 있는 위치로 이동터미널에 다음 명령어를 입력:rm -rf pubspec.lockflutter pub cache cleanflutter cleanflutter pub getiOS 폴더에서:cd ios 명령어로 이동다음 명령어를 실행:rm -rf Podfile.lockrm -rf Podsrm -rf ~/Library/De..