개발 동기 회사에서 근래에 대응개발을 해야할일들이 많아졌다.현재 운영중인 서비스에서 타 서비스와 연동하는 부분이 생겼고 그에 따라 Restful API를 통해데이터를 주고 받아야 할일들이 발생했다. 현재 담당하는 서비스가 엔드포인트로서 사용자들에게 보여지는 부분들이 많이 있다보니보통 대응개발이면 다른 서비스의 데이터를 받아와 사용자들에게 화면으로 보여줘야 할 부분들이 좀 있다. 문제는 현재 타서비스와 연동하려면 CORS 정책에 걸려 브라우져에서 요청 할 수 없는 경우가 많다.결국 우리 서버에서 타서비스 서버로 요청을 보내야하므로 대응개발건이 생길때마다API 요청 서비스 개발, 데이터를 보여줄 화면단 개발, 배포등 일련의 과정을 거쳐야 하고또 문서로 정리해둬야 하는 등의 공수가 발생한다. 이때 서비스개..
언제 사용하는가? 최소 공통 조상 알고리즘은 트리에서 두 노드의 최단거리를 찾고 싶을때 사용한다. 시간복잡도는 O(logN)이며, 희소배열을 이해한다면 최소 공통조상은 응용이기 때문에 쉽게 이해 할 수 있다. 희소배열에 대해 알고 싶다면 하단의 링크를 참조하면 된다. https://0bliviat3.tistory.com/79 [자료구조] 희소 배열 (Sparse Table)의 구현(JAVA) 언제 사용하는가 희소배열은 최소 범위 쿼리(Range Minimum Query)의 연산을 수행시 짧은 구현과 빠른 속도로 처리 하고 싶을때 사용하는 자료구조이다. 먼저 최소 범위 쿼리부터 알아보도록 하자. htt 0bliviat3.tistory.com 공통 조상이란? 먼저 최소 공통 조상의 개념부터 정의하고 넘어가도..
언제 사용하는가 희소배열은 최소 범위 쿼리(Range Minimum Query)의 연산을 수행시 짧은 구현과 빠른 속도로 처리 하고 싶을때 사용하는 자료구조이다. 먼저 최소 범위 쿼리부터 알아보도록 하자. https://en.wikipedia.org/wiki/Range_minimum_query Range minimum query - Wikipedia From Wikipedia, the free encyclopedia Minimizing problem in computer programming Range minimum query reduced to the lowest common ancestor problem. In computer science, a range minimum query (RMQ) solv..
필요성 최근 회사 생활을 시작하며 알게된건 개발자들이 개발을 하는 시간보다 문서작업을 하는 시간이 훨씬 더 큰 비중을 차지하게된단 점을 알게되었다. 매일 관리하는 프로그램의 점검일지를 작성한다던가, 변경사항이 생길때마다 현행화를 위한 문서 작성을 한다던가 등 조금 과장해서 90%이상이 문서로 시작해 문서로 끝나는 작업이란걸 느꼈다. 이런 반복되는 문서작업은 매번 같은 양식 문서를 열어 다른이름으로 저장하고 경로를 지정해주어야하는 귀찮은 반복의 작업이므로 이런 과정을 클릭한번으로 줄여보기로 했다. 내가 하려는 건 같은 양식의 문서를 매일 갱신, 저장하려는 작업일때 그 과정을 줄여주는 배치파일 만들기다. 회사에서 배포작업이나 점검시에 배치파일이나 쉘파일 하나 돌려 간단히 끝내는 걸 보고 나도 사소한 작업이지..
언제 사용하는가? 순서가 정해져있는 작업을 차례로 수행해야 할때 그 순서를 정해주기 위해 사용하는 알고리즘이다. 이때 그런 순서가 정해져 있다는건 그래프가 단방향 그래프로 사이클이 없어야 한다. 또 그래프에 따라 여러가지의 순서가 나올수 있다. 특징 1. 현재 그래프가 위상정렬이 가능한지 알 수 있다. (사이클이 발생한다면 위상정렬이 불가능하다.) 2. 위상정렬이 가능하다면 그 정렬된 결과를 알 수 있다. 어떻게 사용하는가? 위상정렬은 다음의 순서로 진행된다. 1. 진입차수가 0인 정점을 찾아 큐에 삽입한다. 2. 큐에서 원소를 꺼내 연결된 모든 간선을 제거한다. 2.1 꺼낸 원소를 차례대로 저장한다. 3. 간선을 제거한뒤 진입차수가 0인 정점을 큐에 삽입한다. 4. 큐가 비워질때까지 2,3의 과정을 반..