본문 바로가기

Computer Science

(3)
[HTTP] 웹 초기의 인증/인가에서 오늘날 로그인까지 1. 클라이언트 식별과 쿠키에서는 사용자를 식별하여 콘텐츠를 개인화시키는 기법을 다룬다.2. 기본 인증에서는 사용자를 확인하는 기초적인 체계를 중점적으로 다룬다. 그리고 어떻게 HTTP 인증이 데이터베이스와 동작하는지도 알아본다.1. 클라이언트 식별과 쿠키인증의 필요성*인증 authentication - 인증은 누군가 또는 무언가의 신원을 확인하는 프로세스.*인가 authorization - 인가는 권한 부여입니다. 인증이 완료되어 인증이 필요한 대상에 대한 권한을 허락하는 행위. 인증된 사용자에게 어떤 자원에 접근할 수 있는지 확인하는 절차가 인가.클라이언트&서버 구조 / 비연결성connectionless / 무상태성stateless은 http 프로토콜의 주요 특징.비연결성 connectionless클..
[자료구조] 주요 알고리즘의 시간복잡도 Time Complexity of Algorithms 1. 알고리즘의 시간복잡도 Algorithms Time Complexity (Big O) 이진 탐색 (Binary Serach) O ( log N ) 깊이 우선 탐색 (DFS) O ( V + E ) (그래프 정점 + 간선 개수만큼) 너비 우선 탐색 (BFS) O ( V + E ) (그래프 정점 + 간선 개수만큼) 크루스칼 (Kruskal) O ( E log E ) 다익스트라 (Dijkstra) O ( E log V ) 벨만-포드 (Bellman-Ford) O ( V * E ) ( 최악의 경우 O ( V^3 ) ) 플로이드 워셜 (Floyd-Warshall) O ( V^3 )
[자료구조] 시간복잡도 Time Complexity (1) 시간복잡도 Time Complexity 프로그램의 연산 시간과 입력의 함수 관계를 의미하며, 특정 알고리즘 로직의 수행시간을 시간복잡도라고 할 수 있습니다. 일반적으로 시간복잡도는 빅오 표기법으로 표현합니다. 우리는 시간복잡도를 기준으로 알고리즘을 평가할 수도 있고, 이를 통해서 로직을 개선하고 알고리즘을 최적화할 수도 있습니다. 속도는 SW 성능을 평가하는 중요한 지표이니, 시간복잡도가 중요하게 여겨질 수 밖에 없겠죠? (2) 빅오 표기법 Big-O Notation 빅오 표기법은 input "N"으로 입력을 표현할 때, 해당 로직을 함수로 나타낸 낸 수식입니다. 이때 최고차항만 표기하고 상수항은 생략하여 표기합니다. 그렇기 때문에 입력값 N에 대한 개략적인 수행시간만 알 수 있고, 정확한 시간을..