떨리는 마음으로 시작하는 첫 코딩.. 바리스타 외길 4년차에 멋진 개발자로의 전직을 꿈꾸며 두려움 반, 설레임 반으로 코딩캠프에 발을 디뎠다. 관심이 있었음에도 불구하고 쉽지 않은 선택이었지만, 보다 나은 나를 위해 입문하게된 코딩은 역시나 나에게는 새로운 문명(?)과
내일배움캠프를 시작한 지 둘째날이다. 텅텅 비어있는 머릿속에 코딩에 대한 무한한 호기심과 호기심에 반비례하는 학습 능력으로 짧은 생각이지만 내가 오늘 배운 것을 조금이라도 깨닫기를 바라며 글머리를 채우기 시작했다. 프론트엔드와 백엔드를 겨우 깨우친 나에게는 참으로 심오
본격적인 수업을 앞두고 걱정되는 마음에 팀프로젝트에 제대로 참여하기 위한 준비가 필요했다. 그래서 주말에 짬을 내어 GitHub를 사용해보기로 했다. 그런데 프로그램을 이용하는데 있어 문제가 있었는데 컴퓨터의 이전 사용자가 로그아웃을 안해서 공유되는 바람에 업로드한 파
본격적인 캠프 합류가 시작되는 동시에 javacript 기초 수업과 알고리즘 풀기, 작은 개인 과제가 주어진다. 호기롭게 시작했던 개인 과제에서 나는 API라는 큰 벽을 느꼈고 해결책을 찾지 못해 시간만 허비하고 있었다. 자바스크립트 종합반을 어느 정도 다 듣고 난 지
실행 컨텍스트에 대한 강의를 좀 더 간략하게 요약 정리하고자 한다. 자바스크립트의 데이터 처리 구조는 콜 스택(call stack)인데, 이 구조는 후입선출(last in, first out)식으로 가장 나중에 stack된(쌓인) 컨텍스트(context)가 먼저 실행되
내가 사용하는 컴퓨터의 이전 사용자의 정보가 아직까지 남아 있어 내가 푸쉬한 파일에 이전 사용자의 이름으로 올라가는 이슈가 있어서 사용자를 재설정 할 수 있는 방법을 찾아보았다. 현재 저장소의 user, email 설정값을 확인하는 방법현재 저장소에 user, emai
로직을 읽고 해석하는데 어려움을 느껴 객체에 대한 이해가 많이 부족하다는 결론을 내리고 주어진 자료를 더 직관적으로 알아보기 쉽게 요약 정리해보았다. 객체와 속성객체(Object)는 상태(속성, property)과 행동(메소드, method)를 가지는 컨테이너이다. 객
DOM(Doument Object Modeling)이란 서버로부터 받아온 문서를 Javascript가 알아들을 수 있는 방법으로 해석하는 과정을 말한다. 그 해석한 내용을 토대로 객체가 계층 구조를 형성한 것이 DOM Tree이다.
자바스크립트에 대해 깊게 알아갈수록 API에 관한 지식이 부족하여 간략하게 나마 정리해보고자 한다. API(Application Programming Interface)는 소프트웨어 시스템 간의 상호 작용을 위한 규칙 세트를 의미한다. 여기에는 메서드(method),
코드의 처리 과정을 크게 동기적 과정과 비동기적 과정으로 구분할 수 있다. 오늘은 이 두 처리 과정에 대해서 더 자세히 알아보고 비동기적 처리가 가진 문제와 더불어 promise아 generator도 함께 알아보고자 한다. 동기와 비동기 동기(synchronous)
첫 개인과제였던 영화 검색 사이트 구현을 바탕으로 새로운 상세페이지와 댓글창을 만드는 첫 팀프로젝트가 시작되었다. 초창기에 정보가 많이 부족하기도 했고 아웃라인을 어떻게 정하면 좋을지 몰라서 많이들 헤메였다. 피그마를 활용하여서 팀기획을 했었고 (사용법을 익히는 데 시
내배캠 첫 팀프로젝트를 무사히(?) 마치고 뒤돌아 볼 여유는 없다는 듯이 새로운 조에서 공부와 개인 과제를 앞두고 외마디 비명을 삼키며 오늘도 미친듯이 달려가고 있다. 드디어 Node.js 입문주차에 들어서며 설레는 마음으로 강의를 듣기 시작했으나 적잖이 어려운 용어가
스레드(Thread)란 프로그램이 동작할 때, CPU 또는 프로세서를 사용하는 단위로, 일반적으로 1개의 프로그램은 1개의 스레드를 사용할 수 있다. 1개의 프로그램에서 여러개의 스레드를 사용할 수 있다면 많은 작업을 동시에 처리할 수 있으므로 연산할 수 있는 시간을
짧은 인생이지만 살다 보면 늘 선택의 갈림길에 서게 되는 것 같다. 상황에 따라서 내가 바라보는 곳 또한 시시각각 변해왔다. 늘 내게 주어진 선택의 폭 안에서 관심을 가지고 꾸준히 할 수 있을 목표를 선택하기 위해 노력했었던 것 같다. 한때는 화가라는 꿈도 있었고,
AWS 회원가입 후 Region(ap-northeast-2)을 선택한다. 인스턴스(Instance) : 컴퓨터 하나의 단위EC2 서비스 페이지로 이동한다. 왼쪽 메뉴에서 “인스턴스” 를 눌러 아래 페이지로 이동합니다.우측 상단에 있는 주황색 “인스턴스 시작” 버튼을 눌
서버에서 쿠키와 세션을 사용하는 이유는 사용자와 서버 간의 상태를 유지하고, 사용자 경험을 향상시키기 위함입니다. 간단히 말하면, 웹 어플리케이션이나 웹사이트는 HTTP 프로토콜을 기반으로 동작하는데, 이 프로토콜은 기본적으로 상태를 저장하지 않습니다. 따라서 매 요청
JWT(Json Web Token)은 웹 표준으로써, 서버와 클라이언트 사이에서 정보를 안전하게 전송하기 위해 도움을 주는 웹 토큰(Web Token)입니다. 다양한 암호화 알고리즘을 사용할 수 있어, 신뢰성을 보장합니다. header\*\*.\*\*payload\*\
인증(Authentication)은 서비스를 이용하려는 사용자가 인증된 신분을 가진 사람이 맞는지 검증하는 작업을 뜻합니다. 일반적으로, 신분증 검사 작업에 해당합니다.인가(Authorization)는 이미 인증된 사용자가 특정 리소스에 접근하거나 특정 작업을 수행할
강사: 김태선"단어 20개를 1분동안 외우고 써보세요.""n개 알고 있었어요" vs "잘 모르겠어요"메타인지: 내가 뭘 모르고, 뭘 알고 있는지 아는 것.TIL/WIL: 요구사항/문제사항 나눠서 쓰기developer roadmaps내가 하는 일이 힘들수록 아무나 할 수
암호(Cryptography)란 0과 1로 이루어진 이진수 데이터를 수학적 계산을 통한 비트 변경을 수행하는 것을 말합니다. 정상적인 데이터(평문, Plaintext)의 2진수 데이터를 암호화라는 과정으로 데이터를 변경하고, 복호화라는 과정을 통해 데이터를 원래대로 돌
인증(Authentication)과 인가(Authorization)는 보안 및 접근 제어와 관련된 두 가지 중요한 보안 개념입니다. 인증(Authentication): 정의: 인증은 사용자가 자신이 주장하는 신원을 확인하는 과정입니다. 사용자는 보통 아이디와 비밀번
원격 브랜치는 로컬에 없는 원격 저장소의 브랜치를 로컬에 가져오는 작업을 수행합니다. 이를 위해서는 먼저 로컬 브랜치를 만들고, 그 다음 해당 브랜치를 원격 저장소와 연결해야 합니다.예를 들어, 원격 저장소의 "origin"에서 "main" 브랜치를 가져오려면
github에 merge 한 이후 개인 작업 브랜치를 새로 파는 이유가 뭐야?ChatGPT개인 작업 브랜치를 merge 한 이후에 새로운 브랜치를 파는 이유는 주로 다음과 같습니다:기능 분리: 새로운 기능이나 수정된 기능을 개발할 때, 해당 변경 사항을 독립적으로 유지
객체 내부의 세부적인 사항을 감추는 것, 즉 중요한 정보를 외부로 노출시키지 않도록 만드는 것을 캡슐화(Encapsulation)라고 합니다.Javascript 는 완벽한 캡슐화를 지원하지 않습니다. 그러나, 개발자들은 변수 앞에 언더바(\_)를 붙여 내부의 변수를
클래스 기반 리팩토링은 소프트웨어 개발에서 객체 지향 프로그래밍(OOP)의 핵심 개념을 활용하여 코드의 구조를 개선하는 과정입니다. 이러한 접근 방식을 취할 때의 주요 장점은 다음과 같습니다:명확한 구조: 클래스를 사용하면 관련 데이터와 함수(메서드)를 논리적인 단위로
예약하려고 하는 일자를 선택하면 해당 일시에 일정이 비어있는 펫시터를 조회하려고 한다. 단, 예약은 "일" 단위이기 때문에 하루 중 조금이라도 예약이 잡혀있다면 그 펫시터는 예약이 불가능하므로 펫시터 목록 조회에서 제외해야 한다. where 절에서 NOT을 사용하여
Node 심화 1주차 강의 완강Class\*\*Layered Achitecture Pattern\*\*Unit Testjest위 것들에 대해서는 기본 사용법이나 정의 등은 다루지 않을 것 입니다! 특강 목표 1\. 왜 테스트를 해야하는가?2\. Layer 나누기 전의
알겠습니다. Jest에서 자주 사용되는 다른 메서드들도 포함하여 예시를 보여드리겠습니다.test(name, fn, timeout):expect(value):beforeEach(fn):afterEach(fn):describe(name, fn):toEqual(value):
엣지 케이스와 코너 케이스는 소프트웨어 개발에서 테스트 케이스의 유형을 나타내는 용어입니다.엣지 케이스는 소프트웨어의 경계나 극단적인 조건을 테스트하는 케이스를 가리킵니다. 이는 일반적인 사용 시나 기본적인 테스트 시나리오에서 벗어난 경우를 다룹니다. 예를 들어, 입력
JavaScript에서 class 키워드를 사용하여 클래스를 정의할 때 this.\_와 private 키워드는 둘 다 정보 은닉과 관련이 있지만 약간 다른 방식으로 동작합니다.this.\_:this.\_는 관례적으로 private 멤버 변수를 나타냅니다. 즉, 다른 클
경합 조건(Race condition)은 병렬 처리 환경에서 둘 이상의 프로세스나 스레드가 공유 데이터를 동시에 접근할 때 발생하는 문제입니다. 이러한 상황에서는 각 프로세스나 스레드가 공유 데이터를 변경하려고 시도하며, 그 결과 데이터의 일관성이 깨지고 예상치 못한
이 오류는 이미 해제된 쿼리 러너에서 추가 쿼리를 실행하려고 시도했기 때문에 발생한 것으로 보입니다. 쿼리 러너는 한 번 해제되면 더 이상 쿼리를 실행할 수 없습니다.이러한 오류를 해결하기 위해서는 쿼리 러너가 이미 해제되었는지 확인하고, 그렇다면 더 이상 쿼리를 실행
참고 자료: Jira의 이슈 정렬 방식이 Integer 방식이 아니라고?! 링크드 리스트란? 링크드 리스트(Linked List)는 데이터 요소의 선형 집합을 나타내는 자료 구조입니다. 링크드 리스트는 각 요소가 데이터와 다음 요소를 가리키는 링크(참조)로 이루어져 있
Integer 방식각 항목의 순서를 연속된 정수로 저장하는 방법입니다.데이터가 많은 경우 시스템의 성능 저하를 일으킬 수 있으며, 동시에 여러 사용자가 수정을 시도하면 빈번하게 충돌이 발생하기도 합니다.GreenHopper 방식각 항목 사이에 충분한 간격을 두고 순위값
board member guardmember grade guard
최종 팀 프로젝트 브레인 스토밍 결과마지막 팀프로젝트가 갈무리되기도 전에 팀 편성이 발표되면서 바쁘게 일정이 돌아가기 시작했다. 그리고 오늘, 드디어 최종 팀 프로젝트의 발제날이었다. 설레기도 하고 떨리기도 했던 이전과 달리 지금은 다들 온종일 머리를 싸맨 탓에 다소
프로세스(Process)와 쓰레드(Thread)는 컴퓨터 과학에서 중요한 개념입니다. 이 둘은 다중 작업(multitasking) 환경에서 프로그램이 실행되는 방식을 설명합니다.프로세스는 실행 중인 프로그램의 인스턴스(instance)입니다. 각 프로세스는 독립적으로
HTTP(HyperText Transfer Protocol)는 웹 상에서 데이터를 주고받기 위한 표준 프로토콜입니다. HTTP는 클라이언트와 서버 간에 요청(Request)과 응답(Response)을 교환하는데 사용됩니다. HTTP 메서드는 이러한 요청에 대한 행동을
쓰기 지연(Write Delay)은 데이터를 저장하는 작업이 완료되기까지 걸리는 시간을 의미합니다. 일반적으로 데이터를 저장하는 작업은 디스크나 데이터베이스와 같은 영구 저장소에 기록되어야 합니다. 이 작업은 여러 이유로 인해 다양한 지연을 겪을 수 있습니다.쓰기 지연
"테스트 더블(Test Double)"은 소프트웨어 테스트에서 사용되는 가짜 객체로, 실제 구현을 대체하여 테스트 중에 사용됩니다. 테스트 더블은 다양한 형태를 가질 수 있으며, 주로 테스트에서 다른 객체와의 상호작용을 시뮬레이션하기 위해 사용됩니다.테스트 더블의 주요
관계형 데이터베이스에서의 정규화는 데이터를 효율적으로 저장하고 중복을 최소화하여 데이터베이스의 일관성, 유지보수성, 유연성을 향상시키는 프로세스입니다. 이를 통해 데이터 중복이 줄어들고, 데이터의 무결성을 보장할 수 있게 됩니다.정규화는 일반적으로 다음과 같은 과정을
update: 데이터베이스에 있는 기존 레코드를 업데이트합니다. 일반적으로 주어진 조건에 따라 특정 레코드를 선택하고 그 레코드의 내용을 변경하는 데 사용됩니다. 이는 주로 WHERE 절을 사용하여 레코드를 식별하고, 해당 레코드의 필드 값을 변경하는 데에 적합합니다.
대용량 트래픽이 발생할 때 효과적으로 대응하는 것은 중요합니다. 이를 위해 몇 가지 전략을 고려할 수 있습니다:트래픽 로드 밸런싱: 트래픽을 여러 서버 또는 리소스로 분산하여 로드를 균형있게 유지합니다. 로드 밸런서를 사용하여 트래픽을 분산하고, 여러 서버를 활용하여
JWT는 클레임 기반의 토큰으로, 정보를 JSON 객체로 안전하게 전송하기 위한 개방형 표준입니다.JWT는 페이로드에 클레임을 저장하고, 시그니처를 사용하여 토큰의 무결성을 보장합니다.주로 사용자 인증 및 권한 부여를 위해 사용됩니다.Refresh Token은 인증된
쿠키와 세션은 웹 사이트에서 사용자의 상태를 유지하기 위해 사용되는 기술입니다. 이 둘은 사용자가 웹 사이트를 이용할 때 개인화된 경험을 제공하기 위해 필수적인 요소이지만, 작동 방식과 사용 목적에 있어서 몇 가지 차이점이 있습니다.쿠키는 사용자의 컴퓨터에 저장되는 작
애플리케이션을 실제 서버에 배포할 때 필요한 설정은 애플리케이션의 유형, 사용되는 기술 스택, 서버 환경 등에 따라 달라질 수 있습니다. 그러나 일반적으로 고려해야 할 몇 가지 중요한 설정들이 있습니다:환경 변수 설정:데이터베이스 연결 정보, API 키, 비밀번호 등과
특정 API 응답 등의 다양한 데이터 수집스트레스 테스트: 과부하 상태에서 어떻게 동작하는지 확인한다.부하 테스트: 병목 현상을 확인한다. 데이터 시각화 및 관제ELK, EFK, PLG ...Datagod, Sentry, ...(SaaS)AWS Cloudwatch ..
아틸러리(Artillery)는 부하 테스트와 성능 모니터링을 위한 오픈 소스 도구로, 웹 애플리케이션 및 백엔드 서비스의 성능을 평가하기 위해 사용됩니다. 아틸러리를 사용하여 특정 API에 대한 부하 테스트를 실시하고, 그 결과를 분석하여 시스템의 성능 병목 현상을 식
HTTP와 HTTPS는 웹상에서 데이터를 전송하는 데 사용되는 프로토콜입니다. 두 프로토콜의 주요 차이점은 데이터 전송의 보안성에 있습니다.정의: HTTP는 웹 브라우저와 서버 간에 데이터를 주고받기 위해 사용되는 프로토콜입니다. 웹 페이지를 방문할 때 브라우저는 HT
faker 라이브러리를 사용하여 더미 데이터를 생성하는 것은 부하 테스트를 진행하기 전에 선택적인 단계입니다. Artillery와 같은 부하 테스트 도구를 사용할 때 더미 데이터를 사전에 생성하는 것이 필요한지 여부는 테스트의 목적과 환경에 따라 달라집니다.실제와 유사
k6는 Go로 작성된 성능 및 부하 테스트 도구로, 환경 설정이나 테스트 스크립트를 JavaScript 파일(.js) 형식으로 작성합니다. YAML이나 다른 형식이 아닌, JavaScript를 사용하는 것이 k6의 특징 중 하나입니다. 이를 통해 사용자는 테스트 시나리
소켓은 네트워크 통신의 기본적인 단위로, 네트워크 상에서 데이터를 교환하기 위한 끝점(endpoint)을 의미합니다. 소켓을 통해 서로 다른 호스트에 있는 애플리케이션이 데이터를 주고받을 수 있습니다. 소켓 프로그래밍은 이러한 소켓을 사용하여 네트워크 통신을 구현하는
Webpack 설정: 애플리케이션을 위한 Webpack 설정을 구성합니다. 이는 webpack.config.js 파일에서 이루어지며, 개발(development) 모드와 생산(production) 모드에 따라 다른 최적화 옵션을 적용할 수 있습니다.빌드 실행: Webp
부하 테스트에서 "시나리오"는 매우 중요한 개념입니다. 부하 테스트 시나리오는 테스트 대상 시스템이나 애플리케이션에 가해지는 특정 사용자 행동의 시퀀스나 워크플로우를 정의합니다. 이는 실제 사용자가 시스템을 사용할 때 발생할 수 있는 다양한 상황을 모방하기 위해 설계됩
Kibana는 Elasticsearch를 위한 오픈 소스 데이터 시각화 대시보드로, 로그와 시계열 데이터 분석, 그리고 검색 기능을 제공합니다. 특히, Elasticsearch와 함께 사용할 때 강력한 로깅, 모니터링, 그리고 데이터 분석 솔루션을 제공합니다. Art
실제 배포된 서버 상에서 Artillery 같은 부하 테스트 도구의 필요성은 배포 환경, 애플리케이션의 성격, 그리고 운영 팀의 요구 사항에 따라 달라질 수 있습니다. 일반적으로 부하 테스트는 개발 과정이나 스테이징 환경에서 주로 수행되며, 실제 운영 환경에서는 부하
Warm up phase: 처음 60초 동안 초당 1명의 사용자로 시작하여 60초가 끝날 때까지 사용자 수를 10명까지 점진적으로 증가시킵니다. Ramp up load: 다음 60초 동안 사용자 수를 초당 10명에서 시작하여 60초가 끝날 때까지 30명까지 점진적으
객체지향 프로그래밍(Object-Oriented Programming, OOP)은 프로그래밍의 한 패러다임으로, 소프트웨어를 객체들의 모임으로 파악하고 구현하는 방법론입니다. 객체지향 프로그래밍은 실세계의 객체(사람, 자동차, 계좌 등)를 모델링하여 소프트웨어 개발을
NoSQL과 RDBMS는 데이터를 저장, 조회, 관리하는 방식에 있어 서로 다른 접근 방식을 제공합니다. 이들 각각의 특징, 장단점, 그리고 차이점을 아래에서 상세히 설명하겠습니다.구조화된 데이터: RDBMS는 테이블 형태로 데이터를 저장하며, 각 테이블은 고유한 스키
아틸러리 공식 사이트 환경 설정: https://www.artillery.io/docs/get-started/first-testconfig 섹션에서는 테스트의 기본 설정을 지정합니다.1\. target: 테스트할 웹 서버의 주소입니다. 이 예제에서는 http&
병합 정렬은 분할 정복(divide and conquer) 전략을 사용하는 정렬 방법입니다. 이 방법은 배열을 반으로 나누어 각 부분을 재귀적으로 정렬한 후, 두 부분을 합쳐 전체를 정렬하는 방식으로 작동합니다. 병합 정렬의 주요 단계는 다음과 같습니다:분할(Divid
테스트 스크립트 작성: Artillery의 테스트 스크립트는 YAML 또는 JSON 형식으로 작성됩니다. Socket.IO를 테스트하기 위해, config 섹션에서 테스트할 서버의 주소와 프로토콜을 지정하고, scenarios 섹션에서 Socket.IO 이벤트를 발생시
"Metrics"란 측정 가능한 양을 나타내는 데이터로, 시스템, 애플리케이션, 서비스의 성능, 상태, 사용량 등을 정량적으로 표현한 것입니다. 메트릭스는 IT 및 비즈니스 환경 전반에서 효율성, 진행 상황, 성공을 평가하기 위해 사용됩니다. 다양한 유형의 메트릭스가
도커는 애플리케이션을 컨테이너화하여 실행할 수 있게 해주는 플랫폼으로, 개발 환경부터 생산 환경까지 일관된 환경을 제공합니다. 부하 테스트 도구를 도커 컨테이너로 실행하여, 애플리케이션 또는 서비스의 성능을 평가할 수 있습니다. 이 방식은 여러 가지 이점을 제공합니다:
토큰 인증이 필요한 api를 테스트하기 위해서는 가상의 유저 정보를 생성하여 토큰을 전달해줄 필요가 있다. 먼저, 가상의 사용자 정보와 토큰을 생성할 JavaScript 함수를 만듭니다. 이 함수들은 Artillery의 processor를 통해 테스트 스크립트에서 사용
로드 밸런싱(load balancing)은 여러 서버에 네트워크 트래픽이나 작업 부하를 분산시켜 전체 시스템의 효율성을 높이고, 가용성 및 내구성을 강화하는 기술입니다. 이는 특히 고가용성(high availability), 고성능(high performance)을 요
전 세계 사람들이 서로 다른 국가의 사람들과 채팅하거나 실시간 스트리밍으로 소통하기 위해 서버를 분산시키는 경우, 몇 가지 핵심 전략을 고려해야 합니다. 이러한 상황에서는 단순히 지리적 위치에 기반한 분산이 아니라, 네트워크 최적화, 지연 시간 최소화, 고가용성 및 확
스케일 업(Scale Up)과 스케일 아웃(Scale Out)은 시스템의 처리 능력을 확장하는 두 가지 주요 방법입니다. 이 두 방법은 서버나 데이터베이스와 같은 컴퓨팅 리소스의 성능을 향상시키거나, 시스템의 부하를 분산시키는 데 사용됩니다.정의: 스케일 업은 기존의
엔진엑스(Nginx, 발음은 '엔진-X' 또는 '엔진익스')는 가볍고, 고성능을 자랑하는 웹 서버, 리버스 프록시, 그리고 이메일 프록시(POP3/IMAP)로 사용될 수 있는 소프트웨어입니다. 처음에는 웹 서버로 개발되었지만, 현재는 로드 밸런싱, HTTP 캐싱, 웹
Socket.IO는 실시간, 양방향 통신을 웹 애플리케이션에 쉽게 구현할 수 있게 해주는 JavaScript 라이브러리입니다. Node.js 서버와 클라이언트(웹 브라우저) 사이에서 WebSocket을 사용하여 실시간 데이터 교환을 가능하게 합니다. Node.js 환경
SUBSCRIBE, UNSUBSCRIBE, 그리고 PUBLISH는 Publish/Subscribe 메시징 패러다임을 구현합니다. 이는 발신자(게시자)들이 특정 수신자(구독자)에게 메시지를 보내도록 프로그래밍되지 않음을 의미합니다. 대신, 게시된 메시지들은 채널로 분류되
샤딩(Sharding)은 데이터베이스, 네트워크, 또는 어떤 종류의 데이터 저장소를 여러 개로 분할하여 데이터를 관리하는 기술입니다. 이 방법은 대규모의 데이터셋을 처리하고, 응답 시간을 개선하며, 시스템의 확장성과 관리 용이성을 높이기 위해 사용됩니다. 샤딩은 특히
@Inject('REDIS_DATA_CLIENT'): REDIS_DATA_CLIENT라는 토큰(또는 식별자)에 연결된 의존성을 현재 클래스의 redisDataClient 프로퍼티에 주입하라는 지시입니다. 주입되는 객체는 Redis 데이터를 처리하기 위한 클라이언트입니다
스케줄러는 작업, 프로세스, 작업 흐름 등을 특정 시간에 실행하도록 예약하는 시스템 또는 소프트웨어 구성 요소입니다. 스케줄러는 컴퓨터 시스템, 애플리케이션, 데이터베이스 관리 시스템 등 다양한 환경에서 사용되며, 자동화와 효율성을 높이기 위해 필수적인 역할을 합니다.
Artillery는 간단하고 유연한 부하 테스팅 도구로, HTTP, WebSocket, Socket.io 등 다양한 프로토콜을 지원합니다. Redis와 같은 데이터베이스에 대한 부하 테스트를 수행하려면, Artillery가 직접 지원하지 않는 프로토콜이라도 커스텀 스크
https://www.ibm.com/kr-ko/topics/data-storagehttps://www.redhat.com/ko/topics/data-storage정의: 데이터 스토리지는 디지털 데이터를 저장하는 물리적 또는 가상의 공간을 의미합니다.
Redis는 키-값 저장소로서, 네트워크를 통해 메시지를 발행(publish)하고 구독(subscribe)할 수 있는 기능을 제공합니다. 이는 Pub/Sub 모델을 통해 구현되며, 이 모델에서 "이벤트"는 특정 채널에 메시지를 발행하는 행위를 의미합니다. 구독자는 하나
레디스를 안 쓰고 웹소켓(WebSocket)만 사용하는 경우에는 여전히 실시간 통신 기능은 구현할 수 있습니다. 하지만 레디스와 같은 메시지 브로커나 데이터 저장소를 사용하지 않을 때 발생할 수 있는 몇 가지 제한 사항이 있습니다:분산 시스템에서의 한계: 웹소켓만 사용
Redis의 인스턴스.마스터 노드: 원본 인스턴스. 데이터의 쓰기와 읽기 작업을 담당한다. 슬레이브 노드: 마스터를 복제한 인스턴스. 주로 읽기 요청의 부하를 분산시키거나, 마스터 노드에 문제가 발생했을 때 대체 역할을 수행한다. 노드 내부에서 데이터를 저장하거나 관리
앱덱스 (Apdex)는 사용자의 만족도를 측정하는 표준 방법 중 하나입니다. Apdex는 Application Performance Index의 약자로, 사용자가 경험하는 애플리케이션의 응답 시간을 기반으로 만족, 허용, 불만족의 세 가지 범주로 나누어 성능을 평가합니
AWS API Gateway AWS API Gateway는 Amazon Web Services가 제공하는 완전 관리형 서비스로, 개발자가 HTTP, RESTful, WebSocket API를 쉽게 생성, 배포, 유지 관리할 수 있도록 설계되었습니다. 이 서비스는 클라이
SSL/TLS 인증서는 웹 사이트의 보안을 강화하는 역할을 하며, 데이터 전송 시 암호화를 제공합니다. 인증서 발급은 여러 방식으로 이루어질 수 있으며, 상황에 따라 적합한 방법을 선택할 수 있습니다:무료 인증서 발급 기관:Let's Encrypt: 가장 인기 있는 무