일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Lambda@Edge
- goroutine
- System Design
- 알림 시스템
- 디자인패턴
- tenneling
- 대규모 시스템 설계
- Logrus
- Golines
- Helm V3
- AWS Infra
- image resizing
- 컴포지트패턴
- Buffered channel
- Bastion Server
- GoF 디자인패턴
- argocd
- GoF
- gitops
- UnBuffered channel
- 클래스 관계
- 윈도우키보드
- AWS
- Live Template
- notification system
- go
- Kubernetes
- golang
- 시스템 설계
- Infra
- Today
- Total
Fall in IT.
안녕하세요. 오늘은 윈도우 PC용 키보드를 MAC에서 사용할때 편하게 사용하도록 설정하는 방법에 대해서 알아보겠습니다. 일반 키보드와 애플키보드의 차이점 애플키보드 - 컨트롤 / option(alt) / command 순으로 키보드가 배열되어 있습니다. (좌측하단에 키보드배열) 윈도우키보드 - 컨트롤 / 윈도우 / alt 순으로 키보드가 배열되어 있습니다. (여기서, 윈도우 키는 command키로 사용됩니다.) 키보드 배열을 동일하게 설정하는 방법 환경설정 > 키보드로 들어갑니다. 우측에 키보드 단축키를 클릭합니다. 좌측 하단에 보조키를 선택합니다. 해당 키보드를 선택합니다. option키는 command키로, command키는 option키로 서로 반대로 설정합니다. 완료! 모두 즐거운 코딩하세요~
고루틴과 채널을 활용한 이벤트 처리 시스템 Go 언어는 동시성(concurrency)을 간단하고 효율적으로 처리할 수 있는 강력한 기능인 고루틴(goroutines)과 채널(channels)을 제공합니다. 이들을 이해하고 올바르게 사용하는 것은 Go에서 효과적인 프로그래밍을 위해 필수적입니다. 이 글에서는 고루틴과 채널의 개념을 쉽게 설명하고, 블로킹(blocking)과 넌블로킹(non-blocking)의 차이를 설명한 후, 실제 예제 코드를 통해 설명을 더욱 구체화합니다. 고루틴과 채널의 개념 고루틴(Goroutines) 고루틴은 Go 런타임에 의해 관리되는 경량 스레드(lightweight thread)입니다. 고루틴을 사용하면 함수나 메서드를 동시에 실행할 수 있습니다. 고루틴은 go 키워드를 함수..
Go에서 의존성 역전 원칙(DIP) 활용하기 현대 소프트웨어 개발 환경에서는 유연하고 유지 관리가 가능한 애플리케이션을 설계하는 것이 그 어느 때보다 중요합니다. 이를 달성하기 위한 한 가지 핵심은 객체 지향 설계를 안내하는 SOLID 원칙의 초석인 종속성 역전 원칙(DIP)을 이용하는 것입니다. 이 게시물에서는 DIP를 자세히 살펴보고 이메일 전송에 초점을 맞춘 Go 애플리케이션의 애플리케이션과 장점을 보여줍니다. 종속성 역전 원리란 무엇입니까? DIP의 핵심은 소프트웨어 모듈을 분리하는 것을 목표로 합니다. 이 원칙은 두 가지 주요 아이디어를 주장합니다. 상위 모듈은 하위 모듈에 의존해서는 안 됩니다. 대신, 둘 다 추상화(인터페이스 또는 추상 클래스)에 의존해야 합니다. 추상화는 세부사항에 의존해서..
안녕하세요. 오늘은 Go 로깅라이브러리인 Logrus의 Hook 기능에 대하여 알아보겠습니다. Logrus란? Go 언어용으로 널리 사용되는 로깅 라이브러리이다. 확장성과 유연성을 제공하기 위해 Hook 기능을 사용할 수 있다. Hook이란? 훅 시스템을 통해 개발자는 로깅 프로세스에 추가적인 동작을 주입할 수 있다. 예를들어, 로그 메시지를 파일에 기록하는 동시에 오류 메시지를 Slack으로 전송하거나 로그 데이터를 Elasticsearch 같은 검색 엔진에 인덱싱할 수 있다. Hook 인터페이스 // logrus에 정의된 Hook 인터페이스 package logrus // A hook to be fired when logging on the logging levels returned from // `..
안녕하세요. 오늘은 간단한 알림 시스템을 설계해보겠습니다. 설계 방법은 다양하며 서비스 환경에 따라서 달라질(구체화 될)것이다. 요구사항 푸시 알림, SMS 메시지, 이메일 알림 제공 알림의 종류는 더 늘어날 수 있다. 고려할 사항 알림 유형별 지원 방법 연락처 정보 수집 방법 알림 전송 및 수신 방법 알림 유형별 지원 방법 iOS 푸시 알림 → APNS (Apple Push Notification Service) 사용 Android 푸시 알림 → FCM (Firebase Cloud Messaging) 사용 SMS 메시지 → 트윌리오 같은 써드파티 서비스 사용 이메일 → SendGrid 같은 써드파티 서비스 사용 연락처 정보 수집 방법 회원가입시에 전화번호, 이메일 등의 정보를 받아야하고 모바일에 푸시 ..