CHAPTER 6 예측 가능한 코드를 작성하라
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART II 실전)CHAPTER 6 예측 가능한 코드를 작성하라6.1 매직값을 반환하지 말아야 한다매직값 magic value는 함수의 정상적인 반환 유형에 적합하지만 특별한 의미를 가지고 있다 매직값의 일반적인 예는 ...
Read more
argocd 사용자 추가
argocd 사용자 추가먼저 admin 패스워드 확인 방법은 아래의 방법을 사용하면 조회가 된다. 1kubectl -n argocd get secret argocd-initial-admin-secret -o jsonpath="{.data.passwor ...
Read more
CHAPTER 5 가독성 높은 코드를 작성하라
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART II 실전)CHAPTER 5 가독성 높은 코드를 작성하라가독성은 주관적인것 서술형 명칭 사용 서술적이지 않은 이름은 코드를 읽기 어렵게 만든다 주석문으로 서술적인 이름을 대체할수 없다 주석도 유지보수 해야된다 ...
Read more
15장 구글 드라이브 설계
가상면접으로 배우는 대규모 시스템 설계 기초15장 구글 드라이브 설계 블록 저장소 서버 큰 파일 업데이트시 해결방법 델타 동기화 : 수정이 일어난 블록만 동기화 압축 : 블록단위로 압축하면 크기를 많이 줄일수 있다 높은 일관성 요구사항 ACID 를 지원하는 데이 ...
Read more
14장 유튜브 설계
가상면접으로 배우는 대규모 시스템 설계 기초14장 유튜브 설계 비디오 트렌스 코딩 비디오 트랜스 코딩의 중요성 가공되지 않은 원본 비디오는 저장 공간을 많이 차지한다 상당수의 단말과 브라우저는 특정 종류의 비디오 포멧만 지원한다 사용자에게 끊김 없는 고화질 비디오 재 ...
Read more
13장 검색어 자동완성 시스템
가상면접으로 배우는 대규모 시스템 설계 기초13장 검색어 자동완성 시스템 트라이 자료구조 트리형태의 자료구조 트리의 루트노드는 빈문자열을 나타낸다 각 노드는 글자 하나를 저장하며 26개의 자식 노드를 가질수 있다 각 트리노드는 하나의 단어 또는 접두어 문자열을 나타낸다 ...
Read more
12장 채팅 시스템 설계
가상면접으로 배우는 대규모 시스템 설계 기초12장 채팅 시스템 설계메시지 수신 시나리오 폴링 : 주기적으로 서버에 물어 보는 방법 단점 서버에 응답이 없어도 물어봐야 되어서 자원이 낭비됨 롱폴링 : 새메시지를 반환 하거나 타임아웃이 될때 까지 대기 단점 메시 ...
Read more
11장 뉴스 피드 시스템 설계
가상면접으로 배우는 대규모 시스템 설계 기초11장 뉴스 피드 시스템 설계피드 발행 : 피드를 생성하면 데이터 베이스에 저장하고 새 포스팅은 친구들의 뉴스피드에도 전송 된다 뉴스 피드 생성 : 모든 친구의 포스팅을 시간 흐름 역순으로 모아서 만든다 팬아웃 : 어떤 사용자 ...
Read more
10장 알림 시스템 설계
가상면접으로 배우는 대규모 시스템 설계 기초10장 알림 시스템 설계알림 시스템 모바일 푸시 알림 SMS 메시지 이메일 알림 유형별 지원 방안 IOS 푸시 알림 알림 제공자 : 애플 푸시 알림 서비스(APNS) 단말 토큰 페이로드 APNS : 애플이 제공하는 원격 ...
Read more
9장 웹 크롤러 설계
가상면접으로 배우는 대규모 시스템 설계 기초9장 웹 크롤러 설계웹 크롤러는 로봇 또는 스파이더라고도 부른다 검색엔진에 널리 쓰이는 기술로 웹에 새로 올라오거나 갱신된 컨텐츠를 찾는것이 주된 일이다. 크롤러의 용도 검색 엔진 인덱싱 웹 아카이빙 웹 마이닝 웹 모니터링 ...
Read more