분류 전체보기159 SSL/TLS 인증서와 프록시 환경의 기업 네트워크 보안의 이해 1. SSL/TLS 인증서의 기본 원리1.1 인증서의 개념과 역할SSL/TLS 인증서는 웹사이트나 서버의 신원을 디지털 방식으로 증명하는 전자 문서입니다.인증서는 다음과 같은 핵심 역할을 수행합니다.신원 증명: 웹사이트가 실제로 주장하는 그 웹사이트임을 증명암호화 키 제공: 안전한 통신을 위한 공개키를 제공데이터 무결성 보장: 통신 내용이 변조되지 않았음을 보장인증서에는 다음과 같은 중요 정보가 포함됩니다.도메인 이름 (예: imtsoft.me)공개 키발급자 정보 (인증 기관)유효 기간디지털 서명1.2 암호화의 기초: 대칭 및 비대칭 암호화HTTPS 통신은 두 가지 암호화 방식을 조합하여 사용합니다.비대칭 암호화 (공개키 암호화)공개키와 개인키 쌍을 사용공개키로 암호화한 데이터는 개인키로만 복호화 가능주.. 2025. 3. 24. 채용 과제 테스트 중 디지털 치료제 처방 코드 생성 시스템에서 팬텀 삽입 문제 해결하기 이번 글에서는 최근 채용 과제 테스트로 처방코드 생성 API 개발하던 도중 발견한 팬텀 삽입(Phantom Insert) 문제와 이를 데코레이터 패턴과 트랜잭션 격리 수준을 통해 해결한 경험을 공유하려고 합니다. [ 채용 과제 리포지토리 ] - https://github.com/shiniseong/BeyondTest문제 상황: 처방코드 중복 생성채용 과제로 진행한 프로젝트에서 의료진이 환자에게 처방코드를 발급하는 API를 개발하고 있었습니다.요구사항은 다음과 같았습니다.처방코드는 영문자 대문자 4자, 숫자 4자로 구성된 총 8자리 랜덤 코드처방코드는 중복되지 않아야 함발급 이력이 데이터베이스에 저장되어야 함처음에는 다음과 같이 간단하게 구현했습니다.override suspend fun createPres.. 2025. 3. 24. [트랜잭션 시리즈 - 2] 트랜잭션 격리 수준별 대표적인 트러블 케이스 정리 1. Dirty Read (더티 리드)발생하는 격리 수준: READ UNCOMMITTEDREAD UNCOMMITTED는 가장 낮은 격리 수준으로, 다른 트랜잭션에서 커밋되지 않은 데이터를 읽을 수 있습니다.발생 원인READ UNCOMMITTED 격리 수준에서는 트랜잭션이 다른 트랜잭션의 커밋되지 않은 변경사항을 볼 수 있습니다.이 격리 수준에서는 데이터 읽기 작업에 어떠한 잠금(lock)도 획득하지 않습니다.다른 트랜잭션의 변경사항이 커밋되기 전에도 변경된 데이터를 읽을 수 있습니다.은행 계좌 이체 예시 분석철수의 트랜잭션이 계좌 잔액에서 50만원을 차감하고 아직 커밋하지 않았습니다.영희의 트랜잭션이 READ UNCOMMITTED 격리 수준에서 실행 중이므로, 철수의 트랜잭션이 아직 커밋되지 않았지만 변.. 2025. 3. 24. [트랜잭션 시리즈 - 1] 트랜잭션의 격리 수준 정리 이번 글 에서는 트랜잭션의 4가지 격리 수준에 대해 정리해 보겠습니다.왜냐하면, 최근 봤던 기술 면접에서 제가 이 부분을 전혀 대답하지 못했었기 때문입니다. 따흑 ㅠㅠ이번 글 에서는 트랜잭션 격리 수준에 대해 정리하고, 다음 글 에서는 각 격리 수준별로 트랜잭션 일관성이 깨질 수 있는 상황에 대해 가상 시나리오를 예로 들어 좀 더 피부에 와닿게 정리해 보도록 하겠습니다.데이터베이스 시스템에서 동시성 제어는 매우 중요한 요소입니다.여러 사용자나 프로세스가 동시에 데이터에 접근할 때, 데이터의 일관성을 유지하면서도 성능을 최적화하는 것은 쉽지 않은 과제입니다.이를 위해 데이터베이스는 '트랜잭션 격리 수준(Transaction Isolation Level)'이라는 개념을 제공합니다.트랜잭션 격리 수준이란?트랜.. 2025. 3. 24. 이전 1 2 3 4 5 6 7 ··· 40 다음 728x90