전체보기
-
오랜만에 알림톡을 다시 구현할 일이 생겼는데요. 연동 방법을 포스팅으로 남겨도 좋을 것 같아 내용을 정리해봤습니다. 알림톡 사용을 위해서 NHN Notification - KakaoTalk Bizmessage 서비스를 사용했으며, 발신 프로필이 등록되어야 테스트할 수 있습니다. ※ 테스트 환경 Spring Boot 1. 알림톡 템플릿 등록 알림톡 전송시 사용될 템플릿이 등록되어야 합니다. NHN 접속 후 알림톡 - 템플릿 관리로 이동합니다. 템플릿 등록을 통해 각 내용을 기입합니다. 템플릿 내용에는 변수를 사용할 수 있습니다. 템플릿에는 변수를 사용해서 내용을 등록해두고 API 호출시 변수에 대응하는 값을 넣어주면 호출 내용대로 알림톡이 발송됩니다. *템플릿 : #{이름} 알림톡입니다. *API 호출 :..
[Spring Boot]알림톡 보내기 2024. 3. 28. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다.여기서 더 많은 글들을 확인하실 수 있습니다.예제에 사용된 버전은 다음과 같습니다.npm 9.5.0react 18.2.0typescript 4.9.5 훅(React Hooks)React Hooks는 React 버전 16.8에서 소개되었습니다.훅은 함수 컴포넌트 안의 상태(State)나 생명 주기(Lifecycle)를 다루기 위한 기능입니다. 훅을 공부하기 앞서 리액트에서 말하는 상태와 생명 주기에 대해 먼저 알아볼 필요가 있었습니다.상태와 생명 주기1. 상태(State)상태란 컴포넌트 내부에서 변할 수 있는 값을 의미합니다. 이전 예제의 카드 컴포넌트를 다시 가져오겠습니다. Props로 전달받은 title 아래로 카드를 클릭할 때마다 클릭 수가 증..
React 맛보기 - React Hooks 2024. 3. 28. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다.여기서 더 많은 글들을 확인하실 수 있습니다.예제에 사용된 버전은 다음과 같습니다.npm 9.5.0react 18.2.0typescript 4.9.5리액트 프로젝트를 생성해보겠습니다. 타입스크립트를 사용하기 위해 패키지를 추가합니다.npx create-react-app@latest study-react --template typescript 프로젝트를 실행합니다.npm run start 컴포넌트리액트에서 말하는 컴포넌트는 쉽게 말해 브라우저에 표시되는 페이지의 각 요소들을 말합니다. 이런 사이트가 있다고 할 때 1.메뉴, 2.카드가 컴포넌트인 것입니다.1. 메뉴는 레이아웃 컴포넌트로 사용되고 2. 카드는 리스트에서 하나의 아이템 컴포넌트로 사용되고..
React 맛보기 - React Component 2024. 3. 28. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 더 많은 글들을 확인하실 수 있습니다. 푸쉬 수신은 디바이스의 상태에 따라 설정이 필요합니다. 디바이스 상태는 3가지로 나뉩니다. Foreground : 앱이 실행되어 있고, 화면에 보여지고 있는 상태 Background : 앱이 실행되어 있지만 화면에 보여지지 않는 상태 Terminated : 앱이 종료된 상태 그리고 푸쉬 수신을 위해서는 디바이스 상태와 플랫폼별 설정이 필요합니다. 먼저 Messaging 클래스를 작성합니다. 클래스내 모든 메소드는 static으로 동작하도록 구성했습니다. 1. 파이어베이스 초기화 Firebase와 Local notification 초기화를 담당하는 메소드입니다. 초기화시 등록되는 메소드는 다음과 같습니..
[Flutter]Firebase 클라우드 메세징 사용해보기 - 2편 : 푸쉬 수신 개발 2024. 3. 24. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 더 많은 글들을 확인하실 수 있습니다. Android 1. build.gradle(:app) 설정 1-1) SDK 버전 설정 FCM 사용을 위해 최소 버전은 31로 맞춰야합니다. compileSdkVersion과 targetSdkVersion은 33으로 맞춰줍니다. compileSdkVersion 33 defaultConfig { applicationId "com.app.ourchurch" minSdkVersion 31 targetSdkVersion 33 } 1-2) 모듈 추가 dependencies { // Firebase implementation platform('com.google.firebase:firebase-bom:32.7.2..
[Flutter]Firebase 클라우드 메세징 사용해보기 - 1편 : 설치 2024. 3. 24. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 더 많은 글들을 확인하실 수 있습니다. 캐시란 캐시는 자주 사용되는 데이터나 값을 저장해 놓은 임시 장소를 말합니다. 캐시는 데이터 저장소 유형 중 하나로 반복되는 데이터를 돌려주는 상황에 효율적으로 사용할 수 있습니다. 캐시를 사용함으로써 반복되는 데이터의 접근을 피해 DB 서버로부터의 부하를 방지할 수 있는 것이죠. 아래는 최근 코드드림에서 개발한 교회 관리 서비스인데요. 관리자 서비스에서 교회 정보를 저장하고, 모바일앱에서는 api 서버를 통해 교회 정보를 조회하는 구조입니다. 이 때 교회 정보는 변경이 자주 일어나지 않기 때문에 캐싱 전략을 사용할 수 있었습니다. 이런 전략으로 하는 캐싱의 주요 대상은 다음과 같습니다. 반복적인 데..
[Spring Boot]Redis를 이용해 캐싱 구현하기 2024. 3. 21. -
플레이스토어에 앱을 최초 배포 후에 업로드 키를 분실했습니다. 그리고 새로운 키를 만들고 배포를 시도했는데요. 아래와 같이 앱을 업로드할 수 없는 상황이 발생했습니다. 원인은 이전 배포에서의 업로드 키와 새로 추가된 앱 파일의 업로드 키가 달라서인데요. 이 경우에는 구글에 업로드 키를 재설정한다는 요청을 해야 합니다. 업로드 키의 경로는 아래에서 보이는 Key store path입니다. 업로드 키 경로에 들어가 pem 키를 생성하는 명령어를 입력합니다. keytool -export -rfc -keystore [업로드키] -alias [키별칭] -file [생성될 pem 파일명] 업로드키 : codedream 키별칭 : Key alias에 입력된 이름 인증서가 생성되면 아래와 같이 pem 파일이 생성됩니다..
Android App Bundle이 잘못된 키로 서명되었습니다. 제대로 된 서명 키로 App Bundle에 서명한 다음 다시 시도해 보세요. 2024. 3. 7. -
본 포스팅은 스터디를 통해 작성한 글을 복사한 내용입니다. 여기서 더 많은 글들을 확인하실 수 있습니다. 예제에서 사용될 컬렉션은 다음과 같습니다. 사용자 : users export const UserScheme = new Schema({ _id: { type: ObjectId }, userName: { type: String }, roleCode: { type: String }, createDate: { type: Date, default: Date.now }, }); 역할 : roles export const RoleScheme = new Schema({ _id: { type: ObjectId }, roleName: { type: String }, }); INSERT 먼저 roles 컬렉션에 데이터를..
Node와 MongoDB(+Mongoose) 2024. 2. 27.