1. 회원 및 인증 관리회원가입: 이메일 또는 소셜 계정 기반 가입로그인: ID/PW 로그인, 로그아웃세션 관리 : Access & Refresh 토큰사용자 프로필 : 닉네임, 사용 언어 등 계정 설정권한 관리 : 일반 사용자, 관리자 역할 구분계정 보안 : 비밀번호 변경, 로그인 실패 제한, 세션 만료계정 상태 : 활성 / 잠금 / 탈퇴 2. 홈 화면 및 종목 탐색홈 대시보드 : 가상 자산 총액, 당일 손익, 보유 종목 요약시장 요약 : 주요 지수, 상승·하락 종목종목 검색 : 종목명, 티커, 종목 코드 검색종목 상세 : 현재가, 전일 대비 등락률, 거래량관심 종목 : 관심 종목 추가·삭제·정렬인기 종목 : 거래량, 등락률 기준 랭킹최근 조회 : 최근 확인한 종목 목록종목 분류 : 국가, 업종, 자산 ..
전체 글
I'm still working on it. We must be better.Prometheus & Grafana 기반 기존 모니터링 스택 ┌─────────────────────────────────────────────┐ │ baemin namespace │ │ │ │ [order-service] [store-service] │ │ [user-service] [notification-service] │ │ [bff-service] │ │ │ │ │ │ annotati..
개요해당 포스트는 진행 중인 백엔드 프로젝트에 대한 영어와 한국어를 지원하는 I18N 구현 내용이다. 각 언어에 대한 스크립트를 백엔드에 배치하고, React SPA는 단 하나의 POST 엔드포인트를 통해 접근 가능하도록 설계했다. 어떤 프론트엔드 라이브러리 연동 없이, 백엔드만으로 구현한 서버 완전 소유형의 메시지 카탈로그다.1. Spring MessageSourceAutoConfigurationSpring Boot의 MessageSourceAutoConfiguration은 classpath(src/main/resources)에 "messages.properties"라는 파일이 존재해야만 자동으로 활성화된다. 그 외에 어떤 명시적 bean 선언이 필요하지 않다.# messages.propertiesna..
서론다국어 소프트웨어를 만들 때, 단순히 화면 문구를 번역하는 것만으로는 충분하지 않다. 언어와 지역에 따라 날짜·숫자·통화 표시, 정렬 방식, 문자 체계, 읽기 방향 등이 달라질 수 있기 때문이다. 이 글에서는국가·지역 코드인 ISO 3166, 언어코드인 ISO 639, 그리고 언어와 지역 정보를 조합하는 BCP 언어 태그의 관계를 정리한다.ISO 3166-1 국가 코드ISO 3166은 국가, 종속 지역, 기타 지정학적으로 중요한 지역의 이름을 표현하는 코드 체계다. 그 중 ISO 3166-1 alpha-2는 두 글자로 된 코드로, 일반적인 국가·지역 식별에 널리 사용된다. 공식 배정 목록에는 249개의 alpha-2 코드가 있으며, 이 수는 독립 국가만을 뜻하지 않고 표준에 포함된 여러 국가·지역 항..
카프카 offset카프카는 각 파티션에 기록되는 레코드에 offset을 부여한다. Offset은 해당 파티션 안에서 레코드를 식별하고 소비 위치를 나타내는 값이다.Offset : 파티션 내 각 메시지에 대한 고유한 식별자다. 1) 파티션 내 레코드 위치 식별 2) Consumers가 현재 어디까지 읽었는지 표시 3) 커밋된 offset을 이용해 재시작 후 소비를 이어갈 수 있음auto.offset.resetauto.offset.reset은 consumer가 파티션에서 소비를 시작할 위치를 정해야 할 때 적용하는 설정이다. 구체적으로는 사용할 커밋 offset이 없거나, 저장된 offset이 현재 브로커에서 더 이상 유효하지 않을 때 동작한다. 예를 들어 신규 consumer group이라 커밋 offs..
SAML, OIDC, and OAuth 2.0 : What Is the Difference?Many teams confuse SAML, OIDC, and OAuth 2.0 because all three commonly appear in discussions about login, single sign-on, and application integration. The real question isn't "which is best?" but "what problem am I solving: enterprise SSO, modern user login, or API access?" All three protocols can be defined as follows:SAML 2.0 is an XML-based ..
* Grammar in use (intermediate)+ 103 주차 : 85 ~ 88 주차+ 105 주차 : 88 ~ 89 주차 English Grammarboth, neither, either 에너지 메커니즘both A and B : 두 개의 분리된 실체 A와 B를 양손으로 붙잡아 하나의 장으로 끌어당겨 완벽히 결합시킨다.neither A nor B : 명확히 대조를 이루던 A와 B를 빨아들여 완벽히 소멸시킨다.either A or B : A와 B라는 두 대상 사이에서 에너지의 추가 양쪽으로 팽팽하게 진동하는 이미지.every 10 minutes vs. every other 10 minutesevery 10 minutes : 매 10분 마다every other 10 minutes : 10분 단위로 ..
Q. Kafka는 디스크 기반 동작으로, Kubernetes에 올리면 성능이 매우 떨어지는 걸 알지만 Kubernetes에 올렸습니다.A. 카프카는 네트워크 설정이 굉장히 복잡해서 Kubernetes로 올리는 게 더 편할 수 있습니다.Kafka 구현 내역 중 아쉬운 점1. Kafka Topic 생성 시, 토픽 이름과 파티션 / 복제본 개수를 하드코딩한 것.... @Bean fun orderEventTopic(): NewTopic = TopicBuilder.name("baemin.order.events").partitions(3).replicas(1).build()... 이론상 문제가 없어야 하지만, 현실적으로는 (카프카를 구현하는 게 굉장히 어렵기 때문에) 대기업조차 환경 별로 카..
* Grammar in use (intermediate)+ 101 주차 : 76 ~ 82 주차+ 102 주차 : 83 ~ 84 주차English Wordssum = "여러 부분을 하나로 모아 전체를 만든다."발음 : [ sʌm ]어원Old French summe “total, whole”에서 유래, Latin summa “highest part, total”과 연결됨. summus “highest”에서 나온 말로, 여러 부분을 위에 모아 하나의 전체로 보는 것이 핵심 개념.예문합계, 총액 (core sense : total of separate parts)전체를 이루는 양, 총합요약, 핵심v. ~의 총합을 이루다v. 합산하다, 더하다Can you sum up the main points? v. 요약하다,..
인프라 보안 -- 토스 Affiliation 정규직합류하게 될 팀에 대해 알려드려요보안 아키텍처 설계 / 적용 / 자동화 : Security Infrastructure 팀은 토스 비즈니스가 안전하게 확장될 수 있도록 보안 아키텍처를 설계하고, 이를 실제 환경에 적용·자동화하는 팀이에요.인프라 보안 정책 및 접근 통제 설계 및 구현 : 클라우드·네트워크·엔드포인트 전반을 다루며, 주요 인프라를 기준으로 보안 정책과 통제 체계를 직접 설계하고 구현해요.로그 구조 및 접근 제어 모델 설계 : 기술 스택을 선택하고, 로그 아키텍처와 접근 제어 모델까지 만들어가며 “보안을 위한 보안”이 아닌, 실제 위협을 방어하는 구조를 구축해요.팀 동료들은 다양한 연차를 가진 팀원들로 구성되어 있고, 대부분 기업 정보보안 담당..