
처음 개발을 시작할 때는 그저 '방법론'에 불과했던 TDD는 이제 개발 언어나 프레임워크를 막론하고 사용자에게 보다 우수한 품질의 서비스를 제공하기 위한 필수적인 '개발 과정'이 되어가고 있다. 내가 개발하고 있는 앱도 신규 버전을 계속 업데이트 하면서 새로운 기능 때문에 기존 기능에서 충돌이 나는 경험도 있었는데, 이미 테스트가 된 기능이니 신규 feature로 나가는 부분만 테스트하고 기존 부분에서는 테스트하지 않고 배포했기 때문에 발생했던 이슈였다. 물론 TDD에 대해 고려하지 않았던건 아니다.해야하지만, 테스트 코드를 작성하는 시간에 요구사항을 더 쳐내야지 하는 생각에 나중으로 계속 미뤄왔었다.더이상 이러한 나태함에 빠지지 않기 위해 블로그에도 정리해가며 TDD 도입을 완료할 생각이다. 이번 포스..

📌 ErrorXCode에서 평소와 같이 앱을 디버깅 하려고 할 때,Simulator에서 Unable to boot the Simulator 에러로 시뮬레이터가 작동되지 않는 현상이 있다.(주로 15버전대에서 발생한다고 한다.)When attempting to debug an app in XCode as usual, there is an issue where the simulator does not operate due to the "Unable to boot the Simulator" error.(This issue mainly occurs in versions 15.x.) 📌 Resolve시스템 설정 > 일반 > 저장 공간System Settings > General > Storage 저장 공간 ..

개발한 앱을 새로 테스트하기 위해 보통 android의 경우는 apk 파일을 공유하고, ios의 경우는 testflight에 공유하여 테스트를 진행하곤 한다. 이러한 번거로움을 해소하고자 App Distribution에 각각 apk, ipa 파일을 업로드 하는 방법으로 진행한다. 개인적으로 나는 dev, stag 등의 테스트 환경에서는 신규 버전에 들어갈 내용이 중점적인 테스트 내용이기에 apk, ipa로 배포해도 되지만실제로 사용자들에게 배포되는 운영 환경의 테스트는 스토어에서 다운받는 것마저 테스트 해보고 싶었다. ios의 경우에는 운영 환경 테스트를 testflight 에서 진행하면 되지만, android의 경우에는 play store에 업로드 하는 패키지는 AAB 파일이기에, apk 파일보다는 a..
XCode > Run 을 통해 앱을 디버깅하려 할 때, 갑자기 Watchman쪽에서 std::__1::system_error: Operation not permitted 메시지를 콘솔에 띄우며 앱이 실행이 안되는 이상한 에러를 맞닥뜨려 시간을 허비했다.When trying to debug an app via XCode > Run, I encountered a strange error message from Watchman, stating std::__1::system_error: Operation not permitted, preventing the app from running. I wasted quite some time trying to resolve it. watchman 버전을 업데이트해도, 맥..

react-query의 onError를 사용하거나, Axios로 API를 호출할 때 에러 콜백의 타입은 AxiosError로 선언하게 되는데서버에서 에러코드에 따라 title, msg 등 response를 내려주는 경우에 onError : (error : AxiosError) => { onAddModal(error.reponse.data.msg) // 위와 같이 response를 가져오려고 하면 타입 에러가 생긴다 (컴파일단에서는 당연히 문제가 없지만, 우리는 빨간줄을 혐오하니까) 이럴 때는 간단하게, AxiosError를 상속받는 타입을 선언해주면 된다. interface IErrorDataProps extends AxiosError { data: { message?: string; st..

앱에서 위 이미지와 같은 UI를 구현할 때, 주로 flatList의 numColumns를 사용하는데,각 컴포넌트 사이의 간격(column)과 각 줄 사이의 간격(row). 즉 gap을 줄 수 있는 방법이 있다. flatList의 style에 gap 속성을 주면 동작하지 않는데, contentContainerStyle과 columnWrapperStyle에 각 gap 스타일을 주면 동작한다. Row(행) : contentContainerStyleColumn(열) : columnWrapperStyle 코드는 아래와 같이 선언해주면 된다.

요즘의 UX/UI 설계는 보통 사용자 기반의 의사결정으로 이루어집니다.또 서비스의 비즈니스 모델을 명확히 하려면 앱이 얼마나 퍼널 구조로 되어 있는지가 중요하겠죠!그렇기 위해서는 앱에 사용자 동작을 트래킹 할 수 있는 솔루션을 연동해야 합니다. 수많은 트래킹 솔루션 중 Mixpanel에 대해 알아보고자 하는데요!믹스패널은 유료 플랜을 사용하지 않고도 웬만한 트래킹 함수들을 앱에 연동할 수 있다는 큰 장점이 있죠.이번 포스팅에서는 RN 앱에서 믹스패널을 연동하고 간단히 사용자를 트래킹해보는 예제를 다뤄봅시다. 📌 1. 시작하기SDK 설치 및 연동방법 공식문서에 더 잘 작성되어 있으니 참고해주세요!1-1. mixpanel.ts 파일 생성하기믹스패널 함수들을 사용하기 위해서는 믹스패널 토큰값으로 mixpa..

XCode에서 시뮬레이터로 앱을 실행할 때, 자주 보게되는 에러 중 하나가 undefined symbols: Undefined symbols linker command failed with exit code 1 이다. 자세한 에러 로그를 확인할 수 없을 뿐더러 구글링 해봐도 XCode상의 DrivedData 혹은 podfile을 지우고 다시 pod install을 해라 같은 해결 방법... 나는 쫄보라 rm -rf 같은 명령어는 최대한 지양하는 편인데, 다행스럽게도 간단히 이 에러를 해결할 수 있게 되었다. ⚒️ How to Resolve? XCode > Product > Destination > Destination Architectures 탭에서 Show Apple Silicon Destination..

오늘은 인천에 역대급 규모의 신상 레스토랑이 생겼다는 소식에 후다닥 다녀온 솔직한 후기를 올려보려고 해요! 😀 인천 연수구 송도힐즈로10길 8 하모니스토리 대표번호 032-816-8000 매일 11:00 - 22:00 (21:00 라스트오더) 건물은 총 4층 구조로, 1층에는 레스토랑 🍽️ 2,3층은 주차장 🚘 4층은 송도 전경이 한눈에 보이는 루프탑 카페☕🍰 가 있어요! 개인적으로 주차 공간이 넉넉해서 아주 맘에 들었어요 ㅎㅎ 당연히 주차비도 없답니다! 1층 레스토랑에 들어가자마자 아주 넓은 실내와 깔끔한 인테리어가 눈을 사로잡더라구요! 특히 1층 입구에 있는 거대한 분수소리를 들으니 자꾸 화장실이 가고싶... 하모니스토리 레스토랑은 다양한 테이블 구조가 있는데요! 데이트로는 아주 적합한 좌석이 있어서..

React Native 환경에서는, svg 파일을 바로 불러올 수 있는 기능을 지원하지 않는다. 때문에 svg 파일을 임포트 하려면 react-native-svg 패키지를 반드시 추가해줘야 하며 react-native-vector-image 등 별도 라이브러리를 추가 인스톨하여 사용하게 되는데, 위 방법에서는 svg 파일을 assets 폴더에 넣고 별도의 'generate' 명령어를 통해 android / ios 에서 인식할 수 있도록 해주고 npm 서버도 리로드(가끔은 cache도 비워줘야 동작하는 이슈ㅠ) 해주어야 하는 번거로움이 있어 디자인 팀에서 svg 아이콘을 추가해달라고 요청하면 '시간 좀 걸려요..' 라고 대답하는게 일상이었다. (이전 개발자는 그냥 png로 export 하더라..) 이런 불..
- Total
- Today
- Yesterday
- useState
- Android
- app
- ios
- Mac
- 영종도데이트
- 앱개발
- React Native
- ReactNative
- vsC
- rn
- React Hooks
- gradle
- useEffect
- FlatList
- REACT
- ChatGPT
- CSS
- IMAGE
- JavaScript
- Xcode
- Ai
- It
- 스파르타코딩클럽
- build
- 코린이
- Firebase
- typeScript
- vscode
- TS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |