일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- DB 파티셔닝
- 데이터베이스 인덱스
- 데이터베이스
- f45
- 글또
- knn분류기
- 레디스
- 샤딩
- 통계학개론
- 복합인덱스
- 쿼리 실행계획
- 오버라이딩
- R Studio
- axis interceptor
- 파티셔닝
- System Design
- LRU
- 인덱스 순서
- 인덱스 추가
- 다섯수치요약
- 상자그림
- 가상면접 사례로 배우는 대규모 시스템 설계
- partitioning
- Retry
- k-Nearest Neighbors
- axios
- Sharding
- redis
- 머신러닝
- 데이터베이스 파티셔닝
- Today
- Total
목록소프트웨어 공학 (12)
haileyjpark
서버 운영 중 자주 듣게 되는 개념 중 하나가 바로 "CPU 쓰로틀링(throttling)"이다. 하지만 구체적으로 CPU 쓰로틀링이란 무엇이며, 얼마나 높아야 문제가 되는 것일까? 이번 글에서는 CPU 쓰로틀링의 의미와 함께, 서버 및 데이터베이스의 CPU 사용량, 메모리 관리, 에러 로그 모니터링, 그리고 API 응답 시간까지 서버 성능 모니터링에 대한 내용을 다뤄보겠다. CPU 쓰로틀링이란?CPU 쓰로틀링이란 시스템이 과부하 상태일 때 CPU 사용량을 제한하는 메커니즘을 의미한다. 보통 서버는 특정 CPU 사용량을 초과할 경우 온도를 낮추거나 전력 소모를 줄이기 위해 CPU의 클럭 속도를 조절하는데, 이로 인해 성능이 저하될 수 있다.CPU 쓰로틀링이 발생하는 주요 원인은 다음과 같다:CPU 온도 ..

머신러닝 수업을 듣고 KNN 분류기에 대해 학습한 내용을 바탕으로 KNN 분류기를 구현하고, K값에 따른 성능과 거리측정방식에 따른 성능을 비교해보았습니다. KNN(K-Nearest Neighbors) 분류기란?KNN(K-Nearest Neighbors) 분류기는 머신러닝의 지도 학습 기법 중 하나로, 가장 간단하고 직관적인 분류 알고리즘으로 알려져 있습니다. KNN 분류기의 주요 개념은 새로운 데이터를 분류할 때, 그 데이터와 가장 가까운 K개의 이웃 데이터의 클래스(라벨)를 참고하여 결정하는 방식입니다. KNN의 원리KNN의 핵심 원리는 유사한 데이터가 가깝게 위치한다는 가정에 기반하고 있습니다. 즉, 새로운 데이터가 주어졌을 때, 그 데이터와 기존 데이터 간의 거리를 계산하여 가장 가까운 K개의 이..

재직중이지만 관련 전공자가 아니라서 부족한 기초를 채우기 위해 방송통신대학교 컴퓨터과학과 수업을 들으며 성적을 만들고 있는데,이번에는 알고리즘 수업을 들으며 내용을 정리해보았습니다.알고리즘의 시간 복잡도O(logn) O() O(n) O() O(1) O() O(nlogn) 를 비효율적인 것부터 효율적인 순서대로 나열해보자. 알고리즘의 시간 복잡도를 구할 때, 알고리즘의 모든 문장이 아닌 루프의 반복 횟수만을 조사하여 최고 차수를 시간 복잡도로 취하여 O(최고차수)와 같은 방법으로 계산해볼 수 있습니다.빅오 함수에 따른 연산 시간의 증가를 표로 나타내보면 다음과 같습니다.따라서, 비효율적인 것 부터 효율적인 순서대로 나열하면 아래와 같습니다.O() < O() < O() < O(n..

모노레포를 더 효율적으로 관리할 수 있는 방법을 알아보던 중, yarn에서 제공하는 workspaces라는 도구를 발견하였고, 도입을 위해 몇 가지 시나리오의 패키지 버전 테스트를 진행한 내용을 지난 번 포스팅에 작성하였습니다. 이번 포스팅에서는 지난 번 포스팅에 이어 yarn workspaces의 특징인 호이스팅으로 인해 언젠가 누군가는 겪을 수 있고, 문제로 이어질 수도 있는 상황을 공유해보겠습니다. 본 포스팅에서는 packages 하위에 package-a, package-b 라는 프로젝트가 존재하고, 두 프로젝트가 공통으로 사용하는 서버를 shared-utils로 두는 구조를 예시로 살펴보았습니다. packages ┣― package-a ┣― shared-utils ┗― package-b packa..

모노레포를 효과적으로 관리하는 툴인 yarn workspace를 도입하기 위해, yarn workspace의 호이스팅에 관해 알아보았습니다. 모노레포의 장단점 모노레포의 장점 코드 공유 및 재사용 용이성 : 하나의 저장소에서 모든 코드를 관리하므로 코드를 쉽게 공유하고 재사용할 수 있습니다. 중복된 코드를 최소화하고 효율적으로 유지보수할 수 있습니다. 일관성 유지 : 하나의 저장소에서 모든 프로젝트를 관리하면 일관된 코딩 스타일, 디자인 패턴 및 프로젝트 구조를 적용하기가 더 쉽습니다. 종속성 관리 향상 : 공통된 의존성을 사용할 때, 버전 충돌 및 호환성 문제를 최소화할 수 있습니다. 이로써 프로젝트 간에 일관된 의존성을 관리할 수 있습니다. 테스트 용이성 : 여러 프로젝트 간에 통합 테스트를 수행하기..

* 컴퓨터 구조 수업을 듣고 정리한 내용입니다. 컴퓨터 명령어(instruction)는 컴퓨터가 수행해야 하는 일을 나타내기 위한 비트들의 집합으로 일정한 형식을 가집니다. 컴퓨터의 제어장치는 기억장치에 저장된 명령과 데이터를 읽어서 2진 코드를 해석한 후, 명령어 수행을 위한 마이크로 연산이 이루어지는 데 필요한 제어신호를 제공하는 기능을 수 프로그래머는 컴퓨터의 내부 구조를 이해할 필요 없이 컴퓨터가 수행해야 할 작업을 명시적으로 지시할 수 있도록 해줍니다. 컴퓨터가 2진신호로 작동하기 때문에 컴퓨터가 이해하고 실행할 수 있는 2진신호로 표현된 작업 지시입니다. 컴퓨터에서 명령어를 실행하기 위해서는 명령어의 오퍼랜드(operand)가 필요합니다. 오퍼랜드는 명령어의 실행에 필요한 데이터를 가리키는 주..

오늘은 JAVA를 배우면서 가장 기본적인 개념인 다형성과 이를 구현하는 방법 중 대표적인 오버로딩과 오버라이딩에 대해 알아보았습니다. 다형성이란? 다형성(Polymorphism)은 하나의 타입에서 여러 가지 타입으로 확장할 수 있는 성질을 말합니다. 다형성은 상속, 추상화와 더불어 객체지향 프로그래밍에서 중요한 특징 중 하나로, 다형성을 활용하면 기능을 확장하거나, 객체를 변경해야할 때 타입 변경 없이 객체 생성만으로 타입 변경이 일어나게 할 수 있습니다. 이러한 다형성을 구현하는 방법인 오버로딩과 오버라이딩을 개념과 단순한 사례를 통해 차근차근 살펴보겠습니다. 오버로딩이란? 오버로딩(Overloading)은 자바의 한 클래스 내에 이미 사용하려는 이름과 같은 이름을 가진 메소드가 있더라도 매개변수의 개..
운영체제 수업 내용의 CPU 스케줄링 정책 중, 선점 스케줄링 정책과 라운드 로빈 알고리즘에 대해 정리해보았습니다. 선점 스케줄링 정책(preemptive scheduling policy) 선점 스케줄링 정책은 CPU 스케줄링의 한 종류로, 실행 중인 프로세스에 인터럽트를 걸고 다른 프로세스에 CPU를 할당할 수 있는 스케줄링 방식입니다. 현재 실행 중인 프로세스가 완료되지 않았더라도 다른 프로세스가 CPU를 선점하여 실행될 수 있도록 하기 때문에, 여러 개의 프로세스를 동시에 실행할 수 있으며, 우선순위가 높은 프로세스가 먼저 실행되도록 할 수 있습니다. 선점 방식은 높은 우선순위의 프로세스를 우선 처리해야 하는 경우에 유용하기 때문에, 일반적으로 실시간 시스템과 시분할 시스템에서 사용됩니다. 시분할 ..