이미지태거에서는 다음과 같이 화면에 이미지를 꽉 채워서 보여준다. 그런대 여기서 문제가 있다. 아래의 태그 추가 버튼을 눌러서 태그를 추가할 때, 사진이 키보드와 같이 올라가 버린다. 현재 구현되어있는 코드이다. {showHeader && ( } backgroundColor="rgba(50,50,50,0.5)" /> )} { setShowHeader(!showHeader); }}> {showHeader && ( setIsDelete(!isDelete)}> 태그 삭제 { setVisible(true); setNewTag(''); }}> 태그 추가 )} {/* 태그 추가 모달 */} ... 해결 이를 어떻게 해결할지 찾아보다가 ScrollView를 이용해서 간단하게 해결하는 방법을 찾았다. 어차피 컨텐츠가 ..
문제 앱을 테스트하는데 앱을 딱 처음 받아서 실행할 때, 항상 에러가 한번 나고 그 후로는 에러가 안났다. 이전의 디버깅들로 쌓인 경험상 왠지 또 deviceToken이 안들어가고 있는 것 같았다 디버깅 해보니 역시나 아래와 같이 deviceToken이 들어가지 않은 요청이 보내지고 있었다. 처음에 deviceToken을 받고 나서는 asyncstorage에 저장되니까 한번 실패한 다음부터는 에러가 나지 않는 걸로 예상된다. 아래는 현재 코드이다. 메인함수에서 미리 정의된 useFCMToken이라는 hook을 이용하여 fcmToken을 불러온 후, sendImages에서 사용한다. function App() { const fcmToken = useFCMToken(); ... React.useEffect(..
문제 그렇게 오류도 다 잡고, 기능도 추가해서 디버그모드에서 다 잘 동작하는 것을 확인했는데 이번에는 디버깅을 끄자 release모드에서 앱이 작동을 하지 않았다... logcat을 이용해서 디버깅을 해 본 결과 아래와 같이 undifined가 넘어갔다. 범인은 바로 아래의 코드이다. 콘솔에 찍어본 결과 asyncstorage에서 저장했던 imageArr을 불러오는 것 까지는 문제가 없었으나 그 밑에 array를 set으로 형변환한 결과인 savedImageSet이 {} 로 출력되었다. 디버그 모드에서는 문제 없었는데, 왜 release 모드로 실행하면 안되는지 의문이다.. // 캡쳐사진 저장 여부 확인 export const checkNewImages = async images => { const im..
시작! 어제 짠 코드를 오늘 서버와 연결해서 실행해보는데, 예상치 못한 오류가 생겼다. 항상 react를 사용할 때마다 문제가 되는 setState()의 비동기로 인한 오류가 또 발생했다.. 아래의 코드를 보면 newImages 배열을 50개씩 쪼개서 서버에 전송하기 위한 부분을 구현했다. 여기서 모든 배열이 다 전송되면 로딩화면을 끝내야 하기 때문에, 이를 확인하는 부분이 sendImages()의 코드이다. if (imageListNum == sendImageListNum + 1) { setDataLoadState(3); saveImages(newImages); // 전송한 캡쳐사진 저장 } setSendImageListNum(sendImageListNum + 1); 위에서 미리 저장해 놓은 image..
오늘은! 원래는 모든 이미지를 한번에 전송했는데, 이전 글에 포스팅 했듯이 이미지가 너무 많을 경우 time out으로 전송이 안되는 경우가 있었다. 그래서 이번에는 크기가 커서 한번에 전송할 수 없는 이미지들을 50개씩 나누어서 전송하도록 바꾸었다. 기존 코드 일단 기존의 코드는 아래와 같이 동작했다. 1. 캡쳐사진 읽기 2. async-storage에 저장되어 있는지 확인 3. 저장되어있지 않은 사진만 가져오기 4. 가져온 사진들 서버에 전송 5. 추가된 사진 async-storage에 저장 바뀐 코드 아래는 바뀐 코드이다. 이것 저것 추가하면서 너무 복잡해져서 함수들을 분리했다. 1. 캡쳐 사진 읽기 2. async-storage에 저장되어 있는지 확인 3. 저장되어있지 않은 사진만 가져오기 4. ..
# 문제 이미지 태거에서는 현재 앱을 실행하면 자동으로 해당 어플의 모든 캡쳐사진들을 서버로 전송하도록 되어있다. 가지고 있는 공기계로 테스트하면서 개발할 때는 문제 없었는데, 실제 기기로 테스트하자 무려 3000장이 넘는 사진들에 timeout으로 전송이 실패해버렸다.. 사실 앱을 실행할 때 마다 보냈던 이미지를 또 보내는 게 비효율적이라고 계속 생각 중이었는데, 일단 전체적인 기능 완성 때문에 그냥 뒀었다. 이제는 그냥 이대로 둘 수 없어서 보냈던 이미지는 다시 서버로 보내지 않도록 하는 로직을 추가하려 한다! 사실 지금까지 시도를 안하고 있었던 이유가 왠지 캐시를 사용해서 이미지를 어떻게 해야만 할 것 같아서, 복잡하지 않을까 하는 생각에 일단 급한 것 부터 처리하려고 미룬 것이었다. 그런데 막상 ..
시작! 블록체인에 대해서는 학교수업 중 컴퓨터 보안 과목에서 그 동작 원리를 배우는 정도 밖에는 알지 못했다. 블록체인에 관해 깊게 생각해 보지는 않았지만, 저번에 나갔던 해커톤이 너무 재밌어서 사실상 놀러가는 느낌으로 해커톤에 신청을 했는데 참가하게 되었다! 당장 내일이 해커톤인데 시험기간과 캡스톤에 밀려 이제야 세팅을 한번 시도해봤다. Hello NEAR 👋 | NEAR Documentation Hello NEAR 👋 | NEAR Documentation 안녕하세요! NEAR: Hello NEAR에서 첫 번째 탈중앙화 앱(dApp)을 시작하고, 앱과 상호 작용하는 방법을 안내해 드리겠습니다. docs.near.org 니어 프로토콜의 공식 사이트의 문서를 차근히 따라가면 된다. 1. 리눅스 환경 구축 ..
이미지 태거에서는 처음 앱을 시작했을 때 다음의 과정을 거친다. 1. 앱의 접근 권한을 확인한다. 2. 접근 권한이 있다면, 기기의 캡쳐사진을 전부 불러온다. 3. 해당 사진들을 서버로 보낸다. 4. 서버에 전송을 성공하면 home화면으로 이동한다. 위 4가지의 단계가 전부 home으로 이동하기 전 app.js에서 이루어지는데, 구현에만 집중하다 보니 코드가 아주 길고, 동작 과정이 나도 헷갈리게 되어버렸다. 코드를 좀 더 읽기 쉽게 리팩토링 해보려 한다. 오늘 할 것은 간단하게 1. 복잡한 callback 함수를 async await를 사용해서 바꾼다. 2. 구지 해당 코드에서 로직을 볼 필요가 없는 부분, 아래의 경우에는 getFCMToken()을 custom hook으로 만들어서 숨긴다. 나중에 더..
[react-native] release 버전 안드로이드 앱 디버깅하기 - logcat (tistory.com) [react-native] release 버전 안드로이드 앱 디버깅하기 - logcat # 문제 프로젝트 마무리 단계이다. 디버그 버전으로 모두 잘 돌아가는 것을 마쳤고, 이제 사용자 설문조사 단계를 위해 앱을 배포했는데, 분명 디버그 버전으로는 잘만 작동되던 앱이 작동이 되 sosohan-it-log.tistory.com 위 글과 이어진다. 사실 위 글은 어제 해결한 에러인데, 글은 오늘 올렸다. 오늘도 계속되는 디버깅.. http때문에 api가 막히는 에러를 겨우 캐치해서 해결했는데, 여전히 안돌아가는 api... 이 전의 경우와 마찬가지로 디버그 모드에서는 잘 돌아가는데, release ..