개발 일기장/SWM Onestep97 20240902 TIL: 프론트 앱 배포 오류 해결하기 & 서버 http -> https로 바꾸기 [진행중] ✅ 오늘 배운 것저번 포스트에서 프론트의 앱 배포를 빨리 실행하기 위해서 에뮬레이터를 새로 설치하고 hypervisor를 깔고... 등등 이런 방법들을 시도했었다. 사실 hypervisor를 까는 것은 너무 간 이야기였다. 그 윈도우 OS에서 또 에뮬레이터를 깔고 실행을 시켜야 했기 때문에, 만약 에러를 재현하는 데 성공해도 그 윈도우의 에뮬레이터 단에서 에러를 디버깅하고 해결해야 했다. 그래서 멘토님께 조언을 구하던 중, 문득 '그렇다면 최소 요구 API 버전을 올리면 되는 거 아닌가?' 라는 생각이 들었다. 현재 최소 요구 버전은 23인데, 우리 팀은 다 33 이상에서만 테스트를 하고 있었다. 그렇다면 32 버전에서의 에러도 어떻게 보면 모를 수밖에 없었던 것이다. 이렇게 하면 해당 안드로이드 버전.. 2024. 9. 2. 20240831 TIL: 프론트 앱 출시 버그 재현을 위해 hypervisor 실행하기 [진행중] ✅ 오늘 배운 것오늘은 어제 회고에서 느낀 것처럼 현재 배포에서 막히고 있는 프론트 쪽 이슈를 같이 해결해보려고 한다. 현재 프론트에서 앱 배포를 하다가 막힌 상황이고, 잠시 팀원이 자리를 비운 사이에 조금이라도 일을 진행시키는 것이 오늘과 내일의 목표가 되겠다. 팀원에게 듣기로는 현재 expo를 사용해서, eas build를 production 모드로 진행한 다음 aab(abb?) 파일을 구글 플레이스토어에 업로드하면 된다고 한다. 다행히 여러 블로그 글에 관련된 설명이 나와 있었다. 우선 첫 번째로 Keystore를 생성해야 했다. Keystore란 RN에서 안드로이드 용 RN 실행 바이너리 파일을 만드는 데 사용되는 일종의 파일과 관련이 있었다. 생성하는 명령어가 있어서 우선 따라해 보려고 했다. .. 2024. 8. 31. 20240830 TIL: 알람 기능 테스트를 위해 e2e 테스트 도입하기 [진행중] ✅ 오늘 배운 것어제 알람 기능 로직을 작성하다 엔드투엔드(e2e) 테스트의 필요성을 많이 느꼈고, 그래서 시간이 좀 걸리더라도 e2e 테스트를 도입하는 것이 맞다는 판단이 들었다. 왜냐하면 앞으로 알람 기능 뿐만 아니라 다른 기능(API 테스트는 물론이고, 롱 폴링이나 웹소켓 등을 도입하게 되는 경우)을 사용할 때도 e2e는 유용하게 사용될 것이었기 때문이다. 그렇다면 e2e를 도입해 보고, 해당 이슈를 우선 처리한 다음, 도입한 e2e로 알람 기능을 테스트 및 개선해 보자. RN에서는 Jest와 Detox, Django에서는 기존의 pytest를 그대로 사용한 다음, Detox를 통해 이 둘을 연결할 수 있을 것으로 보였다. npm install detox --save-devnpm install .. 2024. 8. 30. 20240829 TIL: 알림 기능 개발하기 [진행중] ✅ 오늘 배운 것어제에 이어 알림 기능을 개발해 보려고 한다. 그러려면 서버에서는, CRUD를 통해 데이터를 변경시킨 클라이언트와 같은 계정을 공유하는, 모든 디바이스토큰을 가진 기기로 알림을 보내야 한다. 그러니까 이런 식이다. Device.objects.filter(user_id=user_id) 그런데 생각해보면 만약에 유저 계정 A1에 대해서 디바이스 B1과 B2가 있다고 하자. B1에서 C, U, D를 통해 투두 데이터에 변경이 일어나면 B1에 해당하는 유저 계정인 A1을 가진 디바이스 B1과 B2에게 알림을 보내게 될 것이다. 그런데 생각해보면 B1은 변경을 발생시킨 디바이스 주체이므로 굳이 B1에게 알림을 안 가게 하는 것이 맞는데, B2에게 알림을 보내면서 B1에게도 알림이 가게 된다. 이는.. 2024. 8. 29. 20240828 TIL: 알람 기능 개발하기 [진행중] ✅ 오늘 배운 것어제 찾은 라이브러리를 참고하여 다시 알림 기능을 개발해 보겠다. 어제 언급했던 대로 RN 역시 마찬가지로 안드로이드 API 33버전 이후부터는 사용자에게 명시적으로 알림 기능 허용을 받아내야 앱에서 알림을 보이게 할 수 있었다. 그 방법 중 하나는 RN에서 기본적으로 제공하는 PermissionsAndroid API를 사용하는 것이었고, 다른 방법은 react-native-permissions라는 모듈을 설치하는 것이었다. 사실 모듈을 설치해서 어떻게 구체적으로 작업이 되는 것인지는 잘 모르겠지만, 우선 설치해 주었다. 그리고 디바이스는 사용자가 어떻게 두느냐에 따라서 세 가지의 상태 중 하나에 속한다고 했다. 1. Foreground: 앱이 실행되고 있고, 사용자가 지금 앱 화면을 .. 2024. 8. 28. 20240827 TIL: 알람 기능 개발하려다가 다 못하고 홍보글 초안 작성하기 [진행중] ✅ 오늘 배운 것오늘은 실리콘밸리 개발자 특강을 듣고, 인스타그램 및 디스콰이엇에 업로드할 글 초안을 작성했더니 금방 시간이 가서 개발 이슈는 많이 작업하지 못했다. 일단은 어제 관련된 dependency 에러를 해결했으니, 이제 알람 기능을 개발해보려고 한다. 사실 여전히 Api 클래스에서 리프레시 토큰 값이 반영되지 않고 있다... 하지만 일단은 알람 기능을 개발하면서 에러 수정을 병행해야 할 것 같다. 알람 기능은 크게 두 가지로 나뉜다. 서버에서 클라이언트로 알림을 보내는 부분과, 클라이언트에서 해당 알림을 받아서 보여주는 로직이다. 우선은 클라이언트 쪽부터 작업해보자. 알고보니 안드로이드 프로젝트에 FCM(firebase cloud messaging)을 설정하려면 사전 작업이 필요했다. 공식문.. 2024. 8. 28. 이전 1 ··· 7 8 9 10 11 12 13 ··· 17 다음