반응형

전체 글 692

대칭키 및 비대칭키 암호화 알고리즘 쉬운 설명

암호화는 데이터를 안전하게 보호하는 기술인데, 크게 대칭키 암호화와 비대칭키 암호화 두 가지 방식이 있어.1. 대칭키 암호화 (Symmetric Key Encryption)👉 "같은 열쇠로 잠그고, 같은 열쇠로 푼다"🔹 개념:송신자와 수신자가 같은 키(비밀키) 를 사용해서 데이터를 암호화하고 복호화하는 방식이야.키가 노출되면 보안이 깨질 수 있어, 그래서 키를 안전하게 공유하는 게 중요해.🔹 예제:친구랑 비밀 메시지를 보낼 때, 둘 다 같은 암호(예: "1234")를 정하고, 이걸로 문장을 암호화해서 보내는 거야.상대방도 같은 암호를 알아야만 원래 문장을 복호화할 수 있어.🔹 대표 알고리즘:DES (Data Encryption Standard): 오래된 방식, 보안 취약AES (Advanced E..

DB 격리 수준(Isolation Levels)을 AICC 콜센터 예제와 함께 알아보기

오늘은 데이터베이스 트랜잭션의 격리 수준(Isolation Level)에 대해 알아보겠습니다. AICC 콜센터 시스템에서는 동시에 여러 고객이 접속하고, 여러 상담사가 채팅·전화·상담 등을 동시에 처리합니다. 이러한 동시성(Concurrency)을 안전하게 보장하기 위해서는 트랜잭션 격리 수준을 어떻게 적용하느냐가 매우 중요합니다.1. 격리 수준(Isolation Level)이란? 🤔격리 수준(Isolation Level)은 데이터베이스가 여러 트랜잭션을 동시에 처리할 때, 각 트랜잭션이 다른 트랜잭션의 중간 연산 결과를 볼 수 있는지 혹은 볼 수 없는지를 결정하는 규칙입니다.왜 필요할까요? 동시에 많은 트랜잭션이 실행될 때, 데이터 무결성과 일관성을 지키면서도 최대한 높은 성능(동시성)을 내야 하기..

AICC(AI Contact Center) 사례로 - ACID 원칙 완전 정복하기 🤖

안녕하세요, 블로거입니다!오늘은 AICC(AI Contact Center)에 데이터베이스의 ACID 원칙을 적용하는 방법에 대해 알려드릴게요.TL;DR (핵심 요약)• AICC는 AI 기술을 활용한 지능형 콜센터로, 자동화와 분석을 통해 고객 경험을 향상시킵니다.• ACID 원칙(원자성, 일관성, 격리성, 지속성)은 원래 데이터베이스 트랜잭션의 신뢰성을 보장하는 개념입니다.• ACID 원칙을 AICC에 적용하면 고객 상담 프로세스의 완전성과 데이터 무결성을 크게 향상시킬 수 있습니다.목차 📑개념 소개: AICC와 ACID란?왜 AICC에 ACID 원칙이 필요한가?AICC에 적용되는 ACID 원칙의 기본 원리실제 예제: ACID 기반 AICC 구현 시나리오주의사항 및 팁마치며참고 자료1. 개념 소개AIC..

AICC 콜센터 채팅 시스템의 데이터베이스 정규화 📌

오늘은 AICC 콜센터 채팅 서비스를 설계한다고 가정하고, 데이터베이스 정규화(Database Normalization)를 단계별(1차 정규형, 2차 정규형, 3차 정규형 등)로 살펴보겠습니다. 콜센터 시스템에서도 채팅 로그, 상담사, 고객, 문의 정보 등이 서로 밀접하게 관련되어 있는데, 이를 효율적으로 저장하고 관리하기 위해 정규화 개념이 필수적으로 활용됩니다.1. 1차 정규형(1NF)이란? 🤔1.1 기본 개념1차 정규형(1NF)은 반복되는 컬럼이나 컬럼 안에 여러 값이 들어 있는 상태를 제거하고, 각 컬럼을 원자값(Atomic value)만 갖도록 구성하는 것입니다.🔹 반복 컬럼 예시: ‘chat_message1’, ‘chat_message2’, ‘chat_message3’처럼 동일한 의미를 가..

라운드 로빈(Round Robin) 스케줄링

오늘은 라운드 로빈(Round Robin) 정책을 쉽고, 직관적으로 이해하고 활용할 수 있도록 정리해보겠습니다!1. 라운드 로빈이란? 🤔라운드 로빈(Round Robin)을 한마디로 정의하면 “순서대로 돌아가며 동일한 시간만큼 CPU를 사용하는 스케줄링 방식”입니다.쉽게 떠올릴 수 있는 비유노래방 마이크 돌리기 친구들과 노래방에 갔을 때, 한 사람만 계속 노래를 부르면 다른 친구들이 지루해지겠죠? 대신 2절까지 불렀다면 마이크를 옆 친구에게 넘기고, 그 친구가 2절을 부르면 다음 친구에게 넘어가는 식으로 “차례를 공평하게 나누는” 상황을 떠올릴 수 있습니다.모둠 발표 시간 학교에서 5개 모둠이 각각 발표를 해야 할 때, 각 모둠에게 5분씩만 우선 주고 발표하다가 시간이 부족하면 다시 차례가 돌아올 ..

Redis Pub/Sub vs. Redis에 단순 데이터 저장, 무엇이 좋을까?

오늘은 Redis의 Pub/Sub(Channel/Topic) 기능과, 단순히 Redis 자료구조(SET, LIST 등)로 로깅하는 방법 중 어떤 것을 선택해야 할지, 특히 채팅 에러(에러 로그) 관리를 예시로 이야기를 나눠보겠습니다.1. Redis Pub/Sub과 로깅용 자료구조(SET 등)란? 🤔먼저, 간단히 개념부터 살펴보겠습니다.🔹 Redis Pub/Sub(Channel/Topic)이란?Pub/Sub(Publish/Subscribe) 모델은 메시지를 발행(Publish)하고, 이를 구독(Subscribe)하는 방식을 통해 실시간 통신이 가능하도록 해주는 Redis의 기능입니다.메시지를 보내는 쪽(Publisher)과 이를 받는 쪽(Subscriber)이 직접 연결되는 것이 아니라, 중간에 ‘Ch..

[소프트웨어 공학] - Myers가 구분한 응집도 개념 완전 정복하기 🧩

안녕하세요, 소프트웨어 엔지니어링의 핵심 개념 중 하나인 '응집도(Cohesion)'에 대해 알아볼까요? 특히 오늘은 소프트웨어 공학의 선구자인 Glenford J. Myers와 Larry Constantine이 정의한 7가지 응집도 유형에 대해 깊이 있게 살펴보겠습니다.여러분이 주방 용품을 정리하는 상황을 생각해보세요.모든 조리 도구가 무작위로 서랍에 던져져 있다면? 필요한 도구를 찾기 어렵겠죠 (낮은 응집도)칼은 칼끼리, 조리 도구는 도구끼리, 양념은 양념끼리 분류되어 있다면? 훨씬 효율적입니다 (높은 응집도)왜 응집도가 필요한가?응집도는 소프트웨어 설계에서 다음과 같은 문제들을 해결합니다:유지보수 문제: 낮은 응집도의 코드는 이해하기 어렵고 변경 시 예측하지 못한 부작용이 발생할 수 있습니다.재사용..

Redis 테이블 명세서 작성 방법

오늘은 Redis 테이블(혹은 스키마)에 대한 명세서 작성 방법과 몇 가지 예시를 살펴보겠습니다. 일반적인 관계형 데이터베이스(RDBMS)와 달리 Redis는 ‘테이블’이나 ‘스키마’라는 개념이 명확하지 않습니다. 그러나 조직적으로 Redis 자료 구조를 설계하고, 쉽게 이해하고 유지보수하기 위해서는 ‘테이블 명세서’와 유사한 가이드라인을 마련하는 것이 중요합니다.1. Redis 테이블(스키마) 명세서란? 🤔관계형 데이터베이스에서 CREATE TABLE, ALTER TABLE 등을 통해 테이블의 구조와 컬럼을 정의하듯이, Redis에서도 키(Key)와 자료 구조(데이터 타입), 그리고 저장할 값(Value)를 일종의 “테이블”처럼 체계적으로 문서화할 수 있습니다. 다만, Redis는 컬럼 개념이 명시적..

Redis 기반 고객 채팅 에러 로그 기록 및 중복 로그 처리 시스템

오늘은 Redis를 활용하여 운영 환경에 올라가는 고객 채팅 에러 로그를 효율적으로 기록하고, 중복 로그인 경우에는 기존 로그를 그대로 반환하는 방식의 시스템 명세서를 작성해보겠습니다!이 포스트는 기술 블로그 형식으로 작성되었으며, Redis를 이용한 간단하면서도 확장성 있는 구조를 예시 코드와 함께 설명합니다.1. 고객 채팅 에러 로그 기록 및 중복 로그 처리 시스템이란? 🤔보통 채팅 서비스에서는 다음과 같은 문제들이 발생합니다.실시간으로 발생하는 대규모 로그: 사용자가 많을수록 에러 로그가 폭발적으로 늘어납니다.중복 로그 처리: 특정 에러가 반복적으로 발생할 경우, 저장 공간과 분석 효율이 떨어질 수 있습니다.신속한 접근 및 검색: 문제 발생 시 빨리 로그를 확인해야 합니다.이 시스템은 Redis를..

Keycloak SSO를 JavaScript로 연동하기

오늘은 Keycloak을 활용하여 SSO(Single Sign-On)를 JavaScript 애플리케이션과 연동하는 방법에 대해 알아보겠습니다. Keycloak은 오픈소스로 제공되는 인증·인가 서버로, OAuth 2.0과 OpenID Connect 표준을 기반으로 쉽고 빠르게 SSO 기능을 구축할 수 있습니다.1. Keycloak SSO란? 🤔Keycloak SSO는 말 그대로 하나의 인증 시스템(Keycloak)을 통해 여러 애플리케이션이 사용자 인증 정보를 공유하는 방식입니다. 사용자는 한 번 로그인하면, 그 정보를 다른 애플리케이션이 재활용할 수 있게 됩니다.🔹 개념 요약: Keycloak 서버가 중앙 인증 역할을 맡아, 사용자가 여러 서비스나 앱을 이용할 때 매번 로그인할 필요 없도록 해줍니다...

100===Dev Ops/SSO 2025.02.09
728x90
반응형