Index(이하 인덱스)는 DB를 다루다 보면 필연적으로 듣는 단어이다. 본격적으로 글에 들어가기 전에 인덱스에 대해 간단하게 설명하자면, DB 데이터 조회 성능 향상을 위해 사용한다. 대용량 데이터를 담고 있는 DB 테이블에서 우리에게 필요한 데이터를 빨리 찾으려면 이 '인덱스'라는 녀석의 도움이 필요하다. 인덱스가 아예 없거나 적절한 인덱스를 찾지 못하면, 어마무시한 데이터가 담겨있는 테이블 전체를 읽어야 하기 때문에 데이터 조회 시간이 오래 걸릴 것이다. 이 인덱스에 대해 앞으로의 글들을 통해 보다 자세히 알아보자. 본 글들은 아래 글들의 내용을 토대로 작성했다. [Wiki] 인덱스 (데이터베이스) [Naver D2] 성능 향상을 위한 SQL 작성법 [Tistory] 인덱스(index)란? DB 성..
불로소득을 향하여
#토뉴오즈캔스마트쓰레기통 2021년 4월 16일(금), 쿠팡에서 토뉴 오즈캔 스마트 쓰레기통을 구매하였고 사용한 지 한 달이 넘은 지금 후기 글을 작성하려고 한다. #세줄요약 1. 평점 4.9 / 5.0 2. (구매 당시) 74,900원, 무료배송 3. 하단 구매 링크 참고 https://coupa.ng/bZ9f1E [공식] 토뉴 오즈캔 자동 밀봉 자동 리필 무선 스마트 쓰레기통 T1 COUPANG www.coupang.com 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 받고 있습니다. 위 구매 링크에서 구매해 주시면 저에게 큰 도움이 됩니다. 예전에 페이스북에서 본 제품인데, 찾아보니 정말 마음에 드는 기능들이 있어서 고민하다가 마침 집 쓰레기통이 박살이 나서 어..
이 글을 작성하기 위해 지난 한 달 동안 Garbage Collection(이하 GC)에 대해 자세히 공부해보았다. 이번 글에서는 Java에서 사용하는 Generational GC에 대해 알아보며, Naver D2 블로그의 Java Garbage Collection 글과 Java HotSpot VM G1GC 글을 토대로 작성했다. 계속해서 글을 읽기 전에 아래 네 글을 읽고 오는 것이 좋다. [Garbage Collection] (1) 개념, 유래, 한계, GC에 대해 알아야 하는 이유 [Garbage Collection] (2) GC 알고리즘 - Reference Counting Algorithm(참조 횟수 카운팅) [Garbage Collection] (3) GC 알고리즘 - Tracing Garba..
지난 3편에 이어, Garbage Collection(이하 GC, 가비지 컬렉션)의 알고리즘 중 Tracing GC(추적 기반)에 대해 계속 알아본다. 다시 말하지만 Tracing GC에서는 아래 알고리즘들에 대해 작성할 예정이며, 지금까지 세 개의 알고리즘에 대해 알아보았다. - Mark-Sweep Algorithm - Mark-Sweep-Compact Algorithm - Tri-color Marking Algorithm (Incremental GC) - Copying Algorithm (Incremental GC) - Generational Algorithm (Incremental GC) 이번 글에서는 앞서 살펴보았던 Mark-Sweep Algorithm의 문제인 Fragmentation(단편화) ..
문제는 여기서 볼 수 있다. Dynamic Programming을 사용하도록 만든 문제인데, Solution 작성을 정말 잘 해놨다. 이 글은 해당 Solution을 한글로 풀어 작성했으며, Solution 페이지에는 Java 코드만 있기 때문에 참고하여 Python 코드를 작성했다. 문제 입력 값으로 음수가 아닌 정수로 구성된 nums 라는 배열이 들어온다. 문제에서 요구하는 것은, 배열의 가장 첫 번째 인덱스부터 시작하여 배열의 가장 끝 인덱스까지 도달할 수 있는지의 여부를 return 하면 된다. 얼마만큼의 인덱스를 이동하는 지에 대한 것은, 최대 현재 위치한 인덱스의 원소만큼 오른쪽으로 인덱스를 움직일 수 있다. 예를 들어, [2, 3, 1, 1, 4]라는 배열이 있을 때, 0번째 인덱스(2)에서..
지난 2편에 이어 Garbage Collection(이하 GC, 가비지 컬렉션)의 알고리즘 중 Tracing GC(추적 기반)에 대해 알아본다. Tracing GC에서는 아래 알고리즘들에 대해 작성할 예정인데, 꽤나 많은 양이 예상되므로 두 편으로 글을 나눠 쓰려고 한다. - Mark-Sweep Algorithm - Mark-Sweep-Compact Algorithm - Tri-color Marking Algorithm (Incremental GC) - Copying Algorithm (Incremental GC) - Generational Algorithm (Incremental GC) 이 글에서는 Reference Counting GC를 보완하며 만들어진 Tracing GC의 원조격 알고리즘이라 할 ..
Easy 난이도라 만만하게 봤다가 혼났다. 딱 이런 부류의 문제를 위한 알고리즘이 있더라. 문제는 여기서 볼 수 있다. 문제 입력 값으로는 nums라는 배열이 들어오고, 배열 안에는 최소 하나의 정수가 존재한다. 배열 원소들 중 연속되는 subarray의 합이 최대가 되는 것을 찾아 return 해야 한다. 예를 들어, 입력값으로 [-2, 1, -3, 4, -1, 2, 1, -5, 4]가 들어오면 subarray 중 [4, -1, 2, 1]의 합이 6으로 합이 가장 크기 때문에 6을 return 하면 된다. 편의를 위해 배열의 길이는 N이라 가정한다. 해결 방법 - (1) Brute Force 누구나 쉽게 생각할 수 있는. 흔히 노가다라고 부르는 방법이다. 너무나 쉬운 방법이므로 따로 코드는 안 남긴다...
* 한달 사용 후기 추가 * 아래에 쓴 글 처럼, 면도기 살균 기능이 참 마음에 든다. 또 자석으로 탈부착 가능한 컵이 화장실의 공간을 조금이라도 넓혀주어서 굉장히 좋은 아이디어인 것 같다. #유토렉스가정용칫솔살균기 2021년 4월 11일(일), 쿠팡에서 유토렉스 가정용 칫솔 살균기 (UTC-56AW) 화이트를 구매했다. #세줄요약 1. 평점 4.5 / 5.0 2. (구매 당시) 28,900원, 무료배송 3. 하단 구매 링크 참고 https://coupa.ng/bWSy9n 유토렉스 가정용 칫솔 살균기 UTC-56AW COUPANG www.coupang.com 이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 받고 있습니다. 위 구매 링크에서 구매해 주시면 저에게 큰 도움이 됩니다...
최근 바쁘다는 핑계로 운영 업무를 할 때 안이했던 것 같다. 고도화 프로젝트를 시작하며 운영에 배포하는 횟수가 잦게 되었는데, 크게 두 가지 실수를 저질렀다. 다시금 그러한 실수들을 반복하지 않기 위해 글을 작성한다. 첫 번째 실수 QA 환경에서 충분히 테스트하지 않았다. 요즘 협력사 개발 인력들이 갑자기 우르르 충원되어 내가 직접 개발하는 일은 줄어들었다. 협력사 분들에게 개발을 맡기는 대신, 나는 주로 앞 단에서 비즈니스를 처리하고 있다. (개발을 많이 해보고 싶은데..) 다들 고수의 향기를 풍기고 실제로 고수 분들이기도 하셔서, 문의가 와서 수정 및 추가한 기능들을 QA 환경에서 충분히 테스트하지 않았다. 결국 그들도 사람이라 한 번에 100% 완벽하게 완성할 수 없기 때문에 감안하여 확인을 했었어..