일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 대규모 시스템 설계
- goroutine
- go
- Helm V3
- Kubernetes
- AWS Infra
- Lambda@Edge
- Infra
- 시스템 설계
- AWS
- Logrus
- argocd
- image resizing
- tenneling
- System Design
- Live Template
- GoF
- 클래스 관계
- Golines
- GoF 디자인패턴
- UnBuffered channel
- gitops
- 윈도우키보드
- 알림 시스템
- Bastion Server
- notification system
- 컴포지트패턴
- golang
- 디자인패턴
- Buffered channel
- Today
- Total
목록2024/01 (2)
Fall in IT.
안녕하세요. 오늘은 간단한 알림 시스템을 설계해보겠습니다. 설계 방법은 다양하며 서비스 환경에 따라서 달라질(구체화 될)것이다. 요구사항 푸시 알림, SMS 메시지, 이메일 알림 제공 알림의 종류는 더 늘어날 수 있다. 고려할 사항 알림 유형별 지원 방법 연락처 정보 수집 방법 알림 전송 및 수신 방법 알림 유형별 지원 방법 iOS 푸시 알림 → APNS (Apple Push Notification Service) 사용 Android 푸시 알림 → FCM (Firebase Cloud Messaging) 사용 SMS 메시지 → 트윌리오 같은 써드파티 서비스 사용 이메일 → SendGrid 같은 써드파티 서비스 사용 연락처 정보 수집 방법 회원가입시에 전화번호, 이메일 등의 정보를 받아야하고 모바일에 푸시 ..
안녕하세요. 오늘은 캡슐화에 대해서 아주 간단하게 정리해보겠습니다. 캡슐화 # Date 구조체의 필드값을 모두 퍼블릭으로 선언 type Date struct { Year int Month int Day int } # Date 구조체의 필드값을 모두 프라이빗으로 선언 type Date struct { year int month int day int } 구조체의 필드값을 퍼블릭으로 선언하지 않고 프라이빗으로 선언하는게 왜 중요할까? year, month, day에는 값의 범위가 정해져 있는데 가령, month는 1이상이고 12이하여야한다. year, day도 마찬가지로 범위가 존재한다. 이때, 상세 필드값을 퍼블릭으로 열어주게 되면 값을 설정할때 적절한 유효성 검사를 할 수 없게 된다. 조금 더 구체적으로 ..