반응형

2020/11 2

[Algorithm] leetcode: Validate Binary Search Tree (python)

주어진 Binary Search Tree가 유효한지를 확인하는 알고리즘입니다. Binary Search Tree는 하나의 root node가 존재할 경우 왼쪽에 있는 모든 노드는 해당 node보다 값이 작아야 하고, 오른쪽에 있는 모든 노드는 root node보다 값이 커야합니다. 때문에 바로 이전의 노드의 값과 비교하여 왼쪽이라면 이전 노드의 값보다 작은 지를 비교하고, 오른쪽으로 가게 되면 이전 노드의 값보다 큰지를 비교하면 됩니다. 하지만 만약 아래와 같은 케이스라면 어떨까요? 3 / \ 1 5 / \ 2 6 2은 5보다 작지만, 5 이전의 node인 3보다도 값이 작게 됩니다. 이는 오른쪽에 있는 node는 모두 기준이 되는 node보다 값이 커야 한다는 rule을 벗어납니다. 이러한 경우는 이전..

[DevOps] Istio: Circuit Breaker를 지원하는 Service Mesh의 구현체

Microservice Microservice architecture 스타일은 작은 서비스들의 모음으로서 단일 애플리케이션을 개발하기 위한 접근 방식입니다. 각각의 애플리케이션은 자체 프로세스로 실행되며 http로 통신하게 됩니다. 이와 같이 mircroservice architecture 스타일은 다양한 언어를 지원할 수 있게 되고(polyglot) 배포 주기를 독립적으로 가져갈 수 있게 되고 각각의 서비스들이 독립적으로 존재하기 때문에 다른 서비스에 영향을 최소화할 수 있습니다. 하지만 모든 기술에 장점만 있는 것이 아니듯, 네트워크 보안에 더욱 신경을 써야 하고, 서비스들 간의 복잡도로 인해서 트러블 슈팅이 매우 어려워지게 됩니다. 또한 서비스 간의 access control 역시 쉬운 일이 아니죠..

DevOps/Kubernetes 2020.11.16
반응형