ETC(24)
-
[ETC] Axios interceptors
Axios 인터셉터는 HTTP 요청이나 응답을 가로채서 그 전후에 어떤 작업을 수행하도록 하는 기능 요청을 보내기 전에 헤더를 수정하거나 응답을 처리하기 전에 데이터를 변환하는 것과 같은 작업을 수행할 수 있다. 나의 경우 JWT 엑세스 토큰을 발급, 헤더에 담아 사용을 하였고 페이지 리프레쉬 과정에서 해당 토큰이 유실되는 이슈로 인해서 아래의 인터셉터를 활용했다. 구현 로직은 아래의 코드를 참조 // 인증 헤더를 설정하는 요청 인터셉터 axios.interceptors.request.use( request => { const token = store.get('jwtToken') // store는 로컬 스토리지나 쿠키를 관리하는 라이브러리로 가정 if (token) { request.headers['Au..
2023.07.15 -
[ETC] EXPO를 통한 안드로이드 앱 패키징
패키징 전, Expo 계정을 먼저 가입을 한다. 최신 EAS CLI 설치 npm install -g eas-cli 엑스포 계정에 로그인 eas login 엑스포 계정 로그인 이후 아래 커맨드로 로그인 여부를 확인할 수 있다. eas whoami 패키징 하고자 하는 프로젝트 경로로 들어가 초기 세팅을 진행 expo init app name을 입력 후 초기 세팅이 끝나면 해당 네임으로 디렉토리 하나가 생성 된다. EAS Build용 Android 프로젝트를 구성하려면 아래 커맨드를 입력한다. eas build:configure App.js 로 들어가 react-native-webview 모듈을 통해 스플래시 스크린 이후 연결 시킬 도메인을 적는다. 생성 된 app name(bipa4) 디렉토리로 이동 후 빌..
2023.03.02 -
[ETC] Pinata Sub Marined
서브마린은 비공개로 유지되고 공용 IPFS 네트워크에서 벗어난 콘텐츠를 업로드하는 프로세스입니다. Pinata Submarine을 사용하면 콘텐츠를 비공개로 유지하고 지정한 기간 동안 지속되는 프로그래밍 방식으로 액세스 토큰을 생성할 수 있고, 잠수함 콘텐츠를 보려면 전용 게이트 웨이가 필요함 . 전용 게이트웨이를 통해 서브마린 콘텐츠를 볼 때 유효한 액세스 토큰을 포함해야 함. const getSubMarined = async () => { const imagePfp1Cid = 'bafkreibyoohwj4uvno3dnwbw3kpkqjgk47unod7yns7abba5ngv3vpqafm'; const API_KEY = '서브 마린 KEY'; // CID (컨텐츠 식별자) 조회 const findConte..
2023.02.03 -
[ETC] 서버리스(Serverless)?
서버리스(Serverless)는 직역하면 "서버가 없다"라는 뜻입니다. 서버리스(Serverless)는 클라우드 컴퓨팅의 모델 중 하나로 개발자가 서버를 직접 관리할 필요가 없는 아키텍처를 의미한다. 서버가 필요 없다는 뜻은 아니다. 서버를 관리하거나 신경 쓸 필요가 없다는 뜻 나노 수준의 함수로 구성된다. 서버리스 아키텍처의 구현 방식 서버리스 아키텍처의 대표적인 두 가지 구현 방식은 아래와 같습니다. BaaS (Backend as a Service) : Firebase, Kinvey, Parse ... 등 FaaS (Function as a Service) : AWS Lambda, Azure Functions, Google Cloud Functions ... 등 BaaS를 사용하는 애플리케이션은 일반..
2022.12.07 -
[ETC] Debounce 와 Throttle 차이점
이 두 가지 방법 모두 DOM 이벤트를 기반으로 실행하는 자바스크립트를 성능상의 이유로 JS의 양적인 측면, 즉 이벤트(event)를 제어(제한)하는 방법 Throttle 과 Debounce 사용 사례 사용자가 창 크기 조정을 멈출 때까지 기다렸다가 resizing event 사용하기 위해 사용자가 키보드 입력을 중지(예: 검색창) 할 때까지 ajax 이벤트를 발생시키지 않기 위해 페이지의 스크롤 위치를 측정하고 최대 50ms 마다 응답하기를 바랄 경우에 앱에서 요소를 드래그 할 때 좋은 성능을 보장하기 위해 디바운스(debounce)와 스로틀(throttle)은 시간이 지남에 따라 함수를 몇 번이나 실행 할지를 제어하는 유사한 기술이지만 서로 다릅니다. Debounce Debounce 는 이벤트를 그룹..
2022.12.06 -
[Homestead] 디렉토리 추가
--- ip: "192.168.10.10" memory: 2048 cpus: 2 provider: virtualbox authorize: ~/.ssh/id_rsa.pub keys: - ~/.ssh/id_rsa folders: - map: D:\project\code to: /home/vagrant/code - map: D:\project\code2 to: /home/vagrant/code2 sites: - map: homestead.test to: /home/vagrant/code/public - map: homestead.test to: /home/vagrant/code2/public mariadb: - homestead databases: - homestead features: - mysql: fal..
2022.12.02