How does work 'update' on MongoDB internally?
책 ‘Designing Data-Intensive Applications’을 보면서, 궁금한것들이 많아집니다. 이 책이 2017년 초판이 인쇄 되었는데, 제가 쓰는 기술들에 실제로 적용 되는지 궁금해집니다. 이 글은 그중 하나인, ‘Mongodb(Document db)에서 update는 disk의 rewrite를 발생시키는가?’에 대한 글 입니다. ...
책 ‘Designing Data-Intensive Applications’을 보면서, 궁금한것들이 많아집니다. 이 책이 2017년 초판이 인쇄 되었는데, 제가 쓰는 기술들에 실제로 적용 되는지 궁금해집니다. 이 글은 그중 하나인, ‘Mongodb(Document db)에서 update는 disk의 rewrite를 발생시키는가?’에 대한 글 입니다. ...
What is XGBoost? Decision Tree의 발전 역사 Decision Trees Bagging(Bootstrap aggregating) sample 데이터를 랜덤으로 선택하여 여러개의 ‘bootstrap’으로 묶고, 이 ‘bootstrap’으로 모델을 학습시키는 방법. sample 데이터의 다양성을 확보하는것. 규칙...
What is Ensemble Learning? 다양한 알고리듬(algorithm)을 결합하여, 개별 알고리듬보다 더 우수한 성능을 만들어내는 방법입니다. 이 자체가 알고리듬은 아니고, 섞는(ensemble) 방법에 관한 얘기입니다. Background(탄생 배경) No Free Lunch Theorem(공짜 점심 같은건 없다.) Ever...
문제 요약 integer array인 nums안에서, k에 해당하는 길이만큼의 요소를 뽑습니다. 이때, 이 요소들의 평균값의 최대를 return합니다. 즉, k길이의 subarray에 대한 average의 최댓값을 구합니다. 문제 풀이 첫번째 시도 Complexity 시간복잡도(time complexity) 는 $O(n)$입니다. 이는 nums를...
문제 요약 integer array인 nums안에서, 그 합이 k를 만족하는 2개의 요소를 구합니다. 이때, k를 만족하는 요소는 중복으로 사용될 수 없습니다. 문제 풀이 첫번째 시도 Complexity 시간복잡도(time complexity) 는 $O(n\log{k})$입니다. 이는 nums를 정렬(sort)하는 과정이 있기 때문입니다....
문제 요약 integer array인 height안에서, 2개의 height를 골라 ‘물을 담을 수 있는 면적(2개의 height중 작은것 기준으로 측정해야함을 의미함.)’을 측정하여 가장 큰 면적을 return합니다. 문제 풀이 첫번째 시도 Complexity 시간복잡도(time complexity) 는 $O(n)$입니다. height arra...
문제 요약 function의 parameter인 s와 t는 string을 받습니다. s는 t의 subsequence인지 확인해야 합니다. 이 문제에서의 ‘subsequence’의 의미는 다음과 같습니다. a new string that is formed from the original string by deleting some (can be no...
문제 요약 주어진 nums의 ‘0’을 모두 우측으로 몰고, ‘0’이 아닌 값은 원래 있던 순서대로 두어야 합니다. 문제 풀이 첫번째 시도 단순하게, ‘0’을 매우 큰 값으로 취급하여, array를 정렬하였습니다. Complexity 시간복잡도(time complexity) 는 $O(n\log{n})$입니다. ‘rust’의 array sort ...
문제 요약 주어진 chars(char array)를 압축(compression)합니다. 이 chars는 여러 char의 group(반복되는)으로 이루어져 있으며, 이 반복되는 char를 압축하는 문제입니다. 이때, If the group’s length is 1, append the character to s. group의 ...
이 1장에서는 책 전반에서 사용하는 전문 용어(terminology)와 접근 방식(approach)을 소개합니다. 신뢰성(reliability), 확장성(scalability), 유지보수성(maintainability) 같은 단어의 실제 의미와 목표를 당설하기 위해 어떻게 해야하는지 알아봅니다. Reliability(신뢰성) 소프트웨어에 대한 Re...