본문 바로가기

CS

(5)
[CS] 객체와 배열의 작업 / 메서드에 따른 시간 복잡도 1. Object객체를 사용해야 할 때순서가 필요하지 않은 경우빠른 액세스/삽입 및 제거가 필요한 경우작업에 따른 시간 복잡도삽입 :  O(1)제거 :  O(1)액세스 : O(1)검색 : O(N)메서드 별 시간 복잡도Object.keys -   O(N)Object.values -   O(N)Object.entries -   O(N)hasOwnProperty -   O(1) 2. Array 배열을 사용해야 할 때순서가 필요한 경우빠른 액세스/삽입 및 제거가 필요한 경우 작업에 따른 시간 복잡도 삽입, 제거 : 경우에 따라 다름 push, pop 의 경우는  O(1) shift, unshift 의 경우는 O(N) : idx 0 이후의 모든 인덱스를 수정해야하므로액세스 : O(1)  배열 내부에 인덱스가 있기..
[CS] JWT vs Session 인증: 언제 어떤 방식을 선택해야 할까? SessionJWT세션 정보를 저장하기 위한 별도의 저장소가 필요합니다.별도의 저장소가 필요하지 않습니다.세션 무효화가 쉽습니다.JWT 무효화가 쉽지 않습니다.확장 시 세션 저장소도 고려해야 합니다.클라이언트와 서버의 확장이 쉽습니다. 1. 세션 기반 인증  1. 사용자는 로그인 사용자 인증 정보를 서버로 보냅니다.  2. 서버는 이러한 자격 증명을 확인합니다.3. 유효하면 새 세션이 생성됩니다.     그런 다음 서버는 세션 데이터를 일반적으로 데이터베이스나 Redis와 같은 인메모리 캐시에 저장합니다.    이 데이터에는 사용자 ID,세션 만료 시간, 기타 메타데이터가 포함될 수 있습니다.4. 서버는 일반적으로 쿠키 형식으로 고유한 세션 ID가 포함된 응답을 다시 보냅니다. 5. 페이지 접근과 같은 ..
[CS] 알고리즘의 공간 복잡도(Space Complexity)란? 1. 정의공간 복잡도는 알고리즘이 실행되는 동안 사용하는 메모리의 양을 나타냅니다. 전체 공간 복잡도 = 입력 공간 + 보조 공간 으로 나뉘지만 알고리즘 자체의 공간 복잡도에 집중해야 보조 공간 (auxiliary space complexity) 메모리 효율성 평가에 유용하며 입력 크기와 무관한 추가 메모리 사용을 명확히 파악 가능하므로여기서는 입력 되는 크기는 제외하고 알고리즘 자체가 얼마나 많은 추가 메모리가 필요한지를 측정합니다. 2. 표기법보통 빅오(Big O) 표기법을 사용합니다. 예: O(n), O(1), O(n^2) 등3. 종류고정 공간: 입력 크기와 무관한 상수 공간 가변 공간: 입력 크기에 따라 변하는 공간 4. 예시 4-1. O(1) 공간 복잡도 예시function findMax(arr..
Browser Data Stroage 종류와 차이점 1. 쿠키 ( Cookies ) 작은 텍스트 파일로 클라이언트 측에 저장됩니다.용량 제한: 보통 4KB만료 기간 설정 가능서버와 클라이언트 간 요청 시 자동으로 전송됨주로 세션 관리, 사용자 선호 설정 등에 사용 2. 로컬 스토리지 (Local Storage)HTML5에서 도입된 웹 스토리지 방식용량 제한: 보통 5-10MB (브라우저에 따라 다름)영구적으로 데이터 저장 (사용자가 직접 삭제하기 전까지)동일 출처(Same Origin) 내에서만 접근 가능    이 뜻은... https://example.com에서 저장한 로컬 스토리지 데이터는 https://example.com의 다른 페이지에서 접근 가능http://example.com에서는 접근 불가 (프로토콜 다름)https://sub.example..
[CS] 빅 오 표현법(Big O Notation) 시간 복잡도 개인 공부를 하며 정리한 글입니다.틀린 부분, 수정할 부분이 있다면 언제든 피드백 환영입니다 :) 알고리즘, 자료구조를 공부하면서 항상 드는 생각은 얘내들을 어느 상황에서 사용할까였다.그 기준의 하나가 되는 것이 오늘 다룰 빅 오 표현법이다.  알고리즘, 자료구조 챕터에서 항상 나오는 빅 오 표현법에 대해 간단히 알아보자.알고리즘의 성능이나 복잡도를 설명하는 데 일반적으로 사용되는 방법이 빅 오 (Big O) 표현법이다.알고리즘의 스피드 표현법이다.  (하지만 실제 러닝타임을 표시하는 것은 아니다.)각 알고리즘의 장단점과 언제 무엇을 쓸지 빠르게 파악이 가능하다. ( n은 가로축의 입력 사이즈를 말한다. 여기선 이해하기 쉽게  한번의 연산 사이클이라고 하겠다. ) 그럼 코드로 이해 해보자.1.  cons..