2019/04 3

Leetcode Binary tree

https://leetcode.com/explore/learn/card/data-structure-tree/ 에서 푼 내용을 정리했습니다. 물론 go to dicuss가면 사람들이 솔루션을 다 써놨는데 몇몇 개념이나 방법론 등을 까먹지 않으려고 이 페이지에 정리해두려고 합니다. preorder, inorder, postorderdef preorderTraversal(self, root): """ :type root: TreeNode :rtype: List[int] """ ret = [] stack = [root] while stack: parent = stack.pop() if parent: ret.append(parent.val) stack.append(parent.right) stack.append(..

mongodb make index background, cancel making index

어떤 디비든간에 특정 컬럼에 대해서 검색이 잦을 경우 그 컬럼에 인덱스를 걸어놓는다. 인덱스를 걸어놓으면 해당 컬럼에 대한 작업시 속도가 상당히 빨라진다. 나도 개발자로 일하기 전에는 속도에 이슈가 생길만큼.. 큰 디비를 다뤄본적이 없는지라 회사에서 중요한 인덱스 개념을 처음 습득했다.(인덱스 안걸면 진짜 죽음이다.) 어쨋든 현재 5억건의 데이터를 가지고 있는 몽고 디비가 있는데, 어떤 컬럼이 추가되면서 그 컬럼에 인덱스를 걸어야 할 일이 생겼다. 평소라면 그냥 인덱스를 걸었겠지만 문제는 이 몽고디비가 계속 사용중인 production이라는것과, 5억건의 데이터에 인덱스를 걸려면 경험상 3~4시간이 필요했다.(서버 성능에 따라 다르긴하지만) 몽고디비를 거의 나만 쓰고 있어서 모든 컬렉션들을 컨트롤하고있다..

data engineering 2019.04.19

2019-04-07 일요일.

어제 초밥을 먹었는데 초밥하나가 상했는지 아니면 몸과 안맞는 성분이 있었는지 느낌상 살짝 식중독에 걸린것 같다. 오랫만에 알고리즘 공부를 하려고 앉았는데.. 우연찮게 공부가 잘 안된 핑계가 되었다. 알고리즘을 입사하고 나서 완전 손 놨었는데 이러면 슬슬 안될것같은 생각이 들어서 알고리즘 공부를 다시 시작했다. 공무원 같은 경우여서 한회사 평생 다닐것도 아니고.. 만약 연봉 등이 불만족스러워서 이직을 한다해도 준비기간이라는게 있길 마련이어서, 지금부터 조금씩 다시 하기로 했다. 취준생때는 백준 유형 여러개 풀고, 그 유형을 기억해뒀다가 해당 유형이 나오면 조금 소스를 고쳐서 풀곤 했다. DP같은 분야 말고는 많은 분야에서 이 방법이 통했는데 이제는 정말로 공부하는 느낌으로 하고자 한다.사실 알고리즘 공부 ..