728x90

Development 69

Possible unhandled promise rejectionError: [database/permission-denied] Client doesn't have permission to access the desired data

위 에러는 Firebase와 같은 데이터베이스에서 권한 설정이 제대로 되어있지 않음을 나타낸다.해결방법 : 사용하는 부분에 대한 규칙 확인 및 수정 나는 storage와 realtime database를 사용하고 있었고,해당 규칙은 다음과 같이 변경하였더니 정상 작동하였다. 어쩐지 알람이 많이 와있었는데, 규칙을 변경하지 않으면 사용을 중지시킬 것이라는 내용이었고,수정 전 realtime database 규칙은{  "rules": {    ".read": "now     ".write": "now   }}이렇게 적혀있었다.  1. Firebase Realtime Database 규칙 확인 및 수정 {  "rules": {    ".read": "auth != null",    ".write": "auth..

Development/Error 2024.06.27

[study] 앱 최적화 방법

useCallback, useMemo 등의 사용 자주 렌더가 일어나는 경우에는 매번 변수 또는 함수 재생산 너무 자주 일어난다면 비정상적인 memory를 가지게 되기 때문에 자주 발생하는 경우 useMemo, useCallback 등 사용 권장 Image 사이즈 처리 : 이미지의 사이즈를 명확히 명시하지 않아 render가 무한히 호출됨. 가급적이면 정수로 되어있는 width, height값 선언 권장 // 또는 FastImage 사용

맥에서 텍스트 입력 후 방향키 사용 시 지워지고 공백이 생기는 현상

macOS Monterey 키보드 입력 버그 문제 상황:이 문제는 macOS Monterey의 특정 버전에서 발견된 버그로, 텍스트 입력 과정에서 백스페이스(⌫) 키 사용이나 특정 텍스트 선택 후 수정 과정에서 발생할 수 있다. 특히, 텍스트를 블록 지정한 후 바로 수정을 시도할 때 기존 텍스트가 삭제되면서 동시에 공백이 생성되는 현상이 발생할 수 있다. 해결 방안 소프트웨어 업데이트: Apple은 이러한 문제를 인지하고 있으며, 가능한 경우 소프트웨어 업데이트를 통해 문제를 해결할 수 있다. 텍스트 입력 방식 조정: 문제가 발생하는 특정 텍스트 입력 방식을 피하고, 텍스트 수정 시 다른 방법을 사용해 보는 것도 하나의 해결책이 될 수 있다. 예를 들어, 텍스트를 블록 지정 후 삭제하는 대신, 백스페이스..

Development 2024.03.25

[study] ThunkAction

ThunkAction과 ThunkDispatch는 Redux Thunk 미들웨어와 관련된 개념이다. Redux Thunk는 Redux의 비동기 작업을 관리하기 위해 사용되는 미들웨어로, 액션 생성자가 함수를 반환할 수 있게 해 준다. 이를 통해 액션 생성자 내에서 비동기 로직을 실행하고, 완료되면 일반 액션 객체를 디스패치할 수 있다. ### ThunkAction `ThunkAction`은 Redux Thunk 미들웨어에서 사용되는 타입이다. TypeScript와 함께 Redux를 사용할 때, 액션 생성자에서 반환되는 함수의 타입을 정의할 때 사용된다. `ThunkAction` 타입은 비동기 작업의 결과를 처리하기 위해 사용되며, 일반적으로 다음 네 가지 파라미터를 받는다: - `ReturnType`: ..

[study] png 파일 사용, 이미지 파일의 내용을 변경했음에도 불구하고, 변경 전 이미지가 표시되는 이유

이미지 파일의 내용을 변경했음에도 불구하고, 변경 전 이미지가 표시되는 이유는 캐시(cache) 때문일 수 있다. 이미지 파일은 일반적으로 로컬 저장소나 원격 서버에서 가져와서 표시되는데, 가져온 이미지는 성능 및 속도 향상을 위해 임시로 캐시에 저장될 수 있다. 캐시는 이전에 로드한 이미지를 저장해 두고, 동일한 파일 경로나 URL을 가진 이미지를 다시 요청할 때 이전에 캐시 된 이미지를 반환한다. 이로 인해 이미지가 변경되었음에도 불구하고 변경 전 이미지가 여전히 표시될 수 있다. 나는 러버독이라는 프로그램을 사용중이고, 파일 이름을 동일하게 저장, 파일 내용은 변경된 상황에서 앱기기에서 reset-cahce를 했음에도 이미지 파일의 내용이 변경되지 않는 경우가 있었다. 이런 경우 또 한 가지 생각해..

[study] RESTful 기반 API를 이용한 웹 서비스 개발

RESTful 기반 API를 이용한 웹 서비스 개발은 웹 애플리케이션을 구축하는 방법 중 하나다. 이 방법은 REST(Representational State Transfer) 아키텍처 스타일을 따르며, 클라이언트와 서버 간의 통신을 위한 API를 개발하는 것을 중점으로 한다. RESTful API는 웹 서비스의 리소스를 고유한 URI(Uniform Resource Identifier)로 표현하고, HTTP 메서드(GET, POST, PUT, DELETE 등)를 사용하여 리소스에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행한다. 이를 통해 클라이언트는 HTTP 요청을 보내고, 서버는 해당 요청에 응답하여 필요한 데이터를 제공하거나 작업을 수행한다. 웹 서비스 개발에서 ..

[ordinary] 2024 방송통신대학 컴퓨터과학과 편입 완료

방송통신대학 컴퓨터 과학과 편입에 성공했다. 이전 대학은 전문대학이었고, 조교가 짜주는 대로 시간표가 정해졌기 때문에 수강신청이라는 것을 처음 해봤다. 관심 있는 분야, 새로운것을 배우는 것에 대해 설렘과 의욕이 강했다. 부족한 2년이라는 시간 안에 최대한 꽉꽉 채워 배워보려 다짐했다. 블로그 참고도 많이 하고, 학교에 나온커리큘럼도 참고하면서 2년 동안의 수강을 계획해 보았다. 많은 분들이 1학기때 가장 열심히 한다는 말씀으로 정말 전공 꽉꽉 채워서 수강신청했고, 등록금도 납부했고, 이제 3월이면 개강이다! 3월 아니고 당장 다음 주였다.. 2/19 월부터 수강이 가능하다고 하는데,, 시간표를 다시 보니 쪼끔 과했나 싶기도 하고,, 걱정도 된다,, ㅎㅅㅎ 그렇지만 해내야지 하고 또 다짐한다 :) 일찍 ..

Development 2024.02.16

[study] 최적화를 위한 Memorization

최적화를 위한 Memorization :기존에 수행했던 연산, 결과들을 어딘가에 저장한 뒤 동일한 입력값인 경우 재활용하는 것 useMemo : -첫 번째 인자 : 기억할 값을 리턴해주는 함수 -두 번째 인자 : dependency array const variableA = useMemo(()=>{}, [])//useEffect와 비슷한 사용법 (예) export const ComponentA = (props)=>{ //props.a=1, props.b=2; const variableA = useMemo(()=>{ return props.a+props.b }, [props.a, props.b]) }; useCallback: -첫 번째 인자 : 기열 할 함수를 리턴해주는 함수 -두 번째인자 : depend..

728x90