Framework
-
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 더 많은 글들을 확인하실 수 있습니다. 캐시란 캐시는 자주 사용되는 데이터나 값을 저장해 놓은 임시 장소를 말합니다. 캐시는 데이터 저장소 유형 중 하나로 반복되는 데이터를 돌려주는 상황에 효율적으로 사용할 수 있습니다. 캐시를 사용함으로써 반복되는 데이터의 접근을 피해 DB 서버로부터의 부하를 방지할 수 있는 것이죠. 아래는 최근 코드드림에서 개발한 교회 관리 서비스인데요. 관리자 서비스에서 교회 정보를 저장하고, 모바일앱에서는 api 서버를 통해 교회 정보를 조회하는 구조입니다. 이 때 교회 정보는 변경이 자주 일어나지 않기 때문에 캐싱 전략을 사용할 수 있었습니다. 이런 전략으로 하는 캐싱의 주요 대상은 다음과 같습니다. 반복적인 데..
[Spring Boot]Redis를 이용해 캐싱 구현하기 2024. 3. 21. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 Next와 관련된 더 많은 글들을 확인하실 수 있습니다. 1. 서비스 키 생성 1-1) 파이어베이스에 접속 후 프로젝트 선택 1-2) 프로젝트 설정 - 서비스 계정 - 비공개 키 생성 클릭 1-3) 다운받은 키는 프로젝트 특정 폴더에 위치시킵니다. 2. Firebase 설치 npm install firebase-admin --save 3. Firebase SDK 초기화 3-1) 파이어베이스 api를 생성합니다. SDK 초기화시 1-3)에서 위치한 경로를 지정해줍니다. api/fcm/route.ts import admin from "firebase-admin"; import { getMessaging } from "firebase-admin..
Next.js + Firebase를 활용한 모바일 푸시 구현 2024. 2. 23. -
최근 Next.js로 만든 프로젝트를 Vercel로 배포해봤는데 정말 간단합니다. 1. Vercel 접속하기 접속 후 계정을 연결합니다. 2. 레포지토리 연결 3. Deploy 실행 따로 설정이 필요 없습니다. package.json에 build 명령어만 Build Command에 입력시켜줍니다. 이후 Deploy를 실행합니다. *만약 env 환경 변수를 필요로 하는 프로젝트는 아래 환경 변수 설정을 참고해주세요. "scripts": { "dev": "next dev", "build": "next build", "start": "next start", "lint": "next lint" }, Deploy 전에 env 환경 변수를 사용중인 프로젝트라면 빌드시 환경 변수를 설정합니다. Settings - E..
Vercel 배포 2024. 1. 24. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 Next와 관련된 더 많은 글들을 확인하실 수 있습니다. 먼저 로그인을 구현하기 전에 사용중인 MongoDB에 계정을 만들어야했습니다. 현재 기획중인 서비스에 회원가입 기능은 따로 존재하지 않아서 계정 추가 기능을 넣기로 했습니다. 프로젝트의 디렉토리 구조는 다음과 같습니다. admin.codedream ├─ .eslintrc.json ├─ .git ├─ .gitignore ├─ .vscode ├─ app │ ├─ api │ │ ├─ auth │ │ │ └─ [...nextauth] │ │ │ └─ route.ts │ │ └─ user │ │ ├─ join │ │ │ └─ route.ts │ │ └─ login │ │ └─ route.ts..
Next.js + NextAuth를 활용한 로그인 구현 2024. 1. 11. -
Next를 공부하며 가장 먼저 찾았던 디버그 모드 적용하는 방법을 소개합니다. 프로젝트 루트 경로에 ./vscode/launch.json 파일을 추가합니다. 그리고 파일안에 아래 내용을 저장합니다. { "version": "0.2.0", "configurations": [ { "name": "Next.js: debug server-side", "type": "node-terminal", "request": "launch", "command": "npm run dev" }, { "name": "Next.js: debug client-side", "type": "chrome", "request": "launch", "url": "http://localhost:3000" }, { "name": "Next.js..
Next.js 디버그 모드 2024. 1. 10. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 Next와 관련된 더 많은 글들을 확인하실 수 있습니다. 1. MongoDB 설정 1-1) 프로젝트 생성 MongoDB 계정을 만들고 사이트에 접속해 프로젝트를 생성합니다. 1-2) Database 생성 생성된 프로젝트에서 Create를 통해 Database를 생성합니다. 1-3) Database 설정 우리는 무료를 사용할 것이기 때문에 맨 우측에 있는 M0를 선택합니다. 무료 버전에서는 저장소의 512MB를 제한합니다. 1-4) 커넥션 정보 입력 DB에 커넥션할 때 입력할 아이디/패스워드 정보를 입력합니다. 이후에 나오는 단계는 Close로 넘어가도 무방합니다. 1-5) 보안설정 Database를 생성하게 되면 기본적으로 로컬 IP만 접..
Next.js + MongoDB 2024. 1. 9. -
최근 같이 공부하는 스터디팀에서 영어 단어 앱을 만들어 배포했는데요. Next.js로 웹을 구현하고 Flutter의 웹뷰를 이용해 제작/배포한 앱입니다. 영어 단어를 읽어주는 기능을 윈도우 함수 중 speechSynthesis로 구현했는데, 이 함수는 안드로이드 웹뷰에서는 지원되지 않는다고 합니다. iOS에서만 테스트를 하다보니 이런 부분을 체크하지 못한 것 같네요. 기존 코드를 보면 영어 단어 클릭시 아래와 같이 speechSynthesis를 이용해서 음성으로 표시되고 있었습니다. window.speechSynthesis.cancel(); const speechMsg = new SpeechSynthesisUtterance(); speechMsg.rate = 1; speechMsg.pitch = 1.2;..
[ERROR]"Uncaught TypeError: Cannot read property 'cancel' of undefined" 2023. 12. 28. -
최근 iOS 버전을 업데이트(17) 하면서 Xcode 버전도 14에서 15로 업데이트를 하게 됐는데요. 역시나 빌드 과정에서 오류를 만났습니다. The iOS deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 11.0, but the range of supported deployment target versions is 12.0 to 17.0.99. 다행히 깃허브 이슈에 여러 글들이 올라와있어 문제를 쉽게 해결할 수 있었습니다. 1. cocoapod 업데이트 brew upgrade cocoapods 2. pod update cd ios rm -rf Podfile.lock pod install --repo-update 참고문서 When will there..
[Error]DT_TOOLCHAIN_DIR cannot be used to evaluate LIBRARY_SEARCH_PATHS, use TOOLCHAIN_DIR instead 2023. 12. 4.