공부/Spring(62)
-
[Spring/Kotlin] Java와 Kotlin의 의존성 주입 방법 비교
이번에 프로젝트로 코틀린 + 스프링부트를 사용하게 되어서 자바 + 스프링부트와의 차이점을 비교해보려고 한다. 이전에 자바 + 스프링부트에서 의존성 주입 방법들과 그 특징들에 대해서 포스팅을 한 적이 있다. (만약 의존성 주입 방법에 대해 잘 모른다면 아래 포스팅을 참고) https://growth-coder.tistory.com/73 [Spring][스프링 핵심 원리] 의존 관계 주입 방법 및 옵션 처리 본 포스팅은 김영한 강사님의 인프런 강의 "스프링 핵심 원리 - 기본편"을 정리한 포스팅으로 강의 자료에서 사용한 자료를 사용했음을 밝힙니다. https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%E growth-coder.tistory.com 코틀..
2024.04.04 -
[WebRTC] WebRTC, KMS, OpenVidu 개념
WebRTC는 브라우저 간에 플러그인의 도움 없이 통신할 수 있도록 설계된 API이다. 즉 따로 소프트웨어를 설치할 필요가 없이 여러 종류의 데이터들을 교환할 수 있게 해준다. WebRTC는 다음 그림과 같이 동작한다. 각각의 용어들에 대해서 알아보자. 그 전에 NAT에 대해서 알 필요가 있다. 만약 NAT에 대해서 모른다면 아래 포스팅을 보고 오는 것을 추천한다. https://growth-coder.tistory.com/192 [Network] DHCP와 NAT 우리가 일반적으로 사용하는 IPv4의 경우 IP주소가 40억개쯤 되는데 시간이 많이 지남에 따라 거의 고갈되어 가고 있다. 이를 해결하기 위한 방안을 알아보려고 한다. DHCP (Dynamic Host Configuration Proto gr..
2023.10.24 -
[Spring][Android/Kotlin] FCM으로 안드로이드에 푸쉬 알람 보내기 (1)
프로젝트를 진행하던 도중 푸쉬 알람 기능이 필요해서 FCM 사용법에 대해 공부해보려고 한다. 먼저 기본적인 흐름이다. 메시지 정보 FCM을 사용하기에 앞서 FCM에서 사용하는 메시지의 정보에 대해서 알아보자. 크게 메시지 유형은 알림 메시지와 데이터 메시지로 나뉜다. 알림 메시지는 사전 정의되어있는 key를 사용하며 포어그라운드에서 알림이 수신되면 코드에 따라 동작이 결정되고 백그라운드에서 알림이 수신되면 FCM SDK가 자동으로 메시지를 표시한다. 알림 메시지의 경우 Message 객체 안에 사전 정의 되어있는 key를 사용하면 된다. { "message":{ "token":"bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1...", "notification":{ "title..
2023.08.14 -
[Spring] LocalDate, LocalDateTime의 serializer와 deserializer 커스텀하기 (Json과 LocalDate 혹은 LocalDateTime 변환)
프로젝트를 진행하는 도중 클라이언트로부터 날짜를 받아서 저장할 일이 있었다. 그래서 해당 날짜 필드를 사용하는 엔티티에서 날짜 필드의 타입을 LocalDate로 정해두었다. 이런식으로 클라이언트와 날짜를 주고 받을 때는 LocalDate, 날짜 + 시간을 주고 받을 때는 LocalDateTime을 사용한다. 그런데 클라이언트로부터 요청을 받을 때 JSON 형식으로 받고 응답을 내려줄 때도 JSON 형식으로 준다면 JSON 형식과 LocalDate 혹은 LocalDateTime 형식 간의 직렬화와 역직렬화를 구성해야 한다. 컨트롤러 및 객체 생성 우선 요청, 응답에 사용할 객체를 임시로 생성한다. @Data @AllArgsConstructor public class ObjectEx { private Dat..
2023.08.07 -
[Spring] 스프링 부트 Redis를 사용하여 refresh token 저장하기 (2) - docker-compose 사용법
https://growth-coder.tistory.com/228 [Spring][Redis] 스프링 부트에서 redis 연동 및 RedisTemplate 사용법 이번 포스팅에서는 스프링 부트에서 redis와 연동하고 값을 저장해보려고 한다. 먼저 스프링 부트에 redis 관련된 의존성을 추가해준다. 만약 기존 진행 중인 프로젝트에 적용한다면 build.gradle에 growth-coder.tistory.com https://growth-coder.tistory.com/229 https://growth-coder.tistory.com/227 [Spring] 스프링 부트 Redis를 사용하여 refresh token 저장하기 (1) 지금까지 인증 및 인가를 구현할 때 Access token만 사용했었는데 ..
2023.07.17 -
[Spring][Redis] 스프링 부트 RedisRepository 사용법
https://growth-coder.tistory.com/228 [Spring][Redis] 스프링 부트에서 redis 연동 및 RedisTemplate 사용법 이번 포스팅에서는 스프링 부트에서 redis와 연동하고 값을 저장해보려고 한다. 먼저 스프링 부트에 redis 관련된 의존성을 추가해준다. 만약 기존 진행 중인 프로젝트에 적용한다면 build.gradle에 growth-coder.tistory.com 위 링크의 RedisTemplate에 대한 설명을 보고 오는 것을 추천드립니다. 이전 포스팅에서 RedisTemplate을 사용하여 redis에 값을 저장해보았다. 단순 value를 저장한다고 하면 RedisTemplate을 통해 쉽게 저장할 수 있다. 그런데 단순 value가 아닌 복잡한 도메인..
2023.07.15