개요 애플이 제공하는 APNs를 이용하면, 내가 제작한 앱이 설치된 애플의 제품군에 해당하는 모든 기기에 메시지를 전송할 수 있다. 이번 글에서는 Kotlin, Spring Boot 기반 프로젝트에서 APNs를 이용한 메시지 전송 방법을 설명하고자 한다. 관련 용어 메시지를 전송하려면, 대상이 되는 기기 각각을 식별할 수 있는 고유의 식별 문자열이 요구된다. 이를 Device Token이라고 부른다. (FCM에서는 FCM Token이라고 부르는 것과 같은 개념이다.) 일반적으로 앱은 자신이 실행 중인 기기의 Device Token을 앱 서버로 전송하고, 이를 수집한 앱 서버가 알람 등의 메시지를 각 기기로 전송하는 방식으로 운영된다. 이 때 앱 서버는 애플이 제공하는 APNs 서버에 메시지를 전송하여 메..
개요 구글이 제공하는 Firebase Cloud Messaging(FCM)을 이용하면, 서버와 같은 외부에서 내가 소유한 앱이 설치된 기기로 1개 이상의 메시지를 전송할 수 있다. FCM은 완전히 무제한으로 무료 제공된다. 크로스 플랫폼을 지원하여 Android, iOS, Chrome 기기에 메시지를 전송할 수 있다. 이번 글에서는 Kotlin, Spring Boot 기반 프로젝트에서 FCM을 이용한 메시지 전송 방법을 설명하고자 한다. 관련 용어 메시지를 전송하려면, 대상이 되는 기기 각각을 식별할 수 있는 고유의 식별 문자열이 요구된다. 이를 FCM Token이라고 부른다. (APNs에서는 Device Token이라고 부르는 것과 같은 개념이다.)앱 이외의 애플리케이션에서 FCM을 이용하여 1개 이상..
개요 MySQL/MariaDB의 3306번 포트를 이용한 통신은 기본적으로 암호화되어 있지 않기 때문에, 원격지에서 접속할 경우 모든 통신 내용이 제3자에게 노출될 수 있다. 만약, 해당 서버가 SSH로 접속 가능한 상태라면 터널링 기능을 이용하여 통신 과정에서의 보안을 유지하면서, 마치 로컬 서버에 접속하는 것처럼 사용할 수 있다.SSH 터널링은 3가지 방법으로 접근할 수 있다. 로컬 운영체제가 Unix/Linux 계열이라면 ssh 명령어를 사용하여 터널링을 실행할 수 있다. Windows 계열이라면 PuTTY를 통해 가능하다. 마지막으로 SQL 클라이언트가 자체적으로 제공하는 터널링을 이용하는 것인데 이 방법이 가장 편리하다고 말할 수 있다. PuTTY를 이용한 터널링 PuTTY 실행 후 새로운 세션..
쿠키 기반 인증 쿠키 기반 인증은 사용자가 인증 성공시 서버에서 응답 헤더에 Set-Cookie: email=someone@nothing.com과 같이 인증된 사용자의 식별 정보를 브라우저(클라이언트)에 전달한다. 브라우저는 이 값을 기억하여, 이후 서버에 대한 모든 요청 헤더에 앞서와 동일한 Cookie: email=someone@nothing.com과 같이 추가하여 서버에게 인증된 사용자임을 알리는 방식이다. [관련 링크]쿠키 기반 인증은 서버가 별도의 저장소에 인증 정보를 저장할 필요가 없어 가장 간단하지만, 가장 위험한 인증 방식이다. 사용자의 인증 정보를 통신 과정과 브라우저에 노출하게 되어 외부로부터의 공격에 취약하다. 심지어, 사용자 본인이 다른 사람의 쿠키 정보로 변경하면 그대로 로그인할 ..
- Total
- Today
- Yesterday
- 로드 바이크
- DynamoDB
- 구동계
- java
- Spring MVC 3
- chrome
- 평속
- 자전거
- jstl
- JavaScript
- kotlin
- 로드바이크
- jsp
- Spring Boot
- CentOS
- jpa
- Eclipse
- maven
- node.js
- Kendo UI
- Kendo UI Web Grid
- JHipster
- Docker
- MySQL
- 태그를 입력해 주세요.
- spring
- graylog
- Tomcat
- 알뜰폰
- bootstrap
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |