Hot
-
[Java] Array copy 배열 복사/복제
[얕은 복사] 주소값 복사 1. B = A; 예시 [깊은 복사] 복제. 새로운 메모리 공간에 값 복사 2. B = A.clone(); 예시 3. 기존 배열의 일부만 덮어씌우기 || clone()보다 더 빠르길 원할 때 System.arraycopy( A, sourcePos, B, destPos, len ); 예시 4. 원하는 길이 설정 B = Arrays.copyOf( A, newLength ); 예시 5. 원하는 시작점 설정 B = Arrays.copyOfRange( A, from_index, to_index ); 예시 [깊은 복사] 2차원 배열 👀 예시 [얕은 복사] 주소값 복사 1. B = A; 예시 class Main { public static void main(String[] args) { i..
2020.05.31
-
[데이터베이스] 정규화 vs. 비정규화(반정규화)
💡 정규화 vs. 비정규화(반정규화) 데이터베이스 정규화 데이터베이스 비정규화 데이터베이스 비정규화(Denormalization, 반정규화)란 무엇인가? 장점, 단점 비정규화 대상 주의점 정규화(Normalized)란 무엇인가? 장점, 단점 정규화의 원칙 함수적 종속(Functional Dependency) 완전 함수적 종속, 부분 함수적 종속 ✍️ 질문 체크 ⍞ Reference 💡 정규화 vs. 비정규화(반정규화) 데이터베이스 정규화 데이터베이스(normalized database)는 중복을 최소화하도록 설계된 데이터베이스를 말한다. 비정규화 데이터베이스(denormalized database)는 읽는 시간을 최적화하도록 설계된 데이터베이스를 말한다. 정규화 데이터베이스 같은 데이터는 데이터베이스 내..
2020.06.15
-
[MySQL] 성능 튜닝 - 버퍼 풀
버퍼 풀(Buffer Pool) 버퍼 풀의 크기 (innodb_buffer_pool_size) 버퍼 풀 인스턴스 수 (innodb_buffer_pool_instances) ⍞ Reference 버퍼 풀(Buffer Pool) 버퍼 풀은 InnoDB가 액세스 할 때 테이블 및 인덱스 데이터를 캐시하는 메인 메모리 영역이다. 버퍼풀은 자주 사용하는 데이터를 메모리에서 직접 처리할 수 있게하여 처리 속도를 높인다 전용 서버에서 실제 메모리의 최대 80% 정도가 버퍼풀에 할당된다. 대량 읽기 조작의 효율성을 위해 버퍼 풀은 여러 행을 보유할 수 있는 페이지로 분할된다. 캐시 관리 효율성을 위해 버퍼풀은 링크된 페이지 목록으로 구현된다. 거의 사용되지 않는 데이터는 다양한 LRU 알고리즘을 사용하여 캐시에서 종료..
2020.09.05
-
[실무로 배우는 시스템 성능 최적화] 서버 모니터링
기본 방향 서버 자원 사용률 확인 시 중간 점검 항목 CPU Memory Disk Network 자원 모니터링 로그를 남겨서 분석 시 CPU 사용량 분석 안정적인 운영을 위한 CPU 사용률 기준 CPU 사용량 상세 분석 가상화 CPU 사용률 Memory 메모리 부족과 성능 영향 운영체제 측면의 메모리 부족 여부와 성능 영향도 자바 기반 솔루션의 경우 오라클 버퍼캐시처럼 데이터 베이스의 경우 가상 메모리 주요 개념 사용량 분석 안정적 운영을 위한 메모리 판단 기준 일반적인 메모리 사용률 산출 1. 파일 캐시 2. IPC(Inter-Process Communication) 3. 프로세스 기본 방향 서버 자원 사용률 확인 시 중간 점검 항목 일반적으로 CPU → Memory → Disk → Network 순으..
2020.09.06
-
[알고리즘 문제해결전략] 15. 계산 기하
계산 기하 관련 코드 구현 시, 필수적 개념 벡터의구현 점과 직선, 선분의 표현 벡터의 내적과 외적 벡터의 내적(inner product) 벡터의 외적(cross product) 교차와거리, 면적 직선과 직선의 교차 가장 간단한 방법 선분과 선분의 교차 선분과 선분의 교차: 교차점이 필요 없을 때 점과 선 사이의 거리 자주 하는 실수와 유의점 퇴화 도형 직교 좌표계와 스크린 좌표계 다른 실수들 계산 기하(computational geometry) 알고리즘이란, 점, 선, 다각형과 원 등 각종 기하학적 도형을 다루는 알고리즘이다. 2차원의 평면 도형과 3차원의 입체 도형을 모두 다루는 주제이지만 여기에서는 2차원 기하학만을 다룬다. 계산 기하 관련 코드 구현 시, 필수적 개념 벡터의구현 📜 방향과 거리를 ..
2020.05.13