생산성을 높히는 도구를 고민하다가 우연히 발견하게된 고마운 패키지 Flutter Preview

 

 

device_preview | Flutter Package

Approximate how your Flutter app looks and performs on another device.

pub.dev

 

생각의 흐름대로 적다보니 글이 참 난잡하다..

몇개월 지난뒤 다시보게 된다면 한번 [리팩토링] 하자 :) 



레포지토리 패턴을 공부하다가, 이런것들을 사용 해야 하나를 고민해봤다.
다른 패턴은 또 왜 사용해야 하나? 부터 고민해 봤다.
나열하면 수도없이 이런 귀찮은 짓들을 왜 하는지 딴지를 걸고 싶지만
언젠가 알게되어 부끄러워질 나를 위해 ... ㅎㅎ ... ... .

싱글톤은 인스턴스를 하나만 생성하게 해서 불필요한 리소스를 낭비시키지 않아 메모리릭......
하나의 프로그램에 할당되는 한정적인 자원. 메모리라는 자원을 효율적으로 사용하려면, 
이미 만들어진걸 옆에다 두고 또 만들필요는 없다.
그렇게 계속 만들면, 불필요한 쓰레기가 많아진다.

 

이렇게 말하면 싱글톤을 왜쓰는지 안다고 할수 있나? 내가 그걸 사용해서 직접 유저단에서 체험하지 못해봤는데?

기기성능이 좋아져서 그냥 알아서 해결해 주겠지? 요즘은 빠방하게 잘나오자나!!

나중에, 나중에 고치면 되겠지? 지금 우선순위가 아니야!

리팩토링이란 멋진 말도 있잖아......

솔직히 비지니스적으로 생각할때 그게 맞다고 아직도 70:30으로 생각한다.

시장에 내서 검증하는게 우선인게 맞다
프로토타입이란 말이 괜히 있는게 아니지 않나?


 

말로는 뭔가 설명을 할수는 있다. 그게 내것이 되진 않았다.

내것이 되지 않았다는건 코드에서 볼수 있다.

알면서 왜. 그건 모르는게 맞다.
리포지토리 패턴, 팩토리 패턴 왜 쓰고도 설명하지 못한다.
누군가에게 확실히 가르쳐 줄수 있을 정도로 이해한게 내것이 되는걸 명심하자.


그런데 실제로 왜 코드를 신경써서 작성해야하고
예외에 대해 생각하고 테스트코드를 짜야 하는지
대충대충 구현에 급급해서 짜지말고. 


스플래시단에서 인트로로 넘어가지 않는 장애가 발생됐다.

그나마 다행은 바로 발견할수 있었다.

상황을 간단요약하면,
개발서버에서 작업중이였는데, 인트로로 넘어가지 않는다.
로컬문제겠지.
빌드를 다시해보면서 운영앱을 실행한다.
스플래시가 뜬다.

하... 아니겠지... 제발.
로컬이슈? 내부망? 외부망? 아....... 제발  

그래도 로그를 볼 정신은 있었다.
몇번을 봐도 개떡같이 작성해논 로그들이 눈에 들어오지 않았다.

아무도 눈치 채지 못할때 빨리 해결 해야...
( 새벽 2시 )


 
설마.


특정 라이브러리를 사용하다가 장애가 발생하였다.
geo ip 를 가져오는 방법을 깊은 고민없이 패키지에 의존했다. 

여러 구차한 변명은 그냥 변명일 뿐이다.
정말 운이 좋았던건
1. 새벽 2시라는 시간이였고
2. 바로 장애를 인지 할 수 있는 상황이였던 것.

 

GitHub - Bujupah/dart_ipify: An unofficial client library ipify on dart.

An unofficial client library ipify on dart. Contribute to Bujupah/dart_ipify development by creating an account on GitHub.

github.com


splash > api request > timeout ... > 30s > intro 

이슈  :: 
 https://api.ipify.org 의 서버가 20~30분간 접속 불가상태가 되면서
요청이 timeout 될때 까지 인트로 화면으로 넘어가지 못하고 스플래시에 머물렀다.

원인 ::
외부 서버에 의존하였고, 예외처리 하지 못한점. 
 

사실 이건 패키지에 의존한다는 것이 잘못됐어! 
라는건 나의 부족함을 숨기기 위한 변명일 것이다.


예상되는 부분은 예외처리가 꼭 필요하다는걸 배웠다.
그리고 앞으로는 단위테스트를 하는 법도 학습해 나가야겠다.

 

 

'아무말대잔치' 카테고리의 다른 글

조언에는 여러뜻이 있다  (0) 2022.04.19
끄적끄적  (0) 2022.02.22
코딩학원에서 학생을 가르칠때 반듯이 해야할 것  (1) 2018.11.22


repository 
; 리포지터리

무슨말인지 하나도 모르겠다.

소프트웨어 저장소(Software Repository) 란?

외부 라이브러리를 설치하고 관리하는 문제와 
의존성 지옥(dependency hell) 이라는 골치 아픈 문제가 발생했습니다.

 



뷰와 비지니스 로직

난 사실 코테를 왜 봐야 하는지, 또 클린한 아키텍처에 대한 이유도 잘 모르겠고.
기본적인 문법에 대한 이해도가 없이 그냥 나오기만 하면 "장땡" 이란 

지금 생각하면 코끼리 똥을 한덩어리 싸서 넘겨주고 온 느낌이다.

주니어니까 괜찮아 라는 말은 이런 막코딩이 괜찮으니까 그냥 구현만해서 시장에 내자.
이런 뜻은 아닐것이다.

최소한의 내 코드에 대한 이해가 있어야 할것이다.
클론코딩 베이스로 그저 조금 외관만 바꾸는 정도였다.



커뮤니티에서는 나를 정말 높게 평가하고 있다.
그 이유를 한번 곰곰히 생각해 보았다.

질문이 올라온다.
대부분은 검색으로 해결되는 문제이다.
질문의 요지 파악이 잘 안되는 질문도 있다.
비하가 아니라, 나도 그런 질문들을 했었다.

이유는 단정지을 순 없지만, 
혼자 낑낑대며 사투를 버릴때
의지할건 단톡방 커뮤니티였다.

여유롭게 공부할때와는 차원이 달랐다.
너무 생각이 많은것도 한몫 한것 같다.
다른 팀원에게 도움을 요청 안한 잘못도 있다.


여러가지 핑계를 댈 수도 있겠다.
하지만 말그대로 핑계이고,
회사는 나를 과분히 평가해 주었고, 나는 그 몫을 해야 하는것이 당연했다.


계속 추가할 나의 문제점 
1. 나의 역할이 무엇인지 분명하게 파악하기.
2. 의견이 있다면 최소한 내 할일은 끝내고, 담당 팀원에게 1:1로 먼저 의견 말하기.
3. 끝낼수 있는 일정을 확실하게 말하고, 변수를 생각해서 * 1.5 로 말하기.
4. 쓸대없는 말 줄이고, 써봤는데요... 해봤는데요... 금지😖 
5. 알아도 듣기. 말끊지 않기.
6.
7. 

피그마 전체 단축키 확인


Ctl + Shift + ?

 

맥을 쓴지 얼마되지 않아 윈도우에서 쓰던 기능들에 대한 갈증이 있었다
창분할도 그것중 하나인데

윈도우 쓰시는 분들이면 알겠지만 
윈도우 + 방향키로 창분할을 많이들 이용하실것 같다

 

https://github.com/rxhanson/Rectangle/releases/download/v0.53/Rectangle0.53.dmg

 

피그마 전체 단축키 확인


Ctl + Shift + ?

 

 


ref.
https://yetis.tistory.com/72
https://wdesigner.tistory.com/53

한국어 번역으로 컨트리뷰터되기 프로젝트 첫번째,
클로저다트 리드미 번역하기

ClojureDart 무엇인가요?

ClojureDart는 Clojure언어를 Dart로 포팅 한것 입니다.

주요 목표는 Dart와 Flutter를 활용하여 Clojure의 범위를 다음으로 확장하는 것입니다.

머리말

우리는 2022년 부활절 (4월 17일 일요일) 이전에 ClojureDart를 공개하기로 약속했습니다.그래서 이곳에 전달합니다!

획기적 사건은 아니지며 여전히 진행 중인 작업이지만, 새로운 기술에 용감한 사람들이 사용하기에는 충분합니다.

누가 만들고 있죠?

Christophe Grand🐦 와 Bapiste Dupuch🐦의 아주 작은 클로저 컨설턴트인 Tensiongritics.

상황

드래곤이 온다!

ClojureDart는 진행 중인 작업입니다. 일부 기능은 완전히 누락되거나 부분적으로 구현되거나 심지어는 버깅될 수도 있다. 어쨌든 우리에게 연락하거나 이슈를 열어보세요.

  • 아직 REPL 없음
  • 다중 방식(WIP)
  • 정렬된 수집(WIP)

몇 가지 차이점이 문서화되어 있습니다. Clojure와의 차이점을 참조하십시오.

빠른 시작

  • 일반 다트(첫 번째 단계 권장)
  • 플래터 포함

감사합니다!

우리의 노력을 맹목적으로 믿고 우리의 일을 후원해준 모든 사람들에게.

일찍부터 협찬을 받으러 와주신 NuBank님께.

ClojureDart에 모바일 앱 개발(현재는 앱스토어 및 플레이스토어)을 걸고 2021년 여름부터 꾸준히 발전할 수 있게 해준 로밍 리서치에게.

저희 작업을 후원하고 싶으시면 저희 둘 중 하나를 후원해 주시면, 협찬의 균형을 맞출 수 있습니다. 당신이 회사라면 우리에게 직접 연락할 수도 있다.

 

GitHub - inma06/ClojureDart: A port of Clojure that compiles to Dart

A port of Clojure that compiles to Dart. Contribute to inma06/ClojureDart development by creating an account on GitHub.

github.com

 

+ Recent posts