JWT 다시 읽기: 서명, 클레임, 그리고 jti가 필요한 이유
안녕하세요, 메디스트림 PM 스쿼드 백엔드 개발자 홍은비입니다. JWT 를 활용하여 로그인에 성공하면 토큰을 만들어 내려주는 코드, 흔히 사용되는 패턴이죠. 인증을 구현하시는 분들이라면 한 번쯤 써보셨을 겁니다. JWT 토큰은 발급할 때마다 매번 다른 값일 것이라 여겨지곤 하는데요, 어떤 조건 에서는 글자 하나까지 똑같은 토큰이 나옵니다. 이러한 현상을 발…
안녕하세요, 메디스트림 PM 스쿼드 백엔드 개발자 홍은비입니다. JWT 를 활용하여 로그인에 성공하면 토큰을 만들어 내려주는 코드, 흔히 사용되는 패턴이죠. 인증을 구현하시는 분들이라면 한 번쯤 써보셨을 겁니다. JWT 토큰은 발급할 때마다 매번 다른 값일 것이라 여겨지곤 하는데요, 어떤 조건 에서는 글자 하나까지 똑같은 토큰이 나옵니다. 이러한 현상을 발…
1. 들어가며 안녕하세요. 메디스트림 데이터 엔지니어 임재원입니다. 저희 회사는 다양한 서비스를 운영하고 있습니다. 그 중 앱 서비스에서 나오는 데이터가 실시간으로 운영DB에 쌓이다 보니 신규 배포시 생성되는 테이블과 수동으로 생성되는 테이블에 대해서 사용자가 엔지니어에게 요청하는 과정은 아래와 같습니다. "백엔드님, A 테이블 새로 생겼다고 하지 않았나요…
왜 데이터베이스를 바꾸게 되었는가 안녕하세요, 메디스트림 PM 스쿼드의 백엔드 개발자 김현수입니다. PM 스쿼드는 한의사 밀착관리 서비스 린다이어트를 개발하고 있습니다. 린다이어트는 환자용 모바일 앱과 한의사용 차트(웹), 그리고 그 뒤의 백엔드 서비스 여러개로 구성되어 있는데, 이 백엔드 전체가 DynamoDB 단일 테이블 위에서 돌아가고 있었습니다. 그…
안녕하세요, 메디스트림 PM 스쿼드의 프론트엔드 개발자 신혜린입니다. 👩🏻💻 "디자이너가 개발자 없이 코드베이스에 컴포넌트를 직접 추가하고, 스토리북에 상태별 화면을 만들고, PR을 올리고, 피그마로 이식한다." 문장으로 쓰면 조금 아득하지만, 저희 팀 디자이너님은 이걸 직접 해내셨어요. 이 글은 그 여정과, 그걸 가능하게 하려고 개발자인 제가 무엇을 설…
안녕하세요 인티그레이션의 PM 스쿼드에서 린다이어트 앱을 개발하고 있는 Mobile Engineer 한승재입니다. 지난 2월에 [Mobile] "배포해 줘"로 끝내는 Fastlane 자동화 라는 글을 썼습니다. 터미널에 "배포해 줘"라고 치면 Claude Code가 알아서 Fastlane을 돌려주는, 배포 부사수를 영입한 이야기였죠. 글의 마지막은 이랬습니…
안녕하세요. 메디스트림 데이터 엔지니어 임재원입니다. 저희는 사용자 행동 데이터로 기존 segment/amplitude 를 사용하고 있었는데요. 연에 5천만원을 주고 사용하다 이 비용을 없애보자! 라는 목표로 ga4 데이터로 옮겨가는 작업을 수행하였는데요. 아키텍처를 구성하면서 비용적인 측면, 시간적인 부분 그리고 이후 비용 최적화까지 기나긴 이야기를 말씀…
안녕하세요, 인티그레이션 데이터AX파트의 DA 인턴 송민겸입니다 입사 후 첫 6주 동안, 사내용 NL2SQL 툴의 기초가 될 데이터 카탈로그를 구축했습니다. 이 글에서는 데이터팀으로 들어오는 업무 요청을 정량 분석한 결과에서 시작해, OpenMetadata에 디스크립션·용어사전·리니지를 어떻게 쌓아 올렸는지, 그리고 완성된 카탈로그가 NL2SQL 정확도와…
안녕하세요, 인티그레이션 PM팀 모바일 개발자 한승재입니다. 린다이어트 프로덕트 팀은 프론트 개발자 1명, 모바일 개발자 2명, 디자이너 1명으로 구성되어 있습니다. 개발자 수 대비 디자이너 수가 상대적으로 부족한 구조였고, 자연스럽게 디자인 요청이 한 명에게 몰리는 흐름이 만들어졌습니다. 제품팀이 더 빠르게, 고객에게 더 많은 가치를 자주 전달하려면 이…
들어가며 안녕하세요, 메디스트림 PM 스쿼드의 프론트엔드 개발자 신혜린입니다. 👩🏻💻 이 글은 Notion으로 만든 교육자료를 저희 제품 안으로 내재화하기까지, 두 번의 실패와 한 번의 성공을 거친 이야기를 담고 있어요. “Notion 문서를 우리 제품 안에 넣고 싶은데, 이거 생각보다 만만치 않네?” 라고 느끼고 계신 분들이라면, 저희 팀이 어떤 방식으…
안녕하세요 인티그레이션의 PM 스쿼드에서 린다이어트 앱을 개발하고 있는 Mobile Engineer 조민서입니다. 앱을 개발하다보면 사용성에 대해 많은 고민을 하게 됩니다. 해당 글에서는 유저들에게 더 나은 경험을 주기 위하여 고민했던 과정들을 공유하려고 합니다. 어떤 것이 문제인가 iOS에서는 상단 status bar를 탭하면, 최상단으로 스크롤되는 동작…
안녕하세요, 메디스트림 PM 스쿼드의 백엔드 개발자 김현수입니다. PM 스쿼드는 한의사 밀착관리 서비스 린다이어트 를 개발하고 있습니다. 우리 스쿼드는 환자가 진료를 신청하고 다이어트 과정을 기록하는 린다이어트 앱 과, 한의사가 환자의 데이터를 기반으로 밀착관리를 돕는 린다이어트 차트 , 두 개의 제품을 관리하고 있습니다. 최근 린다이어트 차트에서 특정 유…
안녕하세요 인티그레이션의 PM 스쿼드에서 린다이어트 앱을 개발하고 있는 Mobile Engineer 한승재입니다. 앱을 배포하다 보면 더 좋은 방법이 없을까 하는 고민을 하게 됩니다. 이 글은 불편했던 배포를 편하게 개선시킨 경험을 공유하려고 합니다. 어떤 것이 문제인가 모바일 앱 개발자라면 배포 날마다 겪는 '그 시간'을 아실 겁니다. Fastlane 을…
안녕하세요, 메디테크 스타트업 인티그레이션에서 데이터 엔지니어로 근무하고 있는 류중경입니다. 오늘은 저희 회사에서 개발 중인 의료 Q&A 챗봇 서비스 프로젝트에 대해 소개드리고자 합니다. 본 프로젝트는 내부적으로 ‘F.R.I.D.A.Y.’(이하 FRIDAY)라는 코드명으로 불리고 있으며, 이는 마블 코믹스의 아이언맨 캐릭터, 토니 스타크의 AI 비서 ‘자비…
슈퍼앱이란? 하나의 응용프로그램 내에 여러 응용프로그램을 결합하여 전체 서비스를 하나의 앱에서 논스톱으로 처리할 수 있도록 설계한 모바일 앱 유형을 슈퍼앱이라고 합니다. 이를 가능하게 하기 위해 기술적으로 모바일 앱의 잦은 배포(앱심사 포함)와 업데이트가 관리가 필요한데, 이 과정을 간소화 하기 위해 웹 기술과 결합하여 주요 기능과 콘텐츠를 웹 뷰 안에서…
안녕하세요. 인티그레이션 개발자 최유락 입니다. 린다이어트(Lean Diet) 에서 웹과 앱 모든 환경에서 제공하는 지도 기반 서비스가 있습니다. 진료 신청시 지도 UI에서 한의원을 선택하게 하고자 vue3-naver-maps 라이브러리를 사용하여 적용하게 되었는데 공식 문서의 설명으로는 모두 이해하기 어려운 부분이 있어서 개발 진행하면서 누구나 고민할 법…
최초 작성일: 2021-08-19 🚀 도플러를 활용하여 CI/CD 구축 도플러를 활용하여 공유된 환경변수를 사용하는 방법 [1편] .env 파일 관리, 환경변수 공유 쉽게 하기 - 도플러 (Doppler) 지난 아티클에서 소개했습니다. 하지만 실제로 프로젝트를 배포할 때 도플러를 함께 사용하면 더욱더 빛을 발휘하게 됩니다. 그래서 이번 가이드에서는 메디스트…
최초 작성일: 2021-08-15 레파지토리 50+ 개, 환경변수 1000+ 개 메디스트림에 입사하고 맨 처음 컴퓨터에 개발 환경 세팅을 하면 개발에 필요한 도구를 설치하고 형상 관리되어 있는 프로젝트의 코드들을 풀 받아서 실행하였습니다. 하지만 실행이 바로 될 리가 없는 게 보안 측면에서 dotenv(.env) 환경변수 파일은 레파지토리에 올리지 않죠.…
안녕하세요 인티그레이션 프론트엔드 개발자 박정연입니다. 플립 카운터 애니메이션은 메디마켓 공동구매 프로젝트에서 사용자들의 눈을 사로잡는 요소를 넣기 위해 만들게 되었습니다. 플립 카운터 애니메이션의 구현 방법을 리서치 하던 중 흔한 애니메이션임에도 원리가 설명되어 있는 블로그가 별로 없었습니다. 그래서 HTML, CSS, JS 만을 이용하여 구현된 것 중…
들어가며 인티그레이션의 데이터 엔지니어 류중경입니다. 혹시 LLM, GPT, 대규모 언어모델. 이런 키워드에 관심이 있으시다면 오늘의 주제도 흥미롭게 보실 수 있을것 같습니다. 올해 초 chatGPT의 광풍을 기억하시나요? 제가 속해있는 비교적 평화(?)로왔던 데이터팀도 이 광풍에 휩싸이고 말았습니다. 🤠 대표님 : 데이터팀 너희들도 chatGPT로 뭐좀…
1. Intro - 고생길의 시작... 인티그레이션은 보건의료직군 대상으로 커뮤니티 서비스를 제공하고 있습니다. 메디스트림은 한의사(한의대생)을 대상으로한 종합 전문직 커뮤니티 플랫폼 서비스이고 모어덴, 치즈톡은 각각 치과의사(치대생)과 치과위생사(치위생대생)을 대상으로 한 서비스입니다. 인티그레이션의 모든 스쿼드(사업부)는 각각의 사업 지표를 실시간으로…