전체 글 67

스택과 큐

스택은 LIFO(last in first out)의 구조를 가진 배열이다.데이터의 주소가 바뀌지 않는다는 장점이 있다.함수 호출과 관련된 주소 관리에 적합하다.구현이 간단하고 직관적이다.기록 관리(인터넷 기록 (뒤로가기 앞으로 가기), 실행 취소 등) 에 적합하다. 큐는 FIFO(first in first out)의 구조를 가진 배열이다.대기열 관리(프로세서 스케줄링, 프린터 작업 대기열) 등에 적합하다.먼저 들어온 데이터가 먼저 처리됨으로 데이터의 처리가 무한히 뒤로 미뤄질 일이 없다.BFS(너비 우선 탐색)와 같은 알고리즘에 유용하다.

카테고리 없음 2025.02.26

로드밸런서

로드 벨런싱은 여러 부품을 통합해 통합적인 처리를 하기 위한 것이다.이것은 최종 사용자의 간섭없이 이루어져야 한다.이것의 결과로 여러 동작이 동시에 이루어 지지만 하나의 동작은 여전히 하나의 부품에서 동작하기에 실행 시간은 같다.효율적인 로드벨런싱 메커니즘을 위해서는 모든 부품이 로드벨런서에 의해 사용되는 것이 좋다.고속도로를 상상하면 이해하기 쉽다.각각의 차의 속도를 올리지 않고 더 많은 차를 통과시키기 위한 효율적인 라인의 수를 결정해야 하는 것이다. 로드벨런싱의 예시멀티 프로세서 시스템의 프로세스 스케쥴러 (컴퓨터 등)링크 로드 벨런싱 (이더체널, 본딩 등)ip 주소 로드 벨런싱 (ECMP, DNS round-robin)서버 로드 벨런싱 ( 로드 벨런서 라고 불린다!) 로드 벨런싱을 하는 부품이나 ..

카테고리 없음 2025.02.11

무결성

데이터의 정확성과 일관성을 보장하기 위한 개념 대부분의 관계형 데이터베이스는 데이터 정합성을 보장하는 것을 목적으로 한다.이것을 위해1. 트랜잭션 관리2. 무결성 제약 조건3. 동시성 제어4. 백업과 복구의 내용을 필수적으로 가지게 된다.이중 무결성은 크게 3가지로 분류된다.범위(Domain) 무결성참조(Referential) 무결성개체(Entity) 무결성 1. Domain Integrity 각 데이터가 데이터의 형식, 값 범위, 제약 조건을 준수하는 것.테이블을 생성할때 제약조건을 거는것에 해당하며 각 컬럼의 데이터 형식을 저장할 내용에 맞게 설정하지 않거나, 이름을 명료하게 하지 않을경우 무결성에 문제가 생길 수 있다.2. Referential Integrity 복수의 테이블에 대하여 관계를 일관되..

카테고리 없음 2025.02.10

20250204

https://refactoring.guru/design-patterns/composite Composite/ Design Patterns / Structural Patterns Composite Also known as: Object Tree Intent Composite is a structural design pattern that lets you compose objects into tree structures and then work with these structures as if they were individual objects. Problemrefactoring.guru 생산, 구조, 행동 패턴으로 리팩토링을 진행한다. 이전 회사에서 하던것이 생산관리이다보니 생산패턴을 따라가는 내용이 되..

카테고리 없음 2025.02.04

20250203

redis  설치npm install redis 자바스크립트 연결 구문 import { createClient } from 'redis'; const client = createClient(); client.on('error', err => console.log('Redis Client Error', err)); await client.connect();  저장 불러오기 하는 내용 await client.set('key', 'value'); const value = await client.get('key'); 맵으로 저장하고 받아오기 await client.hSet('user-session:123', {     name: 'John',     surname: 'Smith',     company: 'Re..

카테고리 없음 2025.02.03

TIL20250131

# 패킷 분해/헤더 및 상태 동기화 ## 패킷 분해/헤더### 받는 경우 - on data 이벤트에서 변환하는 내용을 만들었다.```  export const onData = (socket) => async (data) => {    try {      socket.buffer = Buffer.concat([socket.buffer, data]);      console.log('=== 새로운 패킷 수신 ===');      console.log('수신된 데이터:', data);      // 패킷의 버전 길이까지의의 헤더 길이 (패킷 길이 정보 + 버전 길이 정보)      const leastHeaderLength = config.packet.packetTypeLength + config.packet..

카테고리 없음 2025.01.31

20250123

어제랑 같은 문제인데 이번에는 보내는 내용이었다.유니티와 c#이 익숙하지 않은 탓에 클라이언트에서 문제가 발생했다고 생각하고 클라이언트에서 하루종일 낭비했다. 전 과제에서 socket.id를 사용하고 있는걸 보고 이번 과제에서도 똑같이 사용하려고 했다.socket.id는 기본적으로 생성되는 값이 아니었다. onconnection에서 uuid v4를 사용해서 유니크 아이디를 생성해줬다.

카테고리 없음 2025.01.23