IT

DBMS/Redis

[Redis] 기본 명령어

✅ 데이터(Key, Value) 저장하기# set [key 이름] [value]$ set chae:name "chaew kim" # 띄워쓰기 해서 저장하려면 쌍따옴표로 묶어주면 됨$ set chae:hobby running✅ 데이터 조회하기 (Key로 Value 값 조회하기)# get [key 이름]$ get chae:name$ get chae:hobby$ get pjs:name # 없는 데이터를 조회할 경우 (nil)이라고 출력됨✅ 저장된 모든 key 조회하기$ keys *✅ 데이터 삭제하기 (Key로 데이터 삭제하기)# del [key 이름]$ del chae:hobby$ get chae:hobby # 삭제됐는 지 확인✅ 데이터 저장 시 만료시간(TTL) 정하기레디스는 RDBMS와는 다르게 데이터 저..

DBMS/Redis

[Redis] Redis란?, 설치

✅ Redis란?Redis의 의미를 인터넷에 검색해보면 아래와 같이 나온다.레디스(Redis)는 Remote Dictionary Server의 약자로서, “키-값” 구조의 비정형 데이터를 저장하고 관리하기 위한 오픈 소스 기반의 비관계형 데이터베이스 관리 시스템(DBMS)이다.위키백과 -너무 어렵게 적혀져있다. First Word 법칙에 따라 쉽게 바꿔서 이해해보자.Redis는 데이터 처리 속도가 엄청 빠른 NoSQL 데이터베이스이다.이렇게 기억하고 있어도 충분하다. NoSQL 데이터베이스를 풀어서 얘기하자면 Key-Value의 형태로 저장하는 데이터베이스라고 생각하면 된다. https://redis.io/nosql/key-value-databases/✅ Redis의 장점Redis는 다양한 장점을 가지고..

Algorithm/백준

[10871] X보다 큰 수

문제정수 N개로 이루어진 수열 A와 정수 X가 주어진다. 이때, A에서 X보다 작은 수를 모두 출력하는 프로그램을 작성하시오.입력첫째 줄에 N과 X가 주어진다. (1 ≤ N, X ≤ 10,000)둘째 줄에 수열 A를 이루는 정수 N개가 주어진다. 주어지는 정수는 모두 1보다 크거나 같고, 10,000보다 작거나 같은 정수이다.출력X보다 작은 수를 입력받은 순서대로 공백으로 구분해 출력한다. X보다 작은 수는 적어도 하나 존재한다.예제 입력 1 복사10 51 10 4 9 2 3 8 5 7 6예제 출력 1 복사1 4 2 3 1. Scanner 배열 사용import java.util.*;public class Main { public static void main (String[] args) { ..

Spring

[SpringRestDocs] Unresolved directive in index.adoc-...

모든 테스트 코드가 성공적으로 마치고 src - docs - asciidoc 하위의 index.adoc 문서에는 미리보기를 했을 때 스니펫이 잘 적용 되었는데, build 후에 build - docs - asciidoc 하위의 html에서는 사진과 같은 식으로 모든 스니펫에 Unresolved directive in index.adoc - include::스니펫 오류가 발생했다.  이는 생성된 스니펫 경로를 읽어오지 못해 발생하는 문제였는데 몇차례 구글링 끝에 index.adoc에 밑과 같은 코드를 추가한 후에야 정삭 작동이 되었다.ifndef::snippets[]:snippets: ./build/generated-snippetsendif::[] 코드를 추가한 후에 문제가 해결된 이유는 Asciidoct..

Spring

[Spring] 세션 기반 인증 VS JWT 기반 인증

세션 기반 인증과 JWT 기반 인증은 모두 사용자의 인증 상태를 관리하는 방법이지만, 구현 방식과 동작 방식에 큰 차이가 있다.  1. 세션 기반 인증동작 방식:사용자가 로그인하면 서버는 사용자의 인증 정보를 기반으로 세션을 생성.서버는 세션 ID(Session ID)를 클라이언트에 쿠키로 전달.클라이언트는 이후 요청마다 쿠키에 세션 ID를 담아 서버로 전달.서버는 세션 ID를 기반으로 세션 스토리지(메모리, 데이터베이스 등)에 저장된 인증 정보를 확인하여 사용자를 인증.특징:인증 정보 저장: 서버가 세션 스토리지를 관리합니다.유효성 검증: 서버가 세션 ID를 확인해야 하므로 서버 상태(stateful)를 유지.보안: 세션 ID가 클라이언트에서 탈취되면 공격자가 사용자를 가장할 수 있음.스케일링: 서버 ..

Front

[ts] Object를 Class로 변환 (class-transformer)

외부에서 들어온 JSON 응답을 내부 로직에 쓰거나 내부 데이터를 외부로 보내줘야할 때 들어온 JSON을 그대로 사용하거나 plain Object를 만들어 반환해줄 때가 있는데 이런 방식은 외부 세부 사항이 그대로 들어나기 때문에 내부로직을 더럽힐 확률이 높다. 이를 해결할 방안으로는 class-transformer가 있다. PlainToClass  PlainToInstance유저 API를 호출해 아래와 같은 JSON을 응답받음{ username: "Kim", birthDate: "1900-09-02"} 유저의 나이를 알기 위해서는 나이 계산 코드를 따로 분리해서 작성해줘야한다.function calculateAge(){ var today = new Date(); var birthD..

Front

왜 Vue.js에서 tsyringe를 사용하는가

tsyringe를 Vue.js에서 사용하는 주된 이유는 의존성 주입(Dependency Injection, DI)을 통해 코드의 유지보수성과 테스트 가능성을 높이기 위해서이다. Vue 자체에는 기본적으로 DI 시스템이 내장되어 있지 않지만, tsyringe 같은 DI 라이브러리를 사용하면 복잡한 애플리케이션에서 의존성 관리가 훨씬 더 쉬워진다. 구체적인 이유는 다음과 같다.1. 의존성 관리Vue 컴포넌트는 여러 서비스, 상태 관리, API 요청 등을 필요로 할 수 있다. 이러한 의존성을 하나의 컴포넌트에서 직접 관리하게 되면, 컴포넌트가 매우 복잡해지고 재사용성이 떨어질 수 있다. tsyringe를 사용하면 각 의존성을 쉽게 주입받아 사용 가능하여, 컴포넌트가 하는 일과 의존성 관리를 분리할 수 있다. ..

Front

[tsyringe] @inject

tsyringe는 TypeScript용 의존성 주입(DI) 라이브러리이다.이 라이브러리를 사용하면 클래스를 좀 더 모듈화하고 코드의 테스트 가능성을 높일 수 있다.@inject는 tsyringe에서 제공하는 데코레이터 중 하나로 의존성을 주입할 때 사용된다. 이 데코레이터는 클래스의 생성자에 특정 의존성을 주입할 수 있도록 도와준다. 주로 의존성을 수동으로 연결하는 대신 자동으로 해당 의존성을 연결해 준다.@inject의 주요 기능:특정 토큰 또는 클래스 주입: @inject를 사용하면, 생성자나 클래스에 필요한 의존성을 주입할 때 주입할 객체를 직접 지정할 수 있다. 이때 주입할 의존성은 클래스 자체나 다른 키(Token)로 지정할 수 있다.[기본 사용 예시]import { injectable, inj..

챛채
'분류 전체보기' 카테고리의 글 목록 (3 Page)