반응형

 

안녕하세요.

 

git을 사용하다보면, .gitignore 를 이용하여 파일을 무시하도록 하는 경우가 많은데요.

간혹 git에는 파일을 올려 놓아야하는데, 내용은 로컬에서 변경해서 사용해야 하는 경우들이 있습니다.

 

대표적으로, .env 같은 파일이죠.

 

보통은 .env는 .gitignore에 추가해서 git에는 파일 자체를 올려놓지 않습니다.

 

그러나 flutter의 dotenv 같은 package를 사용한다거나 하는 경우,

.env를 asset으로 올려놓고 사용해야 합니다. 물론 보안상 문제가 있습니다.

그래서 .env를 사용하지 말아야 하나 어쩔수 없는 경우들이 있겠죠?

 

이걸 논하고자 하는것이 아니라 넘어가도록 하고요.

이런경우, git에 더미파일로 .env파일을 만들어서 올려놔야 git action같은 자동화 빌드를 할때 에러 없이 무사히 통화 하게 됩니다.

 

.env 파일에 아래와 같이 더미로 내용을 채워서 올려놓게 되죠.


SUPABASE_URL = "my url"
SUPABASE_ANON = " my key"

 

하지만 이미 git에 파일이 올라가 있기 때문에, 로컬에서 수정하게되면 항상 changed로 표시가 되게 됩니다.

만약 실수해서 commit을 하게 되면, 실제로 사용하는 url과 key가 git에 노출되어버리게 되죠.

 

git update-index --skip-worktree

이럴때 사용할 수 있는 것이 git update-index --skip-worktree 입니다.

$ git update-index --skip-worktree <file path>
즉,
$ git update-index --skip-worktree .env

 

이렇게 해놓으면 git에서 해당 파일에 대한 수정 사항을 추적하지 않습니다.

이를 되돌리려면 --no-skip-worktree 옵션을 사용하면 됩니다.

 

 

 

그럼

해피코딩!!!

반응형


스타필드 노티드 다녀왔어요.

도넛 좀 사고~~
맛있게 먹겠습니당.

'일상' 카테고리의 다른 글

영어공부  (0) 2023.09.25
가고싶은 여행지 링크  (0) 2014.07.17
근대 과학의 정모  (0) 2010.06.05
돌고있는 방향이 어느쪽인가요?  (0) 2010.06.04
아이언맨 슈트 제작자 - youTube  (0) 2010.06.01
반응형

 

소프트웨어 설계를 하다보면 디자인툴이 필요할때가 있습니다.

저도 설계를 진행하거나 아이디어 도출 단계, 그리고 시나리오 분석할때 UML을 자주 사용하는 편인데요.

UML 툴중에 GUI를 이용한 툴을 많이들 사용할겁니다.

 

저는 Plant UML을 자주 사용하는 편입니다.

 

텍스트로 입력해서 UML을 그려주니까 uml 을 그릴떄 선이나 위치 모양 등에 대해서 좀 신경을 안쓰고 타이핑(텍스트) 되어있는 이름과 플로우를 보면서 코딩되면 어떤 모양일지 생각해보게 되어서 좋은것 같습니다.

 

물론 단점도 있죠.. 텍스트로 입력하다보니 PlantUML 문법을 좀 알아야 하고, 마음에 드는 모양을 만들기가 좀 힘들긴 합니다.

그래서 보고용으로는 좀 별로인듯 한데,  근데 또 이것이 보고용 자료 만들때도 마음은 편해요.

Plant UML로 작성하겠다고 하고 진행하면, 나중에 아웃풋(결과물)에 대해서 "왜 이거 이렇게 그렸어? 모양이 맘에 안드네" 이런 말을 않고 넘어가게 되는 것 같아요... Plant UML은 원래 안되... 지가(프로그램이) 알아서 해줘.. 라는 인식? 때문에 그런듯 합니다.

 

 

아무튼 제가 자주 사용하고 있던 opensource로 운영되는Plant UML 에디터 사이트를 알려드겠습니다.

그리고 간단히 서버를 로컬에서 실행하는 것도 적어보겠습니다.

 

이 사이트가 열악한것인지 네트워크 연결이 안좋은것인지는 모르겠으나 uml을 작성하다 보면 종종 랙이 걸리거나 반응이 느릴때가 있어서 불편해서 로컬에서 사용하기 시작했습니다.

 

PlantUML 

PlantUML 에 대한 문법과 사용 가이드가 있는 사이트 입니다.

https://plantuml.com/ko/

 

간단한 텍스트를 이용하여 멋진 UML 다이어그램을 만들 수 있는 오픈소스 도구입니다.

간단한 텍스트를 이용하여 쉽게 멋진 UML 다이어그램을 만들 수 있으며, 다양한 종류의 다이어그램을 제공하고 있습니다. 또한, 생성된 다이어그램을 PNG, LaTeX, EPS, SVG 와 같은 이미지로 변환할 수

plantuml.com

 

Plant UML 에디터

제가 자주 사용하는 Plant UML 에디터는 여기에 있습니다.

history도 저장이 되어서 간단한 UML을 작성할때 사용합니다.

https://plantuml-editor.kkeisuke.dev/

 

PlantUML Editor

 

plantuml-editor.kkeisuke.dev

 

 

github

https://github.com/kkeisuke/plantuml-editor2

 

GitHub - kkeisuke/plantuml-editor2: PlantUML online demo client / Vue3 in Vite

PlantUML online demo client / Vue3 in Vite. Contribute to kkeisuke/plantuml-editor2 development by creating an account on GitHub.

github.com

github에도 소스코드 받아서 실행하는 법과 docker 이용하는 법이 잘 적혀있습니다.

저는 소스를 받아서 실행해 보려고 했는데 실패 했습니다. 그리고 docker를 이용해서 성공 했고요.

그래서 plantuml editor를 사용하는 것이 목적이라면 docker를 이용하는 방법을 추천 드립니다.

 

 

로컬에서 실행하는 방법 *** 핵심 ***

 

제가 테스트한 환경과 절차를 정리하면 다음과 같습니다.

 

PC: Macbook Air M1 

OS: MacOS

절차 : Docker 설치 -> colima 설치 -> colima 실행 -> docker image download -> docker image 실행

~/github $ brew install docker
~/github $ brew install colima


$colima start 

~/github $ colima start
INFO[0001] starting colima                              
INFO[0001] runtime: docker                              
INFO[0002] creating and starting ...                     context=vm
> Terminal is not available, proceeding without opening an editor
> Starting the instance "colima" with VM driver "qemu"
> QEMU binary "/opt/homebrew/bin/qemu-system-aarch64" seems properly signed with the "com.apple.security.hypervisor" entitlement
INFO[0097] provisioning ...                              context=docker
INFO[0097] starting ...                                  context=docker
INFO[0099] done                  


~/github $ Docker ps -a

///// plant uml 서버 image download
~/github $ docker pull plantuml/plantuml-server:jetty

///// plant uml 서버 실행
~/github $ docker run -d -p 4000:8080 plantuml/plantuml-server:jetty

 

docker desktop 말고 colima로 docker 실행 환경을 만들었고 그리고 나서 plantuml 서버 이미지를 다운로드 하고 실행 했습니다.

 

 

PlantUML 실행 화면

 

 

다들 설계도 잘하는 개발자가 되어 봐요~~

 

## 해피 코딩

 

반응형

요즘 프라모델 도색 하는 것에 빠져 지내다 보니, 이와 관련 조형등에 대한 내용들도 접하게 되네요.

 

[펌] https://kin.naver.com/qna/detail.nhn?d1id=3&dirId=31204&docId=56359878&qb=7Iuc67CU7Yi0IOugiOynhA==&enc=utf8§ion=kin&rank=1&search_sort=0&spq=0&pid=T00%2B3wpySDCsstjZBCossssssXo-359426&sid=aT%2BcpKWcJRG1eWcR14CFIQ%3D%3D

 

 

에폭시퍼티라는 건프라 도색 이나 커스터마이징할떄 가끔 들어봤던 말이었는데요.

영상으로 만 종종 봤을뿐 어떤 특징들이 있는지는 몰랐습니다.

 

어떤 분이 잘 정리 해주셨길래 퍼왔습니다.

 

 

시바툴

 

레진 퍼티는 에폭시와 같이 주재와 경화제를 섞어서 반죽해서 사용하는 조형재료입니다. 

에폭시 처럼 상온에서 자연경화 하구요. 에폭시 보다 끈적임이 심하기 때문에 주로

굳힌후에 깍아내는 식으로 조형을 하게 됩니다. 

스컬피에 비해서는 에폭시와 시바툴의 강도는비교적 좋다고 볼수 있죠. 

다만 에폭시 퍼티나 시바툴에도 종류가 다양하기 때문에 조금씩 차이는 있다고 보시면 됩니다. 

그리고 이러한 조형용 재료들은 밀도가 꽤높은 편에 속하기 때문에 부피에 비해 어느정도 무게가 있습니다. 

보통의 플라스틱에 비해서는 무거운 편이라고 생각하시면 될겁니다. 

제를 할때는 주로 액상 레진(폴리우레탄)을 많이 사용합니다. 

레진의 경우 소프트 캐스팅을 할수 있기 때문에 비교적 형틀 제작비용이 적게 든다는 점이 장점이죠. 

소프트 캐스팅에 사용하는 형틀 재료는 주로 실리콘 종류입니다. 형틀이 부드럽기 때문에

원형의 몰드나 디테일이 뭉개짐없이 복제하는 것이 가능하죠. 실리콘 퍼티나

액상 실리콘을 이용하며, 복제 작업에 따라 다르긴 하지만 하나의 형틀에서 대략 20~30타정도 

가 원형을 크게 손상시키지 않고 복제할수 있는 적정 수량일겁니다. 그리고 이러한 방식은

레진킷을 제작하는 방법과도 동일합니다. 모형용 에폭시 퍼티의 공업용 버전이라고 보면 됩니다.

물리적 성질은 건조전에 에폭시 퍼티보다 더 무른 편입니다. 하지만 건조되고 나면 성질은 거의 비슷합니다.

(시바툴이 조금 더 부드러운 것 같습니다.) 주로 자동차 모형의 모크업등에 사용되는 재료지만

언젠가부터 모델러들의 손에서 놀아나기 시작한 재료로 원형 제작시에 사용되곤 합니다.

(어차피 자동차의 모크업도 모형을 만드는 작업과 비슷합니다. 축소모형이라는 측면과

작업 공정으로 보면 완전히 같은 작업입니다.)

 


에폭시퍼티 

주제와 경화제를 섞어서 경화시키면 레진같은 플라스틱 계열의 딱딱한 물질로 변하게 되는 제품이다. 캐릭터 인형같은 빚어서 만들어야 하는 경우에 사용하기 좋은 제품입니다. 건조되기 전의 물리적 성질은 찰흙보다 무르지만 굳고 나면 일반적인 레진 덩어리와 비슷합니다. 플라스틱퍼티에 비하면 수축은 전혀 없는편입니다. 하지만 약간의 수축은 있지만 한번에 커다란 덩어리를 만들고 건조시키는 정도가 아니라면 느끼지 못할 정도입니다.

 

 

 

핸디코트

헤라를 이용하여 퍼티작업을 합니다. 평평하게 또는 귀하만의 문양을 만드는거죠..
그런다음 1~2일 경과 후 에버그린을 칠하신다음 클리어우드로 마무리 하면 됩니다.

헤라로 퍼티작업을 잘 해야 하는데 이게 그리 만만한 작업이 아니거든요.
일단 핸드를 덜어낸 다음 물을 조금씩 혼합하여 반죽하여 미장하듯 퍼티작업을 하면 됩니다.
이건 어떻게 말로.. 글로 표현하기가 애매모호한 것으로 님께서 하시면서 터득해야 할 듯 하네요.

에버그린이나 클리어우드는 기냥 물을 조금씩 넣어가면서 뻑뻑하지 않게 칠하면 됩니다.

 

 

 

소프트 캐스팅과는 반대로 하드 캐스팅이라는 것도 있는데, 이것은 금형을 사용하는 복제 방식으로 

대부분의 인젝션 프라모델을 복제하는데 사용하는 방식입니다.

형틀의 재질이 금속이기 때문에 내구도가 높아서 대량 생산이 가능한 방식이죠. 

다만 금형 자체의 제작비용이 상당히 고가이기 때문에 취미로 제작하기는 힘든 방법입니다

 

 

 

포멕스랑 아이소핑크는 도저히 모르겠습니다...

 

'일상 > 키덜트 월드' 카테고리의 다른 글

그리핀 라이더  (0) 2021.06.01
Pinocchio (피노키오)  (0) 2021.06.01
Dwaf mercenary (드워프 같은 용병 아저씨)  (0) 2021.06.01
트롤 잡고 담배 태우는 드워프  (0) 2021.06.01
바바리안  (0) 2021.06.01
반응형

Pocket A

 
 
안녕하세요. 2024년 용띠해가 되었네요.
많은 일들이 잘 되길 빕니다.~
 

 
스터디는 원래 실전이 가장 좋은 방법이라고 하죠?, 저도 Flutter 스터디를 위해서 2가지 프로젝트를 예전부터 진행했었습니다.
하나는 게임을 한번 만들어보는 것이고, 하나는 집에서 가족들과 사용할 수 있는 애플리케이션을 만들어보는 거였는데요.
 
그중 하나인 Pocket A 라는 애플리케이션입니다.
https://play.google.com/store/apps/details?id=com.rjlife.pocketa

 

포켓 - Google Play 앱

할일을 기록하고 실천해보세요. 나의 루틴을 관리하고 , Chat GPT, Dall-E 로 멋진 라이프 스타일을 만들어 보세요.

play.google.com

 
 
 
 
이 애플리케이션은 "아내가 집에서 입는 옷을 어떻게 하면 쉽게 관리하고 매칭해서 입을까?"라는 질문에서 시작했습니다.

처음 아이디어가 나왔을때는, "사진찍어서 바로 올리고", "계절별 매칭도 해주고", "집에 있는 옷장이 한눈에 보이고" 듣기에 그럴듯해보이는 것 같았습니다. 프로젝트를 구상하기 시작한지 몇일 지나자 초기의 옷 정리를 위한 앱의 정체성과 니즈에 대해서 복잡한 고민을 하기 시작했습니다. "사진을 찍어봤는데 별로 안이쁜데?", "옷 매칭을 하려면 옷을 잘 찍어놔야하고 또 배경도 없애고, 모델도 필요한거 아닌가?", "옷을 종류별 계절별로 나눠보니 몇벌 안나오네?" 등등등... 뭔가 상상과 현실이 안맞는 그런 상황에서의 고민이었죠.

 

그러다 그 시점에 Chat GPT가 뜨면서 Chat GPT 앱이 되어버렸습니다. (^^;;  역시 제대로 된 기획이 없으니 산으로 가는.. 쿨럭)

 

그래서 이런 애플리케이션이 되었습니다. 
 

 
Dali-E 같은 경우는 원래 영어로 입력해야 이미지를 만들어주는데, 좀 불편해서 한글을 영어로 자동 번역해서 처리되도록 해봤습니다.
 
그리고 2024년을 기념하여, 새해 계획들을 많이 세우는데 사실 실천이 어렵죠... 
와이프의 생활패턴을 보니 계획 실천하는데 매일 Todo를 적고 하나씩 해나가는 것이 좀 인상적이었습니다.
(본인은 잊어먹지 않고 하려고 적는다고 한다고 하는데, 나이가 들고 보니 무척 좋은 습관인 것 같네요.)
 
 

한동안 따로 개선하지 않다가 드디어 할 일?? 이 생겼습니다. ^^
아무튼 저는 개발자이니 이것을 개발자스럽게 해결해 보고자 앱에 TODO 기능을 넣었습니다.
 
짜잔.
 

 
 
 

 
날짜 별로 할 일을 추가할 수 있습니다.
운동이나 약 먹기 같은 매일 하고자 하는 루틴의 경우에는 매일 할 일을 체크 해두면 매일 해야 할 일로 나옵니다.
그리고 할 일을 일정시간 동안 투자 해야 하는 경우라면 간혹 타이머가 필요한데, 그래서 타이머를 이렇게 만들어 놨습니다.
 
 
이렇게 해서 간단한 할 일 기능이 추가되었답니다.
+ 사용하다 보니, 이전할 일들 중에서 아직 완료하지 못한 것들을 어떻게 표현하면 좋을까? 고민하고 있는데 했는데 무작정 이전에 완료 안된 일들을 남겨 놓는 것도 아닌 것 같고, 이 부분은 좀 아이디어를 찾아봐야 할 것 같습니다.
 
 
 
 
#개발 이야기
 
Framework :  Flutter 3.16.0
주요 pub:

get: ^4.6.5
shared_preferences: ^2.0.15
intl: ^0.18.1
http: ^0.13.5
flutter_native_splash: ^2.2.19
flex_color_scheme: ^7.3.1
#animated_text_kit: 4.2.2
animated_text_kit:
git:
url: https://github.com/karzia/Animated-Text-Kit.git
package_info_plus: ^3.0.2
json_store: ^2.0.1
permission_handler: ^11.1.0
path_provider: ^2.0.14
upgrader: ^6.2.0
photo_view: ^0.14.0
flutter_staggered_grid_view: ^0.7.0
share_plus: ^7.2.1
equatable: ^2.0.5
flutter_bloc: ^8.1.2
image_picker: ^0.8.6+1
carousel_slider: ^4.2.1
url_launcher: ^6.1.10
# for objectbox (Database)
objectbox: ^2.3.1
objectbox_flutter_libs: any

easy_date_timeline: ^1.0.2
gap: ^3.0.1


flutter_speed_dial: ^3.0.5

 
 
animated_text_kit : intro(splash) 쪽이 너무 밋밋하여 뭔가 포인트를 주기 위해서 이용했습니다.
 - 생각보다 이쁘게 나와서 chat에서 waiting시에... 에 대한 animation에도 사용했는데요. 높이 조절이 잘 안 되고 너무 튀어서 customizing을 따로 했습니다.
 
objectbox: todo를 추가하다 보니 database가 필요해져서 nosql로 간단하게 사용할 것을 찾다가 이를 이용했습니다.
 - 설명에는 경량이고 추후 cloud sync 연동도 가능하다고 되어있어서 사용해 보게 되었습니다.
 
package_info_plus: package version 정보를 보여주기 위해서 사용
flex_color_scheme: 유튜브에서 theme을 쉽게 사용할 수 있다고 하여 한번 사용해 봤습니다.
 - 생각보다 이쁘게 안 나와서 실망 ㅠ_ㅠ , 역시 디자이너의 손길이 필요합니다.
upgrader: 스토어에 최신 버전이 있는지를 확인할 수 있는 기능이 필요해서 사용하였습니다.
 -  기능상으로 보면, google play store가 아니라 개인 서버에 package 정보를 올려서 사용할 수 도 있다고 되어있습니다.
 -  나중에 store에 올리지 않고 webstite에서 관리를 하려면 이를 이용하는 것도 좋은 방법일 것 같더군요.
 
 
 
해피코딩!!

반응형

안녕하세요.

 

SingleChildScrollView 를 이용해서 아이템들을 스크롤 하도록 ui를 구성하려고 할때 간혹 ListView 나 grid view 같은 항목을 추가 해야 할 때가 있습니다.

 

ListView나 GridView 같은 경우에는 크기를 지정해야 하는데, 이렇게 되면 2중으로 scroll되게 됩니다.

(물론 이런 UI를 원하는 경우도 있지만, 때로는 전체가 하나의 view 처럼 scroll되기를 기대하는 경우도 있습니다.)

 

하나의 View 처럼 스크롤 되게 하려면 ListView의 속성을 변경해줘야 합니다.

 

[Widget layout]


Scaffold
 - SingleChildScrollView


     - Column


         - CalendarTimeline

         - ListView

  - BottomNavigationBar



 

 

ListView를 container로 감싸고, size를 width만 적용했습니다.

Container(
    width: double.maxFinite,
    child: ListView(
      primary: false,
      shrinkWrap: true,
        children:todoItems(controller.todos)
    ),
  ),

 

그리고 나서 ListView에 primary 를 false 로 적용합니다.

shrinkWrap을 true로 적용합니다.

 

shrinkWrap은 item 개수만큼 크기를 적용해주는 기능입니다.

그래서 item 개수가 작은때는 좁게, 많은때는 넓게 적용됩니다.

 

 

SingleChildScrollView(
        child: Column(
          children: [
            Gap(W(30)),
            Stack(
              children: [
                CalendarTimeline(
                  initialDate: selectedDay,
                  firstDate: DateTime(2022, 1, 15),
                  lastDate: DateTime(today.year,today.month,today.day+15),
                  onDateSelected: (date){
                    dprint(date);
                    setState(() {
                      selectedDay = date;
                      controller.setDate(date);
                    });

                  },
                  leftMargin: 20,
                  monthColor: Colors.blueGrey,
                  dayColor: Colors.teal[600],
                  activeDayColor: Colors.white,
                  activeBackgroundDayColor: Colors.redAccent[100],
                  dotsColor: ResColors.functionalRed,
                  selectableDayPredicate: (date) => !date.isAfter(today),
                  locale: Get.locale?.languageCode??AppConfig.DEFAULT_LOCALE.languageCode, //CHECK: Must use language code not locale
                  //showYears: true,
                  //shrink: true,
                ),
                  AnimatedOpacity(
                      opacity: (selectedDay != today)?1.0:0.0,
                      duration: 200.milliseconds,
                      child: renderTodayButton())
              ],
            ),
            Obx(()=> DefaultTextStyle(
              style:TextStyle(fontFamily: "꽃내음"),
              child: Container(
                width: double.maxFinite,
                child: ListView(
                  primary: false,
                  shrinkWrap: true,
                    children:todoItems(controller.todos)
                ),
              ),
            )),
          ],
        ),),

 

 

 

해피코딩 !!!

반응형

안녕하세요.

 

플러터로 android 용 앱을 개발하다가 앱이 좀 괜찮으면 iOS로 확장하고 싶은 욕구가 생기겠죠?

그런데 처음부터 iOS를 염두해두고 프로젝트를 만들지 않았다면, 확장을 어떻게 해야 하나 할겁니다.

 

간단하게 확장하는 방법 정리 해봤습니다.

 

 

먼저 빌드할 플랫폼을 선택합니다.

 

terminal에서 다음과 같이 입력하면 되는데요.

 $ flutter config --enable-<platform>

 

ios 의 경우에는  flutter config --enable-ios 라고 입력 합니다.

 

그리고 나서 프로젝트를 재 생성 합니다.

$ flutter create .

을 입력하면 다시 프로젝트가 재 생성됩니다.

 

 

 

사용 예 )

~/$ flutter config --enable-ios
Setting "enable-ios" value to "true".

You may need to restart any open editors for them to read new settings.


~/github/arbot_care (karzia)$ flutter create .
⣟

Recreating project ....
  windows/runner/flutter_window.cpp (created)
  windows/runner/utils.h (created)
  windows/runner/utils.cpp (created)
  windows/runner/runner.exe.manifest (created)
  windows/runner/CMakeLists.txt (created)
  windows/runner/win32_window.h (created)
  windows/runner/Runner.rc (created)
  windows/runner/win32_window.cpp (created)
  windows/runner/resources/app_icon.ico (created)
  windows/runner/main.cpp (created)
  windows/runner/resource.h (created)
  windows/runner/flutter_window.h (created)
  windows/flutter/CMakeLists.txt (created)
  windows/.gitignore (created)
  windows/CMakeLists.txt (created)
  arbot_care.iml (created)
  web/favicon.png (created)
  web/index.html (created)
  web/manifest.json (created)
  web/icons/Icon-maskable-512.png (created)
  web/icons/Icon-192.png (created)
  web/icons/Icon-maskable-192.png (created)
  web/icons/Icon-512.png (created)
  android/app/src/main/res/mipmap-mdpi/ic_launcher.png (created)
  android/app/src/main/res/mipmap-hdpi/ic_launcher.png (created)
  android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (created)
  android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (created)
  android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (created)
  android/app/src/main/kotlin/io/netplant/arbot_care/MainActivity.kt (created)
  android/arbot_care_android.iml (created)
  ios/RunnerTests/RunnerTests.swift (created)
  .idea/runConfigurations/main_dart.xml (created)
  .idea/libraries/KotlinJavaRuntime.xml (created)
  linux/main.cc (created)
  linux/my_application.h (created)
  linux/my_application.cc (created)
  linux/flutter/CMakeLists.txt (created)
  linux/.gitignore (created)
  linux/CMakeLists.txt (created)
Resolving dependencies... 
Got dependencies.
Wrote 42 files.

All done!
You can find general documentation for Flutter at: https://docs.flutter.dev/
Detailed API documentation is available at: https://api.flutter.dev/
If you prefer video documentation, consider: https://www.youtube.com/c/flutterdev

 

 

참고로 지원 되는 플랫폼 목록은 다음과 같습니다.

 

--enable-web Enable Flutter for web. This setting will take effect on the master, dev, beta, and stable channels
--no-enable-web Disable Flutter for web. This setting will take effect on the master, dev, beta, and stable channels
--enable-linux-desktop Enable beta-quality support for desktop on Linux. This setting will take effect on the master, dev, beta, and stable channels. Newer beta versions are available on the beta channel
--no-enable-linux-desktop Disable beta-quality support for desktop on Linux. This setting will take effect on the master, dev, beta, and stable channels. Newer beta versions are available on the beta channel
--enable-macos-desktop Enable beta-quality support for desktop on macOS. This setting will take effect on the master, dev, beta, and stable channels. Newer beta versions are available on the beta channel
--no-enable-macos-desktop Disable beta-quality support for desktop on macOS. This setting will take effect on the master, dev, beta, and stable channels. Newer beta versions are available on the beta channel
--enable-windows-desktop Enable beta-quality support for desktop on Windows. This setting will take effect on the master, dev, beta, and stable channels. Newer beta versions are available on the beta channel
--no-enable-windows-desktop Disable beta-quality support for desktop on Windows. This setting will take effect on the master, dev, beta, and stable channels. Newer beta versions are available on the beta channel
--enable-android Enable Flutter for Android. This setting will take effect on the master, dev, beta, and stable channels
--no-enable-android Disable Flutter for Android. This setting will take effect on the master, dev, beta, and stable channels
--enable-ios Enable Flutter for iOS. This setting will take effect on the master, dev, beta, and stable channels
--no-enable-ios Disable Flutter for iOS. This setting will take effect on the master, dev, beta, and stable channels
--enable-fuchsia Enable Flutter for Fuchsia. This setting will take effect on the master channel
--no-enable-fuchsia Disable Flutter for Fuchsia. This setting will take effect on the master channel

 

enable 시킬때는 --enable-<platform> 을 사용하고 disable 시킬때는 --no-enable-<platform> 을 이용합니다.

(disable이 아니네요 ^^;;;)

 

 

 

해피코딩 !!

반응형

안녕하세요.

 

코딩을 하다보면 종종 print를 이용해서 실행(run)창에 로그를 출력하는 경우들이 종종 발생하게 되는데요.

 

이럴때 file 정보와 line 정보가 안보여서 불편할때가 있습니다.

 

요럴때 사용할 수 있는 팁입니다.!!

 

import 'package:flutter/foundation.dart';

dprint(message,{int level=1}){

  if(kDebugMode || level >1) {
    var a = StackTrace.current;
    final regexCodeLine = RegExp(r" (\(.*\))$");
      print("$message${regexCodeLine.stringMatch(a.toString().split("\n")[level])}");
  }
}

 

 

<사용 예제>

  @override
  Widget build(BuildContext context) {

    DatabaseProvider().initMemoryDb();

    dprint("context:width:${context.width} , height:${context.height}");
    
    :

 

 

android studio의 실행창(run) 에 다음과 같이 출력이 됩니다.

그리고 클릭하면 해당 위치로 이동이 되고요.

 

<출력 결과>

I/flutter (22490): context:width:411.4 , height:866.285 (package:sample/ui/IntroPage.dart:32:5)

 

 

!!! 해피 코딩

+ Recent posts