본문 바로가기

분류 전체보기78

6장 키-값 저장소 설계 가상 면접 사례로 배우는 대규모 시스템 설계 기초 – System Design Interview 6장 키-값 저장소 설계 도입 키-값 저장소(key-value store)는 키-값 데이터베이스라고도 불리는 비 관계형(non-relational) 데이터베이스 이다. 이 저장소에 저장되는 값은 고유 식별자(identifier)를 가져야 한다. 키와 값 사이의 이런 연결 관계를 “키-값” 쌍(pair)이라고 지칭한다. 키는 짧을수록 좋다. 키-값 저장소로 널리 알려진 것으로는 아마존 다이나모 memcached redis 같은 것들이 있다. 이번 장에서는 다음 연산을 지원하는 키-값 저장소를 설계한다. put(key, value): 키-값 쌍을 저장소에 저장한다. get(key): 인자로 주어진 키에 매달린 값.. 2023. 6. 1.
Google Colab에서 Playwright 사용하기 어제 밤에 뭔가를 자동화 하고 싶다는 생각이 들었고 이를 위해 Playwright가 적합할 것이라는 생각이 들었다. 그리고 그 과정에서 코랩을 사용하면 좋겠다는 생각이 들었다. 일단 무료이기도 하고 머신러닝용으로 그래픽 카드가 좋으니까라는 판단에서 였다. 작성은 Playwright공식 홈페이지에 있는 Getting Started 코드를 기반으로 작성하였다. (일단 동작이 되는것을 확인하는 것이 주된 목표였기 때문에 아직은 뭘 더 작성하거나 한 건 없다.) # https://stackoverflow.com/questions/73084593/running-playwright-on-google-colab-gives-error-asyncio-run-cannot-be-called # https://askubunt.. 2023. 5. 26.
5장 안정 해시 설계 가상 면접 사례로 배우는 대규모 시스템 설계 기초 – System Design Interview 5장 안정 해시 설계 해시 키 재배치 (rehash) 문제 N개의 캐시 서버가 있다고 하자. 이 서버들에 부하를 균등하게 나누는 보편적 방법은 아래의 해시 함수를 사용하는 것이다. serverIndex = hash(key) % N * N은 서버의 개수 이 때 생길 수 있는 문제 서버가 추가되거나 기존 서버가 삭제되었을 경우 N 값이 바뀜 -> 대규모 캐시 미스가 발생하게 됨. -> 키 재배치를 진행해야 함. 안정 해시 안정 해시는 해시 테이블 크기가 조정될 때 평균적으로 오직 k/n 개의 키만 재배치하는 해시 기술이다. 여기서 k는 키의 개수이고, n은 슬롯(slot)의 개수이다. 이와는 달리 대부분 전통적 .. 2023. 5. 25.
7장 동기화 예제 연습문제 공룡책 (Operating System Concepts) 10th 개인적인 생각이므로 틀린 답변일 수 있습니다. 7.1 Windows와 Linux가 여러 락 기법을 구현하는 이유를 설명하라. 그들이 스핀락, mutex 락, 세마포 및 조건 변수를 사용하는 환경을 설명하라. 각각의 경우 그 기법이 필요한 이유를 설명하라 락 기법에는 각각의 장 단점이 있기 때문에 상황에 따라 여러 락 기법을 사용할 수 있도록 한다. 스핀락은 오버헤드가 적으나 busy-wait 을 하기 때문에 사용 시간이 짧은 자원에 대해 효과적입니다. mutex 락은 하나의 쓰레드만 접근할 수 있도록 할 때 사용합니다. 세마포 및 조건 변수는 자원을 장기간 보유해야 하는 경우 유용합니다. 7.2 Windows는 슬림 reader-write.. 2023. 5. 23.
[github action] create-release, upload-release-asset - warning 제거하기 의도치 않게 어제 작성한 Github Action을 이용하여 자동으로 signed apk 빌드하기 (23년 5월 기준) 에서 이어지는 글을 작성하게 되었다. 어제 workflow를 구축하고 잘 릴리즈가 되고 있었다. 근데 다시 한 번 확인해 보니 빌드과정중에 warning이 뜨는걸 볼 수 있었고 개인적으로 평소에 deprecated 된 걸 최대한 안쓰려 하는 편이라 저걸 제거해 봐야 겠다는 생각이 들었다. Node.js 12 actions are deprecated. Please update the following actions to use Node.js 16: actions/create-release@v1, actions/upload-release-asset@v1.0.1. 우선 actions/crea.. 2023. 5. 19.
Github Action을 이용하여 자동으로 signed apk 빌드하기 (23년 5월 기준) generate-signed-apk-using-github-action [github action] create-release, upload-release-asset – warning 제거하기 글로 이어집니다. 저는 3개의 핸드폰을 가지고 있습니다. 용도에 따라서 핸드폰과 번호를 분리해서 사용중인데요 사실 3개의 폰을 항상 들고 다니는 일은 어렵기 때문에 필요에 따라 핸드폰을 1~2개 를 들고 다니고 있습니다. 그러다보니 3개의 핸드폰에서 오는 알림들을 공유해서 볼 수 있는 앱이 있으면 좋겠다 싶어서 시간이 날때마다 만들고 있습니다. 아무래도 현재 QA Engineer로 일하고 있기 때문에 추후에는 알림 수집 기능을 푸시 알림 기능 테스트에 활용할 수 있도록 구조를 조금씩 개선해 볼 예정입니다. work.. 2023. 5. 19.