본문 바로가기

dart

(5)
[Flutter] enum을 이용한 ui resouce 관리(3. TextStyle) [1.이미지(Image)] [2.컬러(Color)] [3.텍스트스타일(TextStyle] 3. 텍스트 스타일(TextStyle)을 enum으로 관리하는 방법 Text("hello", style: ResTextStyle.t1.bold()) TextStyle은 flutter ui에서 상당히 많이 사용됩니다. 당연히도 화면에 글지로 표시하여 사용자에게 정보나 의미를 전달해야 되기 때문이죠.(당연한 말이죠? ㅎㅎ) 제가 flutter를 사용하면서 TextStyle을 매번 지정하는 것은 상당히 번거로운 일이었습니다. 코드의 라인수도 늘어날 뿐 아니라 보기도 다른 코드들과 섞이면 흔히 말하는 시인성(코드의 리더빌리티, Readability) 가 떨어지게 되서 불편합니다. 또 코딩하다 text style을 지정할때 ..
[flutter] enum을 이용한 ui resource 관리(2.Color) [1.이미지(Image)] 이미지 관리 [2.컬러(Color)] 색상 관리 [3.텍스트스타일(TextStyle] 텍스트 스타일 관리 2편 컬러 사용법입니다. 이 글을 쓸때 고민이 되었던 부분중 하나가 enum을 사용하여 관리하는 것이 좋을지 기존에 플루터에서 이미 사용하고 있는 방식으로 하는 것이 좋을지 무척 고민이 되었습니다. 이유는 color 부분은 딱히 enum으로 변경한다고 해서 큰 장점이 생긴다고 생각되지 않아서 였는데요. 그래서 간략히 flutter에서 Color 제공하고 있는 방식만 소개하고 넘어갈까 합니다. Color color = ResColors.buttonBlue; 이런 방식은 이미 flutter에서도 이렇게 제공하고 있는 부분이 있죠? 이런 방식을 동일하게 사용하는 것입니다. 아래와..
[Flutter] enum을 이용한 ui resouce 관리(1. image) 플루터(Flutter)는 Dart 로 UI를 개발하기에 무척 편리한 프래임워크이죠. 실제로 플루터가 나오기 전까지 Dart 언어에 대해서 평가가 그리 좋지 않았지만, 플루터 이후에 평가가 완전히 뒤바뀌었죠. 제가 플루터로 어플리케이션을 개발하면서 쌓은 노하우중 하나가 어플리케이션 리소스를 enum으로 관리하는 것인데요. 어떤것인지 소개 드리겠습니다. 플루터로 UI를 꾸밀때, 기본적으로 필요한 요소들이 있는데요. 이미지, 컬러, 텍스트스타일, 레이아웃 등이 있죠. 이런것들을 관리하기 위해서 개발자 분들은 다양한 방법을 사용하고 있을텐데요. 저는 enum을 활용하는 방법을 소개하고자 합니다. 어떻게 enum으로 리소스를 관리하지? 라고 궁금증이 생기신 분들이 있을텐데요. 먼저 제가 왜 enum을 선호하는지 ..
[Flutter] sorting 하기 코딩을 하다보면, 사용자 형식의 데이타 구조를 소팅해서 사용해야 하는 경우가 있습니다. dart 의 List나 map 같은 자료구조에 보면, sort라는 함수가 있는데요. 이를 활용하면 쉽게 구할 수 있습니다. 가장 기본적인 형태는 다음과 같겠죠. Data라는 class가 있는데 이를 timestamp 기준으로 sorting이 필요하다고 가정하여 sample code를 작성해봤습니다. class Data{ int timestamp; // timestamp 로 String s; Data(this.timestamp,this.s); toString(){ return "$timestamp:$s"; } } List datas=[ Data(1,"heee"), Data(4,"yyy"), Data(2,"kkk"), D..
[dart] async programming 에서 순차적으로 결과를 얻는 방법 Dart 의 비동기/동기(async/ sync programming) 표현 방법은 상당히 직관적이면서도 편리한 부분들이 많습니다. 효율적인 동작을 위한 코딩을 하려다 보면 필연적으로 async로 코드 작성이 필요로 하게 되죠. 아래 간단한 주제를 가지고 한번 얘기 해보고자 합니다. A라는 데이타 목록을 가지고 B라는 과정을 거쳐서 C라는 결과를 도출하고 D라는 데이타 목록으로 저장을 하려고 합니다. 1. A의 각 항목들은 B라는 과정을 거칠때 1~2 초 정도 시간이 걸린다. 2. B 과정을 입력 A 데이타에 따라 처리 시간이 달라진다.(1초 또는 2초) 3. D에 저장 되는 순서는 A의 순서와 같아야 한다. 일단 A항목들을 순차적으로 처리하게 되면, A의 개수만큼 시간이 늘어나게 됩니다. 따라서 비동기(..