본문 바로가기

전체 글138

웨이팅API에서 동시성제어 구현하기 1 식당 웨이팅 시스템은 여러 고객들의 예약 및 대기 리스트를 관리해야 한다. 동시에 여러 고객이 예약하거나 대기 목록에 추가되는 경우, 데이터의 일관성을 유지하고 예약 가능한 시간 또는 자리를 정확하게 추적하기 위해 동시성 제어가 필요하다. ✔Bullqueue를 사용하여 웨이팅 동시성 제어하기! Bullqueue란 무엇인가? Bull Queue는 백그라운드 작업 처리를 위한 분산 큐 시스템으로, Redis 데이터베이스를 기반으로 동작한다. 기본적인 원리는, Producer(생산자)가 Message를 Queue에 넣어두면, Consumer가 Message를 가져와 처리하는 방식이다. Bullqueue의 작동원리 프로듀서(Producer) : 작업을 생성하고 bull Queue에 추가하는 역할, 이 작업은 큐.. 2023. 8. 9.
[디자인패턴] 개발자 취업준비생이라면 꼭 알아야할 디자인패턴 디자인 패턴은 소프트웨어 개발에서 반복적으로 발생하는 문제에 대해 일반적이고 재사용 가능한 해결책을 제공하는 설계 원칙들의 모음입니다. 이 디자인 패턴은 보다 구조적이고 유지보수 가능한 코드를 작성하는 데 도움이 됩니다. 디자인 패턴은 크게 생성(Creational), 구조(Structural), 행위(Behavioral) 패턴으로 분류됩니다. 👉생성, 구조, 행위 디자인패턴 예시로 이해하기 0. 디자인패턴의 종류 생성패턴(Creational Patterns), 구조패턴(Structural Patterns), 행위패턴(Behavioral Patterns) 생성패턴 - 팩토리 메서드 패턴, 추상 팩토리 패턴, 빌더 패턴, 싱글톤 패턴, 프로토타입 패턴 구조 패턴 - 어댑터 패턴, 데코레이터 패턴, 컴퍼지트.. 2023. 8. 6.
[프로그래밍언어] 스크립트(인터프리터)언어 & 컴파일언어 개념정리! ✅ 프로그래밍언어 컴퓨터 프로그램을 작성하는데 사용되는 형식적인 언어 ✅ 컴파일언어 & 스크립트(인터프리터)언어 컴파일언어 vs 스크립트언어 쉬운설명! **컴파일 : 코드를 컴퓨터언어인 0과 1로 번역 컴파일언어(Compiled language) 작성한 코드를 모두 기계어로 변환한 후에 기계어 코드로 실행하는 방식 실시간이 아니다! 영어원서를 한국어로 해석한 파일을 받는 것, 중간 통역자가 없어 만약 영어단어가 한국어에 없다, 번역가는 단어를 바꾸라고 요청함 - 에러상황 즉 컴파일전에 에러를 수정하기 때문에 하고 나면 거기에 에러가 없는 것 컴파일 언어로 작성된 프로그램은 런타임 시간에 기계어로 직접 실행됌, 실행속도가 빠름 Java, C++, C, Rust, Go etc .. 인터프리터언어(Interp.. 2023. 8. 1.
[JS] 자바스크립트(JavaScript)의 호이스팅(Hoisting)이란 무엇인가, var, let, const의 개념까지 쉽게 이해하기 ✅호이스팅(Hoisting) 정의 : 자바스크립트에서 변수와 함수 선언이 해당 스코프의 최상단으로 끌어올려지는 동작 자바스크립트 엔진은 코드를 실행하기 전에 첫번째 선언(Declaration), 두번째 실행(Execution)단계로 나뉜다. ex) 1.변수 호이스팅 다른 언어에서라면 x 자체가 뜨지 않고 에러가 발생해야 하지만 JS에선 아니다. 변수 x가 선언되었지만 첫번째 줄에선 5가 할당되기전이기 때문에 undefinde 반환 console.log(x); // undefined var x = 5; 즉 실제로는 아래와 같은 순서로 동작하는 것이다. var x; // 선언 단계가 끌어올려집니다. console.log(x); // undefined x = 5; // 초기화 단계 같은 이치로 아래의 결과값도.. 2023. 8. 1.