2024/10 4

[스프링팀] PK 숨기기

Mash-Up 스프링팀에서는 팀원들이 돌아가면서 본인의 Problem-Solving 경험이나 Deep Dive의 내용을 발표하는 자리를 갖습니다. 이번 14기 활동 때 발표한 내용중 하나인 PK 숨기기 에 대해 이번 포스팅에서 다뤄보겠습니다. 발표자는 프로젝트 개발 중 Front 개발자가 우리의 PK를 과연 외부에 노출해도 괜찮을까? 라는 질문에 대해 논의를 하다가 이 문제를 해결했다는데요. 문제를 해결하기 위해 어떤 고민을 했고 어떤 해결방법을 도출해냈는지 함께 알아봅시다.PK 숨기기개요프로젝트 개발 중 무분별하게 노출되는 PK에 대해서 프론트 개발자와 PK 과연 외부에 노출해도 괜찮은것일까? 에 대해 논의를 하다가 나중에 구현해보자! 라고 생각하다 문득 생각이 나서 이 문제를 해결해보게 되었다.PK ..

팀 이야기 2024.10.18

[스프링팀] Coroutine 찍어먹기

요즘 비동기 프로그래밍에 대한 논의는 앱이나 웹과 같은 프론트 사이드의 진영뿐 아니라 서버 진영에서도 심심치 않게 들리는 화두가 되었습니다. 일례로 Java 21 버전에서 소개된 Virtual Thread와 같이 최신 기술 트렌드에 비동기 프로그래밍은 항상 뜨거운 감자와도 같은 주제입니다. 이번 포스팅에서는 스프링 팀에서 비동기 프로그래밍 방법 중 신흥 강자로 소개되고 있는 Kotlin Corouine이 왜 경량 스레드라고 소개되고 있는지 어떠한 컨셉을 갖고 있는지에 대해 다뤄보고자 합니다.Why Coroutine?비동기 프로그래밍이란?동기(Synchronous)현재 작업의 응답이 끝남과 동시에 다음 작업이 요청된다.함수를 호출하는 곳에서 호출되는 함수가 결과를 반환할 때까지 기다린다.작업 완료 여부를 ..

팀 이야기 2024.10.18

[스프링] SpringBoot이 ObjectMapper를 구성하는 방법

Spring 프로젝트에서는 객체를 Serialize 및 Deserialize 하는 동작들이 프레임워크 내부 동작에서 많이 활용되어지고 있습니다. Spring 을 어느정도 활용해 본 사람이라면 알고 있을 ObjectMapper 를 사용해 객체의 Serialization및 Deserialization을 수행하고 있는데요. 여러 곳에서 사용하다보니 임의로 ObjectMapper 및 ObjectMapperBuilder 를 재정의 하는 경우를 종종 볼 수 있습니다. 이러한 방식으로 이 객체들을 재정의 해도 문제가 없을지, 문제가 있다면 어떠한 문제가 있을 수 있을지 구현 코드를 보고 해당 객체들이 어떤 방식으로 구성되는지 알아보겠습니다.💡 아래에 작성하는 코드는 ObjectMapperLearning 에서 확인 ..

팀 이야기 2024.10.16

[스프링팀] gRPC

gRPC란 무엇인가요?gRPC는 Google에서 개발한 원격 프로시저 호출(Remote Procedure Call, RPC) 시스템입니다. 간단히 말해, gRPC는 서버와 클라이언트 간의 통신을 쉽게 할 수 있게 도와주는 프레임워크입니다.클라이언트가 서버에게 데이터를 요청할 때, 마치 서버 안에 있는 함수나 메서드를 직접 호출하는 것처럼 요청을 보낼 수 있습니다. 실제로는 네트워크를 통해 요청이 전달되지만, gRPC를 사용하면 서버에 메서드를 호출하는 것처럼 프로그래밍할 수 있습니다.gRPC는 HTTP/2 프로토콜을 기반으로 하여 고성능, 저지연 네트워크 통신을 지원합니다. HTTP/2는 기존의 HTTP/1.1과 비교하여 멀티플렉싱(Multiplexing), 헤더 압축(Header Compression)..

팀 이야기 2024.10.15