본문 바로가기

개발

[Redis] redis WRONGTYPE Operation against a key holding the wrong kind of value 캐시 목적으로 레디스를 사용한다. 종종 위와같은 에러가 발생하는데, 이전 값 타입과 현재 값 타입이 다르기 때문이다. 레디스 데이터 타입은 공식 문서에서 확인할수 있다. https://redis.io/docs/data-types/ Redis data types Overview of data types supported by Redis redis.io 예를 들어 set을 이용해 문자를 설정했는데, lpush를 이용해 동일한 키에 리스트를 만든다면 에러가 발생한다. 이전 값을 삭제하고 설정해도 되지만, 레디스 사용 목적이 약속된 알고리즘을 최적화하는 것이니...... 데이터 설계를 잘해야할듯 싶다. 더보기
[Js] 값, 리터럴, 표현식, 문, 토큰이란 리터럴 문자 또는 약속된 기호로 값을 생성하는 표기법 *런타임시 리터럴을 평가해 값을 생성(메모리에 타입별로 값 넣음) ex: ‘1’, true, null 표현식 값으로 평가될수 있는 (statement) 문 *리터럴도 런타임으로 평가받으니, 표현식으로 볼수 있다 *식별자 참조시에도 값을 평가하니 표현식이다(여기서 평가는 가져온다는 개념) *크롬 개발자 도구에 표현식은 값을 출력한다 값 (표현)식이 평가되어 생성된 결과 ex: 1+1, function(parameter) 값 = 표현식의 결과 값과 표현식의 결과는 동치(equivalent)이다 -동치이므로 표현식이 값 자리에 위치할수 있다. ex: 1+a 문(statement) 프로그램을 구성하는 기본 단위이자 최소 실행 단위 *문의 집합이 프로그램이고,.. 더보기
[NestJS] 사용할 메소드가 Promise인지? 객체 지향의 클래스, 함수형의 순수함수. 모두 사용할 함수/객체의 특징을 자세히 알기보단, 어림잡아 개발하는 뉘양스를 품고 있는거 같다. // ioc 없다 가정 class TestClass{ constructor(){ this.service = new TestClass2() } method1(){ this.service.method2() } } class TestClass2{ async method2(){ console.log(“hi") } } 위 예시에서 method1 작성시, TestClass2.method2의 특성을 다 알아야할까? 뭐 알면 좋지만, 대규모 프로젝트를 진행한다 가정했을때 사용할 메소드(함수)를 자세히 알고 개발하기 어렵다. 어렵다보단, 상위 단위로 사고한다는 관점으로 부적합하다. 그.. 더보기
[NestJs] Exception Error 처리 NestJs에서는 exception 에러 class를 제공한다. https://nestjs-doc.exceptionfound.com/globals.html @nestjs/common Const longPayload longPayload: object[] = [{_id: '584f17147fce7ca0a8bacfd2',index: 0,guid: '1d127572-0369-45fb-aa2f-e3bb083ac2b2',isActive: true,balance: '$2,926.06',picture: 'http://placehold.it/32x32',age: 26,eyeColor: 'green',name:'Wçêtson Aguilar [s nestjs-doc.exceptionfound.com // controlle.. 더보기
[NestJs] microservice RabbitMQ 적용 - (개념) NestJs에서 RabbitMQ를 적용한 레퍼런스가 많지 않습니다. 이전에 MSA(MicroService Architecture)를 구축했었기에, 금방할거라 생각했지만 꽤 걸렸네요. 두 글에 걸쳐서 적용하는 과정을 공유하려 합니다 NestJs는 microservice 기능을 제공한다. http단계를 넘어 transport단계까지 아우를수 있다고 한다. *transport 수단으로 RabbitMQ를 사용한다 이해하면 좋다 https://docs.nestjs.com/microservices/basics Documentation | NestJS - A progressive Node.js framework Nest is a framework for building efficient, scalable Node.j.. 더보기
[NestJs]Instead change the require of index.js in /Users/user/Desktop/url-shorter/dist/url/url.service.js to a dynamic import() which is available in all CommonJS modules. url 친화적인 난수 생성을 위해 nanoid 모듈을 사용합니다. https://www.npmjs.com/package/nanoid nanoid A tiny (116 bytes), secure URL-friendly unique string ID generator. Latest version: 4.0.2, last published: 4 months ago. Start using nanoid in your project by running `npm i nanoid`. There are 6922 other projects in the npm registry using nanoid. www.npmjs.com 그런데 아래 에러가 발생하는데요... Instead change the require of index.. 더보기
[자료구조] hash, hash table, mapping table, bloom filter, bit map 해시 해시함수(단방향 암호화)를 통해 도출된 고정된 길이의 비트 해시 테이블(=해시맵) 해시 함수를 통해 생성된 value와 원래값을 key로한 구조 가짐. 매핑 테이블 RDBS에서 N:N관계를 1:N, N:1로 징검다리 역할하는 것 블륨필터 특정 원소가 집합에 포합되어 있는지 검색 가능한 자료구조. 값이 없는데 있다고 말하는 긍정 오류는 발생하지만, 값이 있지만 없다고 말하는 긍정 오류는 발생안함. 데이터 추가는 가능하지만 삭제 불가 비트맵 디지털 이미지 저장하는 방식. 메모리 저장 방식중 한개 더보기
[NestJs] Redis with Docker docker로 띄운 Redis terminal 접속은 아래 명령어로 가능합니다 docker exec -it redisDB redis-cli 더보기