Hot
-
[데이터베이스] 정규화 vs. 비정규화(반정규화)
💡 정규화 vs. 비정규화(반정규화) 데이터베이스 정규화 데이터베이스 비정규화 데이터베이스 비정규화(Denormalization, 반정규화)란 무엇인가? 장점, 단점 비정규화 대상 주의점 정규화(Normalized)란 무엇인가? 장점, 단점 정규화의 원칙 함수적 종속(Functional Dependency) 완전 함수적 종속, 부분 함수적 종속 ✍️ 질문 체크 ⍞ Reference 💡 정규화 vs. 비정규화(반정규화) 데이터베이스 정규화 데이터베이스(normalized database)는 중복을 최소화하도록 설계된 데이터베이스를 말한다. 비정규화 데이터베이스(denormalized database)는 읽는 시간을 최적화하도록 설계된 데이터베이스를 말한다. 정규화 데이터베이스 같은 데이터는 데이터베이스 내..
2020.06.15
-
[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
-
[네트워크] 인터넷, IP 주소, 서브네팅
인터넷 (Internet) IP 주소 (Internet Protocol Address) 서브네팅 (Subnetting) 서브넷 마스크 IPv6 ⍞ Reference 인터넷 (Internet) 인터넷이란, TCP/IP 프로토콜을 기반으로 하여 전 세계 수많은 컴퓨터와 네트워크들이 연결된 광범위한 컴퓨터 통신망이다. 인터넷에 연결된 모든 컴퓨터는 고유한 IP주소를 갖는다. 인터넷의 개요 인터넷은 미 국방성의 ARPANET에서 시작되었다. 인터넷은 유닉스 운영체제를 기반으로 한다. 통신망과 컴퓨터가 있는 곳이라면 시간과 장소에 구애받지 않고 정보를 교환할 수 있다. 컴퓨터 또는 네트워크를 서로 연결하기 위해서는 브리지, 라우터 게이트웨이가 사용된다. 다른 네트워크 또는 같은 네트워크를 연결하여 중추적 역할을 ..
2020.05.17
-
[Java] JVM(Java Virtual Machine) 구조
JVM의 역할 JVM 구조 Class Loader Runtime Data Area(Memory) [Method Area, Heap Area] [Stack Area, PC register, Native Method Stack] Execution Engine ⍞ Reference JVM의 역할 자바 애플리케이션을 Class Loader를 통해 읽어 들여 자바 API와 함께 실행 JVM은 Java와 OS 사이에서 중개자 역할을 수행 → JAVA가 OS에 독립적으로 실행 및 재사용을 가능하게 함 메모리관리, Garbage collection을 수행 스택기반의 가상머신 ARM 아키텍쳐 같은 하드웨어는 레지스터 기반으로 동작하는데 비해 JVM은 스택기반으로 동작한다 JVM 구조 .java 파일이 javac(java..
2020.09.10
-
[MySQL] 성능 튜닝 - 버퍼 풀
버퍼 풀(Buffer Pool) 버퍼 풀의 크기 (innodb_buffer_pool_size) 버퍼 풀 인스턴스 수 (innodb_buffer_pool_instances) ⍞ Reference 버퍼 풀(Buffer Pool) 버퍼 풀은 InnoDB가 액세스 할 때 테이블 및 인덱스 데이터를 캐시하는 메인 메모리 영역이다. 버퍼풀은 자주 사용하는 데이터를 메모리에서 직접 처리할 수 있게하여 처리 속도를 높인다 전용 서버에서 실제 메모리의 최대 80% 정도가 버퍼풀에 할당된다. 대량 읽기 조작의 효율성을 위해 버퍼 풀은 여러 행을 보유할 수 있는 페이지로 분할된다. 캐시 관리 효율성을 위해 버퍼풀은 링크된 페이지 목록으로 구현된다. 거의 사용되지 않는 데이터는 다양한 LRU 알고리즘을 사용하여 캐시에서 종료..
2020.09.05