전체 글 썸네일형 리스트형 [에러 디버깅] react-native 안드로이드 환경 firebase auth().signInWithEmailAndPassword메서드 에러: Given String is empty or null firebase를 통해 로그인 기능을 구현하고 있었는데 안드로이드와 ios환경에서 값을 처리하는 방식이 달랐다. firebase에서 이메일인증방식으로 로그인을 구현하기 위해 제공하는 메서드는 signInWithEmailAndPassword 함수인데 안드로이드 환경에서는 이메일과 패스워드를 빈값으로 보냈을 때 시스템자체에서 "Given String is empty or null"라는 문구와 함께 에러가 발생하고, ios환경에서는 api의 응답값으로 에러메시지를 던져줬다. 관련된 내용으로 깃헙 이슈가 등록되어있었는데 https://github.com/invertase/react-native-firebase/issues/127 Crash when trying signInWithEmailAndPassword w.. 더보기 [에러 디버깅] react-native 안드로이드 디버깅 환경 구성 react-native로 개발 중 디버깅을 위해 터미널 metro에서 D를 눌러 dev Menu에서 Debug를 클릭했다. 어떠한 에러 메세지도 보여주지 않고, 디버그 모드는 실행되나, 앱이 계속 튕긴다.. gpt에게 물어보자. 에러메세지를 기반으로 질문을 못하다 보니 전체적으로 포괄적이다라는 생각이 들었다. 스택오버 플로우에게 물어보자. https://stackoverflow.com/questions/40719321/how-to-disable-remote-js-debugging-in-react-native How to disable Remote JS Debugging in React-Native I realize that the normal way to disable debugging is by goi.. 더보기 react-native firebase 초기 셋팅하기 react-native를 사용하여 개인프로젝트를 개발하는 과정에서 firebase를 설정하던중 겪었던 오류상황 및 해결 과정을 작성해보겠다. "책 리액트 네이티브를 다루는 기술"을 읽고 적용해보려했으나, 21년도에 발행한 책인지라 최신버전의 firebase설정방법과 조금 차이가 있었다. android 설정시 겪었던 문제 SDK 설정파일 위치 헷갈림 오류 메세지를 보면 build.gradle파일에서 2번째 라인에문제가 있다는것을 알 수 있다. 그리고 다다음 줄에 "com.google.gms.google-services" 찾을 수 없다는 메세지도 보인다. 하지만 이미 잘 셋팅되어있었다. 근데 왜 찾을 수 없다고 나올까?를 생각해보다가 https://rnfirebase.io/ 여기서 android/app/sr.. 더보기 터틀체인 UI개편 연간 목표 달성, 자체 브랜딩, 사용자 피드백 반영 등의 이유로 디자인 개편과정에서의 공용컴포넌트제작의 경험에 대해 작성해보려 한다. 1. 여러 랩퍼 태그들에 의한 스타일적용 어려움. 기존에 완성된 antd컴포넌트에 css를 추가적으로 작성하려 할 때 인라인 스타일로 작성해도 반영이 안 되는 경우가 매우 많았다. 예시로 셀렉트 컴포넌트가 있었는데, 적용하기 위해 작성한 코드를 예를 들면 다음과 같다. &.ant-select-single .ant-select-selector { .ant-select-selection-item, .ant-select-selection-placeholder { line-height: 40px; } } &.ant-select-single:not(.ant-select-custom.. 더보기 Next.js도입으로 도매 사업자 서비스 로딩속도 개선(3.7s -> 0.9s) 배경도매 사업자를 사용하는 주 사용자는 동대문상인의 매장 업주였다. 상대적으로 저사양의 휴대폰을 사용한다는 점을 고려해봤을때 렌더링의 부담을 사용자의 브라우저의 성능에 달린 CSR방식보단 우리 서버 쪽에서 부담을 하는 SSR방식을 적용하게 되면 좀 더 빠르게 첫 화면을 볼 수 있지 않을까라는 생각이 들었다.지표를 확인하기 위해 크롬개발자 도구의 Performance탭을 통해 렌더링 시간을 측정해 보았다. 환경과 측정방식은 다음과 같다.1. 환경: pc가 m1임을 감안하고, 실제 상황과 비슷한 환경을 고려하기 위해 Network상태를 Fast3G로 설정하고 진행2. 측정방식: 초기 구글 크롬에서 강력 새로고침을 통해 캐시 초기화를 진행하고 도매 사업자 접속. 유의미한 화면을 보기까지 약 4초가량이 걸린다... 더보기 백오피스 도매페이지 사용자 경험 개선 사례 백오피스의 도매매장 페이지에서 관리 중인 매장수는 대략 7000개다. 운영팀에서 주로 이 페이지에서 업무를 처리하는 만큼 "도매 매장들이 너무 늦게 뜹니다"와 같은 피드백을 받게 되었다. 네트워크 탭을 열어 확인해 본 결과 7천 개의 매장을 한 api를 통해 모두 불러오고 있었고, Timing탭을 통해 확인해 보니 최종 응답시간이 87.82ms로 측정되고 있었다. 실제로 화면에서 로딩 스피너의 대기시간이 충분히 불편함을 느낄 정도의 대기시간이라 생각했고, 개선할 필요가 있다고 판단하여 무한스크롤과 페이지네이션중 고민하고 있었다. 페이지네이션과 무한스크롤 선택에 있어서 참고한 자료는 다음과 같다. https://www.hellodigital.kr/blog/dmkt-general-pagination-vs-i.. 더보기 [책 러닝 타입스크립트] 15장. 타입 운영 과하게 사용하면 읽기 어려울 수 있으니 유념하자. 15.1 매핑된 타입 하나의 타입에서 다른 타입으로 매핑시킨다. in을 사용해 다른 타입으로부터 계산된 타입을 가져온다. type NewType = { [K in OriginalType]: NewProperty; } 유니언 타입에 존재하는 각 문자열 리터럴 키를 가진 객체를 생성하려고 할때 사용. 15.1.1 타입에서 매핑된 타입 일반적으로 매핑된 타입은 keyof 연산자를 사용해 키를 가져오는 방식으로 작동한다. interface AnimalVariants { alligator: boolean; baboon:number; cat: string; } type AnimalCounts = { [K in keyof AnimalVariants]: number; .. 더보기 [책 러닝 타입스크립트] 14장. 구문확장 14.1 클래스 매개변수 속성 클래스를 많이 사용하는 프로젝트이거나 클래스 이점을 갖는 프레임워크가 아니라면 클래스 매개변수 속성을 사용하지 않는 것이 좋다. 타입스크립트는 매개변수 속성을 선언하기 위한 단축 구문을 제공한다. 단축구문 적용전 class Engineer { readonly area: string; constructor(area: string) { this.area = area; } } new Engineer("computer").area; // string 단축구문 적용후 class Engineer { constructor(readonly area: string) { this.area = area; } } new Engineer("computer").area; // string reado.. 더보기 이전 1 2 3 4 5 다음