push-notifications

4 개의 포스트

discord3분 읽기큐레이션 요약

Discord 데스크톱 알림 관리 방법: 완벽 가이드

Discord 알림은 서버·채널·소리·상태별로 세밀하게 조정할 수 있으므로, 모든 알림을 끄거나 필요한 멘션만 받을 수 있다. 서버 전체 설정과 채널별 예외 설정을 조합하고, 집중이 필요할 때는 일정 시간 동안 방해 금지(DND)를 사용하면 된다. 데스크톱 팝업 차단과 알림음 차단은 별도 설정이라는 점도 중요하다. ## Discord에서 발생하는 알림 종류 - 일반 채널 메시지 - 내 이름에 대한 `@멘션` - `@everyone`, `@here` 멘션 - 내가 속한 역할(Role) 멘션 - 내 메시지에 대한 답글 - 현재 보고 있는 채널의 새 메시지 - DM 음성·영상 통화 수신 - 친구가 Activity를 시작한 경우 - Soundboard 효과음 일반 메시지와 멘션은 비슷한 “bloop” 소리를 사용할 수 있지만, 통화·음성 채널 활동·Soundboard 등은 별도 소리가 적용된다. ## 서버와 채널별 알림 설정 - 서버 아이콘을 우클릭한 뒤 **Notification Settings**에서 서버 전체 알림을 설정할 수 있다. - 알림 수준은 다음 중 선택한다. - **All Messages**: 모든 메시지 - **Only @mentions**: 나를 언급한 알림만 - **Nothing**: 알림 없음 - `@everyone`, `@here`, 역할 멘션, 새 이벤트 알림을 각각 억제할 수 있다. - 서버 전체를 **Mute Server**로 완전히 음소거할 수도 있다. - 특정 채널은 우클릭하거나 벨 아이콘을 눌러 서버 기본값과 다른 알림 수준을 지정할 수 있다. - 오프토픽·밈·공지 채널처럼 시끄러운 채널만 별도로 음소거하면서 서버 자체는 활성 상태로 유지할 수 있다. - 카테고리를 음소거하면 내부 채널이 회색으로 표시되고 기본적으로 접힌 상태가 된다. ## 방해 금지(DND) 상태 - 왼쪽 아래 프로필 메뉴에서 상태를 **Do Not Disturb**로 바꾸면 Discord 전체 알림음이 차단된다. - 일정 시간을 지정할 수 있어, 집중 시간이 끝나면 자동으로 온라인 상태로 돌아온다. - **Online**은 기본 상태이며, **Idle**과 **Invisible**은 주로 다른 사용자에게 보이는 상태를 바꾼다. - 실제로 알림음을 차단하는 상태는 DND뿐이다. - DND 설정은 데스크톱과 모바일에 함께 적용되지만, 모바일 푸시 알림 자체까지 모두 차단하는 것은 아니다. ## 알림음 개별 제어 **User Settings > Notifications > Sounds**에서 다양한 소리를 개별적으로 끄고 켤 수 있다. - 메시지 및 멘션 알림음 - 음소거·헤드셋 해제음 - 통화 벨소리 - 음성 채널 입장·퇴장 소리 - 기타 20개 이상의 이벤트 소리 메시지 소리는 꺼도 통화 벨소리나 음성 활동 소리는 켜두는 식으로 설정할 수 있다. 글에서 설명하는 알림음 설정은 Soundboard 설정과는 별개이며, Soundboard 사용법은 별도 안내가 필요하다. ## 데스크톱 팝업 알림 켜고 끄기 - **User Settings > Notifications > Enable Desktop Notifications**에서 Windows·macOS·Linux의 시스템 팝업을 제어한다. - 이 옵션을 끄면 Discord 바깥에서 표시되는 데스크톱 팝업만 사라진다. - Discord 앱 내부의 알림과 소리는 계속 재생될 수 있으므로, 완전히 조용하게 만들려면 서버·채널 설정이나 Sounds 설정도 함께 조정해야 한다. 필요한 알림만 받으려면 서버는 **Only @mentions**, 특정 채널은 **Nothing**, 통화 관련 소리는 유지하는 조합이 가장 실용적이다. 집중할 때는 시간 제한이 있는 DND를 사용하면 설정을 다시 되돌리는 번거로움도 줄일 수 있다.

원문 읽기(새 탭에서 열림)
line원문

Pushsphere: LINE 메신저의 빠르고 신뢰할 수 있는 대량 푸시 알림 비법 (새 탭에서 열림)

LINE은 대규모 푸시 알림 발송 과정에서 발생하는 신뢰성 문제를 해결하기 위해 고성능 게이트웨이 서버인 'Pushsphere'를 개발했습니다. Pushsphere는 복잡한 재시도 로직, 쿼터 관리, 엔드포인트 모니터링을 추적 및 자동화하여 시스템의 복잡성을 낮추고 가용성을 극대화했습니다. 이를 통해 LINE은 대규모 트래픽 상황에서도 안정적인 메시지 전달력을 확보하고 운영 부담을 대폭 줄이는 성과를 거두었습니다. **대규모 푸시 알림 시스템의 도전 과제** * **외부 플랫폼의 불안정성:** APNs나 FCM 같은 외부 푸시 플랫폼은 대규모 환경에서 응답 지연, 갑작스러운 연결 끊김, 특정 인스턴스의 오작동 등 예측 불가능한 문제를 자주 노출합니다. * **단순 재시도의 한계:** 장애 발생 시 단순히 재시도를 반복하면 시스템에 부하를 주는 '재시도 폭풍'이 발생하거나, 서비스 제공자의 쿼터(Quota) 제한(429 Too Many Requests)에 걸려 전체 메시지 전달이 차단될 위험이 있습니다. * **관리 복잡도:** 수백 개 이상의 엔드포인트를 수동으로 관리하며 상태를 추적하고 최적의 서버로 라우팅하는 작업은 매우 높은 운영 비용을 발생시킵니다. **Pushsphere의 핵심 아키텍처 및 구현** * **통합 인터페이스 제공:** iOS와 Android 등 각 플랫폼별로 상이한 API 규격을 단일 인터페이스로 추상화하여, 내부 메시징 서버가 복잡한 플랫폼별 로직 없이도 간편하게 알림을 발송할 수 있도록 설계되었습니다. * **재시도 인식 부하 분산(Retry-aware Load Balancer):** 라운드 로빈 방식을 기반으로 하되, 재시도 시에는 이전에 시도했던 엔드포인트를 자동으로 건너뜁니다. 이를 통해 결함이 있는 특정 노드에서 실패가 반복되는 현상을 원천 차단합니다. * **쿼터 인식 재시도 로직:** 남은 전송 쿼터를 실시간으로 모니터링하여, 한도에 가까워지면 무리한 재시도를 중단함으로써 시스템의 전체적인 안정성을 유지하고 서비스 차단을 방지합니다. **서킷 브레이커를 통한 엔드포인트 회복 탄력성** * **엔드포인트별 독립 감시:** 모든 개별 엔드포인트에 서킷 브레이커를 적용하여 발송 성공/실패 여부를 실시간으로 보고받습니다. * **자동 장애 노드 격리:** 특정 엔드포인트에서 오류가 임계치를 넘으면 서킷이 열리고, 해당 노드는 즉시 활성 풀에서 제거되어 트래픽 유입이 차단됩니다. * **DNS 기반 자동 교체:** 제거된 노드의 빈자리는 DNS 리프레시를 통해 확보된 새로운 후보군 노드로 자동 교체되어, 전체적인 트래픽 처리 용량을 일정하게 유지합니다. **성능 개선 및 운영 결과** * **고성능 비차단 통신:** Armeria 마이크로서비스 프레임워크와 Netty를 기반으로 구축되어, 대량의 요청을 논블로킹(Non-blocking) 방식으로 신속하게 처리합니다. * **운영 효율성 극대화:** 시스템 도입 후 온콜(On-call) 알림 횟수가 연간 30건 이상에서 4건 수준으로 급감했습니다. 더 엄격한 모니터링 기준을 적용했음에도 불구하고 자동화된 장애 대응 덕분에 운영자의 개입이 거의 필요 없는 환경을 구축했습니다. 이 글은 대규모 트래픽을 처리하는 시스템일수록 개별 노드의 상태를 세밀하게 관리하고, 외부 의존성(Third-party API)의 불안정성을 시스템 계층에서 어떻게 추상화하여 방어해야 하는지에 대한 실무적인 통찰을 제공합니다. 특히 Armeria와 Netty를 활용한 고성능 게이트웨이 설계는 유사한 과제를 안고 있는 백엔드 엔지니어들에게 좋은 참조 사례가 될 것입니다.

discord4분 읽기큐레이션 요약

디스코드 패치

Discord의 2025년 2월 3일 패치에서는 Android 실행 속도, 미디어 업로드, 푸시 알림, 화면 공유 등 핵심 성능과 안정성이 크게 개선됐다. 특히 Media Proxy를 Go에서 Rust로 재작성해 지연 시간과 신뢰성을 높였고, 대규모 서버의 알림 전달 능력도 강화했다. 이와 함께 DM에서 앱을 실행하는 기능, 개인정보 보호 설정 개편, Android 레이아웃 문제 수정 등 사용성과 UI 관련 개선도 다수 포함됐다. ## 성능과 안정성 개선 - Android 앱 초기화 과정을 개선해 중앙값 기기 기준 실행 시간이 약 20% 단축됐다. - Media Proxy 서비스를 Go에서 Rust로 재작성했다. - 업로드 미디어를 처리하는 서비스의 평균 지연 시간이 약 22% 개선됐다. - 90퍼센타일 지연 시간은 40% 이상 빨라졌다. - 인프라를 최신 표준으로 현대화해 서비스 안정성도 향상됐다. - Android 13 이하에서 기기 회전과 화면 크기 계산 때문에 발생하던 레이아웃 붕괴 문제를 수정했다. - 푸시 알림 전달 신뢰성을 여러 달에 걸쳐 개선했다. - 2,500명 미만 서버에서는 30초 이내 전달 성공률이 99.98%에 도달했다. - Midjourney처럼 대규모 서버에서도 2,000만 명에게 약 15분 이내 알림을 보낼 수 있게 됐다. ## DM에서 앱 실행 지원 - 데스크톱 DM에서 Discord 앱과 활동을 직접 실행할 수 있게 됐다. - DM 목록 상단에 최근 사용한 앱을 빠르게 실행하는 바가 추가됐다. - 전체 친구 서버에 알림을 보내지 않고도 Chess in the Park 같은 활동을 개별 DM에서 이용할 수 있다. ## 개인정보 보호 설정 개편 - User Settings의 Privacy & Safety 메뉴를 새롭게 구성했다. - 변경 사항은 다음과 같다. - 탭 기반의 새로운 구조 - 관련 설정을 더 명확하게 묶은 그룹화 - 이해하기 쉬운 설명 - 향후 Trust 관련 설정을 확장하기 위한 구조 개선 - 기존 일부 환경에서 탭이 작동하지 않거나 잘리는 문제도 수정됐다. ## 데스크톱 및 운영체제 지원 - macOS 데스크톱 알림이 운영체제의 네이티브 API를 사용하도록 변경됐다. - Focus 및 방해 금지 모드가 메시지 알림음에 반영된다. - 같은 채널의 여러 알림이 그룹으로 표시된다. - 데스크톱 메시지 검색에서 `from:me`, `mentions:me` 자동완성을 지원한다. - Linux에서 Soundshare와 Wayland 화면 공유를 지원한다. - Ubuntu 22 이상에서 화면 공유 영상과 오디오 문제가 줄어든다. - 좁은 화면에서 친구 요청 버튼이 불필요하게 `...`으로 축약되는 문제를 개선했다. - 채널 주제를 클릭할 때 모달이 두 개 겹쳐 열리는 문제를 수정했다. ## 모바일 및 UI 버그 수정 - Android에서 채널 이름을 만들 때 글자가 중복 표시되던 문제를 해결했다. - Android의 친구 삭제 확인 모달과 토스트가 다른 UI 뒤에 표시되던 문제를 수정했다. - 키보드가 텍스트 입력창 위에 표시되어 입력 내용을 가리던 문제를 해결했다. - iOS에서 앱이 과도하게 축소되거나 검색 화면의 뒤로 가기 제스처가 작동하지 않던 문제를 수정했다. - 모바일 검색 결과의 전체 결과 수가 잘못 표시되던 변경을 되돌렸다. - 모바일에서 서버 초대 링크를 편집할 수 있게 됐다. - DM 옵션 버튼이 사용자 이름과 겹치는 문제를 수정했다. - 채널 권한을 카테고리와 동기화한 뒤 팝업에서 빠져나오기 어려웠던 문제를 해결했다. - Mutual Friends/Servers 화면에서 공유 항목이 없을 때 로딩이 끝나지 않던 문제를 수정했다. - 사용자 지정 상태 기간이 제대로 적용되지 않던 문제를 해결했다. - 푸시 알림에 사용자의 닉네임이 포함되도록 개선했다. ## 채널, 포럼, 검색 관련 수정 - 포럼 채널 태그 편집 UI의 스타일 문제를 수정했다. - 삭제된 이모지 때문에 무효화된 이모지 포럼 태그도 편집할 수 있게 됐다. - 채널 생성 화면에서 이모지를 추가할 때 클라이언트가 충돌하던 문제를 해결했다. - 이모지 선택기의 서버 필터에 현재 서버가 표시되지 않던 문제를 수정했다. - iOS 채널 검색 입력창이 텍스트 입력 중 올바르게 스크롤되도록 개선했다. - 모바일 검색 결과에서 뒤로 가기 스와이프가 작동하지 않던 문제를 해결했다. - 채널 세부 설정을 수정할 수 없게 만드는 권한 관련 문제를 수정했다. ## 상점, 퀘스트 및 프로필 개선 - 태블릿에서 Shop 배너 이미지가 늘어나 보이던 문제를 수정했다. - Shop의 구매 완료 모달, 반응 이모지 선택기, 내부 여백 관련 시각적 문제를 조정했다. - Quests 완료 항목이 많은 사용자에게 Claimed Quests UI가 더 안정적으로 표시되도록 개선했다. - Nitro Credit 사용자의 프로필 꾸미기 기능을 수정했다. - Android에서 Space Evader 프로필 효과의 애니메이션 문제를 해결했다. - iOS에서 이모지를 탭한 뒤 애니메이션이 멈추던 문제를 수정했으며, 사용자 지정 상태에서도 애니메이션 이모지가 정상 작동하도록 했다. - Discover Servers 아이콘에 닫을 수 있는 배지가 잘못 표시되던 문제를 해결했다. 이번 패치는 새로운 대형 기능을 추가하기보다 앱 실행 성능, 대규모 알림 인프라, 미디어 처리, 운영체제 통합을 강화하고 플랫폼별 자잘하지만 반복적인 UI 문제를 폭넓게 제거한 업데이트다. Discord를 사용하는 일반 이용자는 Android 업데이트, macOS 네이티브 알림, DM 앱 실행 기능을 우선 확인할 만하다.

원문 읽기(새 탭에서 열림)
figma3분 읽기큐레이션 요약

슈퍼볼 광고의 해부

Duolingo는 슈퍼볼 광고의 높은 비용과 경쟁을 피하기 위해 5초짜리 광고와 앱 푸시 알림을 결합해 강렬한 화제성을 노렸다. 엉뚱한 마스코트 ‘듀오’와 “Do your Duolingo”라는 메시지로 시청자에게 WTF 순간을 제공하고, 브랜드의 소셜 중심 전략과 학습 리마인더 기능을 동시에 보여준 사례다. 이를 위해 마케팅·엔지니어링·디자인 스튜디오가 여러 차례 협업하며 아이디어를 발전시켰다. ## 5초 광고에 담은 대담한 콘셉트 - 광고에서 듀오는 흰색 프레임 안에 앉아 있다가 뒤돌아 엉덩이를 부풀린다. - 부풀어 오른 엉덩이에서 또 다른 듀오가 튀어나오고, 방귀 소리와 함께 “Do your Duolingo”라는 메시지가 등장한다. - 광고가 방영되는 동시에 Duolingo 사용자의 휴대폰에는 학습을 재촉하는 푸시 알림이 전달됐다. - 귀엽고 건전한 이미지와 인터넷에서 “unhinged”라고 불리는 기괴하고 과감한 이미지를 동시에 가진 듀오의 캐릭터성이 핵심 장치였다. - 목표는 제품 설명보다 강한 반응과 입소문을 만들어내는 “WTF moment”를 만드는 것이었다. ## 슈퍼볼을 선택한 이유 - 슈퍼볼은 미국에서 가장 많은 시청자가 모이는 생방송 이벤트 중 하나이므로, 광고 자체뿐 아니라 소셜미디어와 언론을 통한 추가 노출을 기대할 수 있었다. - Duolingo는 브랜드가 문화적 대화에 참여하고 바이럴 효과를 얻을 기회로 슈퍼볼을 바라봤다. - Eurovision 방송 중 쉬는 시간에 사용자가 학습을 수행한 사례가 있었고, 이전 슈퍼볼에서 보낸 푸시 알림도 높은 참여율을 기록했다. - 이 데이터에서 “대형 방송 이벤트의 쉬는 시간에 학습을 상기시키면 효과적”이라는 인사이트를 얻었다. - 과거 슈퍼볼에서 ‘Super Bowl’을 ‘Superb Owl’로 비튼 푸시 알림 캠페인도 아이디어 발전에 영향을 줬다. ## 비용 제약을 기회로 바꾼 5초 광고 - 2023년 슈퍼볼 30초 광고의 평균 비용은 약 700만 달러에 달했다. - Duolingo는 긴 광고를 구매하는 대신 5초짜리 슬롯을 선택해 예산 부담을 줄였다. - 짧은 광고를 TV에서 완결된 캠페인으로 만들기보다, 소셜미디어에서 사람들이 공유하고 이야기할 소재로 설계했다. - Reddit의 짧은 슈퍼볼 광고처럼 방송 노출보다 온라인 확산과 수천만 회의 소셜 노출을 목표로 삼았다. - 제한된 시간은 오히려 하나의 강력한 이미지와 짧은 문구에 집중하게 만드는 창작 조건이 됐다. ## FigJam을 활용한 전사적 브레인스토밍 - 광고 슬롯을 확보한 뒤 9월부터 세 차례의 부서 간 브레인스토밍이 진행됐다. - 첫 세션에서는 “5초 안에 슈퍼볼 대화를 어떻게 해킹하고 장악할 것인가?”라는 질문을 중심으로 아이디어를 발산했다. - 참여자들은 네 개의 소그룹으로 나뉘어 FigJam에서 스티커 메모 방식으로 아이디어를 작성했다. - 아이디어는 다음 기준으로 평가됐다. - 강한 반응을 일으키고 소셜미디어 화제를 만들 것 - Duolingo 브랜드와 어울리고 적절한 톤을 유지할 것 - 광고 이후에도 추가 콘텐츠로 확장할 수 있을 것 - Duolingo의 제품과 기능을 전달할 것 - 각 그룹이 우수 아이디어 5개를 선정한 뒤, 전체 팀이 FigJam의 스티커 투표 기능으로 선호도를 비교했다. - 이후 마케팅·엔지니어링·브랜드 스튜디오 팀이 다시 모여 아이디어를 여러 접근 방식에 따라 분류하고 최종 콘셉트를 좁혀갔다. ## 실용적인 시사점 - 짧은 광고라도 명확한 목표, 강한 브랜드 캐릭터, 실시간 제품 기능을 결합하면 큰 파급력을 만들 수 있다. - 예산이나 광고 시간의 제약을 단순한 한계로 보지 않고, 더 선명하고 공유하기 쉬운 아이디어를 만드는 조건으로 활용할 수 있다. - 방송 광고와 푸시 알림처럼 서로 다른 채널을 동시에 연결하면 짧은 노출을 실제 사용자 행동으로 확장할 수 있다. - 강한 아이디어를 실행하려면 마케팅뿐 아니라 제품·엔지니어링·디자인 팀의 긴밀한 협업이 필요하다.

원문 읽기(새 탭에서 열림)