본문 바로가기

분류 전체보기23

최장증가부분수열의 길이를 이분탐색으로 구하는 방법 https://eatchangmyeong.github.io/2022/01/20/why-is-lis-algorithm-so-confusing.html LIS 알고리즘은 왜 그렇게 헷갈리는 걸까?가장 긴 증가하는 부분 수열(longest increasing subsequence; LIS)은 어떤 수열이 주어질 때 그 수열의 증가하는 부분 수열(연속하지 않아도 됩니다) 중 가장 긴 것을 찾는 문제입니다. 이 문제를 푸는 여eatchangmyeong.github.io 직접 정리하려고 했으나,,,, 나중에 시간내서 꼭 쓸 것임,,, 다른 글은 봐도 이해가 잘 안됐는데, 위의 글에 그래프로 표현해서 알려주는 글 보고 이해가 잘 됐음!!!!!! 이 글을 보고 심심한 감사의 인사 드립니당!!!!!! 🙏 2024. 9. 24.
비트마스킹에 대해 알아보자 이진수를 이용해 boolean배열을 표현할 수 있다. 예를들어 4는 100, 2는 0101은 true, 0은 false로 나타낼 수 있음boolean 배열의 크기가 크다면 비트마스킹을 사용하는게 효율적일 수 있음하나의 숫자를 만들어서 비트 연산자를 통해 탐색, 수정 작업을 하는 것! 비트연산자&비트단위로 AND연산|비트 단위로 OR 연산^비트 단위로 XOR연산비교하려는 두 비트가 다르면 true, 같으면 false~피연산자의 모든 비트 반전피연산자의 비트 열을 왼쪽으로 이동a >>피연산자의 비트 열을 오른쪽으로 이동a >> b는 a / (2 ^ b)와 같은 의미 2의 보수음수를 표현할 때 2의 보수법을 이용함해당 양수의 모든 비트를 반전한 수에 1을 더하는 방식-value = ~value + 1 이므로 .. 2024. 9. 6.
[SQLD] 자격증 취득 후기 (feat. 전공자가 SQLD에 20만원 넘게 쓴 썰 푼다,, ㅋㅋ) 주변 사람들이 다 가지고 있고, 쉽다고 해서 저도 쉽게 딸 수 있을 것 같았던 SQLD...저는 SQLD 시험을 3번 보고 취득했습니다. 부끄럽지만 후기 적어봅니다. 우선 제 기본 정보는 다음과 같습니다.컴퓨터공학 전공 (데이터베이스 설계 수업 수강함)Spring Boot에서 JPA 쓰면서 쿼리 사용해봄정처기 22년도에 필기, 실기 한 번에 합격함 그래서 저는 제가 데이터베이스에 대한 사전 배경 지식 어느정도 있다고 생각해서 SQLD는 공부를 하지 않아도 바로 딸 수 있을 것이라고 생각했습니다. (자만 KING) 공부 방법따로 유튜브 강의나 추가 자료는 찾아보지 않았고, 오로지 책으로만 공부했습니다! 1. 두 번째 시험까지는 노랭이 책으로 알려진 책으로 공부했습니다.사실 첫 번째 시험은 공부를 안 한 것.. 2024. 6. 28.
4장. 처리율 제한 장치의 설계 네트워크 시스템에서 처리율 제한 장치(rate limiter)는 클라이언트 또는 서비스가 보내는 트랙의 처리율 을 제어하기 위한 장치이다. 처리율 제한 장치의 사용 예시HTTP는 특정 기간 내에 전송되는 클라이언트의 요청 횟수를 제한함API 요청 횟수가 제한 장치에 정의된 임계치를 넘어서면 추가로 도달한 모든 호출은 처리가 중단됨e.g) 사용자는 초당 2회 이상 새 글을 올릴 수 없음e.g) 같은 IP 주소로는 하루에 10개 이상의 계정을 생성할 수 없음e.g) 같은 디바이스로는 주당 5회 이상 리워드를 요청할 수 없음 처리율 제한 장치 사용 장점DoS(Denial of Service) 공격에 의한 자원 고갈을 방지비용 절감추가 요청에 대한 처리를 제한하면 서버를 많이 두지 않아도 되며, 우선순위가 높은.. 2024. 6. 25.
3장. 시스템 설계 면접 공략법 효과적 면접을 위한 4단계 접근법1단계. 문제 이해 및 설계 범위 확정 깊이 생각하고 질문하여 요구사항과 가정들을 분명히 하자 2. 개략적인 설계안 제시 및 동의 구하기개략적인 설계안을 제시하여 면접관의 동의를 얻자. 이 과정에서 면접관과 협력하면 좋다.가능하다면 시스템의 구체적 사용 사례도 찾아보자. 3. 상세 설계설계 대상 컴포넌트 사이의 우선순위를 정하자.시간 관리를 위해 불필요한 세부사항에 시간을 사용하지 말자. 4. 마무리설계한 시스템에 대해 개선 가능한 지점을 찾아내보자.여러 해결책을 제시한 경우 설계에 대해 다시 한 번 요약하는 것이 도움이 될 수 있다.오류가 발생하면 무슨 일이 생기는지 따져보는 것도 좋다.운영 이슈에 대해서도 고려해보자.메트릭은 어떻게 수집하고 모니터링은? 로그는? 시스템.. 2024. 6. 20.
2장. 개락적인 규모 추정 효과적인 개략적 규모 추정을 위해서는 규모 확장성을 표현하는데 필요한 기본기에 능숙해야 한다. 특히 2의 제곱수, 응답지연 값, 가용성에 관계된 수치들을 기본적으로 잘 이해하고 있어야 한다. 2의 제곱수분산 시스템에서 다루는 데이터 양은 엄청나게 커질 수 있으나, 계산법은 기본을 크게 벗어나지 않는다. 제대로 된 계산 결과를 얻기 위해서는 데이터 볼륨의 단위를 2의 제곱수로 표현하면 어떻게 되는지 알아야 한다.데이터의 최소 단위는 1바이트이고, 8비트로 구성된다. ASCII 문자 하나가 차지하는 메모리 크기는 1바이트이다.2의 x 제곱근사치이름축약형101천1킬로바이트1KB201백만1메가바이트1MB3010억1기가바이트1GB401조1테라바이트1TB501000조1페타바이트1PB 모든 프로그래머가 알아야 하는 .. 2024. 6. 20.