한동안 이런식으로 앱개발 따라하기 를 정리하기로 했다.

[따라하기의 필수는 가능한 직접 타이핑 한다]

기본강의는 노마드코더 님의 강의를 참조
이번강의 : https://nomadcoders.co/flutter-for-beginners/lectures/4154

조금씩 개선해보는 것을 정리한다.

타이머 시작 / 중지 / 리스타트 등의 처리
기본 다크모드 색상으로 / 색상처리 최신버전에 맞게 교정.
https://github.com/1day1/flutter-practice-pomodoro

 

[개선해볼 사항]

1) 다크모드 를 전환할 수 있게. 버튼위치를 어디로 할까?
https://github.com/1day1/flutter-practice-pomodoro/commit/cf2d908b06489cebb321c9b6a6f92af79b652632

2) 온보딩 - onboarding 처리해봤다.
https://github.com/1day1/flutter-practice-pomodoro/commit/0a701eecfcbb7c037670ca4027ebc946df7ad499

온보딩 처리는 https://www.youtube.com/watch?v=BfR_daMJ6I8 강의를 참조했는데,
해당 부분에서 onboarding_info 클래스가 vscode 에서 에러경고로 안되서, set / get 처리 하는 방식으로 수정을 했다.

 

추가 개선사항은 일단 여기까지... 다른 강의로...

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

플러터를 공부하면서, 강의도 보면서 따라 앱 만들기를 하고 있다.

[따라하기의 필수는 가능한 직접 타이핑 한다]

여러강의를 보면서 따라하고, 진행상황을 정리하고자 한다.

이번은 노마드코더 님의 강의 중 한 부분을 따라했다.
https://nomadcoders.co/flutter-for-beginners/lectures/4139 (3강 UI Challenge )

* 깃허브에 기본강의 + 나름의 개선 사항을 적용해봤다.
https://github.com/1day1/flutter-practice-toonflix

wallet 의 카드 부분을 커스텀 위젯으로 만들고, 이 부분을 또 데이터를 넘겨서 처리해봤다.
https://github.com/1day1/flutter-practice-toonflix/blob/main/lib/widgets/wallet.dart

typedef WalletData = ({
  String text1,
  String amount,
  String text3,
  IconData curIcon,
  bool isInverted
});

typedef 로 데이터를 정의하고 ( C/go 등의 구조체 -struct- 와 비슷한 것 같다) 해당 데이터를 List 화 한 후 넘겨주었다.

walletDatas: [
                    (
                      text1: 'Euro',
                      amount: '6 234',
                      text3: 'EUR',
                      curIcon: Icons.euro_rounded,
                      isInverted: false,
                    ),
                    (
                      text1: 'Dollar',
                      amount: '55 124',
                      text3: 'USD',
                      curIcon: Icons.attach_money_outlined,
                      isInverted: true,
                    ),
                    (
                      text1: 'Bitcoin',
                      amount: '1.2894',
                      text3: 'BTC',
                      curIcon: Icons.currency_bitcoin_outlined,
                      isInverted: false,
                    )
                  ]

 

[추가 개선할 부분]

1) curIcon 과 isInverted 도 값을 넘겨줄 필요없이, 내부적으로 처리한다.
2) text1 / text3 도 한쪽만 값을 보내서 처리한다.
=> https://github.com/1day1/flutter-practice-toonflix/commit/ab019691a70aa38a9908cee2a543c351ca51ec59

currencyInfo 를 내부 데이터로 처리했는데, 2차원 Map 의 접근은 못하나?
(예를 들어 currencyInfo['USD']['currency'] 로 바로 접근이 되면 좋은데, 못 찾겠다.)

일단 singleWhere 로 처리함.

3) 위 값을 json 타입으로 가져온다(외부 연동 염두)
=> https://github.com/1day1/flutter-practice-toonflix/commit/2d812367e535f296a8d55b6ec04d29a0c525637e

json 파일을 불러와서 보여지도록 조치함.

 

[일단 여기까지 다른 강의 따라하기로 ..]

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

세부적인 부분은 링크로 대신

1. ssh 키 생성 : https://docs.github.com/ko/authentication/connecting-to-github-with-ssh/generating-a-new-ssh-key-and-adding-it-to-the-ssh-agent

 

새 SSH 키 생성 및 ssh-agent에 추가 - GitHub Docs

SSH(Secure Shell Protocol)를 사용하여 GitHub.com의 리포지토리에서 데이터에 액세스하고 쓸 수 있습니다. SSH를 통해 연결할 때 로컬 머신에서 프라이빗 키 파일을 사용하여 인증합니다. 자세한 내용은 "

docs.github.com

2. 깃허브에 키 등록 : https://github.com/settings/keys

키등록까지 한 후에 ssh 계정 설정으로 여러계정의 깃허브에 연결할 수 있다.
(예시> 개인계정 / 회사계정 등)

위 계정의 ssh 키는 달라야 한다. 동일하면, 등록이 안된다.
(키 파일명도 다르게 해준다. 기본 : id_ed25519 , 추가 : id_ed25519_idname 등 )

3. 키 가 등록되는 위치는 .ssh 를 기준으로 .ssh/config 파일에 다음항목을 추가한다.

Host github.com-idname
	hostname github.com
	User git
	IdentityFile ~/.ssh/idname-id_ed25519

위 처럼 github.com 주소를 분리해준다.
즉, github.com 로 접속하면 기본값이 .ssh/id_ed25519 가 적용되고, github.com-idname 으로 접속하면 .ssh/idname-id_ed25519 가 적용되는 식이다.

ssh git@github.com-idname 를 해보면 다음과 같이 나와야 한다.

PTY allocation request failed on channel 0
Hi idname! You've successfully authenticated, but GitHub does not provide shell access.
Connection to github.com closed.

이후에는 저장소를 지정한 Host 주소로 연결해서 사용하면 된다.

git remote add origin git@github.com-idname:idname/your-repositry-name.git

커밋 후 git push -u origin main 로 저장소에 업로드 하면 된다.

저장소 별로 author 정보를 등록해준다.( 전체 적용시는 --global 을 추가 - git config --global OOO )

git config user.name "user name"
git config user.email "your-mail@your-mail.com"

 

혹시 author 가 다르게 등록이 되었으면, 전체 변경이라 주의!!

git rebase -r --root --exec "git commit --amend --no-edit --reset-author"
git push --force-with-lease
반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

플러터를 공부하고 있는데, 가상머신 (안드로이드 / 아이폰) 을 통해 충분히 테스트 할 수 있다.

그러나 실제 폰에서 하면 "좀더 실감(?) 난다" 는 느낌이고, 실제적으로 가상머신은 메모리를 많이 먹는다.(최소 수기가의 메모리가 필요)
그래서 메모리가 적은 기기를 사용해 개발하는 경우 실제폰을 연동하는게 좋다.

예전 기억으로는 USB 케이블 연결하고 해서 좀 복잡한 느낌이었는데, 무선디버깅이 생겨서 좀더 편해진 듯 하다.
전체적인 설명은 구글링해서 하면 된다.

진행하면서 이상한 부분이 있어서 그 부분을 정리한다.

1) 무선 디버깅 - 장치를 찾지 못한다.

  위 처럼 정상적으로 장치가 등록이 되어야 하는데, 와이파이 아이콘을 클릭 후 장치를 찾으려면 안되는 경우가 있다.

장치를 못 찾는다.

핸드폰에서 개발자옵션을 키고 , 무선디버깅 항목으로 들어간다.

순서는 무선디버깅 on => 기기 페어링 => 기기 연결  순서로 한다.

안드로이드 스튜디오에서 터미널을 열어서 다음 과 같은 명령을 내린다. (페어링 포트 와 연결 포트가 다른 것에 주의)

# adb pair 192.168.99.25:40425
Enter paring code: 305619
Successfully paired ...

페어링되면 기기가 위처럼 보인다.

# adb connect 192.168.99.25:43169

connect 까지 하면 - android studio 에서 실행파일을 전송 할 수 있다.

2) 전송하면 설치가 안된다.

USB 로 설치 가 허용되어야 한다.

무선디버깅하면 USB 항목은 없어도 되는 줄 알았는데, 위 "USB 로 설치" 항목은 필요하다.

 

장치 찾기가 되면 편하겠지만, 수동? 연결이라도 되니 나쁘지는 않다.
(기기 특성으로 못 찾는 것인지는 추후 필요하면 정리)

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,

칼리 리눅스를 설치하려고 한다. 주로 맥북에서 가장 많이 쓸 듯 하다.

m2 / m3 맥북에는 가상머신 세팅이 intel 맥보다는 까다롭다(2020년도에 출시했지만, 아직 완벽하지는 않다)
그중에 utm 이 가장 나은 듯 싶다.

설치는 구글링해서 검색해보고 하면 되는데, 좀 다른(?) 부분을 정리하고자 한다.

1) kali 설치시 utm 의 serial 장치를 추가한다.

  serial 추가 안하고 그냥 해보면, 부팅 후 검정화면이 되서 설치가 진행이 안된다.
  (serial 장치를 추가해서 원격 접속하는 것처럼 설치가 진행된다. - 설치완료후 serial 은 제거 - 안하면 화면이 두개가 된다.)

2) 설치 완료 후 - 한영전환 이 안된다. (fcitx 패키지를 설치후)

 기본 전환 단축키는 (Ctrl-space) 로 한다 (다른 조합으로 바꿀 수 있다.) 그런데, 한영전환이 안되는 현상이 있다.

로케일을 한글로 변경해준다.( dpkg-reconfigure locales 명령 후 ko_KR.UTF-8 으로 추가 / 설정)

입력기 설정을 보면 "Hangul" 부분이 없었다. 그래서 "+" 를 눌러 해당 부분을 추가해준다.
추가한 후에는 단축키로 변경이 된다.

주로 Virtualbox 를 사용해왔는데, UTM 은 아직은 뭔가 매끄럽지 못한 듯한 느낌이다.
아직 버쳘박스는 공식지원하지 않아, 당분간은 UTM 으로 사용할 듯 하다.

칼리 리눅스 사용해보면서 추가할 부분 보완하겠다.

 

반응형

WRITTEN BY
1day1
하루하루 즐거운일 하나씩, 행복한일 하나씩 만들어 가요.

,