본문 바로가기

CS5

MySQL 인덱스 완벽 가이드: 성능 최적화의 핵심 목차인덱스란?인덱스의 종류인덱스 동작 원리인덱스 설계 전략실전 예제성능 분석주의사항인덱스란?인덱스는 데이터베이스 테이블의 검색 성능을 향상시키기 위한 자료구조입니다. 책의 목차나 색인과 같이, 데이터를 빠르게 찾을 수 있도록 도와줍니다.인덱스가 필요한 이유-- 인덱스가 없는 경우: 전체 테이블 스캔SELECT * FROM users WHERE email = 'user@example.com';-- 인덱스가 있는 경우: 인덱스를 통한 빠른 검색CREATE INDEX idx_email ON users(email);SELECT * FROM users WHERE email = 'user@example.com';인덱스의 종류1. 클러스터형 인덱스 (Clustered Index)테이블당 1개만 생성 가능물리적으로 데.. CS 2024. 11. 17.
[OAuth] 회사 방문증으로 이해하는 인증 원리 목차OAuth란?OAuth vs 로그인주요 구성 요소OAuth 동작 과정구현 시 고려사항보안 주의사항OAuth란?OAuth는 사용자의 데이터에 대한 접근 권한을 제3자 애플리케이션에게 위임하는 표준 프로토콜입니다. 2006년 트위터와 Ma.gnolia가 주도적으로 개발한 이후, 현재는 OAuth 2.0이 널리 사용되고 있습니다.OAuth의 필요성제3자 애플리케이션의 신뢰성 보장사용자 데이터의 안전한 공유통합된 인증 방식 제공OAuth vs 로그인회사 방문 프로세스를 통해 이해하는 OAuth와 일반 로그인의 차이:일반 로그인회사 사원이 사원증으로 출입직접적인 인증 방식전체 권한 부여OAuth방문자가 방문증으로 제한된 공간 출입중개자를 통한 인증제한된 권한 부여회사 방문 과정OAuth 인증 과정방문자가 안내.. CS 2024. 11. 13.
트랜잭션과 격리 수준 완벽 가이드 목차트랜잭션 기초ACID 속성트랜잭션 격리 수준격리 수준에 따른 문제점실전 예제성능과 격리 수준모범 사례트랜잭션 기초트랜잭션이란?트랜잭션은 데이터베이스의 상태를 변화시키는 하나의 논리적 작업 단위입니다. 예를 들어, 계좌 이체는 출금과 입금이라는 두 개의 작업이 하나의 트랜잭션으로 처리되어야 합니다.기본 예제-- 계좌 이체 트랜잭션START TRANSACTION;UPDATE accounts SET balance = balance - 1000 WHERE account_id = 'A';UPDATE accounts SET balance = balance + 1000 WHERE account_id = 'B';COMMIT;ACID 속성1. Atomicity (원자성)START TRANSACTION;UPDATE a.. CS 2024. 11. 12.
쿠키와 세션 저는 처음에 쿠키라는 것이 먹는 쿠키만 계속 생각나서 이해하는데 시간이 오래 걸렸습니다. 우리는 어떤 웹사이트를 사용할 때면 대부분 로그인이라는 기능을 사용합니다. 이때 로그인에 대한 편의를 제공하기 위해 자동 로그인, ID 저장 등의 기능을 제공하는 경우도 있고, 다른 페이지로 이동하더라도 로그인을 유지하는 기능이 필요합니다. 이때 사용하는 것이 쿠키라고 합니다. 한번씩 웹사이트에 들어가면 모든 쿠키 허용 또는 일부 쿠키만 허용 또는 거부 라는 선택지가 주어지는 것을 자주 보셨을 겁니다. 이 쿠키가 앞에서 설명드린 쿠키와 같은 쿠키입니다. 쿠키에 대한 간단한 개념은 이정도와 같고 쿠키가 서버와 클라이언트에서 어떻게 동작하는지에 대해 알아보겠습니다. 쿠키의 동작 과정 1. 웹 브라우저는 서버에 id, p.. CS 2024. 9. 3.
왜 MVC 패턴을 사용하고 있나요? 여러분들은 MVC 패턴을 왜 사용하나요? 웹 개발을 꿈꾸고 있는 분들은 MVC 패턴을 한번이라도 들어봤을 것이고 실제로 적용시켜 본 경험이 있는 사람도 많을 것입니다. 저 또한 MVC 패턴을 적용하여 프로젝트를 진행했던 경험이 있습니다. 그러면 여러분들은 `다른 패턴도 많을 건데 MVC 패턴을 사용하는 이유는  무엇인가요? 다들 MVC패턴에 열광하는 이유가 뭐죠?` 라는 질문에 답할 수 있으신가요?  네이버 부스트캠프를 진행하던 도중 저는 Spring Boot로 프로젝트를 진행해왔던 터라, node.js를 사용하여 백엔드 코드를 작성할 때에도 당연히 MVC 패턴을 적용하여 디렉토리 구조를 만들었습니다. 그런데 팀원 중 한분이 node.js에서의 장점이 있을건데 Spring Boot에서 사용하는 MVC 패.. CS 2024. 8. 29.