본문 바로가기

전체 글

[troubleShooting] flutter inappwebview - 안드로이드, ios환경에따라 뒤로가기, 스와이프 제어하기 flutter inappwebview환경에서 특정상황(ex. 웹에서 모달이 열였을 때, 홈화면일 때 등등)에서 ios의 뒤로 가기 스와이프를 막는 설정에 대해서 알아보자 우선 최초 버그내용으로는 다음과같았다 "모달을 띄운 후 페이지를 뒤로 갔을 때 모달이 그대로 유지됩니다" 이는 확인해 본 결과 모달을 전역적으로 유지하고 있었기 때문에 발생한 문제였고, 모달을 해당 페이지컴포넌트 내부로 이동하여 페이지가 원마운트될 때 자연스럽게 사라지도록 하여 버그를 해결했었다 근데 문제는 추가 구현사항이었다 1. android: 모달이 열려있을 때 디바이스의 뒤로가기에해당하는 물리버튼을 눌렀을때 모달 닫힘 2. ios: 모달이 열려있을때 스와이프 제스처 막기 처음봤을 땐 둘중 하나의 요구사항을 충족하면 나머지하나는 자.. 더보기
frontend 모노레포 구성하기 모노레포를 설명하기 전에 workspace의 개념에 대해서 알고 가자 yarn에서 잘 정의되어 있는 것 같아 가져와보면 Workspaces are the name of individual packages that are part of the same project and that Yarn will install and link together to simplify cross-references. -> 즉, workspace란 하나의 프로젝트를 구성하는 여러 패키지들 중 하나의 단위를 의미한다고 한다 (패키지 === workspace) 그렇다면 모노레포구조를 왜 사용해야 할까? 1. 각각의 서비스들이 독립적인 레포로 관리되다 보면 유지보수가 힘들어짐 특정 라이브러리 업데이트, 컨벤션 변경과 같은 상황이 발.. 더보기
첫 스프린트 회의 회고: 기획해보기 재취업을 준비하고 6개월 만에 새로운 회사에 입사하게 되었다. 나는 신규프로젝트에 투입되었다. 신규프로젝트팀에 확정된 인원이 나포함 프론트엔드 2명이라 기획, 백엔드, 디자이너가 공석인 상태지만 여러 가지 경험을 해볼 수 있는 기회라 생각했다. 아직 초기단계라 주 2회(월, 금) 스프린트 방식으로 윗분들과 상황을 공유하기로 했다. 사업성과 예비 고객은 기존에 잡혀있는 상태였기 때문에 첫 임무로 기획의 대략적인 스케치를 구상하는 임무를 맡게 되었다. 기획안 스케치 툴은 피그잼을 활용하기로 했다. 기획을 어떤 식으로 구성하면 좋을까? 프로젝트는 총 3개의 프론트 어플리케이션으로 구성된다. 나는 기존 회사에서 어드민을 개발한 경험이 있어 어드민서비스 개발 스케치를 맡았고 선임 개발자분은 객실 쪽 서비스를 맡게.. 더보기
[에러 디버깅] 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.. 더보기
도매 사업자 서비스 개발 과정 입사 전 회사에선 대규모 업데이트(v1 -> v2)가 진행되고 있었다. 회사의 프로젝트는 총 3가지로 구성된다. 1. 터틀체인 2. 백오피스 3. 도매 사업자 이 중에서 도매 사업자의 변경 과정에 대해서 겪었던 경험을 작성하려 한다. 몇 가지 이유에 의해 기존의 v1버전을 유지하지 않고 새롭게 만들기로 결정했는데 다음과 같다. 처음부터 새롭게 설계를 고려하게 된 이유. 1. api 재설계 팀에 합류 전 전체적인 api 재설계가 이루어져 있었다. 그에 따라 도매 사업자 내에서 사용하던 api도 수정사항이 발생했는데, 확인한 결과 수정사항이 발생한 api가 90% 이상이었다. 사실상 도매 사업자에 대한 전체적인 내부코드를 수정해야 함을 의미했다. 2. 클래스형 컴포넌트 또한 컴포넌트를 구성하는 방식이 클래스.. 더보기