CHAPTER 1 코드 품질
좋은코드 나쁜코드: 프로그래머의 코드 품질 개선법(PART I 이론)CHAPTER 1 코드 품질고품질 코드는 좀 더 신뢰할 수 있다 유지보수가 쉽다 버그가 적은 소프트웨어를 생산 좋은 코드는 좋은 소프트웨어를 만들기 위한 유일한 조건은 아니지만 중요한 조건중에 하나 ...
Read more
4장 처리율 제한 장치 설계
가상면접으로 배우는 대규모 시스템 설계 기초4장 처리율 제한 장치 설계토큰 버킷 알고리즘인자 버킷 크기 토큰 공급율 장점 구현이 쉽다 메모리 사용 측면에서도 효율적이다. 짧은 시간에 집중되는 트래픽도 처리가능하다 단점 버킷 크기와 토큰 공급률이라는 두개의 인자 ...
Read more
3장 시스템 설계 면접 공략법
가상면접으로 배우는 대규모 시스템 설계 기초3장 시스템 설계 면접 공략법효과적 면접을 위한 4단계 접근법 문제 이해 및 설계 범위 확정 깊이 생각하고 질문하여 요구사항과 가정들을 분명히 하라 구체적으로 어떤 기능들을 만들어야 하나? 제품 사용자 수는 얼마나 되나? 회사 ...
Read more
2장 개략적인 규모 추정
가상면접으로 배우는 대규모 시스템 설계 기초2장 개략적인 규모 추정 2의 제곱수 : 데이터 볼륨의 단위 1바이트, 1킬로바이트, 1메가바이트… 응답 지연값 : 구글의 제프 딘이 응답지연값을 공개한것이 있다. 메모리는 빠르지만 디스크는 아직도 느리다 디스크 탐색(se ...
Read more
1장 사용자 수에 따른 규모 확장성
가상면접으로 배우는 대규모 시스템 설계 기초1장 사용자 수에 따른 규모 확장성 단일 서버 -> 데이터베이스 분리 -> 수평적 확장 vs 수직적 확장 수직적 확장 : 스케일업 단점 : 한계가 존재함, 장애 복구에 대한 방안이나 다중화 방안을 제시하지 않는다 ...
Read more
mysql (mariaDB) HikariCP 성능 튜닝
mysql (mariaDB) HikariCP 성능 튜닝HikariCP 설정12345678910111213141516spring: datasource: hikari: data-source-properties: cachePre ...
Read more
mysql (mariaDB) 성능 튜닝 (performance tuning)
mysql (mariaDB) 성능 튜닝 (performance tuning)DB server 성능 튜닝 max_connections : 데이터베이스 서버에 대한 최대 동시 연결 수를 제어합니다.이 값을 너무 낮게 설정하면 연결 오류가 발생할 수 있고 너무 높게 설정하면 ...
Read more
이펙티브 코틀린 아이템 42: compareTo의 규약을 지켜라
이펙티브 코틀린(클래스설계)아이템 42: compareTo의 규약을 지켜라compareTo는 Any에 있는 메소드가 아니라 부등식으로 변환되는 연산자이다. 비대칭적 동작: a≥b 이고 b≥a 라면 a==b이다. 연속적 동작: a≥b 이고 b≥c라면 ...
Read more
이펙티브 코틀린 아이템 41: hashCode의 규약을 지켜라
이펙티브 코틀린(클래스설계)아이템 41: hashCode의 규약을 지켜라해시 테이블 Map, Set : 컬렉션에 요소를 빠르게 추가하고 컬렉션에서 요소를 빠르게 추출해야한다고 할때 사용할 수 있는 자료구조 Map, Set은 중복 비허용 성능을 좋게 만드는 해결 방법 해 ...
Read more
이펙티브 코틀린 아이템 40: equals 의 규약을 지켜라
이펙티브 코틀린(클래스설계)아이템 40: equals 의 규약을 지켜라동등성코틀린에는 두 가지 종류의 동등성(equality)이 있다. 구조적 동등성(structural equality) : equals 메서드와 이를 기반으로 만들어진 == 연산자( ...
Read more