전체 글 95

[flutter] 겹치는 프로그래스바 - 값이 여러개인 프로그래스바 만들기

값이 여러개가 존재하는 프로그래스 바를 만들어야 했습니다. 다만 가장 작은 값이 가장 상단에 위치하여야 했고 패키지를 사용할 수 없는 상황이었기 때문에 아래와 같이 구현하였습니다.  Container( height: 10, width: double.infinity, child: Stack( children: [ // 기본 배경 Container( decoration: BoxDecoration( color: Colors.grey[200], borderRadius: BorderRadius.circular(5), ), ), ..._buildSortedProgressIndicators(count), // 전체..

develop/Flutter 2024.11.26

Cursor Ai는 flutter 개발에도 효과적일까? 간단 사용 후기

결론 먼저 말하자면, 70정도 만족합니다.  여러 ai 개발툴을 사용했지만, 생각 만큼 큰 도움을 받지 못했는데요커서는 ai가 제 생각만큼 따라오는 것 같습니다.  chat gpt나 다른 경우에도 여러 스크립트를 짜서 요청을 했는데도 오류가 발생할때가 많이 있었습니다.  Coding Conventions 을 이해하고 코드 생성시 동일한 Coding Conventions으로 생성합니다.  이 부분이 가장 좋았던 부분이네요.  예를 들어 chat gpt에서 요청 후 코드를 사용하려면 네이밍, 화면 이동 방식, 색상 사용방식 등다 다르기때문에 코드를 ai가 생성해도 수정해야 했었습니다. 그 빈도는 10줄 중 4-5줄 정도는 수정 해야만 했던 수준이고cursor 는 10줄 중 1-2 줄 혹은 수정하지 않아도 되..

develop 2024.11.25

코틀린에서 it 키워드

코틀린의 it 키워드는 람다 표현식에서 단일 매개변수를 암시적으로 참조할 때 사용되는데,flutter 개발하면서 코드 읽을때 조금 당양스러울 때가 있습니다.it 키워드의 특징단일 매개변수의 암시적 참조람다에서 단일 매개변수만 사용하는 경우, 별도의 매개변수 이름을 정의하지 않아도 됩니다.코틀린이 자동으로 해당 매개변수를 it로 참조합니다.코드 간결화불필요한 매개변수 정의를 생략할 수 있어 코드를 간결하게 작성할 수 있습니다.기본 제공 키워드별도의 선언 없이 사용할 수 있으며, 단일 매개변수를 요구하는 표준 라이브러리 함수에서 자주 사용됩니다.it 키워드의 사용법1. 기본 예제it 키워드는 람다 표현식에서 단일 매개변수를 참조할 때 자동으로 사용할 수 있습니다.fun main() { val numbe..

develop 2024.11.24

코틀린 Kotlin 기본 문법 - flutter 개발할때 알아두면 좋은 기본 문법

1. 변수 선언코틀린에서는 변수를 선언할 때 val과 var 키워드를 사용합니다.val: 한 번 할당하면 변경 불가var: 언제든 값을 변경 가능val immutableVariable: Int = 10 // 변경 불가var mutableVariable: Int = 20 // 변경 가능2. 데이터 타입코틀린은 다양한 다른 언어와 동일한 타입을 제공합니다.Int: 정수Double: 실수Boolean: 불리언String: 문자열val number: Int = 42val pi: Double = 3.14val isKotlinFun: Boolean = trueval greeting: String = "안녕하세요"3. 함수 정의함수는 fun 키워드로 정의하며,매개변수와 반환 타입을 지정할 수 있습니다.fun add(..

develop 2024.11.23

flutter 앱 아이콘 동적으로 변경하기 (시즌 앱 아이콘 iOS, AOS)

우선 시작하기 전에 여름용 겨울용 추석용으로 앱 아이콘을 적용할 거라는 좋지 못한 소리를 들었다. 기획.... 그래 앱 아이콘이 그렇게 중요합니까ㅏㅏㅏ 왜 사시사철 다해버리지 흥 하여튼, 노비는 일을 해야지 우선 구조를 설명하자면, flutter 코드에서 날짜를 받아와서 아이콘을 변경할 날짜와 해당 이미지 이름을 채널을 통해 전달한다.  그 후 네이티브 소스에서 OS에 맞게 수정하면 된다.  1. iOS 변경해야 하는 파일은 총 2개- info.plist- AppDelegate 이미지는 기본이미지, 변경될 이미지를 Runner 폴더 아래 위치시키기+ 아이콘 이름은 @2x, @3x 등 붙여주기 아이폰@2x : 120*120@3x : 180*180 아이패드 ipad@2x : 152*152ipadPro@2x ..

develop 2024.11.22

Flutter 앱아이콘 동적으로 변경하기 - 안드로이드

우선 이 글을 쓰는 목적은3일간 스트레스 받았던 기록을 남겨야겠어서 입니다.  여름, 겨울, 추석 등등 이벤트 용으로 앱 아이콘을 변경해달라는 요청을 받았습니다.  iOS는 무사히 변경했고 테스트도 다 통과했는데, AOS만!!! 안되었단 말이죠? 우선 제가 참고한 레퍼런스는 아래와 같습니다.  https://callmeryan.medium.com/changing-the-android-app-icon-programmatically-c913550330d Changing the Android App Icon ProgrammaticallyThis solution has been circulating for years. Although some users have reported issues on certain ..

develop 2024.11.21

swift에서 obj-c로 변경할 때

c 언어와 많이 닮은 옵젝씨는 가독성이 많이 떨어지는 느낌이다. 순전히 개인적인 생각 뭐가되었든 레거시 중에는 옵젝씨로 되어 있는 코드가 많고flutter 개발자의 경우 보통은 기존 iOS, AOS 개발자 들이지만기본 베이스가 없는 개발자들도 있으니, == 나 swift로 구글링 되면 찾아서 바꿔야지 뭐 https://www.codeconvert.ai/swift-to-objective_c-converter CodeConvert AI - Convert code with a click of a buttonExamples The following are examples of code conversion from Swift to Objective_C using this converter. Note that yo..

develop 2024.11.20

Dart list.from .of 리스트를 복사하여 사용하는 함수

List.from 함수는 기존 리스트를 복사하여 새로운 리스트를 생성할 때 사용 되는데,이 함수는 기존 리스트를 얕은 복사(shallow copy)하거나필터링 또는 변환을 하여 새로운 리스트를 만들 수 있음기본 문법List.from( Iterable elements, // 원본 요소들 (필수) {bool growable = true} // 새 리스트의 크기 변경 가능 여부 (기본값: true))elements: 복사할 원본 Iterable. 일반적으로 리스트를 전달growable: 새 리스트가 가변적(true)인지 고정적(false)인지 결정사용 사례1. 리스트 복사void main() { var original = [1, 2, 3]; var copied = List.from(original); ..

develop 2024.11.19

Dart에서 Currying 사용하기 - 커링 함수사용하여 코드 질 높이기

Currying 함수란?Currying은 여러 개의 인자를 받는 함수(multi-argument function)를하나의 인자를 받는 함수들의 연속으로 변환하는 프로그래밍 기법즉, 하나의 함수가 한 번에 모든 인자를 받는 대신,각각의 인자를 별도로 받아 새로운 함수를 반환하는 방식으로 동작한다.이 방식은 복잡한 함수 호출을 간결하게 표현하고,특정 인자 값을 고정(fixed)하여 재사용성을 높이는 데 유용커링은 함수형 프로그래밍에서 자주 사용하는 기법으로,Dart에서도 클로저와 함수 반환을 통해 구현할 수 있어 활용도가 높음Currying의 기본 개념// 일반적인 함수int add(int a, int b) { return a + b;}// Currying 방식Function addCurry(int a) ..

develop/Flutter 2024.11.18

Dart의 고오급 함수를 적절히 사용하여 코드 퀄리티 높이기

1. 고차 함수 (Higher-order Functions)고차 함수는 다른 함수를 인자로 받거나, 함수를 반환하는 함수임Dart에서는 고차 함수를 사용하여 코드를 더욱 유연하고 재사용 가능하게 만들 수 있음1.1 함수 전달void executeFunction(String message, Function(String) callback) { callback(message);}void printMessage(String message) { print(message);}void main() { executeFunction("Hello, Dart!", printMessage); // Hello, Dart!}1.2 함수 반환Function makeMultiplier(int multiplier) { retu..

develop/Flutter 2024.11.17