2024/07/22 4

리듀서 활용하기

리듀서 합치기combineReducerscombineReducers() 함수는 여러 리듀서를 통합하여 새로운 리듀서를 만들어 준다. 이 함수는 ReducerMapObject 타입을 매개변수로 받는다. 여기서 타입변수 S는 상태(AppState)를 의미한다.// combineReducers 함수 선언문export function combineReducer(reducers: ReducersMapObject):Reducer>// ReducersMapObject 타입 선언문export type ReducersMapObject = { [Key in keyof State]: Reducer} AppState.ts4개의 멤버 상태로 구성했으므로 각각 처리하는 4개의 리듀서가  필요하다.import * as Clo..

Javascript/React 2024.07.22

파티셔닝과 샤딩

테이블을 파티션이라는 작은 단위로 나누어 관리하는 기법을 파티셔닝(Partitioning)이라고 한다.장점특정 파티션만 조회하면 되기 때문에 검색 속도가 빨라진다.인덱스 크기가 작아져 효율이 증가한다.데이터 양이 증가해도 파티션을 추가하여 쉽게 확장할 수 있다.백업과 복구 작업이 간편해진다. 예를 들어, 특정 파티션만 백업할 수 있다.특정 파티션만 유지보수하면 되므로 관리 부담이 줄어든다.한 파티션에 문제가 생겨도 다른 파티션은 영향을 받지 않으므로 시스템의 가용성이 높아진다.table의 partition 단위로 Disk I/O을 분산하여 경합을 줄이기 때문에 UPDATE 성능을 향상시킨다.단점설계 및 관리가 복잡해질 수 있다.적절한 파티셔닝 키를 선택하는 것이 어려울 수 있다.테이블 간 JOIN에 대한..

Database 2024.07.22

StringBuffer vs StringBuilder

StringBuffer와 StringBuilder는 둘 다 문자열을 다루기 위해 자바에서 제공하는 클래스이다. 하지만 몇 가지 중요한 차이점이 있다.공통점:가변성 (Mutability): 둘 다 문자열을 변경할 수 있다. String은 불변(immutable)이지만, StringBuffer와 StringBuilder는 변경 가능한 문자열을 다룬다.메서드: 대부분의 메서드가 동일하다. 예를 들어, append(), insert(), delete(), reverse() 등.차이점:동기화 (Synchronization):StringBuffer는 모든 메서드가 동기화(synchronized)되어 있다. 즉, 멀티쓰레드 환경에서 안전하다(thread-safe).StringBuilder는 동기화가 되어 있지 않다...

JVM 2024.07.22

순수 함수

순수 함수(Pure Function)는 주어진 입력에 대해 항상 동일한 출력을 반환하고, 함수 외부의 상태를 변경하지 않는 함수이다. 순수함수는 함수형 프로그래밍의 핵심으로, 코드의 예측 가능성과 안정성을 높여준다.순수 함수의 특징동일한 입력에 대해 동일한 출력: 함수가 동일한 입력값을 받으면 항상 동일한 출력을 반환해야 한다.부작용 없음: 함수는 외부 상태를 변경하지 않는다. 함수 내부에서만 상태가 변경되고, 함수가 종료되면 외부 상태는 그대로 유지된.예시를 통한 이해예시 1: 기본적인 순수 함수function multiply(a, b) { return a * b;}console.log(multiply(2, 3)); // 항상 6을 반환console.log(multiply(2, 3)); // 항상..

Javascript 2024.07.22
728x90