최근 프로젝트 전체를 JavaScript에서 TypeScript로 변환하는 작업을 하면서 우연히 발견하게 된 아티클인데 좋은 지적인 것 같아서 정리해보았다. 1. strict 모드를 사용하지 않는 것 tsconfig.json에 strict 모드를 활성화 시키자. 2. Fallback으로 || 옵셔널 오퍼레이션을 사용하는 것 => ??을 사용하던지 더 나은 방법은 파라미터 레벨에서 fallback을 써주는 것이다. 3. any 타입을 사용하는 것 unknown타입을 대신해서 쓰자. any는 타입체크를 비활성화시킨다. 즉, 버그를 확인하기 어려워진다. 4. val as SomeType 강제로 특정 타입이라고 컴파일러에 알려주는 방식. function isArrayOfProducts (obj: unknown)..
가끔 라이브러리 자체에 버그가 있어서 바로 고쳐야하거나, 라이브러리만으로는 지원이되지 않는 기능이 들어가야하는 경우가 있다. 이때까지 오픈소스를 변경해서 사용하기 위해서는 Github에서 folk하고 수정 한 뒤 가져오는 방식밖에 없는줄 알았는데, 훨씬 단순한 방법이 있었다. patch-package라는 노드 모듈을 설치해서 사용하는 방식인데 1. 먼저 patch-package, postinstall-postinstall를 설치한다. yarn add patch-package postinstall-postinstall postinstall-postinstall이건 패키지 설치시 뿐만 아니라 패키지를 삭제할 때도 postinstall 스크립트를 실행해주는 라이브러리이다. 2. package.json 에서 p..
안드로이드 빌드 시, 라이브러리에서 버전이 맞지 않는 모듈을 import 해서 발생되는 이슈 첫 번째 방법 File > Invalidate Cache & Restart를 하면 되고, 필요한 모듈이 있다면 수동으로 각 모듈의 gradle 파일에 의존성 추가해서 다시 sync를 해준다. Sync 후에도 import가 제대로 되지 않으면 .idea 폴더를 삭제 후 다시 빌드해보자. 두 번째 방법 안드로이드 스튜디오 메뉴 Refactor > Migrate 세 번째 방법 에러가 나는 모듈을 확인해 import 가 제대로 되지 않은 모듈을 주석처리 또는 삭제한 뒤 해당 모듈을 다시 import 시켜준다.
안드로이드 개발환경에서는 빌드, 실행이 잘 되다가 앱 배포를 위해 Release버전으로 빌드할 때 자주 발생하는 에러이다. 만약 이 에러를 처음 발견한 경우 안드로이드의 build.gradle에 multiDex 설정이 제대로 되어 있는지 확인할 필요가 있다. app/build.gradle 에서 두 가지를 우선 추가해준 뒤 defaultConfig { ... // 추가 multiDexEnabled true } dependencies { ... // 추가 implementation 'com.android.support:multidex:1.0.3' } MainApplication.java에서 MultiDexApplication를 상속시켜준다. ... // MultiDexApplication 임포트 import..
최근 커스텀 폰트를 RN에 적용하면서 한 가지 문제를 발견했다. Campton이란 폰트를 앱에 적용한 뒤 사용을 하려고 하는데, Android와 iOS에서 같은 폰트 파일을 asset으로 추가해 놓아도 적용되는 방식이 다른 것이었다. Campton-Bold.otf Campton-Light.otf 라는 두 개의 파일을 적용하는데, iOS에서는 fontFamily를 적용할 때 'Campton'을 적용해도 정상적으로 나왔고, 'Campton-Bold' 라고 파일 명을 입력해서 정상적으로 폰트 적용이 되었다. /* ios */ // ok .text { fontFamily: 'Campton', fontWeight: 'bold', // 'light' } // ok .text { fontFamily: 'Campton..
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 좋은 습관이란
- 이미지 일괄 변경
- 쉽게 말하는법
- 애드 캣멀
- 안드로이드
- 아키텍처
- node.js
- 소프트웨어 공학
- egghead
- git 실수
- 시간 관리
- iterms
- release build issue
- git ssh 연동
- 그리고 상상력
- 이미지 여백주기
- patch-packages
- go
- Android
- 구독료 계산기
- 창의성을 지휘하라
- React Native
- gradle
- multiDex issue
- retrofit
- 소름돋는필력
- 공존이 필요해요
- 최은영작가님
- MVP
- 스크럼
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
글 보관함