Junby Log

[스프링 시큐리티] 기본 인증 방식

스프링 부트에서 제공되는 기본 인증 방식에 대해 알아볼 것이다. 웹사이트에 접근할 때, 어떤 경로에 접근하느냐에 따라 접근이 허용되는 경로와 허용되지 않는 경로가 있기 마련이다. 이러한 접근 보안에 대해 알아볼 것이다. 스프링 시큐리티 기본 개념 SecurityBuilder 빌더 클래스로서 웹 보안을 구성하는 빈 객체와 설정 클래스들을 생성하는 ...

[알고리즘] 누적합 알고리즘

누적합(prefix sum) 알고리즘은 작거나, 큰 배열에서 부분적으로 배열의 값을 여러 번 업데이트 할 때 효율적으로 업데이트 할 수 있는 알고리즘이다. 업데이트 요청마다 반복문을 돌지 않고, 업데이트 정보를 저장해두었다가 한 번의 반복문으로 해결한다. 카카오에서 출제한 파괴되지 않은 건물을 예시로 알아보겠다. 흐름 흐름을 간단하게 설명한다면...

[알고리즘] 플로이드 워셜 알고리즘

플로이드 워셜(FLoyd Warshall)은 모든 노드의 최단 경로 탐색 문제에서 사용되는 알고리즘으로, 모든 노드로부터 다른 모든 노드로의 최소 비용을 찾아낼 때 사용하는 알고리즘이다. 다익스트라(dijkstra)와 비교할 수 있는데, 다익스트라 알고리즘은 특정 한 노드를 기준으로 다른 노드들로 가는 최소 비용만을 구하지만, 플로이드 워셜은 모든 ...

[알고리즘] 다익스트라 알고리즘

다익스트라(Dijkstra)는 최단 경로 탐색 문제에서 사용되는 알고리즘으로, 특정 노드에서 다른 노드로의 최소 비용을 찾아낼 때 사용하는 알고리즘이다. 알고리즘 분류는 탐욕(Greedy) 알고리즘이라고도 하며, 이미 탐색한 결과에 대해 계산하지 않고, 기존 결과를 재사용한다는 점에서 다이나믹 프로그래밍으로도 볼 수 있다. 노드의 방향이 양방향인지...