도서/대규모시스템설계기초1
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 12장. 채팅 시스템 설계
2025.11.03
1:1 채팅에 집중한 앱: 페이스북 메신저, 위챗, 왓츠앱그룹채팅에 중점을 둔 업무용 앱: 슬랙대규모 그룹 소통과 latency가 낮은 음성 채팅에 집중한 앱: 디스코드1단계: 문제 이해 및 설계 범위 확정응답지연이 낮은 일대일 채팅 기능최대 100명까지 참여할 수 있는 그룹 채팅 기능(첨부파일은 지원하지 않아도 됨. 텍스트 메시지만)사용자 접속상태 표시 기능메시지 길이 제한 - 100,000자 이하[시간 가능하다면] 종단 간 암호화 지원채팅 이력은 영원히 보관되어야 함다양한 단말 지원. 하나의 계정으로 여러 단말에 동시 접속 지원 (아무래도 웹/앱 모두 지원되려면 ..)푸시 알림5천만 DAU 처리 가능해야 함2단계: 개략적 설계안 제시 및 동의 구하기기본 기능클라이언트로부터 메시지 수신메시지 수신자 결..
도서/대규모시스템설계기초1
[가상 면접 사례로 배우는 대규모 시스템 설계 기초] 6장. 키-값 저장소 설계
2025.11.03
키-값 저장소 (key-value store)비관계형(non-relational) 데이터베이스이 저장소에 저장되는 값은 고유 식별자(identifier)를 키로 가져와야 함키-값을 쌍(pair)이라 지칭값(value)은 문자열, 리스트, object 등 무엇이 오든 상관하지 않음ex. 아마존 다이나모, memcached, redis 등이번 장에서는 put, get 연산을 지원하는 키-값 저장소 설계 문제 이해 및 설계 범위 확정키-값 쌍의 크기는 10KB 이하큰 데이터를 저장할 수 있어야 함높은 가용성 제공 → 장애가 있더라도 빨리 응답해야 함높은 규모 확장성 제공 → 트래핑 양에 따라 자동적으로 서버 증설/삭제가 이루어져야 함데이터 일관성 수준은 조정이 가능해야 함latency가 짧아야 함 단일 서버 ..
Linux
리눅스마스터 1급 2차 내용 정리
2025.10.31
기출 풀면서 헷갈렸던 부분/자주 나온 유형 위주로 정리해두었습니다.기본적인 내용(파일 위치, 개념 등) 은 포함되지 않아, 개념 공부 후 보시면 좋을 것 같습니다. (혹시 틀린 정보 있다면 댓글로 말씀 부탁드립니다.) 기본적인 경로/var/log 하위 --> 로그 관련 폴더들 존재 (wtmp, btmp, syslog(message) 등)설정(conf) 파일들 --> /etc/{패키지명} 하위 iptables filterFilter설명INPUT목적지가 localhost. 유입되는 패킷 필터링OUTPUT출발지가 localhost. 나가는 패킷 필터링FORWARD라우터 `iptables -A INPUT -s 192.168.10.7 -d localhost -j DROP`: INPUT 체인에서 source ..
자격증
리눅스마스터 1급 (조금 늦은) 합격 후기, 1차/2차 시험 준비 과정
2025.10.27
리눅스마스터 1급 1차는 한 번에 합격했는데, 2차는 2번 떨어지면서..ㅎ2차 시험만 총 3번의 준비 과정에서 사용했던 자료들이나, 공부 방식 등 시험 준비했던 과정을 기록하고자 늦게라도 작성하고자 한다.(23년도에는 공부를 안해서 연기시키고, 본격적인 공부는 24년도부터 했었음) 응시 배경취직한 후 받게된 업무가 리눅스를 많이 활용하다보니, 리눅스 환경에 익숙해졌다는 증명 자료로 명확한게 있었으면 좋겠다고 생각하던 찰나에, 회사에서 해당 자격증 비용을 지원해준다하여 응시하게 되었다. 공부했던 메인 교재https://product.kyobobook.co.kr/detail/S000200689250 2023 이기적 리눅스마스터 1급 기본서 | 김윤수 - 교보문고2023 이기적 리눅스마스터 1급 기본서 ..
Linux
vim 문자열 일괄 변경/규칙적인 문자열도 일괄 변경가능(feat.정규표현식)
2024.06.14
문자열 일괄 변경 명령어:%s/{변경 전 단어}/{변경 후 단어}/g ex. 파일 내에 있는 test라는 단어를 up 으로 변경하고 싶을 경우:%s/test/up/g   규칙적인 문자열 변경(정규표현식 이용)ex. test1.not, test2.not, test3.not ... 과 같은 문자들을 일괄적으로 지우고 싶을 경우, 위 기본 명령어에 {변경 전 단어} 파트에 정규표현식 이용해서 작성:%s/test\+[0-9]\+.not//g